{"version":3,"file":"json.26040046.js","sources":["../../../node_modules/@griffel/core/shorthands/generateStyles.esm.js","../../../node_modules/@griffel/core/shorthands/borderWidth.esm.js","../../../node_modules/@griffel/core/shorthands/borderStyle.esm.js","../../../node_modules/@griffel/core/shorthands/borderColor.esm.js","../../../node_modules/@griffel/core/shorthands/utils.esm.js","../../../node_modules/@griffel/core/shorthands/border.esm.js","../../../node_modules/@griffel/core/shorthands/borderLeft.esm.js","../../../node_modules/@griffel/core/shorthands/borderBottom.esm.js","../../../node_modules/@griffel/core/shorthands/borderRight.esm.js","../../../node_modules/@griffel/core/shorthands/borderTop.esm.js","../../../node_modules/@griffel/core/shorthands/borderRadius.esm.js","../../../node_modules/@griffel/core/shorthands/flex.esm.js","../../../node_modules/@griffel/core/shorthands/gap.esm.js","../../../node_modules/@griffel/core/shorthands/gridArea.esm.js","../../../node_modules/@griffel/core/shorthands/margin.esm.js","../../../node_modules/@griffel/core/shorthands/marginBlock.esm.js","../../../node_modules/@griffel/core/shorthands/marginInline.esm.js","../../../node_modules/@griffel/core/shorthands/padding.esm.js","../../../node_modules/@griffel/core/shorthands/paddingBlock.esm.js","../../../node_modules/@griffel/core/shorthands/paddingInline.esm.js","../../../node_modules/@griffel/core/shorthands/overflow.esm.js","../../../node_modules/@griffel/core/shorthands/inset.esm.js","../../../node_modules/@griffel/core/shorthands/outline.esm.js","../../../node_modules/@griffel/core/shorthands/transition.esm.js","../../../node_modules/@griffel/core/shorthands/textDecoration.esm.js","../../../node_modules/rtl-css-js/dist/esm/convert-9768a965.js","../../../node_modules/@griffel/core/runtime/utils/hyphenateProperty.esm.js","../../../node_modules/@griffel/core/runtime/utils/normalizeNestedProperty.esm.js","../../../node_modules/stylis/src/Enum.js","../../../node_modules/stylis/src/Utility.js","../../../node_modules/stylis/src/Tokenizer.js","../../../node_modules/stylis/src/Parser.js","../../../node_modules/stylis/src/Serializer.js","../../../node_modules/stylis/src/Middleware.js","../../../node_modules/@griffel/core/runtime/stylis/globalPlugin.esm.js","../../../node_modules/@griffel/core/runtime/stylis/prefixerPlugin.esm.js","../../../node_modules/@griffel/core/runtime/stylis/isAtRuleElement.esm.js","../../../node_modules/@griffel/core/runtime/stylis/sortClassesInAtRulesPlugin.esm.js","../../../node_modules/@griffel/core/runtime/compileCSSRules.esm.js","../../../node_modules/@griffel/core/runtime/compileAtomicCSSRule.esm.js","../../../node_modules/@griffel/core/runtime/utils/cssifyObject.esm.js","../../../node_modules/@griffel/core/runtime/compileKeyframeCSS.esm.js","../../../node_modules/@griffel/core/runtime/shorthands.esm.js","../../../node_modules/@griffel/core/runtime/utils/generateCombinedMediaQuery.esm.js","../../../node_modules/@griffel/core/runtime/utils/isMediaQuerySelector.esm.js","../../../node_modules/@griffel/core/runtime/utils/isLayerSelector.esm.js","../../../node_modules/@griffel/core/runtime/utils/isNestedSelector.esm.js","../../../node_modules/@griffel/core/runtime/utils/isSupportQuerySelector.esm.js","../../../node_modules/@griffel/core/runtime/utils/isContainerQuerySelector.esm.js","../../../node_modules/@griffel/core/runtime/utils/isObject.esm.js","../../../node_modules/@griffel/core/runtime/getStyleBucketName.esm.js","../../../node_modules/@griffel/core/runtime/utils/hashPropertyKey.esm.js","../../../node_modules/@griffel/core/runtime/utils/hashClassName.esm.js","../../../node_modules/@griffel/core/runtime/utils/isResetValue.esm.js","../../../node_modules/@griffel/core/runtime/utils/trimSelector.esm.js","../../../node_modules/@griffel/core/runtime/resolveStyleRules.esm.js","../../../node_modules/@griffel/core/resolveStyleRulesForSlots.esm.js","../../../node_modules/@griffel/core/makeStyles.esm.js","../../../node_modules/@griffel/core/index.esm.js","../../../node_modules/@griffel/react/makeStyles.esm.js","../../../node_modules/@fluentui/react-utilities/lib/utils/omit.js","../../../node_modules/@fluentui/react-utilities/lib/hooks/useAnimationFrame.js","../../../node_modules/@fluentui/react-utilities/lib/hooks/useOnClickOutside.js","../../../node_modules/@fluentui/react-utilities/lib/hooks/useOnScrollOutside.js","../../../node_modules/@fluentui/react-tabster/lib/hooks/useRestoreFocus.js","../../../node_modules/@fluentui/react-tabster/lib/hooks/useIsNavigatingWithKeyboard.js","../../../node_modules/@fluentui/react-tabster/lib/hooks/useSetKeyboardNavigation.js","../../../node_modules/@fluentui/react-icons/lib/icons/chunk-2.js","../../../node_modules/@fluentui/react-icons/lib/utils/constants.js","../../../node_modules/@fluentui/react-icons/lib/utils/bundleIcon.js","../../../node_modules/@fluentui/react-positioning/lib/createVirtualElementFromClick.js","../../../node_modules/@fluentui/react-positioning/lib/utils/mergeArrowOffset.js","../../../node_modules/@fluentui/react-positioning/lib/usePositioningMouseTarget.js","../../../node_modules/@fluentui/react-tooltip/lib/components/Tooltip/private/constants.js","../../../node_modules/@fluentui/react-tooltip/lib/components/Tooltip/useTooltip.js","../../../node_modules/@fluentui/react-tooltip/lib/components/Tooltip/renderTooltip.js","../../../node_modules/@fluentui/react-tooltip/lib/components/Tooltip/useTooltipStyles.styles.js","../../../node_modules/@fluentui/react-tooltip/lib/components/Tooltip/Tooltip.js","../../../node_modules/@fluentui/react-combobox/lib/contexts/ComboboxContext.js","../../../node_modules/@fluentui/react-combobox/lib/contexts/useComboboxContextValues.js","../../../node_modules/@fluentui/react-combobox/lib/components/Option/renderOption.js","../../../node_modules/@fluentui/react-combobox/lib/components/Option/Option.js","../../../node_modules/@fluentui/react-combobox/lib/utils/useComboboxPositioning.js","../../../node_modules/@fluentui/react-combobox/lib/utils/useTriggerSlot.js","../../../node_modules/@fluentui/react-combobox/lib/components/Dropdown/useButtonTriggerSlot.js","../../../node_modules/@fluentui/react-combobox/lib/components/Dropdown/useDropdown.js","../../../node_modules/@fluentui/react-combobox/lib/components/Dropdown/renderDropdown.js","../../../node_modules/@fluentui/react-combobox/lib/components/Dropdown/useDropdownStyles.styles.js","../../../node_modules/@fluentui/react-combobox/lib/components/Dropdown/Dropdown.js","../../../node_modules/@fluentui/react-menu/lib/contexts/menuContext.js","../../../node_modules/@fluentui/react-menu/lib/contexts/menuTriggerContext.js","../../../node_modules/@fluentui/react-menu/lib/contexts/menuListContext.js","../../../node_modules/@fluentui/react-menu/lib/utils/useOnMenuEnter.js","../../../node_modules/@fluentui/react-menu/lib/utils/useIsSubmenu.js","../../../node_modules/@fluentui/react-menu/lib/components/Menu/useMenu.js","../../../node_modules/@fluentui/react-menu/lib/components/Menu/useMenuContextValues.js","../../../node_modules/@fluentui/react-menu/lib/components/Menu/renderMenu.js","../../../node_modules/@fluentui/react-menu/lib/components/Menu/Menu.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuItem/useCharacterSearch.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuItem/useMenuItem.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuItem/renderMenuItem.js","../../../node_modules/@fluentui/react-menu/lib/selectable/useCheckmarkStyles.styles.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuItem/useMenuItemStyles.styles.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuItem/MenuItem.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuList/useMenuList.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuList/renderMenuList.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuList/useMenuListContextValues.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuList/useMenuListStyles.styles.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuList/MenuList.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuPopover/useMenuPopover.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuPopover/useMenuPopoverStyles.styles.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuPopover/renderMenuPopover.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuPopover/MenuPopover.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuTrigger/useMenuTrigger.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuTrigger/renderMenuTrigger.js","../../../node_modules/@fluentui/react-menu/lib/components/MenuTrigger/MenuTrigger.js","../../../node_modules/@fluentui/react-switch/lib/components/Switch/useSwitch.js","../../../node_modules/@fluentui/react-switch/lib/components/Switch/renderSwitch.js","../../../node_modules/@fluentui/react-switch/lib/components/Switch/useSwitchStyles.styles.js","../../../node_modules/@fluentui/react-switch/lib/components/Switch/Switch.js","../../../node_modules/@fluentui/react-tabs/lib/components/TabList/TabListContext.js","../../../node_modules/@fluentui/react-tabs/lib/components/Tab/useTab.js","../../../node_modules/@fluentui/react-tabs/lib/components/Tab/renderTab.js","../../../node_modules/@fluentui/react-tabs/lib/components/Tab/useTabAnimatedIndicator.styles.js","../../../node_modules/@fluentui/react-tabs/lib/components/Tab/useTabStyles.styles.js","../../../node_modules/@fluentui/react-tabs/lib/components/Tab/Tab.js","../../../node_modules/@fluentui/react-tabs/lib/components/TabList/useTabList.js","../../../node_modules/@fluentui/react-tabs/lib/components/TabList/renderTabList.js","../../../node_modules/@fluentui/react-tabs/lib/components/TabList/useTabListStyles.styles.js","../../../node_modules/@fluentui/react-tabs/lib/components/TabList/useTabListContextValues.js","../../../node_modules/@fluentui/react-tabs/lib/components/TabList/TabList.js","../../../node_modules/@fluentui/react-text/lib/components/Text/useText.js","../../../node_modules/@fluentui/react-text/lib/components/Text/renderText.js","../../../node_modules/@fluentui/react-text/lib/components/Text/useTextStyles.styles.js","../../../node_modules/@fluentui/react-text/lib/components/presets/createPreset.js","../../../node_modules/@fluentui/react-textarea/lib/components/Textarea/renderTextarea.js","../../../node_modules/@fluentui/react-textarea/lib/components/Textarea/useTextarea.js","../../../node_modules/@fluentui/react-textarea/lib/components/Textarea/useTextareaStyles.styles.js","../../../node_modules/@fluentui/react-textarea/lib/components/Textarea/Textarea.js","../../../node_modules/@fluentui/react-table/lib/hooks/createColumn.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../../../node_modules/@fluentui/react-drawer/lib/contexts/drawerContext.js","../../../node_modules/@fluentui/react-drawer/lib/shared/useDrawerBaseStyles.styles.js","../../../node_modules/@fluentui/react-drawer/lib/shared/drawerMotions.js","../../../node_modules/@fluentui/react-drawer/lib/shared/useDrawerDefaultProps.js","../../../node_modules/@fluentui/react-drawer/lib/components/OverlayDrawer/OverlayDrawerSurface/useOverlayDrawerSurfaceStyles.styles.js","../../../node_modules/@fluentui/react-drawer/lib/components/OverlayDrawer/OverlayDrawerSurface/OverlayDrawerSurface.js","../../../node_modules/@fluentui/react-drawer/lib/shared/drawerMotionUtils.js","../../../node_modules/@fluentui/react-drawer/lib/components/OverlayDrawer/useOverlayDrawer.js","../../../node_modules/@fluentui/react-drawer/lib/components/OverlayDrawer/renderOverlayDrawer.js","../../../node_modules/@fluentui/react-drawer/lib/components/OverlayDrawer/useOverlayDrawerStyles.styles.js","../../../node_modules/@fluentui/react-drawer/lib/components/OverlayDrawer/OverlayDrawer.js","../../../node_modules/@fluentui/react-drawer/lib/components/DrawerBody/useDrawerBody.js","../../../node_modules/@fluentui/react-drawer/lib/components/DrawerBody/renderDrawerBody.js","../../../node_modules/@fluentui/react-drawer/lib/components/DrawerBody/useDrawerBodyStyles.styles.js","../../../node_modules/@fluentui/react-drawer/lib/components/DrawerBody/DrawerBody.js","../../../node_modules/@fluentui/react-drawer/lib/components/DrawerHeader/useDrawerHeader.js","../../../node_modules/@fluentui/react-drawer/lib/components/DrawerHeader/renderDrawerHeader.js","../../../node_modules/@fluentui/react-drawer/lib/components/DrawerHeader/useDrawerHeaderStyles.styles.js","../../../node_modules/@fluentui/react-drawer/lib/components/DrawerHeader/DrawerHeader.js","../../../node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderTitle/useDrawerHeaderTitle.js","../../../node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderTitle/renderDrawerHeaderTitle.js","../../../node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderTitle/useDrawerHeaderTitleStyles.styles.js","../../../node_modules/@fluentui/react-drawer/lib/components/DrawerHeaderTitle/DrawerHeaderTitle.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/Breadcrumb/useBreadcrumb.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/Breadcrumb/BreadcrumbContext.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/Breadcrumb/renderBreadcrumb.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/Breadcrumb/useBreadcrumbStyles.styles.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/Breadcrumb/useBreadcrumbContextValue.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/Breadcrumb/Breadcrumb.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbDivider/useBreadcrumbDivider.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbDivider/renderBreadcrumbDivider.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbDivider/BreadcrumbDivider.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbItem/useBreadcrumbItem.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbItem/renderBreadcrumbItem.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbItem/BreadcrumbItem.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbButton/useBreadcrumbButton.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbButton/renderBreadcrumbButton.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js","../../../node_modules/@fluentui/react-breadcrumb/lib/components/BreadcrumbButton/BreadcrumbButton.js","../../../node_modules/ace-builds/src-noconflict/ace.js","../../../node_modules/react-ace/lib/editorOptions.js","../../../node_modules/react-ace/lib/ace.js","../../../node_modules/ace-builds/src-noconflict/ext-split.js","../../../node_modules/lodash.get/index.js","../../../node_modules/react-ace/lib/split.js","../../../node_modules/diff-match-patch/index.js","../../../node_modules/react-ace/lib/diff.js","../../../node_modules/react-ace/lib/index.js","../../../node_modules/brace/worker/json.js","../../../node_modules/brace/mode/json.js"],"sourcesContent":["const positionMap = ['Top', 'Right', 'Bottom', 'Left'];\nfunction generateStyles(property, suffix, ...values) {\n  const [firstValue, secondValue = firstValue, thirdValue = firstValue, fourthValue = secondValue] = values;\n  const valuesWithDefaults = [firstValue, secondValue, thirdValue, fourthValue];\n  const styles = {};\n  for (let i = 0; i < valuesWithDefaults.length; i += 1) {\n    if (valuesWithDefaults[i] || valuesWithDefaults[i] === 0) {\n      const newKey = property + positionMap[i] + suffix;\n      styles[newKey] = valuesWithDefaults[i];\n    }\n  }\n  return styles;\n}\n\nexport { generateStyles };\n//# sourceMappingURL=generateStyles.esm.js.map\n","import { generateStyles } from './generateStyles.esm.js';\n\n/**\n * A function that implements CSS spec conformant expansion for \"borderWidth\"\n *\n * @example\n *   borderWidth('10px')\n *   borderWidth('10px', '5px')\n *   borderWidth('2px', '4px', '8px')\n *   borderWidth('1px', 0, '3px', '4px')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/border-width\n */\nfunction borderWidth(...values) {\n  return generateStyles('border', 'Width', ...values);\n}\n\nexport { borderWidth };\n//# sourceMappingURL=borderWidth.esm.js.map\n","import { generateStyles } from './generateStyles.esm.js';\n\n/**\n * A function that implements CSS spec conformant expansion for \"borderStyle\"\n *\n * @example\n *  borderStyle('solid')\n *  borderStyle('solid', 'dashed')\n *  borderStyle('solid', 'dashed', 'dotted')\n *  borderStyle('solid', 'dashed', 'dotted', 'double')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/border-style\n */\nfunction borderStyle(...values) {\n  return generateStyles('border', 'Style', ...values);\n}\n\nexport { borderStyle };\n//# sourceMappingURL=borderStyle.esm.js.map\n","import { generateStyles } from './generateStyles.esm.js';\n\n/**\n * A function that implements CSS spec conformant expansion for \"borderColor\"\n *\n * @example\n *  borderColor('red')\n *  borderColor('red', 'blue')\n *  borderColor('red', 'blue', 'green')\n *  borderColor('red', 'blue', 'green', 'yellow')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/border-color\n */\nfunction borderColor(...values) {\n  return generateStyles('border', 'Color', ...values);\n}\n\nexport { borderColor };\n//# sourceMappingURL=borderColor.esm.js.map\n","const LINE_STYLES = ['none', 'hidden', 'dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'outset'];\nfunction isBorderStyle(value) {\n  return LINE_STYLES.includes(value);\n}\n\nexport { isBorderStyle };\n//# sourceMappingURL=utils.esm.js.map\n","import { borderWidth } from './borderWidth.esm.js';\nimport { borderStyle } from './borderStyle.esm.js';\nimport { borderColor } from './borderColor.esm.js';\nimport { isBorderStyle } from './utils.esm.js';\n\n/**\n * A function that implements expansion for \"border\" to all sides of an element, it's simplified - check usage examples.\n *\n * @example\n *  border('2px')\n *  border('solid')\n *  border('2px', 'solid')\n *  border('solid', '2px')\n *  border('2px', 'solid', 'red')\n *  border('solid', '2px', 'red')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @deprecated Just use `{ border: '2px solid red' }` instead as Griffel supports CSS shorthands now\n */\nfunction border(...values) {\n  if (isBorderStyle(values[0])) {\n    return Object.assign({}, borderStyle(values[0]), values[1] && borderWidth(values[1]), values[2] && borderColor(values[2]));\n  }\n  return Object.assign({}, borderWidth(values[0]), values[1] && borderStyle(values[1]), values[2] && borderColor(values[2]));\n}\n\nexport { border };\n//# sourceMappingURL=border.esm.js.map\n","import { isBorderStyle } from './utils.esm.js';\n\n/**\n * A function that implements expansion for \"border-left\", it's simplified - check usage examples.\n *\n * @example\n *  borderLeft('2px')\n *  borderLeft('solid')\n *  borderLeft('2px', 'solid')\n *  borderLeft('solid', '2px')\n *  borderLeft('2px', 'solid', 'red')\n *  borderLeft('solid', '2px', 'red')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/border-left\n *\n * @deprecated Just use `{ borderLeft: '2px solid red' }` instead as Griffel supports CSS shorthands now\n */\nfunction borderLeft(...values) {\n  if (isBorderStyle(values[0])) {\n    return Object.assign({\n      borderLeftStyle: values[0]\n    }, values[1] && {\n      borderLeftWidth: values[1]\n    }, values[2] && {\n      borderLeftColor: values[2]\n    });\n  }\n  return Object.assign({\n    borderLeftWidth: values[0]\n  }, values[1] && {\n    borderLeftStyle: values[1]\n  }, values[2] && {\n    borderLeftColor: values[2]\n  });\n}\n\nexport { borderLeft };\n//# sourceMappingURL=borderLeft.esm.js.map\n","import { isBorderStyle } from './utils.esm.js';\n\n/**\n * A function that implements expansion for \"border-Bottom\", it's simplified - check usage examples.\n *\n * @example\n *  borderBottom('2px')\n *  borderBottom('solid')\n *  borderBottom('2px', 'solid')\n *  borderBottom('solid', '2px')\n *  borderBottom('2px', 'solid', 'red')\n *  borderBottom('solid', '2px', 'red')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom\n *\n * @deprecated Just use `{ borderBottom: '2px solid red' }` instead as Griffel supports CSS shorthands now\n */\nfunction borderBottom(...values) {\n  if (isBorderStyle(values[0])) {\n    return Object.assign({\n      borderBottomStyle: values[0]\n    }, values[1] && {\n      borderBottomWidth: values[1]\n    }, values[2] && {\n      borderBottomColor: values[2]\n    });\n  }\n  return Object.assign({\n    borderBottomWidth: values[0]\n  }, values[1] && {\n    borderBottomStyle: values[1]\n  }, values[2] && {\n    borderBottomColor: values[2]\n  });\n}\n\nexport { borderBottom };\n//# sourceMappingURL=borderBottom.esm.js.map\n","import { isBorderStyle } from './utils.esm.js';\n\n/**\n * A function that implements expansion for \"border-right\", it's simplified - check usage examples.\n *\n * @example\n *  borderRight('2px')\n *  borderRight('solid')\n *  borderRight('2px', 'solid')\n *  borderRight('solid', '2px')\n *  borderRight('2px', 'solid', 'red')\n *  borderRight('solid', '2px', 'red')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/border-right\n *\n * @deprecated Just use `{ borderRight: '2px solid red' }` instead as Griffel supports CSS shorthands now\n */\nfunction borderRight(...values) {\n  if (isBorderStyle(values[0])) {\n    return Object.assign({\n      borderRightStyle: values[0]\n    }, values[1] && {\n      borderRightWidth: values[1]\n    }, values[2] && {\n      borderRightColor: values[2]\n    });\n  }\n  return Object.assign({\n    borderRightWidth: values[0]\n  }, values[1] && {\n    borderRightStyle: values[1]\n  }, values[2] && {\n    borderRightColor: values[2]\n  });\n}\n\nexport { borderRight };\n//# sourceMappingURL=borderRight.esm.js.map\n","import { isBorderStyle } from './utils.esm.js';\n\n/**\n * A function that implements expansion for \"border-Top\", it's simplified - check usage examples.\n *\n * @example\n *  borderTop('2px')\n *  borderTop('solid')\n *  borderTop('2px', 'solid')\n *  borderTop('solid', '2px')\n *  borderTop('2px', 'solid', 'red')\n *  borderTop('solid', '2px', 'red')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/border-top\n *\n * @deprecated Just use `{ borderTop: '2px solid red' }` instead as Griffel supports CSS shorthands now\n */\nfunction borderTop(...values) {\n  if (isBorderStyle(values[0])) {\n    return Object.assign({\n      borderTopStyle: values[0]\n    }, values[1] && {\n      borderTopWidth: values[1]\n    }, values[2] && {\n      borderTopColor: values[2]\n    });\n  }\n  return Object.assign({\n    borderTopWidth: values[0]\n  }, values[1] && {\n    borderTopStyle: values[1]\n  }, values[2] && {\n    borderTopColor: values[2]\n  });\n}\n\nexport { borderTop };\n//# sourceMappingURL=borderTop.esm.js.map\n","/**\n * A function that implements CSS spec conformant expansion for \"borderRadius\". \"/\" is not supported, please use CSS\n * longhands directly.\n *\n * @example\n *   borderRadius('10px')\n *   borderRadius('10px', '5%')\n *   borderRadius('2px', '4px', '8px')\n *   borderRadius('1px', 0, '3px', '4px')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius\n *\n * @deprecated Just use `{ borderRadius: '10px 5% 8px 4px' }` instead as Griffel supports CSS shorthands now\n */\nfunction borderRadius(value1, value2 = value1, value3 = value1, value4 = value2) {\n  return {\n    borderBottomRightRadius: value3,\n    borderBottomLeftRadius: value4,\n    borderTopRightRadius: value2,\n    borderTopLeftRadius: value1\n  };\n}\n\nexport { borderRadius };\n//# sourceMappingURL=borderRadius.esm.js.map\n","const isUnit = value => typeof value === 'string' && /(\\d+(\\w+|%))/.test(value);\nconst isUnitless = value => typeof value === 'number' && !Number.isNaN(value);\nconst isInitial = value => value === 'initial';\nconst isAuto = value => value === 'auto';\nconst isNone = value => value === 'none';\nconst widthReservedKeys = ['content', 'fit-content', 'max-content', 'min-content'];\nconst isWidth = value => widthReservedKeys.some(key => value === key) || isUnit(value);\n/**\n * A function that implements CSS spec conformant expansion for \"flex\".\n *\n * @example\n *   flex('auto')\n *   flex(1, '2.5rem')\n *   flex(0, 0, 'auto')\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/flex\n *\n * @deprecated Just use `{ flex: '1 1 0' }` instead as Griffel supports CSS shorthands now\n */\nfunction flex(...values) {\n  const isOneValueSyntax = values.length === 1;\n  const isTwoValueSyntax = values.length === 2;\n  const isThreeValueSyntax = values.length === 3;\n  if (isOneValueSyntax) {\n    const [firstValue] = values;\n    if (isInitial(firstValue)) {\n      return {\n        flexGrow: 0,\n        flexShrink: 1,\n        flexBasis: 'auto'\n      };\n    }\n    if (isAuto(firstValue)) {\n      return {\n        flexGrow: 1,\n        flexShrink: 1,\n        flexBasis: 'auto'\n      };\n    }\n    if (isNone(firstValue)) {\n      return {\n        flexGrow: 0,\n        flexShrink: 0,\n        flexBasis: 'auto'\n      };\n    }\n    if (isUnitless(firstValue)) {\n      return {\n        flexGrow: firstValue,\n        flexShrink: 1,\n        flexBasis: 0\n      };\n    }\n    if (isWidth(firstValue)) {\n      return {\n        flexGrow: 1,\n        flexShrink: 1,\n        flexBasis: firstValue\n      };\n    }\n  }\n  if (isTwoValueSyntax) {\n    const [firstValue, secondValue] = values;\n    if (isUnitless(secondValue)) {\n      return {\n        flexGrow: firstValue,\n        flexShrink: secondValue,\n        flexBasis: 0\n      };\n    }\n    if (isWidth(secondValue)) {\n      return {\n        flexGrow: firstValue,\n        flexShrink: 1,\n        flexBasis: secondValue\n      };\n    }\n  }\n  if (isThreeValueSyntax) {\n    const [firstValue, secondValue, thirdValue] = values;\n    if (isUnitless(firstValue) && isUnitless(secondValue) && (isAuto(thirdValue) || isWidth(thirdValue))) {\n      return {\n        flexGrow: firstValue,\n        flexShrink: secondValue,\n        flexBasis: thirdValue\n      };\n    }\n  }\n  if (process.env.NODE_ENV !== 'production') {\n    // eslint-disable-next-line no-console\n    console.error(`The value passed to shorthands.flex did not match any flex property specs. The CSS styles were not generated. Please, check the flex documentation.`);\n  }\n  return {};\n}\n\nexport { flex };\n//# sourceMappingURL=flex.esm.js.map\n","/**\n * A function that implements CSS spec conformant expansion for \"gap\"\n *\n * @example\n *   gap('10px')\n *   gap('10px', '5px')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/gap\n *\n * @deprecated Just use `{ gap: '10px 5px' }` instead as Griffel supports CSS shorthands now\n */\nfunction gap(columnGap, rowGap = columnGap) {\n  return {\n    columnGap,\n    rowGap\n  };\n}\n\nexport { gap };\n//# sourceMappingURL=gap.esm.js.map\n","const cssVarRegEx = /var\\(.*\\)/gi;\nfunction isValidGridAreaInput(value) {\n  return value === undefined || typeof value === 'number' || typeof value === 'string' && !cssVarRegEx.test(value);\n}\n// A custom-ident can be an alpha-numeric string including dash (-), underscore, escaped (\\) characters, and escaped unicode\nconst customIdentRegEx = /^[a-zA-Z0-9\\-_\\\\#;]+$/;\nconst nonCustomIdentRegEx = /^-moz-initial$|^auto$|^initial$|^inherit$|^revert$|^unset$|^span \\d+$|^\\d.*/;\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident\nfunction isCustomIdent(value) {\n  return value !== undefined && typeof value === 'string' && customIdentRegEx.test(value) && !nonCustomIdentRegEx.test(value);\n}\n/**\n * A function that implements CSS spec conformant expansion for \"grid-area\"\n *\n * @example\n *   gridArea('auto')\n *   gridArea('first', 'second')\n *   gridArea(2, 4, 4)\n *   gridArea(2, 4, 1, 3)\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/grid-area\n *\n * @deprecated Use `{ gridArea: '2 / 4 / 1 / 3' }` instead as Griffel supports CSS shorthands now\n */\nfunction gridArea(...values) {\n  // if any value is not valid, then do not apply the CSS.\n  if (values.some(value => !isValidGridAreaInput(value))) {\n    if (process.env.NODE_ENV !== 'production') {\n      // eslint-disable-next-line no-console\n      console.error(`The value passed to shorthands.gridArea() did not match any gridArea property specs. The CSS styles were not generated. Please, check the gridArea documentation.`, ['The value passed to shorthands.gridArea() did not match any gridArea property specs. ', 'The CSS styles were not generated.\\n', 'Please, check the `grid-area` documentation:\\n', '- https://developer.mozilla.org/docs/Web/CSS/grid-area', '- https://griffel.js.org/react/api/shorthands#shorthandsgridarea'].join(''));\n    }\n    return {};\n  }\n  const gridRowStart = values[0] !== undefined ? values[0] : 'auto';\n  // When grid-column-start is omitted, if grid-row-start is a <custom-ident>,\n  // all four longhands are set to that value.\n  // Otherwise, it is set to auto.\n  const gridColumnStart = values[1] !== undefined ? values[1] : isCustomIdent(gridRowStart) ? gridRowStart : 'auto';\n  // When grid-row-end is omitted,\n  // if grid-row-start is a <custom-ident>, grid-row-end is set to that <custom-ident>;\n  // otherwise, it is set to auto.\n  const gridRowEnd = values[2] !== undefined ? values[2] : isCustomIdent(gridRowStart) ? gridRowStart : 'auto';\n  // When grid-column-end is omitted,\n  // if grid-column-start is a <custom-ident>, grid-column-end is set to that <custom-ident>;\n  // otherwise, it is set to auto.\n  const gridColumnEnd = values[3] !== undefined ? values[3] : isCustomIdent(gridColumnStart) ? gridColumnStart : 'auto';\n  return {\n    gridRowStart,\n    gridColumnStart,\n    gridRowEnd,\n    gridColumnEnd\n  };\n}\n\nexport { gridArea, isCustomIdent };\n//# sourceMappingURL=gridArea.esm.js.map\n","import { generateStyles } from './generateStyles.esm.js';\n\n/**\n * A function that implements CSS spec conformant expansion for \"margin\"\n *\n * @example\n *   margin('10px')\n *   margin('10px', '5px')\n *   margin('2px', '4px', '8px')\n *   margin('1px', 0, '3px', '4px')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/margin\n *\n * @deprecated Just use `{ margin: '10px 5px 8px 4px' }` instead as Griffel supports CSS shorthands now\n */\nfunction margin(...values) {\n  return generateStyles('margin', '', ...values);\n}\n\nexport { margin };\n//# sourceMappingURL=margin.esm.js.map\n","/**\n * A function that implements CSS spec conformant expansion for \"margin-block\"\n *\n * @example\n *   marginBlock('10px')\n *   marginBlock('10px', '5px')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/margin-block\n *\n * @deprecated Just use `{ marginBlock: '10px' }` instead as Griffel supports CSS shorthands now\n */\nfunction marginBlock(start, end = start) {\n  return {\n    marginBlockStart: start,\n    marginBlockEnd: end\n  };\n}\n\nexport { marginBlock };\n//# sourceMappingURL=marginBlock.esm.js.map\n","/**\n * A function that implements CSS spec conformant expansion for \"margin-inline\"\n *\n * @example\n *   marginInline('10px')\n *   marginInline('10px', '5px')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/margin-inline\n *\n * @deprecated Just use `{ marginInline: '10px' }` instead as Griffel supports CSS shorthands now\n */\nfunction marginInline(start, end = start) {\n  return {\n    marginInlineStart: start,\n    marginInlineEnd: end\n  };\n}\n\nexport { marginInline };\n//# sourceMappingURL=marginInline.esm.js.map\n","import { generateStyles } from './generateStyles.esm.js';\n\n/**\n * A function that implements CSS spec conformant expansion for \"padding\"\n *\n * @example\n *   padding('10px')\n *   padding('10px', '5px')\n *   padding('2px', '4px', '8px')\n *   padding('1px', 0, '3px', '4px')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/padding\n *\n * @deprecated Just use `{ padding: '10px 5px 8px 4px' }` instead as Griffel supports CSS shorthands now\n */\nfunction padding(...values) {\n  return generateStyles('padding', '', ...values);\n}\n\nexport { padding };\n//# sourceMappingURL=padding.esm.js.map\n","/**\n * A function that implements CSS spec conformant expansion for \"padding-block\"\n *\n * @example\n *   paddingBlock('10px')\n *   paddingBlock('10px', '5px')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/padding-block\n *\n * @deprecated Just use `{ paddingBlock: '10px' }` instead as Griffel supports CSS shorthands now\n */\nfunction paddingBlock(start, end = start) {\n  return {\n    paddingBlockStart: start,\n    paddingBlockEnd: end\n  };\n}\n\nexport { paddingBlock };\n//# sourceMappingURL=paddingBlock.esm.js.map\n","/**\n * A function that implements CSS spec conformant expansion for \"padding-inline\"\n *\n * @example\n *   paddingInline('10px')\n *   paddingInline('10px', '5px')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline\n *\n * @deprecated Just use `{ paddingInline: '10px' }` instead as Griffel supports CSS shorthands now\n */\nfunction paddingInline(start, end = start) {\n  return {\n    paddingInlineStart: start,\n    paddingInlineEnd: end\n  };\n}\n\nexport { paddingInline };\n//# sourceMappingURL=paddingInline.esm.js.map\n","/**\n * A function that implements CSS spec conformant expansion for \"overflow\"\n *\n * @example\n *   overflow('hidden')\n *   overflow('hidden', 'scroll')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/overflow\n *\n * @deprecated Just use `{ overflow: 'hidden scroll' }` instead as Griffel supports CSS shorthands now\n */\nfunction overflow(overflowX, overflowY = overflowX) {\n  return {\n    overflowX,\n    overflowY\n  };\n}\n\nexport { overflow };\n//# sourceMappingURL=overflow.esm.js.map\n","/**\n * A function that implements CSS spec conformant expansion for \"inset\"\n *\n * @example\n *   inset('10px')\n *   inset('10px', '5px')\n *   inset('2px', '4px', '8px')\n *   inset('1px', 0, '3px', '4px')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/inset\n *\n * @deprecated Use `{ inset: '10px 5px 8px 4px' }` instead as Griffel supports CSS shorthands now\n */\nfunction inset(...values) {\n  const [firstValue, secondValue = firstValue, thirdValue = firstValue, fourthValue = secondValue] = values;\n  return {\n    top: firstValue,\n    right: secondValue,\n    bottom: thirdValue,\n    left: fourthValue\n  };\n}\n\nexport { inset };\n//# sourceMappingURL=inset.esm.js.map\n","/**\n * A function that implements expansion for \"outline\", it's simplified - check usage examples.\n *\n * @example\n *  outline('2px')\n *  outline('2px', 'solid')\n *  outline('2px', 'solid', 'red')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/outline\n *\n * @deprecated Just use `{ outline: '2px solid red' }` instead as Griffel supports CSS shorthands now\n */\nfunction outline(outlineWidth, outlineStyle, outlineColor) {\n  return Object.assign({\n    outlineWidth\n  }, outlineStyle && {\n    outlineStyle\n  }, outlineColor && {\n    outlineColor\n  });\n}\n\nexport { outline };\n//# sourceMappingURL=outline.esm.js.map\n","/**\n * A function that implements expansion for \"transition\", it's simplified - check usage examples.\n *\n * @example\n *  transition('inherit')\n *  transition('margin-right', '4s')\n *  transition('margin-right', '4s', '1s')\n *  transition('margin-right', '4s', '1s', 'ease-in')\n *  transition([\n *    ['margin-right', '4s', '1s', 'ease-in'],\n *    ['margin-right', '4s', '1s', 'ease-in'],\n * ])\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/transition\n *\n * @deprecated Just use `{ transition: 'margin-right 4s 1s ease-in' }` instead as Griffel supports CSS shorthands now\n */\nfunction transition(...values) {\n  if (isTransitionGlobalInputs(values)) {\n    return {\n      transitionDelay: values[0],\n      transitionDuration: values[0],\n      transitionProperty: values[0],\n      transitionTimingFunction: values[0]\n    };\n  }\n  const transitionInputs = normalizeTransitionInputs(values);\n  return transitionInputs.reduce((acc, [property, duration = '0s', delay = '0s', timingFunction = 'ease'], index) => {\n    if (index === 0) {\n      acc.transitionProperty = property;\n      acc.transitionDuration = duration;\n      acc.transitionDelay = delay;\n      acc.transitionTimingFunction = timingFunction;\n    } else {\n      acc.transitionProperty += `, ${property}`;\n      acc.transitionDuration += `, ${duration}`;\n      acc.transitionDelay += `, ${delay}`;\n      acc.transitionTimingFunction += `, ${timingFunction}`;\n    }\n    return acc;\n  }, {});\n}\nconst transitionGlobalInputs = ['-moz-initial', 'inherit', 'initial', 'revert', 'unset'];\nfunction isTransitionGlobalInputs(values) {\n  return values.length === 1 && transitionGlobalInputs.includes(values[0]);\n}\nfunction normalizeTransitionInputs(transitionInputs) {\n  if (transitionInputs.length === 1 && Array.isArray(transitionInputs[0])) {\n    return transitionInputs[0];\n  }\n  return [transitionInputs];\n}\n\nexport { transition };\n//# sourceMappingURL=transition.esm.js.map\n","/**\n * A function that implements expansion for \"textDecoration\" to all sides of an element, it's simplified - check usage examples.\n *\n * @example\n *  textDecoration('none')\n *  textDecoration('dotted')\n *  textDecoration('underline', 'dotted')\n *  textDecoration('underline', 'dotted', 'red')\n *  textDecoration('underline', 'dotted', 'red', '2px')\n *\n * See https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration\n *\n * @deprecated Just use `{ textDecoration: 'underline dotted red 2px' }` instead as Griffel supports CSS shorthands now\n */\nfunction textDecoration(value, ...values) {\n  if (values.length === 0) {\n    return isTextDecorationStyleInput(value) ? {\n      textDecorationStyle: value\n    } : {\n      textDecorationLine: value\n    };\n  }\n  const [textDecorationStyle, textDecorationColor, textDecorationThickness] = values;\n  return Object.assign({\n    textDecorationLine: value\n  }, textDecorationStyle && {\n    textDecorationStyle\n  }, textDecorationColor && {\n    textDecorationColor\n  }, textDecorationThickness && {\n    textDecorationThickness\n  });\n}\nconst textDecorationStyleInputs = ['dashed', 'dotted', 'double', 'solid', 'wavy'];\nfunction isTextDecorationStyleInput(value) {\n  return textDecorationStyleInputs.includes(value);\n}\n\nexport { textDecoration };\n//# sourceMappingURL=textDecoration.esm.js.map\n","/**\n * Takes an array of [keyValue1, keyValue2] pairs and creates an object of {keyValue1: keyValue2, keyValue2: keyValue1}\n * @param {Array} array the array of pairs\n * @return {Object} the {key, value} pair object\n */\nfunction arrayToObject(array) {\n  return array.reduce(function (obj, _ref) {\n    var prop1 = _ref[0],\n      prop2 = _ref[1];\n    obj[prop1] = prop2;\n    obj[prop2] = prop1;\n    return obj;\n  }, {});\n}\nfunction isBoolean(val) {\n  return typeof val === 'boolean';\n}\nfunction isFunction(val) {\n  return typeof val === 'function';\n}\nfunction isNumber(val) {\n  return typeof val === 'number';\n}\nfunction isNullOrUndefined(val) {\n  return val === null || typeof val === 'undefined';\n}\nfunction isObject(val) {\n  return val && typeof val === 'object';\n}\nfunction isString(val) {\n  return typeof val === 'string';\n}\nfunction includes(inclusive, inclusee) {\n  return inclusive.indexOf(inclusee) !== -1;\n}\n\n/**\n * Flip the sign of a CSS value, possibly with a unit.\n *\n * We can't just negate the value with unary minus due to the units.\n *\n * @private\n * @param {String} value - the original value (for example 77%)\n * @return {String} the result (for example -77%)\n */\nfunction flipSign(value) {\n  if (parseFloat(value) === 0) {\n    // Don't mangle zeroes\n    return value;\n  }\n  if (value[0] === '-') {\n    return value.slice(1);\n  }\n  return \"-\" + value;\n}\nfunction flipTransformSign(match, prefix, offset, suffix) {\n  return prefix + flipSign(offset) + suffix;\n}\n\n/**\n * Takes a percentage for background position and inverts it.\n * This was copied and modified from CSSJanus:\n * https://github.com/cssjanus/cssjanus/blob/4245f834365f6cfb0239191a151432fb85abab23/src/cssjanus.js#L152-L175\n * @param {String} value - the original value (for example 77%)\n * @return {String} the result (for example 23%)\n */\nfunction calculateNewBackgroundPosition(value) {\n  var idx = value.indexOf('.');\n  if (idx === -1) {\n    value = 100 - parseFloat(value) + \"%\";\n  } else {\n    // Two off, one for the \"%\" at the end, one for the dot itself\n    var len = value.length - idx - 2;\n    value = 100 - parseFloat(value);\n    value = value.toFixed(len) + \"%\";\n  }\n  return value;\n}\n\n/**\n * This takes a list of CSS values and converts it to an array\n * @param {String} value - something like `1px`, `1px 2em`, or `3pt rgb(150, 230, 550) 40px calc(100% - 5px)`\n * @return {Array} the split values (for example: `['3pt', 'rgb(150, 230, 550)', '40px', 'calc(100% - 5px)']`)\n */\nfunction getValuesAsList(value) {\n  return value.replace(/ +/g, ' ') // remove all extraneous spaces\n  .split(' ').map(function (i) {\n    return i.trim();\n  }) // get rid of extra space before/after each item\n  .filter(Boolean) // get rid of empty strings\n  // join items which are within parenthese\n  // luckily `calc (100% - 5px)` is invalid syntax and it must be `calc(100% - 5px)`, otherwise this would be even more complex\n  .reduce(function (_ref2, item) {\n    var list = _ref2.list,\n      state = _ref2.state;\n    var openParansCount = (item.match(/\\(/g) || []).length;\n    var closedParansCount = (item.match(/\\)/g) || []).length;\n    if (state.parensDepth > 0) {\n      list[list.length - 1] = list[list.length - 1] + \" \" + item;\n    } else {\n      list.push(item);\n    }\n    state.parensDepth += openParansCount - closedParansCount;\n    return {\n      list: list,\n      state: state\n    };\n  }, {\n    list: [],\n    state: {\n      parensDepth: 0\n    }\n  }).list;\n}\n\n/**\n * This is intended for properties that are `top right bottom left` and will switch them to `top left bottom right`\n * @param {String} value - `1px 2px 3px 4px` for example, but also handles cases where there are too few/too many and\n * simply returns the value in those cases (which is the correct behavior)\n * @return {String} the result - `1px 4px 3px 2px` for example.\n */\nfunction handleQuartetValues(value) {\n  var splitValues = getValuesAsList(value);\n  if (splitValues.length <= 3 || splitValues.length > 4) {\n    return value;\n  }\n  var top = splitValues[0],\n    right = splitValues[1],\n    bottom = splitValues[2],\n    left = splitValues[3];\n  return [top, left, bottom, right].join(' ');\n}\n\n/**\n *\n * @param {String|Number|Object} value css property value to test\n * @returns If the css property value can(should?) have an RTL equivalent\n */\nfunction canConvertValue(value) {\n  return !isBoolean(value) && !isNullOrUndefined(value);\n}\n\n/**\n * Splits a shadow style into its separate shadows using the comma delimiter, but creating an exception\n * for comma separated values in parentheses often used for rgba colours.\n * @param {String} value\n * @returns {Array} array of all box shadow values in the string\n */\nfunction splitShadow(value) {\n  var shadows = [];\n  var start = 0;\n  var end = 0;\n  var rgba = false;\n  while (end < value.length) {\n    if (!rgba && value[end] === ',') {\n      shadows.push(value.substring(start, end).trim());\n      end++;\n      start = end;\n    } else if (value[end] === \"(\") {\n      rgba = true;\n      end++;\n    } else if (value[end] === ')') {\n      rgba = false;\n      end++;\n    } else {\n      end++;\n    }\n  }\n\n  // push the last shadow value if there is one\n  // istanbul ignore next\n  if (start != end) {\n    shadows.push(value.substring(start, end + 1));\n  }\n  return shadows;\n}\n\n// some values require a little fudging, that fudging goes here.\nvar propertyValueConverters = {\n  padding: function padding(_ref) {\n    var value = _ref.value;\n    if (isNumber(value)) {\n      return value;\n    }\n    return handleQuartetValues(value);\n  },\n  textShadow: function textShadow(_ref2) {\n    var value = _ref2.value;\n    var flippedShadows = splitShadow(value).map(function (shadow) {\n      // intentionally leaving off the `g` flag here because we only want to change the first number (which is the offset-x)\n      return shadow.replace(/(^|\\s)(-*)([.|\\d]+)/, function (match, whiteSpace, negative, number) {\n        if (number === '0') {\n          return match;\n        }\n        var doubleNegative = negative === '' ? '-' : '';\n        return \"\" + whiteSpace + doubleNegative + number;\n      });\n    });\n    return flippedShadows.join(',');\n  },\n  borderColor: function borderColor(_ref3) {\n    var value = _ref3.value;\n    return handleQuartetValues(value);\n  },\n  borderRadius: function borderRadius(_ref4) {\n    var value = _ref4.value;\n    if (isNumber(value)) {\n      return value;\n    }\n    if (includes(value, '/')) {\n      var _value$split = value.split('/'),\n        radius1 = _value$split[0],\n        radius2 = _value$split[1];\n      var convertedRadius1 = propertyValueConverters.borderRadius({\n        value: radius1.trim()\n      });\n      var convertedRadius2 = propertyValueConverters.borderRadius({\n        value: radius2.trim()\n      });\n      return convertedRadius1 + \" / \" + convertedRadius2;\n    }\n    var splitValues = getValuesAsList(value);\n    switch (splitValues.length) {\n      case 2:\n        {\n          return splitValues.reverse().join(' ');\n        }\n      case 4:\n        {\n          var topLeft = splitValues[0],\n            topRight = splitValues[1],\n            bottomRight = splitValues[2],\n            bottomLeft = splitValues[3];\n          return [topRight, topLeft, bottomLeft, bottomRight].join(' ');\n        }\n      default:\n        {\n          return value;\n        }\n    }\n  },\n  background: function background(_ref5) {\n    var value = _ref5.value,\n      valuesToConvert = _ref5.valuesToConvert,\n      isRtl = _ref5.isRtl,\n      bgImgDirectionRegex = _ref5.bgImgDirectionRegex,\n      bgPosDirectionRegex = _ref5.bgPosDirectionRegex;\n    if (isNumber(value)) {\n      return value;\n    }\n\n    // Yeah, this is in need of a refactor 🙃...\n    // but this property is a tough cookie 🍪\n    // get the backgroundPosition out of the string by removing everything that couldn't be the backgroundPosition value\n    var backgroundPositionValue = value.replace(/(url\\(.*?\\))|(rgba?\\(.*?\\))|(hsl\\(.*?\\))|(#[a-fA-F0-9]+)|((^| )(\\D)+( |$))/g, '').trim();\n    // replace that backgroundPosition value with the converted version\n    value = value.replace(backgroundPositionValue, propertyValueConverters.backgroundPosition({\n      value: backgroundPositionValue,\n      valuesToConvert: valuesToConvert,\n      isRtl: isRtl,\n      bgPosDirectionRegex: bgPosDirectionRegex\n    }));\n    // do the backgroundImage value replacing on the whole value (because why not?)\n    return propertyValueConverters.backgroundImage({\n      value: value,\n      valuesToConvert: valuesToConvert,\n      bgImgDirectionRegex: bgImgDirectionRegex\n    });\n  },\n  backgroundImage: function backgroundImage(_ref6) {\n    var value = _ref6.value,\n      valuesToConvert = _ref6.valuesToConvert,\n      bgImgDirectionRegex = _ref6.bgImgDirectionRegex;\n    if (!includes(value, 'url(') && !includes(value, 'linear-gradient(')) {\n      return value;\n    }\n    return value.replace(bgImgDirectionRegex, function (match, g1, group2) {\n      return match.replace(group2, valuesToConvert[group2]);\n    });\n  },\n  backgroundPosition: function backgroundPosition(_ref7) {\n    var value = _ref7.value,\n      valuesToConvert = _ref7.valuesToConvert,\n      isRtl = _ref7.isRtl,\n      bgPosDirectionRegex = _ref7.bgPosDirectionRegex;\n    return value\n    // intentionally only grabbing the first instance of this because that represents `left`\n    .replace(isRtl ? /^((-|\\d|\\.)+%)/ : null, function (match, group) {\n      return calculateNewBackgroundPosition(group);\n    }).replace(bgPosDirectionRegex, function (match) {\n      return valuesToConvert[match];\n    });\n  },\n  backgroundPositionX: function backgroundPositionX(_ref8) {\n    var value = _ref8.value,\n      valuesToConvert = _ref8.valuesToConvert,\n      isRtl = _ref8.isRtl,\n      bgPosDirectionRegex = _ref8.bgPosDirectionRegex;\n    if (isNumber(value)) {\n      return value;\n    }\n    return propertyValueConverters.backgroundPosition({\n      value: value,\n      valuesToConvert: valuesToConvert,\n      isRtl: isRtl,\n      bgPosDirectionRegex: bgPosDirectionRegex\n    });\n  },\n  transition: function transition(_ref9) {\n    var value = _ref9.value,\n      propertiesToConvert = _ref9.propertiesToConvert;\n    return value.split(/,\\s*/g).map(function (transition) {\n      var values = transition.split(' ');\n\n      // Property is always defined first\n      values[0] = propertiesToConvert[values[0]] || values[0];\n      return values.join(' ');\n    }).join(', ');\n  },\n  transitionProperty: function transitionProperty(_ref10) {\n    var value = _ref10.value,\n      propertiesToConvert = _ref10.propertiesToConvert;\n    return value.split(/,\\s*/g).map(function (prop) {\n      return propertiesToConvert[prop] || prop;\n    }).join(', ');\n  },\n  transform: function transform(_ref11) {\n    var value = _ref11.value;\n    // This was copied and modified from CSSJanus:\n    // https://github.com/cssjanus/cssjanus/blob/4a40f001b1ba35567112d8b8e1d9d95eda4234c3/src/cssjanus.js#L152-L153\n    var nonAsciiPattern = \"[^\\\\u0020-\\\\u007e]\";\n    var escapePattern = \"(?:\" + '(?:(?:\\\\[0-9a-f]{1,6})(?:\\\\r\\\\n|\\\\s)?)' + \"|\\\\\\\\[^\\\\r\\\\n\\\\f0-9a-f])\";\n    var signedQuantPattern = \"((?:-?\" + ('(?:[0-9]*\\\\.[0-9]+|[0-9]+)' + \"(?:\\\\s*\" + '(?:em|ex|px|cm|mm|in|pt|pc|deg|rad|grad|ms|s|hz|khz|%)' + \"|\" + (\"-?\" + (\"(?:[_a-z]|\" + nonAsciiPattern + \"|\" + escapePattern + \")\") + (\"(?:[_a-z0-9-]|\" + nonAsciiPattern + \"|\" + escapePattern + \")\") + \"*\") + \")?\") + \")|(?:inherit|auto))\";\n    var translateXRegExp = new RegExp(\"(translateX\\\\s*\\\\(\\\\s*)\" + signedQuantPattern + \"(\\\\s*\\\\))\", 'gi');\n    var translateRegExp = new RegExp(\"(translate\\\\s*\\\\(\\\\s*)\" + signedQuantPattern + \"((?:\\\\s*,\\\\s*\" + signedQuantPattern + \"){0,1}\\\\s*\\\\))\", 'gi');\n    var translate3dRegExp = new RegExp(\"(translate3d\\\\s*\\\\(\\\\s*)\" + signedQuantPattern + \"((?:\\\\s*,\\\\s*\" + signedQuantPattern + \"){0,2}\\\\s*\\\\))\", 'gi');\n    var rotateRegExp = new RegExp(\"(rotate[ZY]?\\\\s*\\\\(\\\\s*)\" + signedQuantPattern + \"(\\\\s*\\\\))\", 'gi');\n    return value.replace(translateXRegExp, flipTransformSign).replace(translateRegExp, flipTransformSign).replace(translate3dRegExp, flipTransformSign).replace(rotateRegExp, flipTransformSign);\n  }\n};\npropertyValueConverters.objectPosition = propertyValueConverters.backgroundPosition;\npropertyValueConverters.margin = propertyValueConverters.padding;\npropertyValueConverters.borderWidth = propertyValueConverters.padding;\npropertyValueConverters.boxShadow = propertyValueConverters.textShadow;\npropertyValueConverters.webkitBoxShadow = propertyValueConverters.boxShadow;\npropertyValueConverters.mozBoxShadow = propertyValueConverters.boxShadow;\npropertyValueConverters.WebkitBoxShadow = propertyValueConverters.boxShadow;\npropertyValueConverters.MozBoxShadow = propertyValueConverters.boxShadow;\npropertyValueConverters.borderStyle = propertyValueConverters.borderColor;\npropertyValueConverters.webkitTransform = propertyValueConverters.transform;\npropertyValueConverters.mozTransform = propertyValueConverters.transform;\npropertyValueConverters.WebkitTransform = propertyValueConverters.transform;\npropertyValueConverters.MozTransform = propertyValueConverters.transform;\npropertyValueConverters.transformOrigin = propertyValueConverters.backgroundPosition;\npropertyValueConverters.webkitTransformOrigin = propertyValueConverters.transformOrigin;\npropertyValueConverters.mozTransformOrigin = propertyValueConverters.transformOrigin;\npropertyValueConverters.WebkitTransformOrigin = propertyValueConverters.transformOrigin;\npropertyValueConverters.MozTransformOrigin = propertyValueConverters.transformOrigin;\npropertyValueConverters.webkitTransition = propertyValueConverters.transition;\npropertyValueConverters.mozTransition = propertyValueConverters.transition;\npropertyValueConverters.WebkitTransition = propertyValueConverters.transition;\npropertyValueConverters.MozTransition = propertyValueConverters.transition;\npropertyValueConverters.webkitTransitionProperty = propertyValueConverters.transitionProperty;\npropertyValueConverters.mozTransitionProperty = propertyValueConverters.transitionProperty;\npropertyValueConverters.WebkitTransitionProperty = propertyValueConverters.transitionProperty;\npropertyValueConverters.MozTransitionProperty = propertyValueConverters.transitionProperty;\n\n// kebab-case versions\n\npropertyValueConverters['text-shadow'] = propertyValueConverters.textShadow;\npropertyValueConverters['border-color'] = propertyValueConverters.borderColor;\npropertyValueConverters['border-radius'] = propertyValueConverters.borderRadius;\npropertyValueConverters['background-image'] = propertyValueConverters.backgroundImage;\npropertyValueConverters['background-position'] = propertyValueConverters.backgroundPosition;\npropertyValueConverters['background-position-x'] = propertyValueConverters.backgroundPositionX;\npropertyValueConverters['object-position'] = propertyValueConverters.objectPosition;\npropertyValueConverters['border-width'] = propertyValueConverters.padding;\npropertyValueConverters['box-shadow'] = propertyValueConverters.textShadow;\npropertyValueConverters['-webkit-box-shadow'] = propertyValueConverters.textShadow;\npropertyValueConverters['-moz-box-shadow'] = propertyValueConverters.textShadow;\npropertyValueConverters['border-style'] = propertyValueConverters.borderColor;\npropertyValueConverters['-webkit-transform'] = propertyValueConverters.transform;\npropertyValueConverters['-moz-transform'] = propertyValueConverters.transform;\npropertyValueConverters['transform-origin'] = propertyValueConverters.transformOrigin;\npropertyValueConverters['-webkit-transform-origin'] = propertyValueConverters.transformOrigin;\npropertyValueConverters['-moz-transform-origin'] = propertyValueConverters.transformOrigin;\npropertyValueConverters['-webkit-transition'] = propertyValueConverters.transition;\npropertyValueConverters['-moz-transition'] = propertyValueConverters.transition;\npropertyValueConverters['transition-property'] = propertyValueConverters.transitionProperty;\npropertyValueConverters['-webkit-transition-property'] = propertyValueConverters.transitionProperty;\npropertyValueConverters['-moz-transition-property'] = propertyValueConverters.transitionProperty;\n\n// this will be an object of properties that map to their corresponding rtl property (their doppelganger)\nvar propertiesToConvert = arrayToObject([['paddingLeft', 'paddingRight'], ['marginLeft', 'marginRight'], ['left', 'right'], ['borderLeft', 'borderRight'], ['borderLeftColor', 'borderRightColor'], ['borderLeftStyle', 'borderRightStyle'], ['borderLeftWidth', 'borderRightWidth'], ['borderTopLeftRadius', 'borderTopRightRadius'], ['borderBottomLeftRadius', 'borderBottomRightRadius'],\n// kebab-case versions\n['padding-left', 'padding-right'], ['margin-left', 'margin-right'], ['border-left', 'border-right'], ['border-left-color', 'border-right-color'], ['border-left-style', 'border-right-style'], ['border-left-width', 'border-right-width'], ['border-top-left-radius', 'border-top-right-radius'], ['border-bottom-left-radius', 'border-bottom-right-radius']]);\nvar propsToIgnore = ['content'];\n\n// this is the same as the propertiesToConvert except for values\nvar valuesToConvert = arrayToObject([['ltr', 'rtl'], ['left', 'right'], ['w-resize', 'e-resize'], ['sw-resize', 'se-resize'], ['nw-resize', 'ne-resize']]);\n\n// Sorry for the regex 😞, but basically thisis used to replace _every_ instance of\n// `ltr`, `rtl`, `right`, and `left` in `backgroundimage` with the corresponding opposite.\n// A situation we're accepting here:\n// url('/left/right/rtl/ltr.png') will be changed to url('/right/left/ltr/rtl.png')\n// Definite trade-offs here, but I think it's a good call.\nvar bgImgDirectionRegex = new RegExp('(^|\\\\W|_)((ltr)|(rtl)|(left)|(right))(\\\\W|_|$)', 'g');\nvar bgPosDirectionRegex = new RegExp('(left)|(right)');\n\n/**\n * converts properties and values in the CSS in JS object to their corresponding RTL values\n * @param {Object} object the CSS in JS object\n * @return {Object} the RTL converted object\n */\nfunction convert(object) {\n  return Object.keys(object).reduce(function (newObj, originalKey) {\n    var originalValue = object[originalKey];\n    if (isString(originalValue)) {\n      // you're welcome to later code 😺\n      originalValue = originalValue.trim();\n    }\n\n    // Some properties should never be transformed\n    if (includes(propsToIgnore, originalKey)) {\n      newObj[originalKey] = originalValue;\n      return newObj;\n    }\n    var _convertProperty = convertProperty(originalKey, originalValue),\n      key = _convertProperty.key,\n      value = _convertProperty.value;\n    newObj[key] = value;\n    return newObj;\n  }, Array.isArray(object) ? [] : {});\n}\n\n/**\n * Converts a property and its value to the corresponding RTL key and value\n * @param {String} originalKey the original property key\n * @param {Number|String|Object} originalValue the original css property value\n * @return {Object} the new {key, value} pair\n */\nfunction convertProperty(originalKey, originalValue) {\n  var isNoFlip = /\\/\\*\\s?@noflip\\s?\\*\\//.test(originalValue);\n  var key = isNoFlip ? originalKey : getPropertyDoppelganger(originalKey);\n  var value = isNoFlip ? originalValue : getValueDoppelganger(key, originalValue);\n  return {\n    key: key,\n    value: value\n  };\n}\n\n/**\n * This gets the RTL version of the given property if it has a corresponding RTL property\n * @param {String} property the name of the property\n * @return {String} the name of the RTL property\n */\nfunction getPropertyDoppelganger(property) {\n  return propertiesToConvert[property] || property;\n}\n\n/**\n * This converts the given value to the RTL version of that value based on the key\n * @param {String} key this is the key (note: this should be the RTL version of the originalKey)\n * @param {String|Number|Object} originalValue the original css property value. If it's an object, then we'll convert that as well\n * @return {String|Number|Object} the converted value\n */\nfunction getValueDoppelganger(key, originalValue) {\n  if (!canConvertValue(originalValue)) {\n    return originalValue;\n  }\n  if (isObject(originalValue)) {\n    return convert(originalValue); // recursion 🌀\n  }\n\n  var isNum = isNumber(originalValue);\n  var isFunc = isFunction(originalValue);\n  var importantlessValue = isNum || isFunc ? originalValue : originalValue.replace(/ !important.*?$/, '');\n  var isImportant = !isNum && importantlessValue.length !== originalValue.length;\n  var valueConverter = propertyValueConverters[key];\n  var newValue;\n  if (valueConverter) {\n    newValue = valueConverter({\n      value: importantlessValue,\n      valuesToConvert: valuesToConvert,\n      propertiesToConvert: propertiesToConvert,\n      isRtl: true,\n      bgImgDirectionRegex: bgImgDirectionRegex,\n      bgPosDirectionRegex: bgPosDirectionRegex\n    });\n  } else {\n    newValue = valuesToConvert[importantlessValue] || importantlessValue;\n  }\n  if (isImportant) {\n    return newValue + \" !important\";\n  }\n  return newValue;\n}\n\nexport { propertiesToConvert as a, propsToIgnore as b, convert as c, convertProperty as d, getValueDoppelganger as e, arrayToObject as f, getPropertyDoppelganger as g, calculateNewBackgroundPosition as h, canConvertValue as i, flipTransformSign as j, flipSign as k, handleQuartetValues as l, includes as m, isBoolean as n, isFunction as o, propertyValueConverters as p, isNumber as q, isNullOrUndefined as r, isObject as s, isString as t, getValuesAsList as u, valuesToConvert as v, splitShadow as w };\n","const uppercasePattern = /[A-Z]/g;\nconst msPattern = /^ms-/;\nconst cache = {};\nfunction toHyphenLower(match) {\n  return '-' + match.toLowerCase();\n}\nfunction hyphenateProperty(name) {\n  if (Object.prototype.hasOwnProperty.call(cache, name)) {\n    return cache[name];\n  }\n  if (name.substr(0, 2) === '--') {\n    return name;\n  }\n  const hName = name.replace(uppercasePattern, toHyphenLower);\n  return cache[name] = msPattern.test(hName) ? '-' + hName : hName;\n}\n\nexport { hyphenateProperty };\n//# sourceMappingURL=hyphenateProperty.esm.js.map\n","function normalizeNestedProperty(nestedProperty) {\n  if (nestedProperty.charAt(0) === '&') {\n    return nestedProperty.slice(1);\n  }\n  return nestedProperty;\n}\n\nexport { normalizeNestedProperty };\n//# sourceMappingURL=normalizeNestedProperty.esm.js.map\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, token, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tif ((token(previous || 1) == 5 || token(peek() || 1) == 5) && strlen(characters) && substr(characters, -1, void 0) !== ' ') characters += ' '\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length || (variable === 0 && previous === 47)))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import { RULESET, tokenize } from 'stylis';\n\nconst globalPlugin = element => {\n  switch (element.type) {\n    case RULESET:\n      if (typeof element.props === 'string') {\n        if (process.env.NODE_ENV !== 'production') {\n          throw new Error(`\"element.props\" has type \"string\" (${JSON.stringify(element.props, null, 2)}), it's not expected. Please report a bug if it happens.`);\n        }\n        return;\n      }\n      element.props = element.props.map(value => {\n        // Avoids calling tokenize() on every string\n        if (value.indexOf(':global(') === -1) {\n          return value;\n        }\n        return tokenize(value).reduce((acc, value, index, children) => {\n          if (value === '') {\n            return acc;\n          }\n          if (value === ':' && children[index + 1] === 'global') {\n            const selector =\n            // An inner part of \":global()\"\n            children[index + 2].slice(1, -1) +\n            // A separator between selectors i.e. \"body .class\"\n            ' ';\n            acc.unshift(selector);\n            children[index + 1] = '';\n            children[index + 2] = '';\n            return acc;\n          }\n          acc.push(value);\n          return acc;\n        }, []).join('');\n      });\n  }\n};\n\nexport { globalPlugin };\n//# sourceMappingURL=globalPlugin.esm.js.map\n","import { RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, DECLARATION, hash, strlen, charat, indexof } from 'stylis';\n\n/* eslint-disable no-fallthrough */\nfunction prefix(value, length, children) {\n  switch (hash(value, length)) {\n    // color-adjust\n    case 5103:\n      return WEBKIT + 'print-' + value + value;\n    // backface-visibility, column, box-decoration-break\n    case 3191:\n    case 6645:\n    case 3005:\n    // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite\n    case 6391:\n    case 5879:\n    case 5623:\n    case 6135:\n    case 4599:\n    case 4855:\n      return WEBKIT + value + value;\n    // backdrop-filter, background-clip: text\n    case 4215:\n      // Additional check on \"backdrop-(f)ilter\" to prevent conflict with \"background-clip\"\n      // https://github.com/thysultan/stylis/issues/292\n      if (charat(value, 9) === 102) {\n        return WEBKIT + value + value;\n      }\n      // background-clip: text\n      if (charat(value, length + 1) === 116) {\n        return WEBKIT + value + value;\n      }\n      break;\n    // tab-size\n    case 4789:\n      return MOZ + value + value;\n    // appearance, user-select, hyphens\n    case 5349:\n    case 4246:\n    case 6968:\n      return WEBKIT + value + MOZ + value + value;\n    // cursor\n    // @ts-expect-error fall through is intentional here\n    case 6187:\n      if (!match(value, /grab/)) {\n        return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n      }\n    // background, background-image\n    case 5495:\n    case 3959:\n      // eslint-disable-next-line no-useless-concat\n      return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n    // (margin|padding)-inline-(start|end)\n    case 4095:\n    case 3583:\n    case 4068:\n    case 2532:\n      return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n    // (min|max)?(width|height|inline-size|block-size)\n    case 8116:\n    case 7059:\n    case 5753:\n    case 5535:\n    case 5445:\n    case 5701:\n    case 4933:\n    case 4677:\n    case 5533:\n    case 5789:\n    case 5021:\n    case 4765:\n      // stretch fill-available\n      if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n        // (f)ill-available\n        // @ts-expect-error fall through is intentional here\n        case 102:\n          if (charat(value, length + 3) === 108) {\n            return replace(value, /(.+:)(.+)-([^]+)/,\n            // eslint-disable-next-line no-useless-concat, eqeqeq\n            '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n          }\n        // (s)tretch\n        case 115:\n          return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n      }\n      break;\n  }\n  return value;\n}\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nfunction prefixerPlugin(element, index, children, callback) {\n  if (element.length > -1) if (!element.return) switch (element.type) {\n    case DECLARATION:\n      element.return = prefix(element.value, element.length);\n      return;\n    case RULESET:\n      if (element.length)\n        // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n        // @ts-ignore\n        return combine(element.props, function (value) {\n          switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n            // :read-(only|write)\n            case ':read-only':\n            case ':read-write':\n              return serialize(\n              // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n              // @ts-ignore\n              [copy(element, {\n                props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n              })], callback);\n            // :placeholder\n            case '::placeholder':\n              return serialize([\n              // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n              // @ts-ignore\n              copy(element, {\n                props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n              }),\n              // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n              // @ts-ignore\n              copy(element, {\n                props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n              })], callback);\n          }\n          return '';\n        });\n  }\n  return undefined;\n}\n\nexport { prefix, prefixerPlugin };\n//# sourceMappingURL=prefixerPlugin.esm.js.map\n","import { LAYER, SUPPORTS, MEDIA } from 'stylis';\n\nfunction isAtRuleElement(element) {\n  switch (element.type) {\n    case '@container':\n    case MEDIA:\n    case SUPPORTS:\n    case LAYER:\n      return true;\n  }\n  return false;\n}\n\nexport { isAtRuleElement };\n//# sourceMappingURL=isAtRuleElement.esm.js.map\n","import { isAtRuleElement } from './isAtRuleElement.esm.js';\n\nconst sortClassesInAtRulesPlugin = element => {\n  if (isAtRuleElement(element) && Array.isArray(element.children)) {\n    element.children.sort((a, b) => a.props[0] > b.props[0] ? 1 : -1);\n  }\n};\n\nexport { sortClassesInAtRulesPlugin };\n//# sourceMappingURL=sortClassesInAtRulesPlugin.esm.js.map\n","import { serialize, compile, middleware, stringify, rulesheet } from 'stylis';\nimport { globalPlugin } from './stylis/globalPlugin.esm.js';\nimport { prefixerPlugin } from './stylis/prefixerPlugin.esm.js';\nimport { sortClassesInAtRulesPlugin } from './stylis/sortClassesInAtRulesPlugin.esm.js';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\nfunction compileCSSRules(cssRules, sortClassesInAtRules) {\n  const rules = [];\n  serialize(compile(cssRules), middleware([globalPlugin, sortClassesInAtRules ? sortClassesInAtRulesPlugin : noop, prefixerPlugin, stringify,\n  // 💡 we are using `.insertRule()` API for DOM operations, which does not support\n  // insertion of multiple CSS rules in a single call. `rulesheet` plugin extracts\n  // individual rules to be used with this API\n  rulesheet(rule => rules.push(rule))]));\n  return rules;\n}\n\nexport { compileCSSRules };\n//# sourceMappingURL=compileCSSRules.esm.js.map\n","import { hyphenateProperty } from './utils/hyphenateProperty.esm.js';\nimport { normalizeNestedProperty } from './utils/normalizeNestedProperty.esm.js';\nimport { compileCSSRules } from './compileCSSRules.esm.js';\n\nconst PSEUDO_SELECTOR_REGEX = /,( *[^ &])/g;\n/**\n * Normalizes pseudo selectors to always contain &, requires to work properly with comma-separated selectors.\n *\n * @example\n *   \":hover\" => \"&:hover\"\n *   \" :hover\" => \"& :hover\"\n *   \":hover,:focus\" => \"&:hover,&:focus\"\n *   \" :hover, :focus\" => \"& :hover,& :focus\"\n */\nfunction normalizePseudoSelector(pseudoSelector) {\n  return '&' + normalizeNestedProperty(\n  // Regex there replaces a comma, spaces and an ampersand if it's present with comma and an ampersand.\n  // This allows to normalize input, see examples in JSDoc.\n  pseudoSelector.replace(PSEUDO_SELECTOR_REGEX, ',&$1'));\n}\nfunction createCSSRule(classNameSelector, cssDeclaration, pseudos) {\n  let cssRule = cssDeclaration;\n  if (pseudos.length > 0) {\n    cssRule = pseudos.reduceRight((acc, selector) => {\n      return `${normalizePseudoSelector(selector)} { ${acc} }`;\n    }, cssDeclaration);\n  }\n  return `${classNameSelector}{${cssRule}}`;\n}\nfunction compileAtomicCSSRule(options, atRules) {\n  const {\n    className,\n    selectors,\n    property,\n    rtlClassName,\n    rtlProperty,\n    rtlValue,\n    value\n  } = options;\n  const {\n    container,\n    layer,\n    media,\n    supports\n  } = atRules;\n  const classNameSelector = `.${className}`;\n  const cssDeclaration = Array.isArray(value) ? `${value.map(v => `${hyphenateProperty(property)}: ${v}`).join(';')};` : `${hyphenateProperty(property)}: ${value};`;\n  let cssRule = createCSSRule(classNameSelector, cssDeclaration, selectors);\n  if (rtlProperty && rtlClassName) {\n    const rtlClassNameSelector = `.${rtlClassName}`;\n    const rtlCSSDeclaration = Array.isArray(rtlValue) ? `${rtlValue.map(v => `${hyphenateProperty(rtlProperty)}: ${v}`).join(';')};` : `${hyphenateProperty(rtlProperty)}: ${rtlValue};`;\n    cssRule += createCSSRule(rtlClassNameSelector, rtlCSSDeclaration, selectors);\n  }\n  if (media) {\n    cssRule = `@media ${media} { ${cssRule} }`;\n  }\n  if (layer) {\n    cssRule = `@layer ${layer} { ${cssRule} }`;\n  }\n  if (supports) {\n    cssRule = `@supports ${supports} { ${cssRule} }`;\n  }\n  if (container) {\n    cssRule = `@container ${container} { ${cssRule} }`;\n  }\n  return compileCSSRules(cssRule, true);\n}\n\nexport { compileAtomicCSSRule, normalizePseudoSelector };\n//# sourceMappingURL=compileAtomicCSSRule.esm.js.map\n","import { hyphenateProperty } from './hyphenateProperty.esm.js';\n\nfunction cssifyObject(style) {\n  let css = '';\n  // eslint-disable-next-line guard-for-in\n  for (const property in style) {\n    const value = style[property];\n    if (typeof value === 'string' || typeof value === 'number') {\n      css += hyphenateProperty(property) + ':' + value + ';';\n      continue;\n    }\n    if (Array.isArray(value)) {\n      for (const arrValue of value) {\n        css += hyphenateProperty(property) + ':' + arrValue + ';';\n      }\n    }\n  }\n  return css;\n}\n\nexport { cssifyObject };\n//# sourceMappingURL=cssifyObject.esm.js.map\n","import { serialize, compile, middleware, stringify, rulesheet } from 'stylis';\nimport { prefixerPlugin } from './stylis/prefixerPlugin.esm.js';\nimport { cssifyObject } from './utils/cssifyObject.esm.js';\n\nfunction compileKeyframeRule(keyframeObject) {\n  let css = '';\n  // eslint-disable-next-line guard-for-in\n  for (const percentage in keyframeObject) {\n    css += `${percentage}{${cssifyObject(keyframeObject[percentage])}}`;\n  }\n  return css;\n}\n/**\n * Creates CSS rules for insertion from passed CSS.\n */\nfunction compileKeyframesCSS(keyframeName, keyframeCSS) {\n  const cssRule = `@keyframes ${keyframeName} {${keyframeCSS}}`;\n  const rules = [];\n  serialize(compile(cssRule), middleware([stringify, prefixerPlugin,\n  // 💡 we are using `.insertRule()` API for DOM operations, which does not support\n  // insertion of multiple CSS rules in a single call. `rulesheet` plugin extracts\n  // individual rules to be used with this API\n  rulesheet(rule => rules.push(rule))]));\n  return rules;\n}\n\nexport { compileKeyframeRule, compileKeyframesCSS };\n//# sourceMappingURL=compileKeyframeCSS.esm.js.map\n","const shorthands = {\n  animation: [-1, ['animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimeline', 'animationTimingFunction']],\n  animationRange: [-1, ['animationRangeEnd', 'animationRangeStart']],\n  background: [-2, ['backgroundAttachment', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPosition', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundSize']],\n  backgroundPosition: [-1, ['backgroundPositionX', 'backgroundPositionY']],\n  border: [-2, ['borderBottom', 'borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderLeft', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRight', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderTop', 'borderTopColor', 'borderTopStyle', 'borderTopWidth']],\n  borderBottom: [-1, ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth']],\n  borderImage: [-1, ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth']],\n  borderLeft: [-1, ['borderLeftColor', 'borderLeftStyle', 'borderLeftWidth']],\n  borderRadius: [-1, ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius']],\n  borderRight: [-1, ['borderRightColor', 'borderRightStyle', 'borderRightWidth']],\n  borderTop: [-1, ['borderTopColor', 'borderTopStyle', 'borderTopWidth']],\n  caret: [-1, ['caretColor', 'caretShape']],\n  columnRule: [-1, ['columnRuleColor', 'columnRuleStyle', 'columnRuleWidth']],\n  columns: [-1, ['columnCount', 'columnWidth']],\n  containIntrinsicSize: [-1, ['containIntrinsicHeight', 'containIntrinsicWidth']],\n  container: [-1, ['containerName', 'containerType']],\n  flex: [-1, ['flexBasis', 'flexGrow', 'flexShrink']],\n  flexFlow: [-1, ['flexDirection', 'flexWrap']],\n  font: [-1, ['fontFamily', 'fontSize', 'fontStretch', 'fontStyle', 'fontVariant', 'fontWeight', 'lineHeight']],\n  gap: [-1, ['columnGap', 'rowGap']],\n  grid: [-1, ['columnGap', 'gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridColumnGap', 'gridRowGap', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows', 'rowGap']],\n  gridArea: [-1, ['gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart']],\n  gridColumn: [-1, ['gridColumnEnd', 'gridColumnStart']],\n  gridRow: [-1, ['gridRowEnd', 'gridRowStart']],\n  gridTemplate: [-1, ['gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows']],\n  inset: [-1, ['bottom', 'left', 'right', 'top']],\n  insetBlock: [-1, ['insetBlockEnd', 'insetBlockStart']],\n  insetInline: [-1, ['insetInlineEnd', 'insetInlineStart']],\n  listStyle: [-1, ['listStyleImage', 'listStylePosition', 'listStyleType']],\n  margin: [-1, ['marginBottom', 'marginLeft', 'marginRight', 'marginTop']],\n  marginBlock: [-1, ['marginBlockEnd', 'marginBlockStart']],\n  marginInline: [-1, ['marginInlineEnd', 'marginInlineStart']],\n  mask: [-1, ['maskClip', 'maskComposite', 'maskImage', 'maskMode', 'maskOrigin', 'maskPosition', 'maskRepeat', 'maskSize']],\n  maskBorder: [-1, ['maskBorderMode', 'maskBorderOutset', 'maskBorderRepeat', 'maskBorderSlice', 'maskBorderSource', 'maskBorderWidth']],\n  offset: [-1, ['offsetAnchor', 'offsetDistance', 'offsetPath', 'offsetPosition', 'offsetRotate']],\n  outline: [-1, ['outlineColor', 'outlineStyle', 'outlineWidth']],\n  overflow: [-1, ['overflowX', 'overflowY']],\n  overscrollBehavior: [-1, ['overscrollBehaviorX', 'overscrollBehaviorY']],\n  padding: [-1, ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop']],\n  paddingBlock: [-1, ['paddingBlockEnd', 'paddingBlockStart']],\n  paddingInline: [-1, ['paddingInlineEnd', 'paddingInlineStart']],\n  placeContent: [-1, ['alignContent', 'justifyContent']],\n  placeItems: [-1, ['alignItems', 'justifyItems']],\n  placeSelf: [-1, ['alignSelf', 'justifySelf']],\n  scrollMargin: [-1, ['scrollMarginBottom', 'scrollMarginLeft', 'scrollMarginRight', 'scrollMarginTop']],\n  scrollMarginBlock: [-1, ['scrollMarginBlockEnd', 'scrollMarginBlockStart']],\n  scrollMarginInline: [-1, ['scrollMarginInlineEnd', 'scrollMarginInlineStart']],\n  scrollPadding: [-1, ['scrollPaddingBottom', 'scrollPaddingLeft', 'scrollPaddingRight', 'scrollPaddingTop']],\n  scrollPaddingBlock: [-1, ['scrollPaddingBlockEnd', 'scrollPaddingBlockStart']],\n  scrollPaddingInline: [-1, ['scrollPaddingInlineEnd', 'scrollPaddingInlineStart']],\n  scrollTimeline: [-1, ['scrollTimelineAxis', 'scrollTimelineName']],\n  textDecoration: [-1, ['textDecorationColor', 'textDecorationLine', 'textDecorationStyle', 'textDecorationThickness']],\n  textEmphasis: [-1, ['textEmphasisColor', 'textEmphasisStyle']],\n  transition: [-1, ['transitionBehavior', 'transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction']],\n  viewTimeline: [-1, ['viewTimelineAxis', 'viewTimelineName']]\n};\n\nexport { shorthands };\n//# sourceMappingURL=shorthands.esm.js.map\n","function generateCombinedQuery(currentMediaQuery, nestedMediaQuery) {\n  if (currentMediaQuery.length === 0) {\n    return nestedMediaQuery;\n  }\n  return `${currentMediaQuery} and ${nestedMediaQuery}`;\n}\n\nexport { generateCombinedQuery };\n//# sourceMappingURL=generateCombinedMediaQuery.esm.js.map\n","function isMediaQuerySelector(property) {\n  return property.substr(0, 6) === '@media';\n}\n\nexport { isMediaQuerySelector };\n//# sourceMappingURL=isMediaQuerySelector.esm.js.map\n","function isLayerSelector(property) {\n  return property.substr(0, 6) === '@layer';\n}\n\nexport { isLayerSelector };\n//# sourceMappingURL=isLayerSelector.esm.js.map\n","const regex = /^(:|\\[|>|&)/;\nfunction isNestedSelector(property) {\n  return regex.test(property);\n}\n\nexport { isNestedSelector };\n//# sourceMappingURL=isNestedSelector.esm.js.map\n","function isSupportQuerySelector(property) {\n  return property.substr(0, 9) === '@supports';\n}\n\nexport { isSupportQuerySelector };\n//# sourceMappingURL=isSupportQuerySelector.esm.js.map\n","function isContainerQuerySelector(property) {\n  return property.substring(0, 10) === '@container';\n}\n\nexport { isContainerQuerySelector };\n//# sourceMappingURL=isContainerQuerySelector.esm.js.map\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction isObject(val) {\n  return val != null && typeof val === 'object' && Array.isArray(val) === false;\n}\n\nexport { isObject };\n//# sourceMappingURL=isObject.esm.js.map\n","/**\n * Maps the long pseudo name to the short pseudo name. Pseudos that match here will be ordered, everything else will\n * make their way to default style bucket. We reduce the pseudo name to save bundlesize.\n * Thankfully there aren't any overlaps, see: https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes.\n */\nconst pseudosMap = {\n  // :focus-within\n  'us-w': 'w',\n  // :focus-visible\n  'us-v': 'i',\n  // :link\n  nk: 'l',\n  // :visited\n  si: 'v',\n  // :focus\n  cu: 'f',\n  // :hover\n  ve: 'h',\n  // :active\n  ti: 'a'\n};\n/**\n * Gets the bucket depending on the pseudo.\n *\n * Input:\n *\n * ```\n * \":hover\"\n * \":focus:hover\"\n * ```\n *\n * Output:\n *\n * ```\n * \"h\"\n * \"f\"\n * ```\n *\n * @internal\n */\nfunction getStyleBucketName(selectors, atRules) {\n  if (atRules.media) {\n    return 'm';\n  }\n  // We are grouping all the at-rules like @supports etc. under `t` bucket.\n  if (atRules.layer || atRules.supports) {\n    return 't';\n  }\n  if (atRules.container) {\n    return 'c';\n  }\n  if (selectors.length > 0) {\n    const normalizedPseudo = selectors[0].trim();\n    if (normalizedPseudo.charCodeAt(0) === 58 /* \":\" */) {\n      // We send through a subset of the string instead of the full pseudo name.\n      // For example:\n      // - `\"focus-visible\"` name would instead of `\"us-v\"`.\n      // - `\"focus\"` name would instead of `\"us\"`.\n      // Return a mapped pseudo else default bucket.\n      return pseudosMap[normalizedPseudo.slice(4, 8)] /* allows to avoid collisions between \"focus-visible\" & \"focus\" */ || pseudosMap[normalizedPseudo.slice(3, 5)] || 'd';\n    }\n  }\n  // Return default bucket\n  return 'd';\n}\n\nexport { getStyleBucketName };\n//# sourceMappingURL=getStyleBucketName.esm.js.map\n","import hashString from '@emotion/hash';\n\nfunction addAtRulePrefix(atRule, prefix) {\n  return atRule ? prefix + atRule : atRule;\n}\nfunction atRulesToString(atRules) {\n  return addAtRulePrefix(atRules.container, 'c') + addAtRulePrefix(atRules.media, 'm') + addAtRulePrefix(atRules.layer, 'l') + addAtRulePrefix(atRules.supports, 's');\n}\nfunction hashPropertyKey(selector, property, atRules) {\n  // uniq key based on property & selector, used for merging later\n  const computedKey = selector + atRulesToString(atRules) + property;\n  // \"key\" can be really long as it includes selectors, we use hashes to reduce sizes of keys\n  // \".foo :hover\" => \"abcd\"\n  const hashedKey = hashString(computedKey);\n  // As these hashes are used as object keys in build output we should avoid having numbers as a first character to\n  // avoid having quotes:\n  // {\n  //   \"1abc\": {}, // we don't want this\n  //   Aabc: {}, // no quotes\n  // }\n  const firstCharCode = hashedKey.charCodeAt(0);\n  const startsWithNumber = firstCharCode >= 48 && firstCharCode <= 57;\n  if (startsWithNumber) {\n    return String.fromCharCode(firstCharCode + 17) + hashedKey.slice(1);\n  }\n  return hashedKey;\n}\n\nexport { atRulesToString, hashPropertyKey };\n//# sourceMappingURL=hashPropertyKey.esm.js.map\n","import hashString from '@emotion/hash';\nimport { HASH_PREFIX } from '../../constants.esm.js';\nimport { atRulesToString } from './hashPropertyKey.esm.js';\n\nfunction hashClassName({\n  property,\n  selector,\n  salt,\n  value\n}, atRules) {\n  return HASH_PREFIX + hashString(salt + selector + atRulesToString(atRules) + property +\n  // Trimming of value is required to generate consistent hashes\n  value.trim());\n}\n\nexport { hashClassName };\n//# sourceMappingURL=hashClassName.esm.js.map\n","import { RESET } from '../../constants.esm.js';\n\nfunction isResetValue(value) {\n  return value === RESET;\n}\n\nexport { isResetValue };\n//# sourceMappingURL=isResetValue.esm.js.map\n","/**\n * Trims selectors to generate consistent hashes.\n */\nfunction trimSelector(selector) {\n  return selector.replace(/>\\s+/g, '>');\n}\n\nexport { trimSelector };\n//# sourceMappingURL=trimSelector.esm.js.map\n","import hashString from '@emotion/hash';\nimport { convertProperty, convert } from 'rtl-css-js/core';\nimport { UNSUPPORTED_CSS_PROPERTIES, RESET, HASH_PREFIX } from '../constants.esm.js';\nimport { compileAtomicCSSRule } from './compileAtomicCSSRule.esm.js';\nimport { compileKeyframeRule, compileKeyframesCSS } from './compileKeyframeCSS.esm.js';\nimport { shorthands } from './shorthands.esm.js';\nimport { generateCombinedQuery } from './utils/generateCombinedMediaQuery.esm.js';\nimport { isMediaQuerySelector } from './utils/isMediaQuerySelector.esm.js';\nimport { isLayerSelector } from './utils/isLayerSelector.esm.js';\nimport { isNestedSelector } from './utils/isNestedSelector.esm.js';\nimport { isSupportQuerySelector } from './utils/isSupportQuerySelector.esm.js';\nimport { isContainerQuerySelector } from './utils/isContainerQuerySelector.esm.js';\nimport { normalizeNestedProperty } from './utils/normalizeNestedProperty.esm.js';\nimport { isObject } from './utils/isObject.esm.js';\nimport { getStyleBucketName } from './getStyleBucketName.esm.js';\nimport { hashClassName } from './utils/hashClassName.esm.js';\nimport { hashPropertyKey } from './utils/hashPropertyKey.esm.js';\nimport { isResetValue } from './utils/isResetValue.esm.js';\nimport { trimSelector } from './utils/trimSelector.esm.js';\nimport { warnAboutUnresolvedRule } from './warnings/warnAboutUnresolvedRule.esm.js';\nimport { warnAboutUnsupportedProperties } from './warnings/warnAboutUnsupportedProperties.esm.js';\n\nfunction getShorthandDefinition(property) {\n  return shorthands[property];\n}\nfunction computePropertyPriority(shorthand) {\n  var _a;\n  return (_a = shorthand === null || shorthand === void 0 ? void 0 : shorthand[0]) !== null && _a !== void 0 ? _a : 0;\n}\nfunction pushToClassesMap(classesMap, propertyKey, ltrClassname, rtlClassname) {\n  classesMap[propertyKey] = rtlClassname ? [ltrClassname, rtlClassname] : ltrClassname;\n}\nfunction createBucketEntry(cssRule, metadata) {\n  if (metadata.length > 0) {\n    return [cssRule, Object.fromEntries(metadata)];\n  }\n  return cssRule;\n}\nfunction pushToCSSRules(cssRulesByBucket, styleBucketName, ltrCSS, rtlCSS, media, priority) {\n  var _a;\n  const metadata = [];\n  if (priority !== 0) {\n    metadata.push(['p', priority]);\n  }\n  if (styleBucketName === 'm' && media) {\n    metadata.push(['m', media]);\n  }\n  (_a = cssRulesByBucket[styleBucketName]) !== null && _a !== void 0 ? _a : cssRulesByBucket[styleBucketName] = [];\n  if (ltrCSS) {\n    cssRulesByBucket[styleBucketName].push(createBucketEntry(ltrCSS, metadata));\n  }\n  if (rtlCSS) {\n    cssRulesByBucket[styleBucketName].push(createBucketEntry(rtlCSS, metadata));\n  }\n}\n/**\n * Transforms input styles to classes maps & CSS rules.\n *\n * @internal\n */\nfunction resolveStyleRules(styles, classNameHashSalt = '', selectors = [], atRules = {\n  container: '',\n  layer: '',\n  media: '',\n  supports: ''\n}, cssClassesMap = {}, cssRulesByBucket = {}, rtlValue) {\n  // eslint-disable-next-line guard-for-in\n  for (const property in styles) {\n    // eslint-disable-next-line no-prototype-builtins\n    if (UNSUPPORTED_CSS_PROPERTIES.hasOwnProperty(property)) {\n      warnAboutUnsupportedProperties(property, styles[property]);\n      continue;\n    }\n    const value = styles[property];\n    // eslint-disable-next-line eqeqeq\n    if (value == null) {\n      continue;\n    }\n    if (isResetValue(value)) {\n      const selector = trimSelector(selectors.join(''));\n      // uniq key based on a hash of property & selector, used for merging later\n      const key = hashPropertyKey(selector, property, atRules);\n      pushToClassesMap(cssClassesMap, key, 0, undefined);\n      continue;\n    }\n    if (typeof value === 'string' || typeof value === 'number') {\n      const selector = trimSelector(selectors.join(''));\n      const shorthand = getShorthandDefinition(property);\n      if (shorthand) {\n        const shorthandProperties = shorthand[1];\n        const shorthandResetStyles = Object.fromEntries(shorthandProperties.map(property => [property, RESET]));\n        resolveStyleRules(shorthandResetStyles, classNameHashSalt, selectors, atRules, cssClassesMap, cssRulesByBucket);\n      }\n      // uniq key based on a hash of property & selector, used for merging later\n      const key = hashPropertyKey(selector, property, atRules);\n      const className = hashClassName({\n        value: value.toString(),\n        salt: classNameHashSalt,\n        selector,\n        property\n      }, atRules);\n      const rtlDefinition = rtlValue && {\n        key: property,\n        value: rtlValue\n      } || convertProperty(property, value);\n      const flippedInRtl = rtlDefinition.key !== property || rtlDefinition.value !== value;\n      const rtlClassName = flippedInRtl ? hashClassName({\n        value: rtlDefinition.value.toString(),\n        property: rtlDefinition.key,\n        salt: classNameHashSalt,\n        selector\n      }, atRules) : undefined;\n      const rtlCompileOptions = flippedInRtl ? {\n        rtlClassName,\n        rtlProperty: rtlDefinition.key,\n        rtlValue: rtlDefinition.value\n      } : undefined;\n      const styleBucketName = getStyleBucketName(selectors, atRules);\n      const [ltrCSS, rtlCSS] = compileAtomicCSSRule(Object.assign({\n        className,\n        selectors,\n        property,\n        value\n      }, rtlCompileOptions), atRules);\n      pushToClassesMap(cssClassesMap, key, className, rtlClassName);\n      pushToCSSRules(cssRulesByBucket, styleBucketName, ltrCSS, rtlCSS, atRules.media, computePropertyPriority(shorthand));\n    } else if (property === 'animationName') {\n      const animationNameValue = Array.isArray(value) ? value : [value];\n      const animationNames = [];\n      const rtlAnimationNames = [];\n      for (const keyframeObject of animationNameValue) {\n        const keyframeCSS = compileKeyframeRule(keyframeObject);\n        const rtlKeyframeCSS = compileKeyframeRule(convert(keyframeObject));\n        const animationName = HASH_PREFIX + hashString(keyframeCSS);\n        let rtlAnimationName;\n        const keyframeRules = compileKeyframesCSS(animationName, keyframeCSS);\n        let rtlKeyframeRules = [];\n        if (keyframeCSS === rtlKeyframeCSS) {\n          // If CSS for LTR & RTL are same we will re-use animationName from LTR to avoid duplication of rules in output\n          rtlAnimationName = animationName;\n        } else {\n          rtlAnimationName = HASH_PREFIX + hashString(rtlKeyframeCSS);\n          rtlKeyframeRules = compileKeyframesCSS(rtlAnimationName, rtlKeyframeCSS);\n        }\n        for (let i = 0; i < keyframeRules.length; i++) {\n          pushToCSSRules(cssRulesByBucket,\n          // keyframes styles should be inserted into own bucket\n          'k', keyframeRules[i], rtlKeyframeRules[i], atRules.media,\n          // keyframes always have default priority\n          0);\n        }\n        animationNames.push(animationName);\n        rtlAnimationNames.push(rtlAnimationName);\n      }\n      resolveStyleRules({\n        animationName: animationNames.join(', ')\n      }, classNameHashSalt, selectors, atRules, cssClassesMap, cssRulesByBucket, rtlAnimationNames.join(', '));\n    } else if (Array.isArray(value)) {\n      // not animationName property but array in the value => fallback values\n      if (value.length === 0) {\n        if (process.env.NODE_ENV !== 'production') {\n          console.warn(`makeStyles(): An empty array was passed as input to \"${property}\", the property will be omitted in the styles.`);\n        }\n        continue;\n      }\n      const selector = trimSelector(selectors.join(''));\n      const shorthand = getShorthandDefinition(property);\n      if (shorthand) {\n        const shorthandProperties = shorthand[1];\n        const shorthandResetStyles = Object.fromEntries(shorthandProperties.map(property => [property, RESET]));\n        resolveStyleRules(shorthandResetStyles, classNameHashSalt, selectors, atRules, cssClassesMap, cssRulesByBucket);\n      }\n      const key = hashPropertyKey(selector, property, atRules);\n      const className = hashClassName({\n        value: value.map(v => (v !== null && v !== void 0 ? v : '').toString()).join(';'),\n        salt: classNameHashSalt,\n        selector,\n        property\n      }, atRules);\n      const rtlDefinitions = value.map(v => convertProperty(property, v));\n      const rtlPropertyConsistent = !rtlDefinitions.some(v => v.key !== rtlDefinitions[0].key);\n      if (!rtlPropertyConsistent) {\n        if (process.env.NODE_ENV !== 'production') {\n          console.error('makeStyles(): mixing CSS fallback values which result in multiple CSS properties in RTL is not supported.');\n        }\n        continue;\n      }\n      const flippedInRtl = rtlDefinitions[0].key !== property || rtlDefinitions.some((v, i) => v.value !== value[i]);\n      const rtlClassName = flippedInRtl ? hashClassName({\n        value: rtlDefinitions.map(v => {\n          var _a;\n          return ((_a = v === null || v === void 0 ? void 0 : v.value) !== null && _a !== void 0 ? _a : '').toString();\n        }).join(';'),\n        salt: classNameHashSalt,\n        property: rtlDefinitions[0].key,\n        selector\n      }, atRules) : undefined;\n      const rtlCompileOptions = flippedInRtl ? {\n        rtlClassName,\n        rtlProperty: rtlDefinitions[0].key,\n        rtlValue: rtlDefinitions.map(d => d.value)\n      } : undefined;\n      const styleBucketName = getStyleBucketName(selectors, atRules);\n      const [ltrCSS, rtlCSS] = compileAtomicCSSRule(Object.assign({\n        className,\n        selectors,\n        property,\n        value: value\n      }, rtlCompileOptions), atRules);\n      pushToClassesMap(cssClassesMap, key, className, rtlClassName);\n      pushToCSSRules(cssRulesByBucket, styleBucketName, ltrCSS, rtlCSS, atRules.media, computePropertyPriority(shorthand));\n    } else if (isObject(value)) {\n      if (isNestedSelector(property)) {\n        resolveStyleRules(value, classNameHashSalt, selectors.concat(normalizeNestedProperty(property)), atRules, cssClassesMap, cssRulesByBucket);\n      } else if (isMediaQuerySelector(property)) {\n        const combinedMediaQuery = generateCombinedQuery(atRules.media, property.slice(6).trim());\n        resolveStyleRules(value, classNameHashSalt, selectors, Object.assign({}, atRules, {\n          media: combinedMediaQuery\n        }), cssClassesMap, cssRulesByBucket);\n      } else if (isLayerSelector(property)) {\n        const combinedLayerQuery = (atRules.layer ? `${atRules.layer}.` : '') + property.slice(6).trim();\n        resolveStyleRules(value, classNameHashSalt, selectors, Object.assign({}, atRules, {\n          layer: combinedLayerQuery\n        }), cssClassesMap, cssRulesByBucket);\n      } else if (isSupportQuerySelector(property)) {\n        const combinedSupportQuery = generateCombinedQuery(atRules.supports, property.slice(9).trim());\n        resolveStyleRules(value, classNameHashSalt, selectors, Object.assign({}, atRules, {\n          supports: combinedSupportQuery\n        }), cssClassesMap, cssRulesByBucket);\n      } else if (isContainerQuerySelector(property)) {\n        // TODO implement nested container queries if needed\n        // The only way to target multiple containers is to nest container queries\n        // https://developer.mozilla.org/en-US/docs/Web/CSS/@container#nested_container_queries\n        const containerQuery = property.slice(10).trim();\n        resolveStyleRules(value, classNameHashSalt, selectors, Object.assign({}, atRules, {\n          container: containerQuery\n        }), cssClassesMap, cssRulesByBucket);\n      } else {\n        warnAboutUnresolvedRule(property, value);\n      }\n    }\n  }\n  return [cssClassesMap, cssRulesByBucket];\n}\n\nexport { resolveStyleRules };\n//# sourceMappingURL=resolveStyleRules.esm.js.map\n","import { resolveStyleRules } from './runtime/resolveStyleRules.esm.js';\n\n/**\n * Calls resolveStyleRules() for each slot, is also used by build time transform.\n *\n * @param stylesBySlots - An object with makeStyles rules where a key is a slot name\n * @param classNameHashSalt - A salt for classes hash\n *\n * @return - A tuple with an object classnames mapping where a key is a slot name and an array with CSS rules\n */\nfunction resolveStyleRulesForSlots(stylesBySlots, classNameHashSalt = '') {\n  const classesMapBySlot = {};\n  const cssRules = {};\n  // eslint-disable-next-line guard-for-in\n  for (const slotName in stylesBySlots) {\n    const slotStyles = stylesBySlots[slotName];\n    const [cssClassMap, cssRulesByBucket] = resolveStyleRules(slotStyles, classNameHashSalt);\n    classesMapBySlot[slotName] = cssClassMap;\n    Object.keys(cssRulesByBucket).forEach(styleBucketName => {\n      cssRules[styleBucketName] = (cssRules[styleBucketName] || []).concat(cssRulesByBucket[styleBucketName]);\n    });\n  }\n  return [classesMapBySlot, cssRules];\n}\n\nexport { resolveStyleRulesForSlots };\n//# sourceMappingURL=resolveStyleRulesForSlots.esm.js.map\n","import './constants.esm.js';\nimport { debugData } from './devtools/store.esm.js';\nimport { isDevToolsEnabled } from './devtools/isDevToolsEnabled.esm.js';\nimport { getSourceURLfromError } from './devtools/getSourceURLfromError.esm.js';\nimport { insertionFactory } from './insertionFactory.esm.js';\nimport { resolveStyleRulesForSlots } from './resolveStyleRulesForSlots.esm.js';\nimport { reduceToClassNameForSlots } from './runtime/reduceToClassNameForSlots.esm.js';\n\nfunction makeStyles(stylesBySlots, factory = insertionFactory) {\n  const insertStyles = factory();\n  let classesMapBySlot = null;\n  let cssRules = null;\n  let ltrClassNamesForSlots = null;\n  let rtlClassNamesForSlots = null;\n  let sourceURL;\n  if (process.env.NODE_ENV !== 'production' && isDevToolsEnabled) {\n    sourceURL = getSourceURLfromError();\n  }\n  let classNameHashSalt;\n  function computeClasses(options) {\n    const {\n      dir,\n      renderer\n    } = options;\n    if (classesMapBySlot === null) {\n      [classesMapBySlot, cssRules] = resolveStyleRulesForSlots(stylesBySlots, renderer.classNameHashSalt);\n      if (process.env.NODE_ENV !== 'production') {\n        if (renderer.classNameHashSalt) {\n          if (classNameHashSalt !== renderer.classNameHashSalt) {\n            console.error(['@griffel/core:', '\\n\\n', 'A provided renderer has different \"classNameHashSalt\".', 'This is not supported and WILL cause issues with classnames generation.', 'Ensure that all renderers created with \"createDOMRenderer()\" have the same \"classNameHashSalt\".'].join(' '));\n          }\n          classNameHashSalt = renderer.classNameHashSalt;\n        }\n      }\n    }\n    const isLTR = dir === 'ltr';\n    if (isLTR) {\n      if (ltrClassNamesForSlots === null) {\n        ltrClassNamesForSlots = reduceToClassNameForSlots(classesMapBySlot, dir);\n      }\n    } else {\n      if (rtlClassNamesForSlots === null) {\n        rtlClassNamesForSlots = reduceToClassNameForSlots(classesMapBySlot, dir);\n      }\n    }\n    insertStyles(renderer, cssRules);\n    const classNamesForSlots = isLTR ? ltrClassNamesForSlots : rtlClassNamesForSlots;\n    if (process.env.NODE_ENV !== 'production' && isDevToolsEnabled) {\n      debugData.addSequenceDetails(classNamesForSlots, sourceURL);\n    }\n    return classNamesForSlots;\n  }\n  return computeClasses;\n}\n\nexport { makeStyles };\n//# sourceMappingURL=makeStyles.esm.js.map\n","import { border } from './shorthands/border.esm.js';\nimport { borderLeft } from './shorthands/borderLeft.esm.js';\nimport { borderBottom } from './shorthands/borderBottom.esm.js';\nimport { borderRight } from './shorthands/borderRight.esm.js';\nimport { borderTop } from './shorthands/borderTop.esm.js';\nimport { borderColor } from './shorthands/borderColor.esm.js';\nimport { borderStyle } from './shorthands/borderStyle.esm.js';\nimport { borderRadius } from './shorthands/borderRadius.esm.js';\nimport { borderWidth } from './shorthands/borderWidth.esm.js';\nimport { flex } from './shorthands/flex.esm.js';\nimport { gap } from './shorthands/gap.esm.js';\nimport { gridArea } from './shorthands/gridArea.esm.js';\nimport { margin } from './shorthands/margin.esm.js';\nimport { marginBlock } from './shorthands/marginBlock.esm.js';\nimport { marginInline } from './shorthands/marginInline.esm.js';\nimport { padding } from './shorthands/padding.esm.js';\nimport { paddingBlock } from './shorthands/paddingBlock.esm.js';\nimport { paddingInline } from './shorthands/paddingInline.esm.js';\nimport { overflow } from './shorthands/overflow.esm.js';\nimport { inset } from './shorthands/inset.esm.js';\nimport { outline } from './shorthands/outline.esm.js';\nimport { transition } from './shorthands/transition.esm.js';\nimport { textDecoration } from './shorthands/textDecoration.esm.js';\nexport { createDOMRenderer, defaultCompareMediaQueries } from './renderer/createDOMRenderer.esm.js';\nexport { rehydrateRendererCache } from './renderer/rehydrateRendererCache.esm.js';\nexport { safeInsertRule } from './renderer/safeInsertRule.esm.js';\nexport { mergeClasses } from './mergeClasses.esm.js';\nexport { makeStyles } from './makeStyles.esm.js';\nexport { makeStaticStyles } from './makeStaticStyles.esm.js';\nexport { makeResetStyles } from './makeResetStyles.esm.js';\nexport { resolveStyleRulesForSlots } from './resolveStyleRulesForSlots.esm.js';\nexport { __css } from './__css.esm.js';\nexport { __styles } from './__styles.esm.js';\nexport { __resetCSS } from './__resetCSS.esm.js';\nexport { __resetStyles } from './__resetStyles.esm.js';\nexport { normalizeCSSBucketEntry } from './runtime/utils/normalizeCSSBucketEntry.esm.js';\nexport { getStyleSheetKey, styleBucketOrdering } from './renderer/getStyleSheetForBucket.esm.js';\nexport { getStyleBucketName } from './runtime/getStyleBucketName.esm.js';\nexport { reduceToClassNameForSlots } from './runtime/reduceToClassNameForSlots.esm.js';\nexport { resolveStyleRules } from './runtime/resolveStyleRules.esm.js';\nexport { resolveResetStyleRules } from './runtime/resolveResetStyleRules.esm.js';\nexport { DATA_BUCKET_ATTR, DATA_PRIORITY_ATTR, DEBUG_RESET_CLASSES, DEBUG_SEQUENCE_SEPARATOR, DEFINITION_LOOKUP_TABLE, HASH_PREFIX, LOOKUP_DEFINITIONS_INDEX, LOOKUP_DIR_INDEX, RESET, RESET_HASH_PREFIX, SEQUENCE_HASH_LENGTH, SEQUENCE_PREFIX, SEQUENCE_SIZE, UNSUPPORTED_CSS_PROPERTIES } from './constants.esm.js';\n\n// This should be just \"export * as shorthands from \"\n// https://github.com/microsoft/fluentui/issues/20694\nconst shorthands = {\n  border,\n  borderLeft,\n  borderBottom,\n  borderRight,\n  borderTop,\n  borderColor,\n  borderStyle,\n  borderRadius,\n  borderWidth,\n  flex,\n  gap,\n  gridArea,\n  margin,\n  marginBlock,\n  marginInline,\n  padding,\n  paddingBlock,\n  paddingInline,\n  overflow,\n  inset,\n  outline,\n  transition,\n  textDecoration\n};\n\nexport { shorthands };\n//# sourceMappingURL=index.esm.js.map\n","import { makeStyles as makeStyles$1 } from '@griffel/core';\nimport { insertionFactory } from './insertionFactory.esm.js';\nimport { useRenderer } from './RendererContext.esm.js';\nimport { useTextDirection } from './TextDirectionContext.esm.js';\nimport { isInsideComponent } from './utils/isInsideComponent.esm.js';\n\nfunction makeStyles(stylesBySlots) {\n  const getStyles = makeStyles$1(stylesBySlots, insertionFactory);\n  if (process.env.NODE_ENV !== 'production') {\n    if (isInsideComponent()) {\n      throw new Error([\"makeStyles(): this function cannot be called in component's scope.\", 'All makeStyles() calls should be top level i.e. in a root scope of a file.'].join(' '));\n    }\n  }\n  return function useClasses() {\n    const dir = useTextDirection();\n    const renderer = useRenderer();\n    return getStyles({\n      dir,\n      renderer\n    });\n  };\n}\n\nexport { makeStyles };\n//# sourceMappingURL=makeStyles.esm.js.map\n","/**\n * Tiny helper to do the minimal amount of work in duplicating an object but omitting some\n * props. This ends up faster than using object ...rest or reduce to filter.\n *\n * This behaves very much like filteredAssign, but does not merge many objects together,\n * uses an exclusion object map, and avoids spreads all for optimal performance.\n *\n * See perf test for background:\n * https://jsperf.com/omit-vs-rest-vs-reduce/1\n *\n * @param obj - The object to clone\n * @param exclusions - The array of keys to exclude\n */ // eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function omit(obj, exclusions) {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    const result = {};\n    for(const key in obj){\n        if (exclusions.indexOf(key) === -1 && obj.hasOwnProperty(key)) {\n            result[key] = obj[key];\n        }\n    }\n    return result;\n}\n","import { useBrowserTimer } from './useBrowserTimer';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nconst setAnimationFrameNoop = (callback)=>{\n    callback(0);\n    return 0;\n};\nconst cancelAnimationFrameNoop = (handle)=>handle;\n/**\n * @internal\n * Helper to manage a browser requestAnimationFrame.\n * Ensures that the requestAnimationFrame isn't set multiple times at once and is cleaned up\n * when the component is unloaded.\n *\n * @returns A pair of [requestAnimationFrame, cancelAnimationFrame] that are stable between renders.\n */ export function useAnimationFrame() {\n    const { targetDocument } = useFluent();\n    const win = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView;\n    const setAnimationFrame = win ? win.requestAnimationFrame : setAnimationFrameNoop;\n    const clearAnimationFrame = win ? win.cancelAnimationFrame : cancelAnimationFrameNoop;\n    return useBrowserTimer(setAnimationFrame, clearAnimationFrame);\n}\n","import * as React from 'react';\nimport { useEventCallback } from './useEventCallback';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nconst DEFAULT_CONTAINS = (parent, child)=>!!(parent === null || parent === void 0 ? void 0 : parent.contains(child));\n/**\n * @internal\n * Utility to perform checks where a click/touch event was made outside a component\n */ export const useOnClickOutside = (options)=>{\n    const { targetDocument } = useFluent();\n    const win = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView;\n    const { refs, callback, element, disabled, disabledFocusOnIframe, contains = DEFAULT_CONTAINS } = options;\n    const timeoutId = React.useRef(undefined);\n    useIFrameFocus({\n        element,\n        disabled: disabledFocusOnIframe || disabled,\n        callback,\n        refs,\n        contains\n    });\n    const isMouseDownInsideRef = React.useRef(false);\n    const listener = useEventCallback((ev)=>{\n        if (isMouseDownInsideRef.current) {\n            isMouseDownInsideRef.current = false;\n            return;\n        }\n        const target = ev.composedPath()[0];\n        const isOutside = refs.every((ref)=>!contains(ref.current || null, target));\n        if (isOutside && !disabled) {\n            callback(ev);\n        }\n    });\n    const handleMouseDown = useEventCallback((ev)=>{\n        // Selecting text from inside to outside will rigger click event.\n        // In this case click event target is outside but mouse down event target is inside.\n        // And this click event should be considered as inside click.\n        isMouseDownInsideRef.current = refs.some((ref)=>contains(ref.current || null, ev.target));\n    });\n    React.useEffect(()=>{\n        if (disabled) {\n            return;\n        }\n        // Store the current event to avoid triggering handlers immediately\n        // Note this depends on a deprecated but extremely well supported quirk of the web platform\n        // https://github.com/facebook/react/issues/20074\n        let currentEvent = getWindowEvent(win);\n        const conditionalHandler = (event)=>{\n            // Skip if this event is the same as the one running when we added the handlers\n            if (event === currentEvent) {\n                currentEvent = undefined;\n                return;\n            }\n            listener(event);\n        };\n        // use capture phase because React can update DOM before the event bubbles to the document\n        element === null || element === void 0 ? void 0 : element.addEventListener('click', conditionalHandler, true);\n        element === null || element === void 0 ? void 0 : element.addEventListener('touchstart', conditionalHandler, true);\n        element === null || element === void 0 ? void 0 : element.addEventListener('contextmenu', conditionalHandler, true);\n        element === null || element === void 0 ? void 0 : element.addEventListener('mousedown', handleMouseDown, true);\n        // Garbage collect this event after it's no longer useful to avoid memory leaks\n        timeoutId.current = win === null || win === void 0 ? void 0 : win.setTimeout(()=>{\n            currentEvent = undefined;\n        }, 1);\n        return ()=>{\n            element === null || element === void 0 ? void 0 : element.removeEventListener('click', conditionalHandler, true);\n            element === null || element === void 0 ? void 0 : element.removeEventListener('touchstart', conditionalHandler, true);\n            element === null || element === void 0 ? void 0 : element.removeEventListener('contextmenu', conditionalHandler, true);\n            element === null || element === void 0 ? void 0 : element.removeEventListener('mousedown', handleMouseDown, true);\n            win === null || win === void 0 ? void 0 : win.clearTimeout(timeoutId.current);\n            currentEvent = undefined;\n        };\n    }, [\n        listener,\n        element,\n        disabled,\n        handleMouseDown,\n        win\n    ]);\n};\nconst getWindowEvent = (target)=>{\n    if (target) {\n        var _target_ownerDocument_defaultView, _target_ownerDocument;\n        if (typeof target.window === 'object' && target.window === target) {\n            // eslint-disable-next-line deprecation/deprecation\n            return target.event;\n        }\n        var _target_ownerDocument_defaultView_event;\n        // eslint-disable-next-line deprecation/deprecation\n        return (_target_ownerDocument_defaultView_event = (_target_ownerDocument = target.ownerDocument) === null || _target_ownerDocument === void 0 ? void 0 : (_target_ownerDocument_defaultView = _target_ownerDocument.defaultView) === null || _target_ownerDocument_defaultView === void 0 ? void 0 : _target_ownerDocument_defaultView.event) !== null && _target_ownerDocument_defaultView_event !== void 0 ? _target_ownerDocument_defaultView_event : undefined;\n    }\n    return undefined;\n};\nconst FUI_FRAME_EVENT = 'fuiframefocus';\n/**\n * Since click events do not propagate past iframes, we use focus to detect if a\n * click has happened inside an iframe, since the only ways of focusing inside an\n * iframe are:\n *   - clicking inside\n *   - tabbing inside\n *\n * Polls the value of `document.activeElement`. If it is an iframe, then dispatch\n * a custom DOM event. When the custom event is received call the provided callback\n */ const useIFrameFocus = (options)=>{\n    const { disabled, element: targetDocument, callback, contains = DEFAULT_CONTAINS, pollDuration = 1000, refs } = options;\n    const timeoutRef = React.useRef();\n    const listener = useEventCallback((e)=>{\n        const isOutside = refs.every((ref)=>!contains(ref.current || null, e.target));\n        if (isOutside && !disabled) {\n            callback(e);\n        }\n    });\n    // Adds listener to the custom iframe focus event\n    React.useEffect(()=>{\n        if (disabled) {\n            return;\n        }\n        targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener(FUI_FRAME_EVENT, listener, true);\n        return ()=>{\n            targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener(FUI_FRAME_EVENT, listener, true);\n        };\n    }, [\n        targetDocument,\n        disabled,\n        listener\n    ]);\n    // Starts polling for the active element\n    React.useEffect(()=>{\n        var _targetDocument_defaultView;\n        if (disabled) {\n            return;\n        }\n        timeoutRef.current = targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.setInterval(()=>{\n            const activeElement = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement;\n            if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.tagName) === 'IFRAME' || (activeElement === null || activeElement === void 0 ? void 0 : activeElement.tagName) === 'WEBVIEW') {\n                const event = new CustomEvent(FUI_FRAME_EVENT, {\n                    bubbles: true\n                });\n                activeElement.dispatchEvent(event);\n            }\n        }, pollDuration);\n        return ()=>{\n            var _targetDocument_defaultView;\n            targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.clearTimeout(timeoutRef.current);\n        };\n    }, [\n        targetDocument,\n        disabled,\n        pollDuration\n    ]);\n};\n","import * as React from 'react';\nimport { useEventCallback } from './useEventCallback';\n/**\n * @internal\n * Utility to perform checks where a click/touch event was made outside a component\n */ export const useOnScrollOutside = (options)=>{\n    const { refs, callback, element, disabled, contains: containsProp } = options;\n    const listener = useEventCallback((ev)=>{\n        const contains = containsProp || ((parent, child)=>!!(parent === null || parent === void 0 ? void 0 : parent.contains(child)));\n        const target = ev.composedPath()[0];\n        const isOutside = refs.every((ref)=>!contains(ref.current || null, target));\n        if (isOutside && !disabled) {\n            callback(ev);\n        }\n    });\n    React.useEffect(()=>{\n        if (disabled) {\n            return;\n        }\n        element === null || element === void 0 ? void 0 : element.addEventListener('wheel', listener);\n        element === null || element === void 0 ? void 0 : element.addEventListener('touchmove', listener);\n        return ()=>{\n            element === null || element === void 0 ? void 0 : element.removeEventListener('wheel', listener);\n            element === null || element === void 0 ? void 0 : element.removeEventListener('touchmove', listener);\n        };\n    }, [\n        listener,\n        element,\n        disabled\n    ]);\n};\n","import { getRestorer, getTabsterAttribute, RestorerTypes } from 'tabster';\nimport { useTabster } from './useTabster';\n/**\n * Focus will be restored to the most recent target element when it is lost from a source\n * @returns Attribute to apply to the target element where focus is restored\n */ export function useRestoreFocusTarget() {\n    const tabster = useTabster();\n    // Initializes the restorer API\n    if (tabster) {\n        getRestorer(tabster);\n    }\n    return getTabsterAttribute({\n        restorer: {\n            type: RestorerTypes.Target\n        }\n    });\n}\n/**\n * Focus will be restored to the most recent target element when it is lost from a source\n * @returns Attribute to apply to the element that might lose focus\n */ export function useRestoreFocusSource() {\n    const tabster = useTabster();\n    // Initializes the restorer API\n    if (tabster) {\n        getRestorer(tabster);\n    }\n    return getTabsterAttribute({\n        restorer: {\n            type: RestorerTypes.Source\n        }\n    });\n}\n","import * as React from 'react';\nimport { useKeyborgRef } from './useKeyborgRef';\n/**\n * Instantiates [keyborg](https://github.com/microsoft/keyborg) and checks if the user is navigating with the keyboard.\n * @returns {() => boolean}\n */ export function useIsNavigatingWithKeyboard() {\n    const keyborgRef = useKeyborgRef();\n    return React.useCallback(()=>{\n        var _keyborgRef_current;\n        var _keyborgRef_current_isNavigatingWithKeyboard;\n        return (_keyborgRef_current_isNavigatingWithKeyboard = (_keyborgRef_current = keyborgRef.current) === null || _keyborgRef_current === void 0 ? void 0 : _keyborgRef_current.isNavigatingWithKeyboard()) !== null && _keyborgRef_current_isNavigatingWithKeyboard !== void 0 ? _keyborgRef_current_isNavigatingWithKeyboard : false;\n    }, [\n        keyborgRef\n    ]);\n}\n","import * as React from 'react';\nimport { useKeyborgRef } from './useKeyborgRef';\n/**\n */ export function useSetKeyboardNavigation() {\n    const keyborgRef = useKeyborgRef();\n    return React.useCallback((isNavigatingWithKeyboard)=>{\n        var _keyborgRef_current;\n        (_keyborgRef_current = keyborgRef.current) === null || _keyborgRef_current === void 0 ? void 0 : _keyborgRef_current.setVal(isNavigatingWithKeyboard);\n    }, [\n        keyborgRef\n    ]);\n}\n","\"use client\";\n\nimport { createFluentIcon } from \"../utils/createFluentIcon\";\nexport const EmojiLaughFilled = /*#__PURE__*/createFluentIcon('EmojiLaughFilled', \"1em\", [\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16ZM6.5 8.08a.5.5 0 1 1-1-.16c.13-.83.9-1.42 1.75-1.42s1.61.59 1.74 1.42a.5.5 0 1 1-.99.16c-.04-.3-.34-.58-.75-.58-.42 0-.71.28-.76.58Zm5.5 0a.5.5 0 0 1-1-.16c.13-.83.9-1.42 1.75-1.42s1.61.59 1.74 1.42a.5.5 0 0 1-.99.16c-.04-.3-.34-.58-.75-.58-.42 0-.71.28-.76.58ZM5.5 10.5h9c-.22 2.2-1.93 4-4.5 4a4.36 4.36 0 0 1-4.5-4Z\"]);\nexport const EmojiLaughRegular = /*#__PURE__*/createFluentIcon('EmojiLaughRegular', \"1em\", [\"M6.5 8.08c.04-.3.33-.58.75-.58.41 0 .7.28.75.58A.5.5 0 1 0 9 7.92 1.73 1.73 0 0 0 7.25 6.5c-.86 0-1.62.59-1.74 1.42a.5.5 0 1 0 .98.16Zm6.25-.58c-.42 0-.71.28-.76.58a.5.5 0 0 1-.98-.16c.12-.83.88-1.42 1.74-1.42.85 0 1.61.59 1.74 1.42a.5.5 0 0 1-.99.16c-.04-.3-.34-.58-.75-.58ZM5.5 10a.5.5 0 0 0-.5.55A4.86 4.86 0 0 0 10 15c2.84 0 4.75-2 5-4.45a.5.5 0 0 0-.5-.55h-9Zm4.5 4a3.85 3.85 0 0 1-3.92-3h7.83c-.4 1.7-1.83 3-3.91 3Zm0-12a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-7 8a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z\"]);\nexport const EmojiMehFilled = /*#__PURE__*/createFluentIcon('EmojiMehFilled', \"1em\", [\"M2 10a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm6.5-1.5a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm4 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-6.5 3c0 .28.22.5.5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5Z\"]);\nexport const EmojiMehRegular = /*#__PURE__*/createFluentIcon('EmojiMehRegular', \"1em\", [\"M7.5 9.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm6-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-7 3.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7ZM2 10a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z\"]);\nexport const EmojiMemeFilled = /*#__PURE__*/createFluentIcon('EmojiMemeFilled', \"1em\", [\"M10 2a7.99 7.99 0 0 1 6.25 3H3.75A7.99 7.99 0 0 1 10 2Zm7 9h.94A8 8 0 0 1 2 10h1v1h1v1h6v-1h1v1h6v-1ZM6.19 13.44a.5.5 0 0 0-.08.7 5 5 0 0 0 7.78 0 .5.5 0 1 0-.78-.63 4 4 0 0 1-6.22 0 .5.5 0 0 0-.7-.07ZM18 6H3v1H2v1H1v1H0v2h1V9h1V8h2v2h1v1h4v-1h1V8h1v2h1v1h4v-1h1V8h1V6ZM6 8v1h1v1H6V9H5V8h1Zm7 0v1h1v1h-1V9h-1V8h1Z\"]);\nexport const EmojiMemeRegular = /*#__PURE__*/createFluentIcon('EmojiMemeRegular', \"1em\", [\"M16.25 5a7.99 7.99 0 0 0-12.5 0H5.1a6.98 6.98 0 0 1 9.8 0h1.35Zm1.69 6h-1.01A7 7 0 0 1 3 10H2a8 8 0 0 0 15.94 1ZM3 6h15v2h-1v2h-1v1h-4v-1h-1V8h-1v2H9v1H5v-1H4V8H2V7h1V6ZM1 9V8h1v1H1Zm0 0v2H0V9h1Zm4-1v1h1V8H5Zm1 1v1h1V9H6Zm6-1v1h1V8h-1Zm1 1v1h1V9h-1Zm-6.11 3.51a.5.5 0 1 0-.78.63 5 5 0 0 0 7.78 0 .5.5 0 1 0-.78-.63 4 4 0 0 1-6.22 0Z\"]);\nexport const EmojiMultipleFilled = /*#__PURE__*/createFluentIcon('EmojiMultipleFilled', \"1em\", [\"M2 7a5 5 0 0 0 4.03 4.9 6.48 6.48 0 0 1 1.66-3.78 2 2 0 0 0-2.21.58.5.5 0 1 1-.76-.65 3 3 0 0 1 3.76-.66 6.47 6.47 0 0 1 3.43-1.36A5 5 0 0 0 2 7Zm4.25-1.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm3 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm8.75 7a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-6.75-1a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm3.86 2.57a.5.5 0 0 0-.71.05 2.5 2.5 0 0 1-3.8 0 .5.5 0 1 0-.76.66 3.5 3.5 0 0 0 5.32 0 .5.5 0 0 0-.05-.71Zm-.61-1.82a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"]);\nexport const EmojiMultipleRegular = /*#__PURE__*/createFluentIcon('EmojiMultipleRegular', \"1em\", [\"M7 2a5 5 0 0 1 4.9 4.03c-.33.03-.66.08-.98.16a4 4 0 1 0-4.73 4.73c-.08.32-.13.65-.16.99A5 5 0 0 1 7 2Zm.7 6.12c.24-.26.5-.5.78-.73a3 3 0 0 0-3.76.66.5.5 0 1 0 .76.65 2 2 0 0 1 2.21-.58ZM6.24 5.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm3 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm1.25 6.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm4.6 1.82c.21.18.24.5.06.7a3.5 3.5 0 0 1-5.32.01.5.5 0 1 1 .76-.65 2.5 2.5 0 0 0 3.8 0 .5.5 0 0 1 .7-.06Zm-.6-1.82a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-2 5.75a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm0-1a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Z\"]);\nexport const EmojiSadFilled = /*#__PURE__*/createFluentIcon('EmojiSadFilled', \"1em\", [\"M2 10a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm5.5-.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm6-1a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm.06 4.89c.38-.35.07-.72.06-.73a2.02 2.02 0 0 0-.23-.23 4.06 4.06 0 0 0-.67-.49 5.3 5.3 0 0 0-2.72-.69 5.3 5.3 0 0 0-2.72.7 4.08 4.08 0 0 0-.9.7l-.01.03h-.01l.39.32-.39-.31a.5.5 0 0 0 .78.63l.02-.03c.03-.03.06-.07.12-.11.1-.1.27-.24.5-.37a4.31 4.31 0 0 1 2.22-.56 4.3 4.3 0 0 1 2.22.56 3.07 3.07 0 0 1 .64.5.5.5 0 0 0 .7.08Z\"]);\nexport const EmojiSadRegular = /*#__PURE__*/createFluentIcon('EmojiSadRegular', \"1em\", [\"M7.5 9.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm6-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm.06 4.89a.5.5 0 0 1-.7-.07A4.3 4.3 0 0 0 10 12.25c-1.02-.01-1.75.27-2.21.55a3.09 3.09 0 0 0-.65.5.5.5 0 0 1-.78-.62l.39.31-.39-.31v-.01l.02-.02a2.07 2.07 0 0 1 .23-.23c.15-.13.37-.31.67-.49.6-.35 1.5-.69 2.72-.69a5.3 5.3 0 0 1 2.72.7 4.06 4.06 0 0 1 .9.71l.01.02h.01l-.39.32.39-.31a.5.5 0 0 1-.08.7ZM10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-7 8a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z\"]);\nexport const EmojiSadSlightFilled = /*#__PURE__*/createFluentIcon('EmojiSadSlightFilled', \"1em\", [\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16ZM8.5 8.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4-1a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm.3 4.5h.8a.5.5 0 0 1 0 1h-.8c-1.07 0-2.13.32-3.02.92a.5.5 0 1 1-.56-.84A6.45 6.45 0 0 1 12.8 12Z\"]);\nexport const EmojiSadSlightRegular = /*#__PURE__*/createFluentIcon('EmojiSadSlightRegular', \"1em\", [\"M8.5 8.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm.3 2.5c-1.27 0-2.52.38-3.58 1.08a.5.5 0 0 0 .56.84c.9-.6 1.95-.92 3.02-.92h.8a.5.5 0 0 0 0-1h-.8ZM2 10a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z\"]);\nexport const EmojiSmileSlightFilled = /*#__PURE__*/createFluentIcon('EmojiSmileSlightFilled', \"1em\", [\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16ZM8.5 8.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4-1a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm-4.03 5.55c.42.21.97.32 1.53.32a3.5 3.5 0 0 0 1.53-.32.5.5 0 1 1 .44.9c-.58.29-1.28.43-1.97.43s-1.39-.14-1.97-.43a.5.5 0 1 1 .44-.9Z\"]);\nexport const EmojiSmileSlightRegular = /*#__PURE__*/createFluentIcon('EmojiSmileSlightRegular', \"1em\", [\"M13.5 8.5a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm-5 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm-.03 4.55a.5.5 0 1 0-.44.9c.58.29 1.28.43 1.97.43s1.39-.14 1.97-.43a.5.5 0 1 0-.44-.9c-.42.21-.97.32-1.53.32a3.5 3.5 0 0 1-1.53-.32ZM18 10a8 8 0 1 0-16 0 8 8 0 0 0 16 0ZM3 10a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z\"]);\nexport const EmojiSparkleFilled = /*#__PURE__*/createFluentIcon('EmojiSparkleFilled', \"1em\", [\"M15.23 1.35 14.88.28a.42.42 0 0 0-.8 0l-.35 1.07a2.2 2.2 0 0 1-1.38 1.4l-1.07.35a.42.42 0 0 0-.28.4.42.42 0 0 0 .28.4l.43.13.64.21a2.2 2.2 0 0 1 1.4 1.4l.35 1.08a.42.42 0 0 0 .8 0l.1-.32.23-.7V5.7l.02-.04a2.2 2.2 0 0 1 .7-1l-.01-.01c.2-.17.45-.3.7-.39l1.08-.35a.42.42 0 0 0 0-.8h-.02l-1.08-.35a2.2 2.2 0 0 1-1.4-1.4Zm3.79 6.61.76.25h.02a.3.3 0 0 1 0 .58l-.77.25a1.58 1.58 0 0 0-1 1l-.24.76a.3.3 0 0 1-.58 0l-.24-.77a1.54 1.54 0 0 0-.38-.62 1.58 1.58 0 0 0-.62-.38l-.77-.25a.3.3 0 0 1-.2-.28.3.3 0 0 1 .05-.18.3.3 0 0 1 .15-.1l.77-.26a1.6 1.6 0 0 0 .6-.38c.18-.17.3-.38.38-.61l.25-.77a.3.3 0 0 1 .57 0l.25.77a1.57 1.57 0 0 0 1 1Zm-1.27 4.02a8 8 0 1 1-6.58-9.9l-.2.07a1.43 1.43 0 0 0-.9 1.78 1.42 1.42 0 0 0 .88.9l1.1.37a1.2 1.2 0 0 1 .76.76l.34 1.07c.09.26.25.49.46.66l.03.02.04.03c.14.1.29.17.44.2a1.3 1.3 0 0 0 .75 1.79l.8.25a.57.57 0 0 1 .35.37l.25.76a1.31 1.31 0 0 0 1.48.87ZM12.5 7.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-5 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-.61 5.01a.5.5 0 1 0-.78.63 5 5 0 0 0 7.78 0 .5.5 0 1 0-.78-.63 4 4 0 0 1-6.22 0Z\"]);\nexport const EmojiSparkleRegular = /*#__PURE__*/createFluentIcon('EmojiSparkleRegular', \"1em\", [\"M15.23 1.35 14.88.28a.42.42 0 0 0-.8 0l-.35 1.07a2.2 2.2 0 0 1-1.38 1.4l-1.07.35a.42.42 0 0 0 0 .8l1.07.34a2.2 2.2 0 0 1 1.4 1.4l.35 1.08a.42.42 0 0 0 .8 0l.35-1.07a2.2 2.2 0 0 1 1.4-1.4l1.07-.35a.42.42 0 0 0 0-.8h-.02l-1.08-.35a2.2 2.2 0 0 1-1.4-1.4Zm3.79 6.61.76.25h.02a.3.3 0 0 1 0 .58l-.77.25a1.58 1.58 0 0 0-1 1l-.24.76a.3.3 0 0 1-.58 0l-.24-.77a1.58 1.58 0 0 0-1-1l-.77-.25a.3.3 0 0 1 0-.57l.77-.25a1.58 1.58 0 0 0 .98-1l.25-.76a.3.3 0 0 1 .57 0l.25.77a1.57 1.57 0 0 0 1 1Zm-2.25 3.82a1.3 1.3 0 0 0 .98.2 8 8 0 1 1-6.58-9.9l-.2.07a1.43 1.43 0 0 0-.88.85H10a7 7 0 1 0 6.77 8.78ZM12.5 7.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm-5 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm-.61 5.01a.5.5 0 1 0-.78.63 5 5 0 0 0 7.78 0 .5.5 0 1 0-.78-.63 4 4 0 0 1-6.22 0Z\"]);\nexport const EmojiSurpriseFilled = /*#__PURE__*/createFluentIcon('EmojiSurpriseFilled', \"1em\", [\"M2 10a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm5.5-.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4.25 3a1.75 1.75 0 1 0-3.5 0 1.75 1.75 0 0 0 3.5 0Zm.75-3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const EmojiSurpriseRegular = /*#__PURE__*/createFluentIcon('EmojiSurpriseRegular', \"1em\", [\"M7.5 9.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4.25 3a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0Zm.75-3a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-7 8a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z\"]);\nexport const EngineFilled = /*#__PURE__*/createFluentIcon('EngineFilled', \"1em\", [\"M7.5 2.5c.28 0 .5.22.5.5v1h2V3a.5.5 0 0 1 1 0v1h2.2a1 1 0 0 1 .89.55L14.8 6H16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-1.2l-.71 1.45a1 1 0 0 1-.9.55H7.71a1 1 0 0 1-.71-.3l-2.41-2.4A2 2 0 0 1 4 12.87V10H3v2.5a.5.5 0 0 1-1 0v-6a.5.5 0 0 1 1 0V9h1V6c0-1.1.9-2 2-2h1V3c0-.28.22-.5.5-.5Zm0 4.5a.5.5 0 0 0-.5.5V10c0 1.1.9 2 2 2h5.5a.5.5 0 0 0 0-1H11V7.5a.5.5 0 0 0-1 0V11H9a1 1 0 0 1-1-1V7.5a.5.5 0 0 0-.5-.5Z\"]);\nexport const EngineRegular = /*#__PURE__*/createFluentIcon('EngineRegular', \"1em\", [\"M8 3a.5.5 0 0 0-1 0v1H6a2 2 0 0 0-2 2v3H3V6.5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V10h1v2.88a2 2 0 0 0 .59 1.41L7 16.71a1 1 0 0 0 .7.29h5.5a1 1 0 0 0 .89-.55L14.8 15H16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-1.2l-.71-1.45a1 1 0 0 0-.9-.55H11V3a.5.5 0 0 0-1 0v1H8V3ZM6 5h7.2l.71 1.45a1 1 0 0 0 .9.55H16a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-1.2a1 1 0 0 0-.89.55L13.2 16H7.71l-2.42-2.41a1 1 0 0 1-.29-.71V6a1 1 0 0 1 1-1Zm1.5 2c.28 0 .5.22.5.5V10a1 1 0 0 0 1 1h1V7.5a.5.5 0 0 1 1 0V11h3.5a.5.5 0 0 1 0 1H9a2 2 0 0 1-2-2V7.5c0-.28.22-.5.5-.5Z\"]);\nexport const EqualCircleFilled = /*#__PURE__*/createFluentIcon('EqualCircleFilled', \"1em\", [\"M10 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm3.5 7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0 0 1h7Zm0 3a.5.5 0 0 0 0-1h-7a.5.5 0 0 0 0 1h7Z\"]);\nexport const EqualCircleRegular = /*#__PURE__*/createFluentIcon('EqualCircleRegular', \"1em\", [\"M13.5 9a.5.5 0 0 0 0-1h-7a.5.5 0 0 0 0 1h7Zm0 3a.5.5 0 0 0 0-1h-7a.5.5 0 0 0 0 1h7Zm4.5-2a8 8 0 1 0-16 0 8 8 0 0 0 16 0Zm-8-7a7 7 0 1 1 0 14 7 7 0 0 1 0-14Z\"]);\nexport const EqualOffFilled = /*#__PURE__*/createFluentIcon('EqualOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L5.79 6.5H3.75a.75.75 0 0 0 0 1.5h3.54l3.5 3.5H3.75a.75.75 0 0 0 0 1.5h8.54l4.86 4.85a.5.5 0 0 0 .7-.7l-15-15Zm10.77 9.35 1.5 1.5h1.13a.75.75 0 0 0 0-1.5h-2.63Zm-5-5 1.5 1.5h6.13a.75.75 0 0 0 0-1.5H8.62Z\"]);\nexport const EqualOffRegular = /*#__PURE__*/createFluentIcon('EqualOffRegular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L6.29 7H3.5a.5.5 0 0 0 0 1h3.8l4 4H3.5a.5.5 0 0 0 0 1h8.8l4.85 4.85a.5.5 0 0 0 .7-.7l-15-15ZM14.12 12l1 1h1.38a.5.5 0 0 0 0-1h-2.38Zm-5-5 1 1h6.38a.5.5 0 0 0 0-1H9.12Z\"]);\nexport const EraserFilled = /*#__PURE__*/createFluentIcon('EraserFilled', \"1em\", [\"M11.2 2.44a1.5 1.5 0 0 1 2.12 0l4.24 4.24a1.5 1.5 0 0 1 0 2.12L9.36 17h5.14a.5.5 0 1 1 0 1H7.82a1.5 1.5 0 0 1-1.14-.44l-4.24-4.24a1.5 1.5 0 0 1 0-2.12l8.76-8.76ZM9.78 15.17l-4.95-4.95-1.69 1.69a.5.5 0 0 0 0 .7l4.25 4.25c.2.2.5.2.7 0l1.7-1.7Z\"]);\nexport const EraserRegular = /*#__PURE__*/createFluentIcon('EraserRegular', \"1em\", [\"M11.2 2.44a1.5 1.5 0 0 1 2.12 0l4.24 4.24a1.5 1.5 0 0 1 0 2.12L9.36 17h5.14a.5.5 0 1 1 0 1H7.82a1.5 1.5 0 0 1-1.14-.44l-4.24-4.24a1.5 1.5 0 0 1 0-2.12l8.76-8.76Zm1.41.7a.5.5 0 0 0-.7 0L5.53 9.52l4.95 4.95 6.36-6.36a.5.5 0 0 0 0-.71l-4.24-4.24ZM9.78 15.18l-4.95-4.95-1.69 1.69a.5.5 0 0 0 0 .7l4.25 4.25c.2.2.5.2.7 0l1.7-1.7Z\"]);\nexport const EraserMediumFilled = /*#__PURE__*/createFluentIcon('EraserMediumFilled', \"1em\", [\"M2.44 11.2a1.5 1.5 0 0 0 0 2.12l4.24 4.24a1.5 1.5 0 0 0 2.12 0l.72-.72a5.46 5.46 0 0 1-.37-1.04L8.1 16.86a.5.5 0 0 1-.71 0L3.15 12.6a.5.5 0 0 1 0-.7l1.69-1.7L9 14.39a5.5 5.5 0 0 1 7.84-4.86l.72-.72a1.5 1.5 0 0 0 0-2.12l-4.24-4.24a1.5 1.5 0 0 0-2.12 0L2.44 11.2ZM14.5 19a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z\"]);\nexport const EraserMediumRegular = /*#__PURE__*/createFluentIcon('EraserMediumRegular', \"1em\", [\"M2.44 11.2a1.5 1.5 0 0 0 0 2.12l4.24 4.24a1.5 1.5 0 0 0 2.12 0l.72-.72a5.46 5.46 0 0 1-.37-1.04L8.1 16.86a.5.5 0 0 1-.71 0L3.15 12.6a.5.5 0 0 1 0-.7l1.69-1.7L9 14.39c.01-.43.07-.84.17-1.24L5.54 9.5l6.37-6.36c.2-.2.5-.2.7 0l4.25 4.24c.2.2.2.51 0 .7L15.8 9.16c.36.1.71.22 1.04.37l.72-.72a1.5 1.5 0 0 0 0-2.12l-4.24-4.24a1.5 1.5 0 0 0-2.12 0L2.44 11.2ZM14.5 19a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z\"]);\nexport const EraserSegmentFilled = /*#__PURE__*/createFluentIcon('EraserSegmentFilled', \"1em\", [\"M13.32 2.44a1.5 1.5 0 0 0-2.12 0L2.44 11.2a1.5 1.5 0 0 0 0 2.12l4.24 4.24c.31.32.73.46 1.14.44h6.27a1.5 1.5 0 1 0 0-1H9.36l8.2-8.2a1.5 1.5 0 0 0 0-2.12l-4.24-4.24Zm-8.49 7.78 4.95 4.95-1.69 1.69a.5.5 0 0 1-.7 0L3.14 12.6a.5.5 0 0 1 0-.7l1.7-1.7Z\"]);\nexport const EraserSegmentRegular = /*#__PURE__*/createFluentIcon('EraserSegmentRegular', \"1em\", [\"M13.32 2.44a1.5 1.5 0 0 0-2.12 0L2.44 11.2a1.5 1.5 0 0 0 0 2.12l4.24 4.24c.31.32.73.46 1.14.44h6.27a1.5 1.5 0 1 0 0-1H9.36l8.2-8.2a1.5 1.5 0 0 0 0-2.12l-4.24-4.24Zm-1.42.7c.2-.19.52-.19.71 0l4.24 4.25c.2.2.2.51 0 .7l-6.36 6.37-4.95-4.95 6.36-6.36Zm-7.07 7.08 4.95 4.95-1.69 1.69a.5.5 0 0 1-.7 0L3.14 12.6a.5.5 0 0 1 0-.7l1.7-1.7Z\"]);\nexport const EraserSmallFilled = /*#__PURE__*/createFluentIcon('EraserSmallFilled', \"1em\", [\"M2.44 11.2a1.5 1.5 0 0 0 0 2.12l4.24 4.24a1.5 1.5 0 0 0 2.12 0l2.22-2.2a4 4 0 0 1 4.34-4.34l2.2-2.22a1.5 1.5 0 0 0 0-2.12l-4.24-4.24a1.5 1.5 0 0 0-2.12 0L2.44 11.2Zm.7 1.41a.5.5 0 0 1 0-.7l1.7-1.7 4.95 4.96-1.7 1.69a.5.5 0 0 1-.7 0L3.15 12.6ZM15 18a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"]);\nexport const EraserSmallRegular = /*#__PURE__*/createFluentIcon('EraserSmallRegular', \"1em\", [\"M2.44 11.2a1.5 1.5 0 0 0 0 2.12l4.24 4.24a1.5 1.5 0 0 0 2.12 0l2.22-2.2a4.06 4.06 0 0 1 .18-1.6l-.7.7-4.96-4.95 6.37-6.36c.2-.2.5-.2.7 0l4.25 4.24c.2.2.2.51 0 .7l-3.1 3.1a4 4 0 0 1 1.6-.17l2.2-2.22a1.5 1.5 0 0 0 0-2.12l-4.24-4.24a1.5 1.5 0 0 0-2.12 0L2.44 11.2Zm.7 1.41a.5.5 0 0 1 0-.7l1.7-1.7 4.95 4.96-1.7 1.69a.5.5 0 0 1-.7 0L3.15 12.6ZM15 18a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"]);\nexport const EraserToolFilled = /*#__PURE__*/createFluentIcon('EraserToolFilled', \"1em\", [\"M4 2.5a.5.5 0 0 0-1 0v12A3.5 3.5 0 0 0 6.5 18h7a3.5 3.5 0 0 0 3.5-3.5v-12a.5.5 0 0 0-1 0V6H4V2.5ZM4 10V7h12v3H4Z\"]);\nexport const EraserToolRegular = /*#__PURE__*/createFluentIcon('EraserToolRegular', \"1em\", [\"M3.5 2c.28 0 .5.22.5.5V6h12V2.5a.5.5 0 0 1 1 0v12a3.5 3.5 0 0 1-3.5 3.5h-7A3.5 3.5 0 0 1 3 14.5v-12c0-.28.22-.5.5-.5Zm.5 9v3.5A2.5 2.5 0 0 0 6.5 17h7a2.5 2.5 0 0 0 2.5-2.5V11H4Zm12-1V7H4v3h12Z\"]);\nexport const ErrorCircleColor = /*#__PURE__*/createFluentIcon('ErrorCircleColor', \"1em\", [\"M10 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Z\", \"M10.5 6.5a.5.5 0 0 0-1 0V11a.5.5 0 0 0 1 0V6.5ZM10 14a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"]);\nexport const ErrorCircleFilled = /*#__PURE__*/createFluentIcon('ErrorCircleFilled', \"1em\", [\"M10 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm0 10.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM10 6a.5.5 0 0 0-.5.41v4.68a.5.5 0 0 0 1 0V6.41A.5.5 0 0 0 10 6Z\"]);\nexport const ErrorCircleRegular = /*#__PURE__*/createFluentIcon('ErrorCircleRegular', \"1em\", [\"M10 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm0 1a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm0 9.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5ZM10 6a.5.5 0 0 1 .5.41V11a.5.5 0 0 1-1 .09V6.5c0-.28.22-.5.5-.5Z\"]);\nexport const ErrorCircleSettingsFilled = /*#__PURE__*/createFluentIcon('ErrorCircleSettingsFilled', \"1em\", [\"M18 10a8 8 0 1 0-7.41 7.98 5.48 5.48 0 0 1-.37-4.01.75.75 0 1 1 .44-1.08 5.5 5.5 0 0 1 7.32-2.3L18 10ZM9.5 6.41a.5.5 0 0 1 1 0v4.68a.5.5 0 0 1-1 0V6.41Zm2.14 8.51a2 2 0 0 0 1.43-2.48l-.16-.55c.25-.2.53-.37.82-.5l.34.36a2 2 0 0 0 2.9 0l.33-.35c.3.14.58.32.84.52l-.13.42a2 2 0 0 0 1.46 2.52l.35.09a4.7 4.7 0 0 1 0 1.01l-.45.12a2 2 0 0 0-1.43 2.48l.15.55c-.25.2-.53.37-.82.5l-.34-.36a2 2 0 0 0-2.9 0l-.33.35c-.3-.14-.58-.32-.84-.52l.13-.42a2 2 0 0 0-1.46-2.52l-.35-.09a4.71 4.71 0 0 1 0-1.01l.46-.12Zm4.86.58a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const ErrorCircleSettingsRegular = /*#__PURE__*/createFluentIcon('ErrorCircleSettingsRegular', \"1em\", [\"M18 10a8 8 0 1 0-7.41 7.98 5.46 5.46 0 0 1-.38-.98H10a7 7 0 1 1 7-6.8c.34.1.67.23.98.39L18 10Zm-7.34 2.89a.75.75 0 1 0-.44 1.08c.1-.38.25-.74.44-1.08Zm-.17-6.48a.5.5 0 0 0-.99.09v4.59a.5.5 0 0 0 1-.09V6.41Zm1.15 8.51a2 2 0 0 0 1.43-2.48l-.16-.55c.25-.2.53-.37.82-.5l.34.36a2 2 0 0 0 2.9 0l.33-.35c.3.14.58.32.84.52l-.13.42a2 2 0 0 0 1.46 2.52l.35.09a4.7 4.7 0 0 1 0 1.01l-.45.12a2 2 0 0 0-1.43 2.48l.15.55c-.25.2-.53.37-.82.5l-.34-.36a2 2 0 0 0-2.9 0l-.33.35c-.3-.14-.58-.32-.84-.52l.13-.42a2 2 0 0 0-1.46-2.52l-.35-.09a4.71 4.71 0 0 1 0-1.01l.46-.12Zm4.86.58a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const ExpandUpLeftFilled = /*#__PURE__*/createFluentIcon('ExpandUpLeftFilled', \"1em\", [\"M14 4a2 2 0 0 1 2 2v4h-4a2 2 0 0 0-2 2v4H6a2 2 0 0 1-2-2v-2.5a.5.5 0 0 0-1 0V14a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3h-2.5a.5.5 0 0 0 0 1H14Zm-5-.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V4.7l4.15 4.15a.5.5 0 1 0 .7-.7L4.71 4H8.5a.5.5 0 0 0 .5-.5Z\"]);\nexport const ExpandUpLeftRegular = /*#__PURE__*/createFluentIcon('ExpandUpLeftRegular', \"1em\", [\"M16 6a2 2 0 0 0-2-2h-2.5a.5.5 0 0 1 0-1H14a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-2.5a.5.5 0 0 1 1 0V14c0 1.1.9 2 2 2h4v-4c0-1.1.9-2 2-2h4V6Zm-4 5a1 1 0 0 0-1 1v4h3a2 2 0 0 0 2-2v-3h-4ZM9 3.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V4.7l4.15 4.15a.5.5 0 1 0 .7-.7L4.71 4H8.5a.5.5 0 0 0 .5-.5Z\"]);\nexport const ExpandUpRightFilled = /*#__PURE__*/createFluentIcon('ExpandUpRightFilled', \"1em\", [\"M6 4a2 2 0 0 0-2 2v4h4a2 2 0 0 1 2 2v4h4a2 2 0 0 0 2-2v-2.5a.5.5 0 0 1 1 0V14a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h2.5a.5.5 0 0 1 0 1H6Zm5-.5c0-.28.22-.5.5-.5h5c.28 0 .5.22.5.5v5a.5.5 0 0 1-1 0V4.7l-4.15 4.15a.5.5 0 0 1-.7-.7L15.29 4H11.5a.5.5 0 0 1-.5-.5Z\"]);\nexport const ExpandUpRightRegular = /*#__PURE__*/createFluentIcon('ExpandUpRightRegular', \"1em\", [\"M4 6c0-1.1.9-2 2-2h2.5a.5.5 0 0 0 0-1H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3v-2.5a.5.5 0 0 0-1 0V14a2 2 0 0 1-2 2h-4v-4a2 2 0 0 0-2-2H4V6Zm0 5h4a1 1 0 0 1 1 1v4H6a2 2 0 0 1-2-2v-3Zm7-7.5c0-.28.22-.5.5-.5h5c.28 0 .5.22.5.5v5a.5.5 0 0 1-1 0V4.7l-4.15 4.15a.5.5 0 0 1-.7-.7L15.29 4H11.5a.5.5 0 0 1-.5-.5Z\"]);\nexport const ExtendedDockFilled = /*#__PURE__*/createFluentIcon('ExtendedDockFilled', \"1em\", [\"M10.35 4.15a.5.5 0 0 0-.7 0l-3 3a.5.5 0 1 0 .7.7L10 5.21l2.65 2.64a.5.5 0 0 0 .7-.7l-3-3ZM3 10c-.83 0-1.5.67-1.5 1.5v2c0 .83.67 1.5 1.5 1.5h2c.83 0 1.5-.67 1.5-1.5v-2c0-.83-.67-1.5-1.5-1.5H3Zm6 0c-.83 0-1.5.67-1.5 1.5v2c0 .83.67 1.5 1.5 1.5h2c.83 0 1.5-.67 1.5-1.5v-2c0-.83-.67-1.5-1.5-1.5H9Zm4.5 1.5c0-.83.67-1.5 1.5-1.5h2c.83 0 1.5.67 1.5 1.5v2c0 .83-.67 1.5-1.5 1.5h-2a1.5 1.5 0 0 1-1.5-1.5v-2Z\"]);\nexport const ExtendedDockRegular = /*#__PURE__*/createFluentIcon('ExtendedDockRegular', \"1em\", [\"M10.35 4.15a.5.5 0 0 0-.7 0l-3 3a.5.5 0 1 0 .7.7L10 5.21l2.65 2.64a.5.5 0 0 0 .7-.7l-3-3ZM3 10c-.83 0-1.5.67-1.5 1.5v2c0 .83.67 1.5 1.5 1.5h2c.83 0 1.5-.67 1.5-1.5v-2c0-.83-.67-1.5-1.5-1.5H3Zm-.5 1.5c0-.28.22-.5.5-.5h2c.28 0 .5.22.5.5v2a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5v-2ZM9 10c-.83 0-1.5.67-1.5 1.5v2c0 .83.67 1.5 1.5 1.5h2c.83 0 1.5-.67 1.5-1.5v-2c0-.83-.67-1.5-1.5-1.5H9Zm-.5 1.5c0-.28.22-.5.5-.5h2c.28 0 .5.22.5.5v2a.5.5 0 0 1-.5.5H9a.5.5 0 0 1-.5-.5v-2Zm5 0c0-.83.67-1.5 1.5-1.5h2c.83 0 1.5.67 1.5 1.5v2c0 .83-.67 1.5-1.5 1.5h-2a1.5 1.5 0 0 1-1.5-1.5v-2ZM15 11a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Z\"]);\nexport const EyeFilled = /*#__PURE__*/createFluentIcon('EyeFilled', \"1em\", [\"M3.26 11.6A6.97 6.97 0 0 1 10 6c3.2 0 6.06 2.33 6.74 5.6a.5.5 0 0 0 .98-.2A7.97 7.97 0 0 0 10 5a7.97 7.97 0 0 0-7.72 6.4.5.5 0 0 0 .98.2ZM9.99 8a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Z\"]);\nexport const EyeRegular = /*#__PURE__*/createFluentIcon('EyeRegular', \"1em\", [\"M3.26 11.6A6.97 6.97 0 0 1 10 6c3.2 0 6.06 2.33 6.74 5.6a.5.5 0 0 0 .98-.2A7.97 7.97 0 0 0 10 5a7.97 7.97 0 0 0-7.72 6.4.5.5 0 0 0 .98.2ZM10 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Zm-2.5 3.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z\"]);\nexport const EyeLinesFilled = /*#__PURE__*/createFluentIcon('EyeLinesFilled', \"1em\", [\"M10 6H3.92c.27-.34.57-.68.92-1H10V4H6.18C7.21 3.4 8.47 3 10 3a7.5 7.5 0 0 1 6.08 3 9.73 9.73 0 0 1 1.56 2.96c.06.2.11.4.11.54s-.05.35-.1.54A9.74 9.74 0 0 1 16.08 13 7.5 7.5 0 0 1 10 16c-1.53 0-2.8-.4-3.82-1H10v-1H4.84a8.59 8.59 0 0 1-.92-1H10v-.5a3 3 0 1 0 0-6V6ZM8.34 7h-5.1c-.21.35-.38.7-.52 1H7.4c.23-.4.56-.74.94-1Zm-1.3 2h-4.7c-.05.18-.09.37-.09.5s.04.32.1.5h4.7a3.02 3.02 0 0 1 0-1Zm.36 2H2.72c.14.3.3.65.52 1h5.1c-.38-.26-.7-.6-.94-1Z\"]);\nexport const EyeLinesRegular = /*#__PURE__*/createFluentIcon('EyeLinesRegular', \"1em\", [\"M10 3c-1.53 0-2.8.4-3.82 1H10a6.5 6.5 0 0 1 5.3 2.62 8.73 8.73 0 0 1 1.38 2.62c.05.14.06.22.07.25v.01a6.5 6.5 0 0 1-.32.94c-.24.57-.6 1.26-1.14 1.94A6.5 6.5 0 0 1 10 15H6.18c1.03.6 2.29 1 3.82 1a7.44 7.44 0 0 0 6.08-3 9.74 9.74 0 0 0 1.56-2.96c.06-.2.11-.4.11-.54s-.05-.35-.1-.54A9.73 9.73 0 0 0 16.08 6 7.44 7.44 0 0 0 10 3Zm0 3H3.92c.27-.34.57-.68.92-1H10v1Zm0 7a3.5 3.5 0 1 0 0-7v1H3.24c-.21.35-.38.7-.52 1H8a2.5 2.5 0 1 1 0 3H2.72c.14.3.3.65.52 1H10v1Zm0 0H3.92c.27.34.57.68.92 1H10v-1ZM7.55 9h-5.2c-.06.18-.1.37-.1.5s.04.32.1.5h5.2a2.51 2.51 0 0 1 0-1Z\"]);\nexport const EyeOffFilled = /*#__PURE__*/createFluentIcon('EyeOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l3.5 3.5a8.1 8.1 0 0 0-3.37 5.05.5.5 0 1 0 .98.2 7.09 7.09 0 0 1 3.1-4.53l1.59 1.59a3.5 3.5 0 1 0 4.88 4.88l4.32 4.31a.5.5 0 0 0 .7-.7l-15-15ZM10.12 8l3.37 3.37A3.5 3.5 0 0 0 10.12 8ZM7.53 5.41l.8.8C8.87 6.07 9.43 6 10 6c3.2 0 6.06 2.33 6.74 5.6a.5.5 0 1 0 .98-.2A7.97 7.97 0 0 0 10 5c-.86 0-1.69.14-2.47.41Z\"]);\nexport const EyeOffRegular = /*#__PURE__*/createFluentIcon('EyeOffRegular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l3.5 3.5a8.1 8.1 0 0 0-3.37 5.05.5.5 0 1 0 .98.2 7.09 7.09 0 0 1 3.1-4.53l1.6 1.59a3.5 3.5 0 1 0 4.88 4.89l4.3 4.3a.5.5 0 0 0 .71-.7l-15-15Zm9.27 10.68a2.5 2.5 0 1 1-3.45-3.45l3.45 3.45Zm-2-4.83 3.38 3.38A3.5 3.5 0 0 0 10.12 8ZM10 6c-.57 0-1.13.07-1.67.21l-.8-.8A7.65 7.65 0 0 1 10 5c3.7 0 6.94 2.67 7.72 6.4a.5.5 0 0 1-.98.2A6.97 6.97 0 0 0 10 6Z\"]);\nexport const EyeTrackingFilled = /*#__PURE__*/createFluentIcon('EyeTrackingFilled', \"1em\", [\"M4.5 3C3.67 3 3 3.67 3 4.5v3a.5.5 0 0 1-1 0v-3A2.5 2.5 0 0 1 4.5 2h3a.5.5 0 0 1 0 1h-3Zm0 14A1.5 1.5 0 0 1 3 15.5v-3a.5.5 0 0 0-1 0v3A2.5 2.5 0 0 0 4.5 18h3a.5.5 0 0 0 0-1h-3ZM17 4.5c0-.83-.67-1.5-1.5-1.5h-3a.5.5 0 0 1 0-1h3A2.5 2.5 0 0 1 18 4.5v3a.5.5 0 0 1-1 0v-3ZM15.5 17c.83 0 1.5-.67 1.5-1.5v-3a.5.5 0 0 1 1 0v3a2.5 2.5 0 0 1-2.5 2.5h-3a.5.5 0 0 1 0-1h3ZM7 11.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0ZM4.95 9.72a.5.5 0 0 1-.9-.44l.45.22-.45-.22v-.01l.01-.01a2.1 2.1 0 0 1 .08-.14l.25-.38A6.85 6.85 0 0 1 10 6a6.85 6.85 0 0 1 5.62 2.74 5.13 5.13 0 0 1 .33.52v.01l-.44.23.45-.22a.5.5 0 0 1-.9.45V9.7a2.5 2.5 0 0 0-.25-.39A5.86 5.86 0 0 0 10 7a5.86 5.86 0 0 0-4.8 2.32 4.14 4.14 0 0 0-.24.39l-.01.01Z\"]);\nexport const EyeTrackingRegular = /*#__PURE__*/createFluentIcon('EyeTrackingRegular', \"1em\", [\"M3 4.5C3 3.67 3.67 3 4.5 3h3a.5.5 0 0 0 0-1h-3A2.5 2.5 0 0 0 2 4.5v3a.5.5 0 0 0 1 0v-3Zm0 11c0 .83.67 1.5 1.5 1.5h3a.5.5 0 0 1 0 1h-3A2.5 2.5 0 0 1 2 15.5v-3a.5.5 0 0 1 1 0v3ZM15.5 3c.83 0 1.5.67 1.5 1.5v3a.5.5 0 0 0 1 0v-3A2.5 2.5 0 0 0 15.5 2h-3a.5.5 0 0 0 0 1h3ZM17 15.5c0 .83-.67 1.5-1.5 1.5h-3a.5.5 0 0 0 0 1h3a2.5 2.5 0 0 0 2.5-2.5v-3a.5.5 0 0 0-1 0v3Zm-10-4a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-5.05.22a.5.5 0 0 1-.9-.44l.45.22-.45-.22v-.01l.01-.01a2.1 2.1 0 0 1 .08-.14l.25-.38A6.85 6.85 0 0 1 10 6a6.85 6.85 0 0 1 5.62 2.74 5.13 5.13 0 0 1 .33.52v.01l-.44.23.45-.22a.5.5 0 0 1-.9.45V9.7a2.5 2.5 0 0 0-.25-.39A5.86 5.86 0 0 0 10 7a5.86 5.86 0 0 0-4.8 2.32 4.14 4.14 0 0 0-.24.39l-.01.01Z\"]);\nexport const EyeTrackingOffFilled = /*#__PURE__*/createFluentIcon('EyeTrackingOffFilled', \"1em\", [\"M2.41 3.12C2.15 3.52 2 4 2 4.5v3a.5.5 0 0 0 1 0v-3c0-.23.05-.45.15-.65L6.29 7a6.6 6.6 0 0 0-2.23 2.27v.01l.44.23-.45-.22a.5.5 0 0 0 .9.44v-.01a2.39 2.39 0 0 1 .25-.39 5.49 5.49 0 0 1 1.82-1.6l1.3 1.3a3 3 0 1 0 4.16 4.17l3.67 3.66c-.2.1-.42.15-.65.15h-3a.5.5 0 0 0 0 1h3c.5 0 .98-.15 1.38-.41l.27.26a.5.5 0 0 0 .7-.7l-.26-.27-.74-.73-3.93-3.94-3.63-3.63L8.01 7.3l-.78-.78-3.38-3.37-.73-.74-.27-.26a.5.5 0 1 0-.7.7l.26.27Zm15.57 12.73.02-.35v-3a.5.5 0 0 0-1 0v2.38l.98.97Zm-8.81-8.8A7 7 0 0 1 10 7a5.86 5.86 0 0 1 4.8 2.32 4.13 4.13 0 0 1 .24.39l.01.01a.5.5 0 0 0 .9-.44v-.01l-.01-.01a1.7 1.7 0 0 0-.08-.14l-.25-.38A6.85 6.85 0 0 0 10 6c-.63 0-1.2.07-1.7.18l.86.87Zm6.78 2.23-.06.03-.39.19.45-.22ZM5.12 3H7.5a.5.5 0 0 0 0-1h-3c-.12 0-.24 0-.35.02l.97.98ZM3 15.5c0 .83.67 1.5 1.5 1.5h3a.5.5 0 0 1 0 1h-3A2.5 2.5 0 0 1 2 15.5v-3a.5.5 0 0 1 1 0v3Zm14-11c0-.83-.67-1.5-1.5-1.5h-3a.5.5 0 0 1 0-1h3A2.5 2.5 0 0 1 18 4.5v3a.5.5 0 0 1-1 0v-3Z\"]);\nexport const EyeTrackingOffRegular = /*#__PURE__*/createFluentIcon('EyeTrackingOffRegular', \"1em\", [\"M2.41 3.12C2.15 3.52 2 4 2 4.5v3a.5.5 0 0 0 1 0v-3c0-.23.05-.45.15-.65L6.29 7a6.6 6.6 0 0 0-2.23 2.27v.01l.44.23-.45-.22a.5.5 0 0 0 .9.44v-.01a2.39 2.39 0 0 1 .25-.39 5.49 5.49 0 0 1 1.82-1.6l1.3 1.3a3 3 0 1 0 4.16 4.17l3.67 3.66c-.2.1-.42.15-.65.15h-3a.5.5 0 0 0 0 1h3c.5 0 .98-.15 1.38-.41l.27.26a.5.5 0 0 0 .7-.7l-.26-.27-.74-.73-3.93-3.94-3.63-3.63L8.01 7.3l-.78-.78-3.38-3.37-.73-.74-.27-.26a.5.5 0 1 0-.7.7l.26.27Zm9.34 9.34a2 2 0 1 1-2.71-2.71l2.71 2.71Zm6.23 3.4.02-.36v-3a.5.5 0 0 0-1 0v2.38l.98.97ZM9.17 7.04A7 7 0 0 1 10 7a5.86 5.86 0 0 1 4.8 2.32 4.13 4.13 0 0 1 .24.39l.01.01a.5.5 0 0 0 .9-.44v-.01l-.01-.01a1.7 1.7 0 0 0-.08-.14l-.25-.38A6.85 6.85 0 0 0 10 6c-.63 0-1.2.07-1.7.18l.86.87Zm6.78 2.23-.06.03-.39.19.45-.22ZM5.12 3H7.5a.5.5 0 0 0 0-1h-3c-.12 0-.24 0-.35.02l.97.98ZM4.5 17A1.5 1.5 0 0 1 3 15.5v-3a.5.5 0 0 0-1 0v3A2.5 2.5 0 0 0 4.5 18h3a.5.5 0 0 0 0-1h-3Zm11-14c.83 0 1.5.67 1.5 1.5v3a.5.5 0 0 0 1 0v-3A2.5 2.5 0 0 0 15.5 2h-3a.5.5 0 0 0 0 1h3Z\"]);\nexport const EyedropperFilled = /*#__PURE__*/createFluentIcon('EyedropperFilled', \"1em\", [\"M17.25 2.75a2.62 2.62 0 0 0-3.71 0L12.5 3.8l-.35-.35a1.5 1.5 0 0 0-2.12 0l-.59.59a1.5 1.5 0 0 0 0 2.12l.35.35-6.35 6.35A1.5 1.5 0 0 0 3 13.91v.5l-.96 2.26a1 1 0 0 0 1.32 1.31L5.6 17h.49c.4 0 .78-.16 1.06-.44l6.35-6.35.35.35a1.5 1.5 0 0 0 2.12 0l.59-.58a1.5 1.5 0 0 0 0-2.13l-.35-.35 1.04-1.04a2.62 2.62 0 0 0 0-3.7ZM10.5 7.21l2.3 2.3-6.36 6.34a.5.5 0 0 1-.35.15H5.5a.5.5 0 0 0-.2.04l-2.34 1.03 1-2.36a.5.5 0 0 0 .04-.2v-.6a.5.5 0 0 1 .15-.35l6.35-6.35Z\"]);\nexport const EyedropperRegular = /*#__PURE__*/createFluentIcon('EyedropperRegular', \"1em\", [\"M17.25 2.75a2.62 2.62 0 0 0-3.71 0L12.5 3.8l-.35-.35a1.5 1.5 0 0 0-2.12 0l-.59.59a1.5 1.5 0 0 0 0 2.12l.35.35-6.35 6.35A1.5 1.5 0 0 0 3 13.91v.5l-.96 2.26a1 1 0 0 0 1.32 1.31L5.6 17h.49c.4 0 .78-.16 1.06-.44l6.35-6.35.35.35a1.5 1.5 0 0 0 2.12 0l.59-.58a1.5 1.5 0 0 0 0-2.13l-.35-.35 1.04-1.04a2.62 2.62 0 0 0 0-3.7Zm-3 .71a1.62 1.62 0 0 1 2.29 2.3l-1.4 1.39a.5.5 0 0 0 0 .7l.71.71c.2.2.2.51 0 .7l-.58.6a.5.5 0 0 1-.71 0l-4.41-4.42a.5.5 0 0 1 0-.7l.58-.59c.2-.2.52-.2.71 0l.7.7a.5.5 0 0 0 .71 0l1.4-1.39ZM12.79 9.5l-6.35 6.35a.5.5 0 0 1-.35.15H5.5a.5.5 0 0 0-.2.04l-2.34 1.03 1-2.36a.5.5 0 0 0 .04-.2v-.6a.5.5 0 0 1 .15-.35l6.35-6.35 2.3 2.3Z\"]);\nexport const EyedropperOffFilled = /*#__PURE__*/createFluentIcon('EyedropperOffFilled', \"1em\", [\"M7.8 8.5 2.14 2.85a.5.5 0 1 1 .7-.7l15 15a.5.5 0 0 1-.7.7l-5.65-5.64-4.35 4.35a1.5 1.5 0 0 1-1.06.44H5.6l-2.25.98a1 1 0 0 1-1.32-1.3L3 14.41v-.5c0-.4.16-.78.44-1.07L7.79 8.5Zm3 3L8.5 9.2l-4.35 4.36a.5.5 0 0 0-.15.35v.6a.5.5 0 0 1-.04.2l-1 2.36 2.34-1.03a.5.5 0 0 1 .2-.04h.59a.5.5 0 0 0 .35-.15l4.35-4.35Zm2-2-.6.59.72.7.58-.58.35.35a1.5 1.5 0 0 0 2.13 0l.58-.58a1.5 1.5 0 0 0 0-2.13l-.35-.35 1.04-1.04a2.62 2.62 0 1 0-3.71-3.7L12.5 3.78l-.35-.35a1.5 1.5 0 0 0-2.12 0l-.59.59a1.5 1.5 0 0 0 0 2.12l.35.35-.58.59.7.7.6-.58 2.28 2.3Z\"]);\nexport const EyedropperOffRegular = /*#__PURE__*/createFluentIcon('EyedropperOffRegular', \"1em\", [\"M7.8 8.5 2.14 2.85a.5.5 0 1 1 .7-.7l15 15a.5.5 0 0 1-.7.7l-5.65-5.64-4.35 4.35a1.5 1.5 0 0 1-1.06.44H5.6l-2.25.98a1 1 0 0 1-1.32-1.3L3 14.41v-.5c0-.4.16-.78.44-1.07L7.79 8.5Zm3 3L8.5 9.2l-4.35 4.36a.5.5 0 0 0-.15.35v.6a.5.5 0 0 1-.04.2l-1 2.36 2.34-1.03a.5.5 0 0 1 .2-.04h.59a.5.5 0 0 0 .35-.15l4.35-4.35Zm2-2-.6.59.72.7.58-.58.35.35a1.5 1.5 0 0 0 2.13 0l.58-.58a1.5 1.5 0 0 0 0-2.13l-.35-.35 1.04-1.04a2.62 2.62 0 1 0-3.71-3.7L12.5 3.78l-.35-.35a1.5 1.5 0 0 0-2.12 0l-.59.59a1.5 1.5 0 0 0 0 2.12l.35.35-.58.59.7.7.6-.58 2.28 2.3Zm1.45-6.04a1.62 1.62 0 1 1 2.29 2.3l-1.4 1.39a.5.5 0 0 0 0 .7l.71.71c.2.2.2.51 0 .7l-.58.6a.5.5 0 0 1-.7 0l-4.42-4.42a.5.5 0 0 1 0-.7l.59-.59c.2-.2.5-.2.7 0l.7.7a.5.5 0 0 0 .71 0l1.4-1.39Z\"]);\nexport const FStopFilled = /*#__PURE__*/createFluentIcon('FStopFilled', \"1em\", [\"M11.08 5.68c.28-1.63 2-2.58 3.53-1.95l.36.14a.75.75 0 1 0 .56-1.38l-.36-.15A4.08 4.08 0 0 0 9.6 5.43L9 9H5.74a.75.75 0 1 0 0 1.5h2.98l-.5 2.96a2.58 2.58 0 0 1-3.92 1.75l-.16-.1a.75.75 0 0 0-.8 1.27l.16.1c2.46 1.55 5.7.1 6.2-2.77l.55-3.21h2.99a.75.75 0 1 0 0-1.5h-2.74l.57-3.32Z\"]);\nexport const FStopRegular = /*#__PURE__*/createFluentIcon('FStopRegular', \"1em\", [\"M10.88 5.35a2.83 2.83 0 0 1 3.68-2.22l.78.26a.5.5 0 1 0 .32-.95l-.8-.26a3.83 3.83 0 0 0-4.96 3L9.24 9H5.5a.5.5 0 1 0 0 1h3.57l-.62 3.63a2.83 2.83 0 0 1-4.24 1.96l-.45-.27a.5.5 0 1 0-.52.86l.46.27a3.83 3.83 0 0 0 5.74-2.65l.65-3.8h3.41a.5.5 0 0 0 0-1h-3.24l.62-3.65Z\"]);\nexport const FastAccelerationFilled = /*#__PURE__*/createFluentIcon('FastAccelerationFilled', \"1em\", [\"M8.9 7.2a3.48 3.48 0 0 1 4.2 0l-1.08 1.08a2 2 0 0 0-2.04 0L8.9 7.2ZM13 10a2 2 0 0 0-.28-1.02L13.8 7.9a3.48 3.48 0 0 1 0 4.2l-1.08-1.08A2 2 0 0 0 13 10Zm-2 2a2 2 0 0 0 1.02-.28l1.08 1.08a3.48 3.48 0 0 1-4.2 0l1.08-1.08A2 2 0 0 0 11 12Zm-2-2c0 .37.1.72.28 1.02L8.2 12.1a3.48 3.48 0 0 1 0-4.2l1.08 1.08A2 2 0 0 0 9 10ZM6.1 5a6.98 6.98 0 0 0-1.43 8H3.5a.5.5 0 0 0 0 1h1.75c.26.36.54.7.85 1H1.5a.5.5 0 0 0 0 1h5.9a7 7 0 1 0 0-12H2.5a.5.5 0 0 0 0 1h3.6ZM11 9a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\"]);\nexport const FastAccelerationRegular = /*#__PURE__*/createFluentIcon('FastAccelerationRegular', \"1em\", [\"M11 4a6 6 0 1 1-3.3 11.01V15h-.02A6 6 0 0 1 11 4ZM5.25 14c.26.36.54.7.85 1H1.5a.5.5 0 0 0 0 1h5.9a7 7 0 1 0 0-12H2.5a.5.5 0 0 0 0 1h3.6a6.98 6.98 0 0 0-1.43 8H3.5a.5.5 0 0 0 0 1h1.75ZM8.2 7.9a3.48 3.48 0 0 0 0 4.2l1.08-1.08a2 2 0 0 1 0-2.04L8.2 7.9Zm.7-.7 1.08 1.08a2 2 0 0 1 2.04 0L13.1 7.2a3.48 3.48 0 0 0-4.2 0Zm4.9.7-1.08 1.08a2 2 0 0 1 0 2.04l1.08 1.08a3.48 3.48 0 0 0 0-4.2Zm-.7 4.9-1.08-1.08a2 2 0 0 1-2.04 0L8.9 12.8a3.48 3.48 0 0 0 4.2 0ZM6.5 10a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Zm3.5 0a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\"]);\nexport const FastForwardFilled = /*#__PURE__*/createFluentIcon('FastForwardFilled', \"1em\", [\"M10.02 5.49a1 1 0 0 1 1.59-.81l5.88 4.31c.68.5.68 1.52 0 2.02l-5.88 4.3a1 1 0 0 1-1.6-.8v-3.16l-5.4 3.97a1 1 0 0 1-1.6-.8V5.48a1 1 0 0 1 1.6-.81l5.4 3.97V5.49Z\"]);\nexport const FastForwardRegular = /*#__PURE__*/createFluentIcon('FastForwardRegular', \"1em\", [\"M10.02 5.49a1 1 0 0 1 1.59-.81l5.88 4.31c.68.5.68 1.52 0 2.02l-5.88 4.3a1 1 0 0 1-1.6-.8v-3.16l-5.4 3.97a1 1 0 0 1-1.6-.8V5.48a1 1 0 0 1 1.6-.81l5.4 3.97V5.49Zm6.88 4.3-5.88-4.3v9.02l5.88-4.3c.13-.1.13-.31 0-.41Zm-7 0L4.02 5.5v9.02l5.88-4.3c.13-.1.13-.31 0-.41Z\"]);\nexport const FaxFilled = /*#__PURE__*/createFluentIcon('FaxFilled', \"1em\", [\"M5 4.5C5 3.67 5.67 3 6.5 3h7c.83 0 1.5.67 1.5 1.5V7h-1V4.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5V8h5.5c-.31.42-.5.94-.5 1.5v6c0 .56.19 1.08.5 1.5h-7A1.5 1.5 0 0 1 3 15.5V10c0-1.1.9-2 2-2V4.5Zm1.25 6.13a.62.62 0 1 0-1.25 0 .62.62 0 0 0 1.25 0Zm0 2.24a.62.62 0 1 0-1.25 0 .62.62 0 0 0 1.25 0Zm1.63-.5a.62.62 0 1 0 0 1.25.62.62 0 0 0 0-1.24Zm.62-1.74a.62.62 0 1 0-1.25 0 .62.62 0 0 0 1.25 0Zm5-2.63c-.83 0-1.5.67-1.5 1.5v6c0 .83.67 1.5 1.5 1.5h2c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5h-2Z\"]);\nexport const FaxRegular = /*#__PURE__*/createFluentIcon('FaxRegular', \"1em\", [\"M5 4.5C5 3.67 5.67 3 6.5 3h7c.83 0 1.5.67 1.5 1.5V7h-1V4.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5V8h5.5c-.22.3-.38.63-.45 1H5a1 1 0 0 0-1 1v5.5c0 .28.22.5.5.5h6.55c.07.37.23.7.45 1h-7A1.5 1.5 0 0 1 3 15.5V10c0-1.1.9-2 2-2V4.5Zm7 5c0-.83.67-1.5 1.5-1.5h2c.83 0 1.5.67 1.5 1.5v6c0 .83-.67 1.5-1.5 1.5h-2a1.5 1.5 0 0 1-1.5-1.5v-6Zm1.5-.5a.5.5 0 0 0-.5.5v6c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-2Zm-7.88 1a.62.62 0 1 1 0 1.25.62.62 0 0 1 0-1.25Zm0 2.25a.62.62 0 1 1 0 1.25.62.62 0 0 1 0-1.25ZM8.5 13a.62.62 0 1 0-1.25 0 .62.62 0 0 0 1.25 0Zm-.63-3a.62.62 0 1 1 0 1.25.62.62 0 0 1 0-1.25Z\"]);\nexport const FeedFilled = /*#__PURE__*/createFluentIcon('FeedFilled', \"1em\", [\"M12.47 17H4a2 2 0 0 1-2-2V4.5C2 3.67 2.67 3 3.5 3h7c.83 0 1.5.67 1.5 1.5V6h4.48c.77.02 1.52.6 1.52 1.58v4.92c0 .83-.67 1.5-1.5 1.5h-2.1l-.43 1.82c-.19.82-.85 1.2-1.5 1.18ZM15 7H12v8.48c0 .6.86.7 1 .12l1.94-8.37.07-.23ZM5.5 7a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM5 10c0 .28.22.5.5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Zm0 3.5c0 .28.22.5.5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Z\"]);\nexport const FeedRegular = /*#__PURE__*/createFluentIcon('FeedRegular', \"1em\", [\"M5.5 7a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM5 10c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3A.5.5 0 0 1 5 10Zm.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM4 17h8.47c.65.02 1.31-.36 1.5-1.18L14.4 14h2.11c.83 0 1.5-.67 1.5-1.5V7.58c0-.98-.75-1.56-1.52-1.58H12V4.5c0-.83-.67-1.5-1.5-1.5h-7C2.67 3 2 3.67 2 4.5V15c0 1.1.9 2 2 2ZM3 4.5c0-.28.22-.5.5-.5h7c.28 0 .5.22.5.5v10.98c0 .2.03.36.08.52H4a1 1 0 0 1-1-1V4.5ZM16.5 13h-1.87l1.28-5.54c.15-.64 1.09-.53 1.09.12v4.92a.5.5 0 0 1-.5.5ZM12 7h3.01a1.8 1.8 0 0 0-.07.23L13 15.6c-.14.58-1 .48-1-.12V7Z\"]);\nexport const FilmstripFilled = /*#__PURE__*/createFluentIcon('FilmstripFilled', \"1em\", [\"M2 7a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7Zm13-.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM15 9.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0ZM4.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM4 12.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0ZM4.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Z\"]);\nexport const FilmstripRegular = /*#__PURE__*/createFluentIcon('FilmstripRegular', \"1em\", [\"M2 6.5A2.5 2.5 0 0 1 4.5 4h11A2.5 2.5 0 0 1 18 6.5v7a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 13.5v-7ZM4.5 5C3.67 5 3 5.67 3 6.5v7c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5h-11ZM15 6.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM15 9.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM4.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM4 12.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM4.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Z\"]);\nexport const FilmstripImageFilled = /*#__PURE__*/createFluentIcon('FilmstripImageFilled', \"1em\", [\"M4.5 2A2.5 2.5 0 0 0 2 4.5v6A2.5 2.5 0 0 0 4.5 13H7v-2.5A3.5 3.5 0 0 1 10.5 7H14V4.5A2.5 2.5 0 0 0 11.5 2h-7Zm0 2c.28 0 .5.22.5.5V5a.5.5 0 0 1-1 0v-.5c0-.28.22-.5.5-.5Zm7.5.5V5a.5.5 0 0 1-1 0v-.5a.5.5 0 0 1 1 0ZM4.5 6.75c.28 0 .5.22.5.5v.5a.5.5 0 0 1-1 0v-.5c0-.28.22-.5.5-.5ZM5 10v.5a.5.5 0 0 1-1 0V10a.5.5 0 0 1 1 0Zm3 .5A2.5 2.5 0 0 1 10.5 8h5a2.5 2.5 0 0 1 2.5 2.5v5c0 .51-.15.98-.41 1.38L14.2 13.5a1.71 1.71 0 0 0-2.42 0l-3.38 3.38C8.15 16.48 8 16 8 15.5v-5Zm6 .5a1 1 0 1 0 2 0 1 1 0 0 0-2 0Zm-4.88 6.59c.4.26.87.41 1.38.41h5c.5 0 .98-.15 1.38-.41L13.5 14.2a.71.71 0 0 0-1 0l-3.38 3.38Z\"]);\nexport const FilmstripImageRegular = /*#__PURE__*/createFluentIcon('FilmstripImageRegular', \"1em\", [\"M2 4.5A2.5 2.5 0 0 1 4.5 2h7A2.5 2.5 0 0 1 14 4.5V7h-1V4.5c0-.83-.67-1.5-1.5-1.5h-7C3.67 3 3 3.67 3 4.5v6c0 .83.67 1.5 1.5 1.5H7v1H4.5A2.5 2.5 0 0 1 2 10.5v-6ZM16 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-8-.5A2.5 2.5 0 0 1 10.5 8h5a2.5 2.5 0 0 1 2.5 2.5v5a2.5 2.5 0 0 1-2.5 2.5h-5A2.5 2.5 0 0 1 8 15.5v-5ZM10.5 9C9.67 9 9 9.67 9 10.5v5c0 .23.05.45.15.65l2.64-2.65a1.71 1.71 0 0 1 2.42 0l2.64 2.65c.1-.2.15-.42.15-.65v-5c0-.83-.67-1.5-1.5-1.5h-5Zm2 5.2-2.65 2.65c.2.1.42.15.65.15h5c.23 0 .45-.05.65-.15l-2.65-2.64a.71.71 0 0 0-1 0ZM4.5 4c.28 0 .5.22.5.5V5a.5.5 0 0 1-1 0v-.5c0-.28.22-.5.5-.5Zm7.5.5a.5.5 0 0 0-1 0V5a.5.5 0 0 0 1 0v-.5ZM4.5 6.75c.28 0 .5.22.5.5v.5a.5.5 0 0 1-1 0v-.5c0-.28.22-.5.5-.5ZM5 10a.5.5 0 0 0-1 0v.5a.5.5 0 0 0 1 0V10Z\"]);\nexport const FilmstripPlayFilled = /*#__PURE__*/createFluentIcon('FilmstripPlayFilled', \"1em\", [\"M5 4a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H5Zm10.5 2c.28 0 .5.22.5.5v1a.5.5 0 0 1-1 0v-1c0-.28.22-.5.5-.5Zm-.5 6.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5-3.5c.28 0 .5.22.5.5v1a.5.5 0 0 1-1 0v-1c0-.28.22-.5.5-.5ZM4 6.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5c.28 0 .5.22.5.5v1a.5.5 0 0 1-1 0v-1c0-.28.22-.5.5-.5ZM4 9.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm4-1.37c0-.49.46-.79.83-.54l2.94 1.95c.3.2.3.72 0 .92l-2.94 1.95c-.37.25-.83-.05-.83-.54V8.13Z\"]);\nexport const FilmstripPlayRegular = /*#__PURE__*/createFluentIcon('FilmstripPlayRegular', \"1em\", [\"M4.5 4A2.5 2.5 0 0 0 2 6.5v7A2.5 2.5 0 0 0 4.5 16h11a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 15.5 4h-11ZM3 6.5C3 5.67 3.67 5 4.5 5h11c.83 0 1.5.67 1.5 1.5v7c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 3 13.5v-7ZM15.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm-.5 6.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5-3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM4 6.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM4 9.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm4-1.37c0-.49.46-.79.83-.54l2.94 1.95c.3.2.3.72 0 .92l-2.94 1.95c-.37.25-.83-.05-.83-.54V8.13Z\"]);\nexport const FilmstripSplitFilled = /*#__PURE__*/createFluentIcon('FilmstripSplitFilled', \"1em\", [\"M10.5 2.5a.5.5 0 0 0-1 0v15a.5.5 0 0 0 1 0v-15ZM2 7a3 3 0 0 1 3-3h3.5v12H5a3 3 0 0 1-3-3V7Zm2.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM4 13.5a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0v1ZM4.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm7 7V4H15a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3h-3.5ZM15 7.5a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0v1Zm.5 4.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM15 9.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Z\"]);\nexport const FilmstripSplitRegular = /*#__PURE__*/createFluentIcon('FilmstripSplitRegular', \"1em\", [\"M10.5 2.5a.5.5 0 0 0-1 0v15a.5.5 0 0 0 1 0v-15ZM2 6.5A2.5 2.5 0 0 1 4.5 4h4v1h-4C3.67 5 3 5.67 3 6.5v7c0 .83.67 1.5 1.5 1.5h4v1h-4A2.5 2.5 0 0 1 2 13.5v-7ZM11.5 5V4h4A2.5 2.5 0 0 1 18 6.5v7a2.5 2.5 0 0 1-2.5 2.5h-4v-1h4c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5h-4ZM15 6.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM15 9.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM4.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM4 12.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM4.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Z\"]);\nexport const FilterFilled = /*#__PURE__*/createFluentIcon('FilterFilled', \"1em\", [\"M12.25 13.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5h4.5Zm2-4.25a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5h8.5Zm2-4.25a.75.75 0 0 1 0 1.5H3.75a.75.75 0 0 1 0-1.5h12.5Z\"]);\nexport const FilterRegular = /*#__PURE__*/createFluentIcon('FilterRegular', \"1em\", [\"M7.5 13h5a.5.5 0 0 1 .09 1H7.5a.5.5 0 0 1-.09-1h5.09-5Zm-2-4h9a.5.5 0 0 1 .09 1H5.5a.5.5 0 0 1-.09-1h9.09-9Zm-2-4h13a.5.5 0 0 1 .09 1H3.5a.5.5 0 0 1-.09-1H16.5h-13Z\"]);\nexport const FilterAddFilled = /*#__PURE__*/createFluentIcon('FilterAddFilled', \"1em\", [\"M17 9.24a4.5 4.5 0 1 1-5-7.48 4.5 4.5 0 0 1 5 7.48Zm-2.15-6.1a.5.5 0 0 0-.85.36V5h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H15V3.5a.5.5 0 0 0-.15-.35ZM9.02 5a5.57 5.57 0 0 0 .07 1.5H3.75a.75.75 0 0 1 0-1.5h5.27Zm1.46 4.25a5.5 5.5 0 0 0 2.38 1.5H5.75a.75.75 0 0 1 0-1.5h4.73Zm1.77 4.25a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5h4.5Z\"]);\nexport const FilterAddRegular = /*#__PURE__*/createFluentIcon('FilterAddRegular', \"1em\", [\"M17 9.24a4.5 4.5 0 1 1-5-7.48 4.5 4.5 0 0 1 5 7.48Zm-2.15-6.1a.5.5 0 0 0-.85.36V5h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H15V3.5a.5.5 0 0 0-.15-.35ZM9.02 5H3.41a.5.5 0 0 0 .09 1h5.52a5.57 5.57 0 0 1 0-1Zm1.24 4H5.4a.5.5 0 0 0 .09 1h5.84c-.4-.28-.77-.62-1.08-1ZM7.4 13h5.09a.5.5 0 0 1 .09 1H7.5a.5.5 0 0 1-.09-1Z\"]);\nexport const FilterDismissFilled = /*#__PURE__*/createFluentIcon('FilterDismissFilled', \"1em\", [\"M11.73 10.25A5.46 5.46 0 0 0 14 11c0 .41-.34.75-.75.75h-8.5a.75.75 0 0 1 0-1.5h6.98ZM9.03 6c.04.52.16 1.03.34 1.5H2.75a.75.75 0 0 1 0-1.5h6.27ZM12 15.25a.75.75 0 0 0-.75-.75h-4.5a.75.75 0 0 0 0 1.5h4.5c.41 0 .75-.34.75-.75ZM14.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm1.85-6.35c.2.2.2.5 0 .7L15.21 5.5l1.14 1.15a.5.5 0 0 1-.7.7L14.5 6.21l-1.15 1.14a.5.5 0 0 1-.7-.7l1.14-1.15-1.14-1.15a.5.5 0 0 1 .7-.7l1.15 1.14 1.15-1.14c.2-.2.5-.2.7 0Z\"]);\nexport const FilterDismissRegular = /*#__PURE__*/createFluentIcon('FilterDismissRegular', \"1em\", [\"M9.2 7H2.42a.5.5 0 0 0 .09 1h7.1c-.16-.32-.3-.65-.4-1Zm2.8 8.5a.5.5 0 0 0-.5-.5H6.41a.5.5 0 0 0 .09 1h5.09a.5.5 0 0 0 .41-.5Zm1.5-4.5H4.41a.5.5 0 0 0 .09 1h9.09a.5.5 0 0 0-.09-1Zm1-1a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm1.85-6.35c.2.2.2.5 0 .7L15.21 5.5l1.14 1.15a.5.5 0 0 1-.7.7L14.5 6.21l-1.15 1.14a.5.5 0 0 1-.7-.7l1.14-1.15-1.14-1.15a.5.5 0 0 1 .7-.7l1.15 1.14 1.15-1.14c.2-.2.5-.2.7 0Z\"]);\nexport const FilterSyncFilled = /*#__PURE__*/createFluentIcon('FilterSyncFilled', \"1em\", [\"M10 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm6.5-3c.28 0 .5.22.5.5v1.5a.5.5 0 0 1-.5.5H15a.5.5 0 0 1 0-1h.47a1.98 1.98 0 0 0-1.72-.1 2 2 0 0 0-.66.44.5.5 0 1 1-.71-.71A3 3 0 0 1 16 3.15V3c0-.28.22-.5.5-.5Zm-.88 5.53A3 3 0 0 1 13 7.85V8a.5.5 0 0 1-1 0V6.5c0-.28.22-.5.5-.5H14a.5.5 0 0 1 0 1h-.47a1.98 1.98 0 0 0 1.72.1 2 2 0 0 0 .66-.44.5.5 0 1 1 .71.71 3 3 0 0 1-1 .66ZM14 10.98a5.46 5.46 0 0 1-2.27-.73H4.75a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 .75-.77ZM9.37 7.5c-.18-.47-.3-.98-.35-1.5H2.75a.75.75 0 0 0 0 1.5h6.62Zm1.88 7a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5h4.5Z\"]);\nexport const FilterSyncRegular = /*#__PURE__*/createFluentIcon('FilterSyncRegular', \"1em\", [\"M10 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm6.5-3c.28 0 .5.22.5.5v1.5a.5.5 0 0 1-.5.5H15a.5.5 0 0 1 0-1h.47a1.98 1.98 0 0 0-1.72-.1 2 2 0 0 0-.66.44.5.5 0 1 1-.71-.71A3 3 0 0 1 16 3.15V3c0-.28.22-.5.5-.5Zm-.88 5.53A3 3 0 0 1 13 7.85V8a.5.5 0 0 1-1 0V6.5c0-.28.22-.5.5-.5H14a.5.5 0 0 1 0 1h-.47a1.98 1.98 0 0 0 1.72.1 2 2 0 0 0 .66-.44.5.5 0 1 1 .71.71 3 3 0 0 1-1 .66ZM2.5 7h6.7c.1.35.24.68.4 1H2.5a.5.5 0 0 1-.09-1h.09Zm9 8a.5.5 0 0 1 .09 1H6.5a.5.5 0 0 1-.09-1h5.09Zm-7-4h9a.5.5 0 0 1 .09 1H4.5a.5.5 0 0 1-.09-1h.09Z\"]);\nexport const FingerprintFilled = /*#__PURE__*/createFluentIcon('FingerprintFilled', \"1em\", [\"M6.83 4.18c1.47-.72 4.65-1.4 8.26.95a.75.75 0 0 0 .82-1.26C11.79 1.2 8.03 1.93 6.17 2.82a.75.75 0 1 0 .66 1.36Zm-1.71.27c.23.35.13.82-.22 1.04a5.1 5.1 0 0 0-1.25 1.39.75.75 0 1 1-1.3-.76c.28-.48.99-1.4 1.73-1.88a.75.75 0 0 1 1.04.21Zm5.38-.16a.75.75 0 0 0 0 1.5c1.55 0 5.3 1.3 6.26 6.35a.75.75 0 1 0 1.48-.28C17.1 6 12.67 4.29 10.5 4.29Zm-1.51.78a.75.75 0 0 1-.45.96C4.6 7.46 3.61 11.23 4 13.89a.75.75 0 1 1-1.48.22c-.44-3.1.69-7.74 5.52-9.5.39-.13.82.07.96.46Zm-.87 3.92c-1.6 1.24-2.58 3.92-.95 7.17a.75.75 0 0 1-1.34.68c-1.92-3.82-.87-7.3 1.37-9.04a5.07 5.07 0 0 1 3.92-1.05 5.72 5.72 0 0 1 3.81 2.67.75.75 0 1 1-1.25.83 4.23 4.23 0 0 0-2.8-2.02A3.57 3.57 0 0 0 8.12 9Zm7.63 2.97a.75.75 0 1 0-1.5.08c.1 1.91 1.29 2.94 2.02 3.17a.75.75 0 1 0 .45-1.43 1.72 1.72 0 0 1-.5-.43 2.46 2.46 0 0 1-.47-1.4Zm-4.5.54a.75.75 0 0 0-1.5 0c0 1.07.13 1.9.45 2.73.32.8.8 1.55 1.44 2.45a.75.75 0 1 0 1.22-.86 10.4 10.4 0 0 1-1.26-2.14 5.69 5.69 0 0 1-.35-2.18Zm-1.13 4.64C8.05 13.4 8.78 11.58 9.5 11a1.43 1.43 0 0 1 2.3.72c.06.2.12.44.18.77l.04.17c.08.38.18.84.33 1.3.3.95.84 1.99 1.93 2.79a.75.75 0 1 0 .89-1.21 3.93 3.93 0 0 1-1.4-2.04c-.12-.39-.2-.77-.28-1.15l-.04-.16c-.06-.3-.13-.64-.21-.91a2.93 2.93 0 0 0-4.68-1.45c-1.62 1.31-1.92 4.12.25 8.03a.75.75 0 0 0 1.31-.72Z\"]);\nexport const FingerprintRegular = /*#__PURE__*/createFluentIcon('FingerprintRegular', \"1em\", [\"M6.72 3.95c1.53-.74 4.81-1.44 8.5.97a.5.5 0 1 0 .55-.84c-4.03-2.63-7.7-1.9-9.49-1.03a.5.5 0 1 0 .44.9Zm-1.81.64a.5.5 0 0 1-.14.7 5.33 5.33 0 0 0-1.34 1.46.5.5 0 0 1-.86-.5c.27-.46.95-1.34 1.65-1.8a.5.5 0 0 1 .69.14Zm5.59-.05a.5.5 0 1 0 0 1c1.66 0 5.51 1.38 6.5 6.55a.5.5 0 0 0 1-.18c-1.1-5.72-5.43-7.37-7.5-7.37ZM9.34 10.8c-.87.7-1.52 2.69.56 6.46a.5.5 0 0 1-.87.48c-2.15-3.88-1.78-6.52-.32-7.71A2.68 2.68 0 0 1 13 11.35c.08.26.14.58.2.9l.04.15c.08.38.17.78.3 1.18.26.79.67 1.57 1.48 2.16a.5.5 0 1 1-.6.8 5.17 5.17 0 0 1-1.83-2.65c-.15-.46-.25-.9-.33-1.29l-.03-.16a9 9 0 0 0-.19-.8 1.68 1.68 0 0 0-2.7-.84Zm6.16 1.17a.5.5 0 1 0-1 .06c.1 1.8 1.22 2.74 1.85 2.95a.5.5 0 0 0 .3-.96c-.22-.07-1.07-.64-1.15-2.05Zm-4.5.53a.5.5 0 1 0-1 0c0 1.04.13 1.85.44 2.64.3.77.77 1.5 1.4 2.4a.5.5 0 1 0 .82-.58 10.63 10.63 0 0 1-1.3-2.19A5.94 5.94 0 0 1 11 12.5ZM7.97 8.79c-1.72 1.33-2.7 4.14-1.02 7.49a.5.5 0 0 1-.9.44C4.18 13 5.22 9.65 7.35 8a4.82 4.82 0 0 1 3.73-1 5.47 5.47 0 0 1 3.65 2.56.5.5 0 1 1-.84.55 4.48 4.48 0 0 0-2.97-2.12 3.82 3.82 0 0 0-2.95.8Zm.49-3a.5.5 0 0 0-.35-.94c-4.68 1.7-5.79 6.19-5.35 9.22a.5.5 0 0 0 .99-.14c-.4-2.74.62-6.65 4.7-8.14Z\"]);\nexport const FireFilled = /*#__PURE__*/createFluentIcon('FireFilled', \"1em\", [\"M4 11.75c0-.54.06-1.07.19-1.59a5.81 5.81 0 0 1 .86-1.93.65.65 0 0 1 .18-.17.5.5 0 0 1 .48 0c.08.04.14.1.18.17l1.04 1.7c.05.08.1.14.19.18.08.04.16.06.26.07.18 0 .32-.07.42-.2a.76.76 0 0 0 .06-.82c-.21-.46-.39-.91-.52-1.36a4.92 4.92 0 0 1 .12-3.17c.22-.5.52-.92.92-1.27.39-.35.84-.64 1.36-.86A8.09 8.09 0 0 1 11.5 2c.12 0 .23.04.32.12.12.1.18.23.18.38 0 .78.13 1.53.4 2.23.26.71.63 1.38 1.1 2l.87 1.13c.29.38.56.78.8 1.19.25.4.44.84.6 1.28.15.44.22.91.23 1.42a6.5 6.5 0 0 1-.8 3.1 6.57 6.57 0 0 1-2.12 2.27 5.74 5.74 0 0 1-4.71.65 5.6 5.6 0 0 1-1.44-.64 6.5 6.5 0 0 1-2.13-2.27 6.2 6.2 0 0 1-.8-3.1Z\"]);\nexport const FireRegular = /*#__PURE__*/createFluentIcon('FireRegular', \"1em\", [\"M4 11.75c0-.54.06-1.07.19-1.59a5.81 5.81 0 0 1 .86-1.93.65.65 0 0 1 .18-.17.5.5 0 0 1 .48 0c.08.04.14.1.18.17l1.04 1.7c.05.08.1.14.19.18.08.04.16.06.26.07.18 0 .32-.07.42-.2a.76.76 0 0 0 .06-.82c-.21-.46-.39-.91-.52-1.36a4.92 4.92 0 0 1 .12-3.17c.22-.5.52-.92.92-1.27.39-.35.84-.64 1.36-.86A8.09 8.09 0 0 1 11.5 2c.12 0 .23.04.32.12.12.1.18.23.18.38 0 .78.13 1.53.4 2.23.26.71.63 1.38 1.1 2l.87 1.13c.29.38.56.78.8 1.19.25.4.44.84.6 1.28.15.44.22.91.23 1.42a6.5 6.5 0 0 1-.8 3.1 6.57 6.57 0 0 1-2.12 2.27 5.74 5.74 0 0 1-4.71.65 5.6 5.6 0 0 1-1.44-.64 6.5 6.5 0 0 1-2.13-2.27 6.2 6.2 0 0 1-.8-3.1Zm11-.05c0-.4-.08-.8-.23-1.2-.15-.38-.34-.77-.57-1.14a11.4 11.4 0 0 0-.75-1.06c-.27-.34-.52-.66-.75-.98a8.76 8.76 0 0 1-1.14-1.98 7.79 7.79 0 0 1-.54-2.23c-.42.1-.8.25-1.15.43-.35.18-.66.4-.92.67s-.46.58-.6.94c-.14.36-.21.77-.22 1.22 0 .42.06.82.17 1.2.1.38.25.76.44 1.13.07.13.12.27.15.4l.06.45c0 .22-.04.42-.11.62a1.54 1.54 0 0 1-2.76.28 17.2 17.2 0 0 1-.6-.96 5.45 5.45 0 0 0 1.95 6.77 4.84 4.84 0 0 0 7.2-2.55c.23-.64.36-1.31.37-2.01Z\"]);\nexport const FireplaceFilled = /*#__PURE__*/createFluentIcon('FireplaceFilled', \"1em\", [\"M10 2a7 7 0 0 0-7 7v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9a7 7 0 0 0-7-7ZM4 9a6 6 0 1 1 12 0v5h-3.5c.62-.62 1-1.48 1-2.5 0-1.13-.63-1.97-1.17-2.7l-.13-.16c-.6-.8-1.1-1.57-1.1-2.71a.5.5 0 0 0-.76-.43c-1.4.85-1.45 2.17-1.39 3l-.42-.37a.5.5 0 0 0-.66 0h-.01l-.02.02a2.23 2.23 0 0 0-.2.22A4.85 4.85 0 0 0 6.5 11.5c-.01 1.02.37 1.88 1 2.5H4V9Zm-1.5 7a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const FireplaceRegular = /*#__PURE__*/createFluentIcon('FireplaceRegular', \"1em\", [\"M3 9a7 7 0 0 1 14 0v5a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9Zm7-6a6 6 0 0 0-6 6v5h3.5c-.62-.62-1-1.48-1-2.5a4.85 4.85 0 0 1 1.34-3.35l.02-.01v-.01a.5.5 0 0 1 .65-.02c.02-.28.08-.58.2-.9.25-.63.75-1.24 1.65-1.72a.5.5 0 0 1 .74.44c0 1.14.5 1.9 1.1 2.7l.13.18c.54.72 1.17 1.56 1.17 2.69 0 1.02-.38 1.88-1 2.5H16V9a6 6 0 0 0-6-6ZM8.22 9.25a3.85 3.85 0 0 0-.72 2.25c0 1.49 1.1 2.5 2.5 2.5s2.5-1.01 2.5-2.5c0-.79-.43-1.37-1.02-2.16l-.08-.1c-.48-.65-1-1.4-1.21-2.42a2.03 2.03 0 0 0-.66 1.88c0 .09.02.16.03.23v.05l.03.15c0 .05.02.15 0 .25 0 .05-.02.17-.12.28-.12.15-.3.2-.44.2a.59.59 0 0 1-.25-.09 2.72 2.72 0 0 1-.32-.27l-.24-.25ZM2.5 16a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const FixedWidthFilled = /*#__PURE__*/createFluentIcon('FixedWidthFilled', \"1em\", [\"M3.5 3c.28 0 .5.22.5.5V5h5.5V3.5a.5.5 0 0 1 1 0V5H16V3.5a.5.5 0 0 1 1 0v4a.5.5 0 0 1-1 0V6h-5.5v1.5a.5.5 0 0 1-1 0V6H4v1.5a.5.5 0 0 1-1 0v-4c0-.28.22-.5.5-.5Zm6 6H5a2 2 0 0 0-2 2v4c0 1.1.9 2 2 2h4.5V9Zm1 8H15a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-4.5v8Z\"]);\nexport const FixedWidthRegular = /*#__PURE__*/createFluentIcon('FixedWidthRegular', \"1em\", [\"M3.5 3c.28 0 .5.22.5.5V5h5.5V3.5a.5.5 0 0 1 1 0V5H16V3.5a.5.5 0 0 1 1 0v4a.5.5 0 0 1-1 0V6h-5.5v1.5a.5.5 0 0 1-1 0V6H4v1.5a.5.5 0 0 1-1 0v-4c0-.28.22-.5.5-.5ZM3 11c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4Zm7.5 5H15a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4.5v6Zm-1-6H5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4.5v-6Z\"]);\nexport const FlagFilled = /*#__PURE__*/createFluentIcon('FlagFilled', \"1em\", [\"M5 13h11.5a.5.5 0 0 0 .42-.78L14.1 8l2.82-4.22A.5.5 0 0 0 16.5 3h-12a.5.5 0 0 0-.5.5v14a.5.5 0 0 0 1 0V13Z\"]);\nexport const FlagRegular = /*#__PURE__*/createFluentIcon('FlagRegular', \"1em\", [\"M5 13h11.5a.5.5 0 0 0 .42-.78L14.1 8l2.82-4.22A.5.5 0 0 0 16.5 3h-12a.5.5 0 0 0-.5.5v14a.5.5 0 0 0 1 0V13Zm0-1V4h10.57l-2.49 3.72a.5.5 0 0 0 0 .56L15.57 12H5Z\"]);\nexport const FlagCheckeredFilled = /*#__PURE__*/createFluentIcon('FlagCheckeredFilled', \"1em\", [\"M4.5 3.25c0-.41.34-.75.75-.75h10.5c.41 0 .75.34.75.75v10.5c0 .41-.34.75-.75.75H6v2.75a.75.75 0 0 1-1.5 0v-14ZM6 13h3v-3h3v3h3v-3h-3V7h3V4h-3v3H9V4H6v3h3v3H6v3Z\"]);\nexport const FlagCheckeredRegular = /*#__PURE__*/createFluentIcon('FlagCheckeredRegular', \"1em\", [\"M5 3.5c0-.28.22-.5.5-.5h10c.28 0 .5.22.5.5v10a.5.5 0 0 1-.5.5H6v3.5a.5.5 0 0 1-1 0v-14ZM6 13h3v-3h3v3h3v-3h-3V7h3V4h-3v3H9V4H6v3h3v3H6v3Z\"]);\nexport const FlagClockFilled = /*#__PURE__*/createFluentIcon('FlagClockFilled', \"1em\", [\"M5 13h4.2a5.5 5.5 0 0 1 5.57-4l-.67-1 2.82-4.22A.5.5 0 0 0 16.5 3h-12a.5.5 0 0 0-.5.5v14a.5.5 0 0 0 1 0V13Zm14 1.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 12a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5H16a.5.5 0 0 0 0-1h-1v-1.5a.5.5 0 0 0-.5-.5Z\"]);\nexport const FlagClockRegular = /*#__PURE__*/createFluentIcon('FlagClockRegular', \"1em\", [\"M5 13h4.2c.1-.35.24-.68.4-1H5V4h10.57l-2.49 3.72a.5.5 0 0 0 0 .56l.53.8A5.54 5.54 0 0 1 14.77 9L14.1 8l2.82-4.22A.5.5 0 0 0 16.5 3h-12a.5.5 0 0 0-.5.5v14a.5.5 0 0 0 1 0V13Zm14 1.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 12a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5H16a.5.5 0 0 0 0-1h-1v-1.5a.5.5 0 0 0-.5-.5Z\"]);\nexport const FlagOffFilled = /*#__PURE__*/createFluentIcon('FlagOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L4 4.71V17.5a.5.5 0 0 0 1 0V13h7.3l4.85 4.85a.5.5 0 0 0 .7-.7l-15-15ZM16.5 13h-1.38l-10-10H16.5c.4 0 .64.45.42.78L14.1 8l2.82 4.22a.5.5 0 0 1-.42.78Z\"]);\nexport const FlagOffRegular = /*#__PURE__*/createFluentIcon('FlagOffRegular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L4 4.71V17.5a.5.5 0 0 0 1 0V13h7.3l4.85 4.85a.5.5 0 0 0 .7-.7l-15-15ZM11.3 12H5V5.7l6.3 6.3Zm4.28 0h-1.45l1 1h1.38a.5.5 0 0 0 .42-.78L14.1 8l2.82-4.22A.5.5 0 0 0 16.5 3H5.12l1 1h9.45l-2.49 3.72a.5.5 0 0 0 0 .56L15.57 12Z\"]);\nexport const FlagPrideFilled = /*#__PURE__*/createFluentIcon('FlagPrideFilled', \"1em\", [\"M3.75 3.75h12.5v1.5H3.75v-1.5Z\", \"M3.75 5h12.5v1.5H3.75V5Z\", \"M3.75 6h12.5v1.75H3.75V6Z\", \"M3.75 7.5h12.5v1.75H3.75V7.5Z\", \"M3.75 9h12.5v1.25H3.75V9Z\", \"M3.75 10h12.5v1.25H3.75V10Z\", \"M3.5 3h13c.28 0 .5.22.5.5v8a.5.5 0 0 1-.5.5H4v5.5a.5.5 0 0 1-1 0v-14c0-.28.22-.5.5-.5ZM4 4v7h12V4H4Z\"]);\nexport const FlagPrideIntersexInclusiveProgressFilled = /*#__PURE__*/createFluentIcon('FlagPrideIntersexInclusiveProgressFilled', \"1em\", [\"M3.75 3.75h12.5v1.5H3.75v-1.5Z\", \"M3.75 5h12.5v1.5H3.75V5Z\", \"M3.75 6h12.5v1.75H3.75V6Z\", \"M3.75 7.5h12.5v1.75H3.75V7.5Z\", \"M3.75 9h12.5v1.25H3.75V9Z\", \"M3.75 10h12.5v1.25H3.75V10Z\", \"m13.5 7.5-4-4H7v8h2.5l4-4Z\", \"m11.5 7.5-4-4H5v8h2.5l4-4Z\", \"m10.5 7.5-4-4H4v8h2.5l4-4Z\", \"m9.5 7.5-4-4H4v8h1.5l4-4Z\", \"m8.5 7.5-4-4h-1v8h1l4-4Z\", \"M5.75 7a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm-1.5.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\", \"M9.5 12H4v5.5a.5.5 0 0 1-1 0v-14c0-.28.22-.5.5-.5h13c.28 0 .5.22.5.5v8a.5.5 0 0 1-.5.5h-7Zm-.2-8H4v7h5.3l3.5-3.5L9.3 4Zm1.4 0 3.15 3.15c.2.2.2.5 0 .7L10.71 11H16V4h-5.3Z\"]);\nexport const FlagPridePhiladelphiaFilled = /*#__PURE__*/createFluentIcon('FlagPridePhiladelphiaFilled', \"1em\", [\"M3.75 3.75h12.5v1.5H3.75z\", \"M3.75 5h12.5v1.5H3.75z\", \"M3.75 6h12.5v1.5H3.75z\", \"M3.75 7h12.5v1.5H3.75z\", \"M3.75 8h12.5v1.5H3.75z\", \"M3.75 9h12.5v1.5H3.75z\", \"M3.75 10h12.5v1.5H3.75z\", \"M3.5 3h13c.28 0 .5.22.5.5v8a.5.5 0 0 1-.5.5H4v5.5a.5.5 0 0 1-1 0v-14c0-.28.22-.5.5-.5ZM4 4v7h12V4H4Z\"]);\nexport const FlagPrideProgressFilled = /*#__PURE__*/createFluentIcon('FlagPrideProgressFilled', \"1em\", [\"M3.75 3.75h12.5v1.5H3.75v-1.5Z\", \"M3.75 5h12.5v1.5H3.75V5Z\", \"M3.75 6h12.5v1.75H3.75V6Z\", \"M3.75 7.5h12.5v1.75H3.75V7.5Z\", \"M3.75 9h12.5v1.25H3.75V9Z\", \"M3.75 10h12.5v1.25H3.75V10Z\", \"m11 7.5-4-4H4.5v8H7l4-4Z\", \"m9.5 7.5-4-4H3v8h2.5l4-4Z\", \"m8 7.5-4-4h-.5v8H4l4-4Z\", \"m6.5 7.5-3-3v6l3-3Z\", \"M7.5 12H4v5.5a.5.5 0 0 1-1 0v-14c0-.28.22-.5.5-.5h13c.28 0 .5.22.5.5v8a.5.5 0 0 1-.5.5h-9Zm-.2-8H4v7h3.3l3.5-3.5L7.3 4Zm1.4 0 3.15 3.15c.2.2.2.5 0 .7L8.71 11H16V4H8.7Z\"]);\nexport const FlashFilled = /*#__PURE__*/createFluentIcon('FlashFilled', \"1em\", [\"M7.21 2c-.47 0-.89.31-1.02.77l-2.25 7.87c-.2.68.32 1.36 1.02 1.36h1.27l-1.17 4.68c-.26 1.05 1.04 1.78 1.8 1l8.67-8.86c.65-.68.19-1.82-.76-1.82H12.2l1.26-3.6c.23-.69-.28-1.4-1-1.4H7.2Z\"]);\nexport const FlashRegular = /*#__PURE__*/createFluentIcon('FlashRegular', \"1em\", [\"M6.2 2.77C6.31 2.31 6.73 2 7.2 2h5.25c.73 0 1.24.71 1 1.4L12.22 7h2.56c.95 0 1.4 1.14.77 1.81l-8.68 8.86c-.76.79-2.06.06-1.8-1L6.23 12H4.96c-.7 0-1.21-.68-1.02-1.36L6.2 2.77ZM7.2 3a.06.06 0 0 0-.06.05L4.9 10.92c0 .04.02.08.06.08h1.91a.5.5 0 0 1 .49.62l-1.33 5.3v.04l.03.03.04.01h.01l.03-.02 8.68-8.86a.06.06 0 0 0 .01-.03v-.05a.08.08 0 0 0-.03-.03L14.77 8H11.5a.5.5 0 0 1-.47-.67l1.5-4.25a.06.06 0 0 0-.07-.08H7.21Z\"]);\nexport const FlashAddFilled = /*#__PURE__*/createFluentIcon('FlashAddFilled', \"1em\", [\"M7.21 2c-.47 0-.89.31-1.02.77l-2.25 7.87c-.2.68.32 1.36 1.02 1.36h1.27l-1.17 4.68c-.26 1.05 1.04 1.78 1.8 1l2.21-2.27a5.5 5.5 0 0 1 6.22-6.35l.24-.24c.65-.68.19-1.82-.76-1.82h-2.56l1.26-3.6c.23-.69-.28-1.4-1-1.4H7.2ZM17 18.24a4.5 4.5 0 1 1-5-7.48 4.5 4.5 0 0 1 5 7.48Zm-2.15-6.1a.5.5 0 0 0-.85.36V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5a.5.5 0 0 0-.15-.35Z\"]);\nexport const FlashAddRegular = /*#__PURE__*/createFluentIcon('FlashAddRegular', \"1em\", [\"M6.2 2.77C6.31 2.31 6.73 2 7.2 2h5.25c.73 0 1.24.71 1.01 1.4L12.2 7h2.56c.95 0 1.4 1.14.77 1.81l-.24.25a5.54 5.54 0 0 0-1.38-.03l.9-.91a.06.06 0 0 0 .01-.03v-.05a.08.08 0 0 0-.03-.03L14.77 8H11.5a.5.5 0 0 1-.47-.67l1.5-4.25a.06.06 0 0 0-.07-.08H7.21a.06.06 0 0 0-.06.05L4.9 10.92c0 .04.02.08.06.08h1.91a.5.5 0 0 1 .49.62l-1.33 5.3v.04l.03.03.04.01h.01l.03-.02 2.88-2.94a5.58 5.58 0 0 0 .05 1.37l-2.21 2.26c-.76.79-2.06.06-1.8-1L6.23 12H4.96c-.7 0-1.21-.68-1.02-1.36L6.2 2.77ZM17 18.24a4.5 4.5 0 1 1-5-7.48 4.5 4.5 0 0 1 5 7.48Zm-2.15-6.1a.5.5 0 0 0-.85.36V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5a.5.5 0 0 0-.15-.35Z\"]);\nexport const FlashAutoFilled = /*#__PURE__*/createFluentIcon('FlashAutoFilled', \"1em\", [\"M7.21 2c-.47 0-.89.31-1.02.77l-2.25 7.87c-.2.68.32 1.36 1.02 1.36h1.27l-1.17 4.68c-.26 1.05 1.04 1.78 1.8 1l4.82-4.93 1.42-3.78a1.5 1.5 0 0 1 2.6-.37c.38-.68-.08-1.6-.93-1.6H12.2l1.26-3.6c.23-.69-.28-1.4-1-1.4H7.2Zm7.29 7c.2 0 .4.13.47.32l3 8a.5.5 0 1 1-.94.36l-1-2.68h-3.06l-1 2.68a.5.5 0 0 1-.94-.36l3-8A.5.5 0 0 1 14.5 9Zm1.15 5-1.15-3.08L13.35 14h2.3Z\"]);\nexport const FlashAutoRegular = /*#__PURE__*/createFluentIcon('FlashAutoRegular', \"1em\", [\"M6.2 2.77C6.31 2.31 6.73 2 7.2 2h5.25c.73 0 1.24.71 1 1.4L12.22 7h2.56c.85 0 1.3.92.93 1.6a1.5 1.5 0 0 0-.88-.57.07.07 0 0 0-.02-.02L14.77 8H11.5a.5.5 0 0 1-.47-.67l1.5-4.25a.06.06 0 0 0-.07-.08H7.21a.06.06 0 0 0-.06.05L4.9 10.92c0 .04.02.08.06.08h1.91a.5.5 0 0 1 .49.62l-1.33 5.3v.04l.03.03.04.01h.01l.03-.02 6.4-6.55-.86 2.32-4.82 4.92c-.76.79-2.06.06-1.8-1L6.23 12H4.96c-.7 0-1.21-.68-1.02-1.36L6.2 2.77ZM14.5 9c.2 0 .4.13.47.32l3 8a.5.5 0 1 1-.94.36l-1-2.68h-3.06l-1 2.68a.5.5 0 0 1-.94-.36l3-8A.5.5 0 0 1 14.5 9Zm1.15 5-1.15-3.08L13.35 14h2.3Z\"]);\nexport const FlashCheckmarkFilled = /*#__PURE__*/createFluentIcon('FlashCheckmarkFilled', \"1em\", [\"M7.21 2c-.47 0-.89.31-1.02.77l-2.25 7.87c-.2.68.32 1.36 1.02 1.36h1.27l-1.17 4.68c-.26 1.05 1.04 1.78 1.8 1l2.21-2.27a5.5 5.5 0 0 1 6.22-6.35l.24-.24c.65-.68.18-1.82-.76-1.82H12.2l1.27-3.6c.23-.69-.28-1.4-1.01-1.4H7.21ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.15-1.85a.5.5 0 0 0-.7 0l-2.65 2.64-.65-.64a.5.5 0 0 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0 0-.7Z\"]);\nexport const FlashCheckmarkRegular = /*#__PURE__*/createFluentIcon('FlashCheckmarkRegular', \"1em\", [\"M6.19 2.77c.13-.46.55-.77 1.02-.77h5.25c.73 0 1.24.71 1 1.4L12.2 7h2.57c.94 0 1.4 1.14.76 1.81l-.24.25a5.55 5.55 0 0 0-1.37-.03l.9-.91a.06.06 0 0 0 .01-.03v-.05a.08.08 0 0 0-.03-.03L14.77 8H11.5a.5.5 0 0 1-.47-.67l1.49-4.25a.06.06 0 0 0-.06-.08H7.21a.06.06 0 0 0-.06.05L4.9 10.92c-.01.04.02.08.06.08h1.9a.5.5 0 0 1 .5.62l-1.33 5.3v.04l.03.03.04.01h.01l.02-.02 2.89-2.95a5.57 5.57 0 0 0 .05 1.38l-2.22 2.26c-.75.79-2.05.06-1.8-1L6.24 12H4.96c-.7 0-1.21-.68-1.02-1.36l2.25-7.87ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.15-1.85a.5.5 0 0 0-.7 0l-2.65 2.64-.65-.64a.5.5 0 0 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0 0-.7Z\"]);\nexport const FlashFlowFilled = /*#__PURE__*/createFluentIcon('FlashFlowFilled', \"1em\", [\"M7.21 2c-.47 0-.89.31-1.02.77l-2.25 7.87c-.2.68.32 1.36 1.02 1.36h1.27l-1.17 4.68c-.26 1.05 1.04 1.78 1.8 1l4.81-4.92-.25-.76h-.18a3 3 0 1 1 .59-3A2.5 2.5 0 0 1 14 10.37l1.52-1.55c.65-.68.19-1.82-.76-1.82h-2.56l1.26-3.6c.23-.69-.28-1.4-1-1.4H7.2Zm10.72 13.77A2.01 2.01 0 0 0 19 14a2 2 0 0 0-3.73-1h-1.05a.5.5 0 0 1-.47-.34l-.55-1.63A1.5 1.5 0 0 0 11.78 10H11a2 2 0 1 0-.27 1h1.05c.21 0 .4.14.47.34l.55 1.63V13a1.5 1.5 0 0 0 1.42 1H15a2 2 0 0 0 2.93 1.77Zm-.44-.9a1 1 0 0 1-1.49-.86V14a1 1 0 0 1 2-.01V14a1 1 0 0 1-.51.87ZM10 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const FlashFlowRegular = /*#__PURE__*/createFluentIcon('FlashFlowRegular', \"1em\", [\"M6.2 2.77C6.31 2.31 6.73 2 7.2 2h5.25c.73 0 1.24.71 1.01 1.4L12.2 7h2.56c.95 0 1.4 1.14.77 1.81L14 10.38a2.5 2.5 0 0 0-.63-.79l1.44-1.46a.06.06 0 0 0 .01-.03v-.05a.08.08 0 0 0-.03-.03L14.77 8H11.5a.5.5 0 0 1-.47-.67l1.5-4.25a.06.06 0 0 0-.07-.08H7.21a.06.06 0 0 0-.06.05L4.9 10.92c0 .04.02.08.06.08h1.21a3 3 0 0 0 1 1.38l-1.14 4.54v.04l.03.03.04.01h.01l.03-.02 4.2-4.3c.34-.17.65-.4.9-.68h.18l.25.76-4.81 4.91c-.76.79-2.06.06-1.8-1L6.23 12H4.96c-.7 0-1.21-.68-1.02-1.36L6.2 2.77Zm12.52 12.25A2.01 2.01 0 0 1 17 16a2 2 0 0 1-2-2h-.78a1.5 1.5 0 0 1-1.41-1l-.01-.03-.55-1.63a.5.5 0 0 0-.47-.34h-1.05a2 2 0 1 1 .27-1h.78c.64 0 1.22.41 1.42 1.03l.55 1.63c.06.2.26.34.47.34h1.05a2 2 0 1 1 3.45 2.02ZM17 15a1 1 0 0 0 1-1v-.05a1 1 0 0 0-2 .05v.02a1 1 0 0 0 1 .98Zm-8-4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const FlashOffFilled = /*#__PURE__*/createFluentIcon('FlashOffFilled', \"1em\", [\"m11.86 12.56 5.29 5.3a.5.5 0 0 0 .7-.71l-15-15a.5.5 0 1 0-.7.7l3.12 3.13-1.33 4.66c-.2.68.32 1.36 1.02 1.36h1.27l-1.17 4.68c-.26 1.05 1.04 1.78 1.8 1l5-5.12Zm3.67-3.74-2.27 2.32L5.9 3.78l.29-1C6.32 2.3 6.74 2 7.21 2h5.25c.73 0 1.24.71 1 1.4L12.2 7h2.57c.94 0 1.4 1.14.76 1.81Z\"]);\nexport const FlashOffRegular = /*#__PURE__*/createFluentIcon('FlashOffRegular', \"1em\", [\"M5.27 5.98 2.15 2.85a.5.5 0 1 1 .7-.7l15 15a.5.5 0 0 1-.7.7l-5.3-5.29-5 5.11c-.75.79-2.05.06-1.8-1L6.24 12H4.96c-.7 0-1.21-.68-1.02-1.36l1.33-4.66Zm5.88 5.88L6.08 6.79 4.9 10.92c-.01.04.02.08.06.08h1.9a.5.5 0 0 1 .5.62l-1.33 5.3v.04l.03.03.04.01h.01l.02-.02 5.02-5.12Zm3.66-3.74-2.26 2.3.7.72 2.28-2.32c.65-.68.18-1.82-.76-1.82H12.2l1.27-3.6c.23-.69-.28-1.4-1.01-1.4H7.21c-.47 0-.89.31-1.02.77L5.9 3.78l.81.8.44-1.53c0-.03.03-.05.06-.05h5.25c.04 0 .07.04.06.08l-1.5 4.25a.5.5 0 0 0 .48.67h3.3l.02.04.01.05-.02.03Z\"]);\nexport const FlashPlayFilled = /*#__PURE__*/createFluentIcon('FlashPlayFilled', \"1em\", [\"M7.21 2c-.47 0-.89.31-1.02.77l-2.25 7.87c-.2.68.32 1.36 1.02 1.36h1.27l-1.17 4.68c-.26 1.05 1.04 1.78 1.8 1l2.21-2.27a5.5 5.5 0 0 1 6.22-6.35l.24-.24c.65-.68.19-1.82-.76-1.82h-2.56l1.26-3.6c.23-.69-.28-1.4-1-1.4H7.2ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.29-.44-2.97-1.65a.5.5 0 0 0-.74.44v3.3c0 .38.41.62.74.44l2.97-1.65a.5.5 0 0 0 0-.88Z\"]);\nexport const FlashPlayRegular = /*#__PURE__*/createFluentIcon('FlashPlayRegular', \"1em\", [\"M6.2 2.77C6.31 2.31 6.73 2 7.2 2h5.25c.73 0 1.24.71 1.01 1.4L12.2 7h2.56c.95 0 1.4 1.14.77 1.81l-.24.25a5.54 5.54 0 0 0-1.38-.03l.9-.91a.06.06 0 0 0 .01-.03v-.05a.08.08 0 0 0-.03-.03L14.77 8H11.5a.5.5 0 0 1-.47-.67l1.5-4.25a.06.06 0 0 0-.07-.08H7.21a.06.06 0 0 0-.06.05L4.9 10.92c0 .04.02.08.06.08h1.91a.5.5 0 0 1 .49.62l-1.33 5.3v.04l.03.03.04.01h.01l.03-.02 2.88-2.94a5.58 5.58 0 0 0 .05 1.37l-2.21 2.26c-.76.79-2.06.06-1.8-1L6.23 12H4.96c-.7 0-1.21-.68-1.02-1.36L6.2 2.77ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.29-.44-2.97-1.65a.5.5 0 0 0-.74.44v3.3c0 .38.41.62.74.44l2.97-1.65a.5.5 0 0 0 0-.88Z\"]);\nexport const FlashSettingsFilled = /*#__PURE__*/createFluentIcon('FlashSettingsFilled', \"1em\", [\"M7.21 2c-.47 0-.89.31-1.02.77l-2.25 7.87c-.2.68.32 1.36 1.02 1.36h1.27l-1.17 4.68c-.26 1.05 1.04 1.78 1.8 1l2.21-2.27a5.5 5.5 0 0 1 6.22-6.35l.24-.24c.65-.68.18-1.82-.76-1.82H12.2l1.27-3.6c.23-.69-.28-1.4-1.01-1.4H7.21Zm4.86 9.44a2 2 0 0 1-1.43 2.48l-.46.12a4.7 4.7 0 0 0 0 1.02l.35.08A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.15-.55a2 2 0 0 1 1.43-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.29.13-.57.3-.82.5l.16.55Zm2.43 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const FlashSettingsRegular = /*#__PURE__*/createFluentIcon('FlashSettingsRegular', \"1em\", [\"M6.19 2.77c.13-.46.55-.77 1.02-.77h5.25c.73 0 1.24.71 1 1.4L12.2 7h2.57c.94 0 1.4 1.14.76 1.81l-.24.25a5.55 5.55 0 0 0-1.37-.03l.9-.91a.06.06 0 0 0 .01-.03v-.05a.08.08 0 0 0-.03-.03L14.77 8H11.5a.5.5 0 0 1-.47-.67l1.49-4.25a.06.06 0 0 0-.06-.08H7.21a.06.06 0 0 0-.06.05L4.9 10.92c-.01.04.02.08.06.08h1.9a.5.5 0 0 1 .5.62l-1.33 5.3v.04l.03.03.04.01h.01l.02-.02 2.89-2.95a5.57 5.57 0 0 0 .05 1.38l-2.22 2.26c-.75.79-2.05.06-1.8-1L6.24 12H4.96c-.7 0-1.21-.68-1.02-1.36l2.25-7.87Zm5.88 8.67a2 2 0 0 1-1.43 2.48l-.46.12a4.7 4.7 0 0 0 0 1.02l.35.08A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.15-.55a2 2 0 0 1 1.43-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.29.13-.57.3-.82.5l.16.55Zm2.43 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const FlashSparkleFilled = /*#__PURE__*/createFluentIcon('FlashSparkleFilled', \"1em\", [\"M7.21 2c-.47 0-.89.31-1.02.77l-2.25 7.87c-.2.68.32 1.36 1.02 1.36h1.27l-1.17 4.68c-.26 1.05 1.04 1.78 1.8 1l3.34-3.42a1.2 1.2 0 0 0-.16-.07l-1.09-.35a1.42 1.42 0 0 1 0-2.68l.02-.01 1.07-.35a1.2 1.2 0 0 0 .74-.76l.36-1.1A1.42 1.42 0 0 1 12.48 8h.02a1.42 1.42 0 0 1 1.34.95l.01.02.35 1.07.03.1 1.3-1.32c.65-.68.19-1.82-.76-1.82H12.2l1.26-3.6c.23-.69-.28-1.4-1-1.4H7.2Zm5.67 7.28.35 1.07a2.2 2.2 0 0 0 1.4 1.4l1.07.35h.02a.42.42 0 0 1 0 .8l-1.07.35a2.2 2.2 0 0 0-1.4 1.4l-.35 1.07a.42.42 0 0 1-.8 0l-.35-1.07a2.22 2.22 0 0 0-1.4-1.4l-1.07-.35a.42.42 0 0 1 0-.8l1.07-.35a2.2 2.2 0 0 0 1.38-1.4l.35-1.07a.42.42 0 0 1 .8 0Zm4.9 7.93-.76-.25a1.58 1.58 0 0 1-1-1l-.25-.76a.3.3 0 0 0-.57 0l-.25.77a1.58 1.58 0 0 1-.98 1l-.77.24a.3.3 0 0 0 0 .57l.77.25a1.58 1.58 0 0 1 1 1l.24.77a.3.3 0 0 0 .58 0l.24-.77a1.58 1.58 0 0 1 1-1l.77-.24a.3.3 0 0 0 0-.57h-.02Z\"]);\nexport const FlashSparkleRegular = /*#__PURE__*/createFluentIcon('FlashSparkleRegular', \"1em\", [\"M6.2 2.77C6.31 2.31 6.73 2 7.2 2h5.25c.73 0 1.24.71 1.01 1.4L12.2 7h2.56c.95 0 1.4 1.14.77 1.81l-1.3 1.33a1.23 1.23 0 0 1-.04-.1l-.32-.97.94-.95a.06.06 0 0 0 .01-.03v-.05a.08.08 0 0 0-.03-.03L14.77 8H11.5a.5.5 0 0 1-.47-.67l1.5-4.25a.06.06 0 0 0-.07-.08H7.21a.06.06 0 0 0-.06.05L4.9 10.92c0 .04.02.08.06.08h1.91a.5.5 0 0 1 .49.62l-1.33 5.3v.04l.03.03.04.01h.01l.03-.02 3-3.08.9.3c.06.01.1.03.16.06l-3.34 3.41c-.76.79-2.06.06-1.8-1L6.23 12H4.96c-.7 0-1.21-.68-1.02-1.36L6.2 2.77Zm6.68 6.51.35 1.07a2.2 2.2 0 0 0 1.4 1.4l1.07.35h.02a.42.42 0 0 1 0 .8l-1.07.35a2.2 2.2 0 0 0-1.4 1.4l-.35 1.07a.42.42 0 0 1-.8 0l-.35-1.07a2.18 2.18 0 0 0-.65-.98 2.2 2.2 0 0 0-.75-.43l-1.07-.34a.42.42 0 0 1 0-.8l1.07-.35a2.2 2.2 0 0 0 1.38-1.4l.35-1.07a.42.42 0 0 1 .8 0Zm4.9 7.93-.76-.25a1.58 1.58 0 0 1-1-1l-.25-.76a.3.3 0 0 0-.57 0l-.25.77a1.58 1.58 0 0 1-.98 1l-.77.24a.3.3 0 0 0 0 .57l.77.25a1.58 1.58 0 0 1 1 1l.24.77a.3.3 0 0 0 .58 0l.24-.77a1.58 1.58 0 0 1 1-1l.77-.24a.3.3 0 0 0 0-.57h-.02Z\"]);\nexport const FlashlightFilled = /*#__PURE__*/createFluentIcon('FlashlightFilled', \"1em\", [\"M13.96 1.17c.27 0 .5.22.5.5v.83a.5.5 0 1 1-1 0v-.83c0-.28.22-.5.5-.5Zm3.9.98c.19.2.19.5 0 .7l-1.5 1.5a.5.5 0 1 1-.71-.7l1.5-1.5c.2-.2.5-.2.7 0ZM7 5.2v2.58l5.2 5.2h2.6L7 5.22Zm8.7 7.29 1.1-1.09a2 2 0 0 0 0-2.82L11.4 3.2a2 2 0 0 0-2.82 0L7.5 4.29l8.2 8.2Zm-4.7.7L6.8 9l-4.1 4.09a2 2 0 0 0 0 2.82L4.1 17.3a2 2 0 0 0 2.82 0L11 13.21Zm-3.15-.35-1 1a.5.5 0 0 1-.7-.7l1-1a.5.5 0 1 1 .7.7ZM17 6.05c0-.29.22-.5.5-.5h.83a.5.5 0 1 1 0 1h-.83a.5.5 0 0 1-.5-.5Z\"]);\nexport const FlashlightRegular = /*#__PURE__*/createFluentIcon('FlashlightRegular', \"1em\", [\"M14.46 1.67a.5.5 0 1 0-1 0v.83a.5.5 0 0 0 1 0v-.83Zm3.4 1.18a.5.5 0 0 0-.71-.7l-1.5 1.5a.5.5 0 0 0 .7.7l1.5-1.5Zm-10 10a.5.5 0 1 0-.71-.7l-1 1a.5.5 0 1 0 .7.7l1-1ZM7 5v3.8l-4.3 4.29a2 2 0 0 0 0 2.82L4.1 17.3a2 2 0 0 0 2.82 0l4.3-4.3H15a.5.5 0 0 0 .35-.14l1.44-1.44a2 2 0 0 0 0-2.82L11.41 3.2a2 2 0 0 0-2.82 0L7.15 4.65A.5.5 0 0 0 7 5ZM9.3 3.9a1 1 0 0 1 1.4 0L16.1 9.3a1 1 0 0 1 0 1.42l-1.1 1.08L8.22 5l1.08-1.08ZM8 6.21 13.8 12h-2.6L8 8.8V6.2Zm-.5 3.5 2.8 2.79-4.1 4.09a1 1 0 0 1-1.4 0L3.4 15.2a1 1 0 0 1 0-1.42L7.5 9.71Zm10-4.17a.5.5 0 1 0 0 1h.83a.5.5 0 1 0 0-1h-.83Z\"]);\nexport const FlashlightOffFilled = /*#__PURE__*/createFluentIcon('FlashlightOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l15 15a.5.5 0 0 0 .7-.7l-15-15ZM16.8 11.4l-1.08 1.09L7.5 4.3l1.09-1.1a2 2 0 0 1 2.82 0L16.8 8.6a2 2 0 0 1 0 2.82ZM6.8 9 11 13.2l-4.09 4.1a2 2 0 0 1-2.82 0L2.7 15.9a2 2 0 0 1 0-2.82L6.79 9Zm.06 4.85 1-1a.5.5 0 1 0-.7-.7l-1 1a.5.5 0 1 0 .7.7Z\"]);\nexport const FlashlightOffRegular = /*#__PURE__*/createFluentIcon('FlashlightOffRegular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L7 7.71v1.08l-4.3 4.3a2 2 0 0 0 0 2.82L4.1 17.3a2 2 0 0 0 2.82 0l4.3-4.29h1.08l4.86 4.85a.5.5 0 0 0 .7-.7l-15-15Zm12.67 9.13-1.06 1.06.65.65a.5.5 0 0 0 .24-.14l1.44-1.44a2 2 0 0 0 0-2.82L11.41 3.2a2 2 0 0 0-2.82 0L7.15 4.65a.5.5 0 0 0-.14.24l.65.65L9.3 3.91a1 1 0 0 1 1.42 0l5.38 5.38a1 1 0 0 1 0 1.42l-.57.57Zm-7.67 1.57a.5.5 0 1 0-.7-.7l-1 1a.5.5 0 1 0 .7.7l1-1ZM7.5 9.71l2.8 2.79-4.1 4.09a1 1 0 0 1-1.4 0L3.4 15.2a1 1 0 0 1 0-1.42L7.5 9.71Z\"]);\nexport const FlipHorizontalFilled = /*#__PURE__*/createFluentIcon('FlipHorizontalFilled', \"1em\", [\"M17.88 15.66a.75.75 0 0 1-.63.34h-5.5a.75.75 0 0 1-.75-.75V2.75a.75.75 0 0 1 1.44-.3l5.5 12.5c.1.23.08.5-.06.71ZM12.5 6.32v8.18h3.6l-3.6-8.18ZM2.5 16a.5.5 0 0 1-.45-.71l6-13A.5.5 0 0 1 9 2.5v13a.5.5 0 0 1-.5.5h-6Z\"]);\nexport const FlipHorizontalRegular = /*#__PURE__*/createFluentIcon('FlipHorizontalRegular', \"1em\", [\"M17.92 15.77a.5.5 0 0 1-.42.23h-6a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 .95-.2l6 13a.5.5 0 0 1-.03.47ZM12 4.77V15h4.72L12 4.78ZM2.5 16a.5.5 0 0 1-.45-.71l6-13A.5.5 0 0 1 9 2.5v13a.5.5 0 0 1-.5.5h-6Z\"]);\nexport const FlipVerticalFilled = /*#__PURE__*/createFluentIcon('FlipVerticalFilled', \"1em\", [\"M15.66 2.12c.21.14.34.38.34.63v5.5c0 .41-.34.75-.75.75H2.75a.75.75 0 0 1-.3-1.44l12.5-5.5c.23-.1.5-.08.71.06ZM6.32 7.5h8.18V3.9L6.32 7.5Zm9.68 10a.5.5 0 0 1-.71.45l-13-6A.5.5 0 0 1 2.5 11h13c.28 0 .5.22.5.5v6Z\"]);\nexport const FlipVerticalRegular = /*#__PURE__*/createFluentIcon('FlipVerticalRegular', \"1em\", [\"M15.77 2.08c.14.1.23.25.23.42v6a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.2-.95l13-6a.5.5 0 0 1 .47.03ZM4.77 8H15V3.28L4.78 8ZM16 17.5a.5.5 0 0 1-.71.45l-13-6A.5.5 0 0 1 2.5 11h13c.28 0 .5.22.5.5v6Z\"]);\nexport const FlowFilled = /*#__PURE__*/createFluentIcon('FlowFilled', \"1em\", [\"M12.04 7.5H12c-.83 0-1.5.67-1.5 1.5v2A2.5 2.5 0 0 1 8 13.5h-.04a3 3 0 1 1 0-1H8c.83 0 1.5-.67 1.5-1.5V9A2.5 2.5 0 0 1 12 6.5h.04a3 3 0 1 1 0 1Z\"]);\nexport const FlowRegular = /*#__PURE__*/createFluentIcon('FlowRegular', \"1em\", [\"M15 5a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-2.96 1.5a3 3 0 1 1 0 1H12c-.83 0-1.5.67-1.5 1.5v2A2.5 2.5 0 0 1 8 13.5h-.04a3 3 0 1 1 0-1H8c.83 0 1.5-.67 1.5-1.5V9A2.5 2.5 0 0 1 12 6.5h.04ZM5 11a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z\"]);\nexport const FlowchartFilled = /*#__PURE__*/createFluentIcon('FlowchartFilled', \"1em\", [\"M3 4.5C3 3.67 3.67 3 4.5 3h2C7.33 3 8 3.67 8 4.5v2C8 7.33 7.33 8 6.5 8H6v3.84a1 1 0 0 1 .2.16L8 13.8a1 1 0 0 1 .16.2H12v-.5c0-.83.67-1.5 1.5-1.5h2c.83 0 1.5.67 1.5 1.5v2c0 .83-.67 1.5-1.5 1.5h-2a1.5 1.5 0 0 1-1.5-1.5V15H8.16a1 1 0 0 1-.16.2L6.2 17a1 1 0 0 1-1.4 0L3 15.2a1 1 0 0 1 0-1.4L4.8 12a1 1 0 0 1 .2-.16V8h-.5A1.5 1.5 0 0 1 3 6.5v-2Z\"]);\nexport const FlowchartRegular = /*#__PURE__*/createFluentIcon('FlowchartRegular', \"1em\", [\"M4.5 3C3.67 3 3 3.67 3 4.5v2C3 7.33 3.67 8 4.5 8H5v3.84a1 1 0 0 0-.2.16L3 13.8a1 1 0 0 0 0 1.4L4.8 17a1 1 0 0 0 1.4 0L8 15.2a1 1 0 0 0 .16-.2H12v.5c0 .83.67 1.5 1.5 1.5h2c.83 0 1.5-.67 1.5-1.5v-2c0-.83-.67-1.5-1.5-1.5h-2c-.83 0-1.5.67-1.5 1.5v.5H8.16a1 1 0 0 0-.16-.2L6.2 12a1 1 0 0 0-.2-.16V8h.5C7.33 8 8 7.33 8 6.5v-2C8 3.67 7.33 3 6.5 3h-2ZM4 4.5c0-.28.22-.5.5-.5h2c.28 0 .5.22.5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm-.3 10 1.8-1.8 1.8 1.8-1.8 1.8-1.8-1.8Zm9.8-1.5h2c.28 0 .5.22.5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2c0-.28.22-.5.5-.5Z\"]);\nexport const FlowchartCircleFilled = /*#__PURE__*/createFluentIcon('FlowchartCircleFilled', \"1em\", [\"M2 10a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm4-3.5v2c0 .28.22.5.5.5H7v1.8l-1.35 1.35a.5.5 0 0 0 0 .7l1.5 1.5c.2.2.5.2.7 0L9.21 13H11v.5c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v.5H9.2L8 10.8V9h.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5Z\"]);\nexport const FlowchartCircleRegular = /*#__PURE__*/createFluentIcon('FlowchartCircleRegular', \"1em\", [\"M6 6.5c0-.28.22-.5.5-.5h2c.28 0 .5.22.5.5v2a.5.5 0 0 1-.5.5H8v1.8L9.2 12H11v-.5c0-.28.22-.5.5-.5h2c.28 0 .5.22.5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V13H9.2l-1.35 1.35a.5.5 0 0 1-.7 0l-1.5-1.5a.5.5 0 0 1 0-.7L7 10.79V9h-.5a.5.5 0 0 1-.5-.5v-2ZM2 10a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z\"]);\nexport const FluentFilled = /*#__PURE__*/createFluentIcon('FluentFilled', \"1em\", [\"M10.72 2.05a.5.5 0 0 0-.44 0l-5 2.5A.5.5 0 0 0 5 5v9.5c0 .18.1.34.24.43l5 3a.5.5 0 0 0 .76-.43v-4.7l4.72-2.35a.5.5 0 0 0 0-.9l-4.1-2.05 4.1-2.05a.5.5 0 0 0 0-.9l-5-2.5Z\"]);\nexport const FluentRegular = /*#__PURE__*/createFluentIcon('FluentRegular', \"1em\", [\"M10.28 2.05a.5.5 0 0 1 .44 0l5 2.5a.5.5 0 0 1 0 .9l-4.1 2.05 4.1 2.05a.5.5 0 0 1 0 .9L11 12.8v4.69a.5.5 0 0 1-.76.43l-5-3A.5.5 0 0 1 5 14.5V5c0-.19.1-.36.28-.45l5-2.5ZM6 5.31v8.9l4 2.4v-3.8a1 1 0 0 1 .55-.9L14.38 10l-4.1-2.05a.5.5 0 0 1 0-.9L14.38 5 10.5 3.06 6 5.3Z\"]);\nexport const FluidFilled = /*#__PURE__*/createFluentIcon('FluidFilled', \"1em\", [\"M2 3.5C2 2.67 2.67 2 3.5 2h2C6.33 2 7 2.67 7 3.5v2.04c0 .83-.67 1.5-1.5 1.5h-2A1.5 1.5 0 0 1 2 5.54V3.5ZM8 4h5.5c.83 0 1.5.67 1.5 1.5V9h-1V5.5a.5.5 0 0 0-.5-.5H8V4ZM5 8v5.5c0 .28.22.5.5.5H9v1H5.5A1.5 1.5 0 0 1 4 13.5V8h1Zm6.5 2c-.82 0-1.5.67-1.5 1.5v5c0 .83.68 1.5 1.5 1.5h5c.83 0 1.5-.67 1.5-1.5v-5c0-.83-.67-1.5-1.5-1.5h-5Z\"]);\nexport const FluidRegular = /*#__PURE__*/createFluentIcon('FluidRegular', \"1em\", [\"M8 4h5.5c.83 0 1.5.67 1.5 1.5V9h-1V5.5a.5.5 0 0 0-.5-.5H8V4ZM5 8v5.5c0 .28.22.5.5.5H9v1H5.5A1.5 1.5 0 0 1 4 13.5V8h1ZM2 3.5C2 2.67 2.67 2 3.5 2h2C6.33 2 7 2.67 7 3.5v2.04c0 .83-.67 1.5-1.5 1.5h-2A1.5 1.5 0 0 1 2 5.54V3.5ZM3.5 3a.5.5 0 0 0-.5.5v2.04c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5V3.5a.5.5 0 0 0-.5-.5h-2Zm6.5 8.5c0-.83.68-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5h-5a1.5 1.5 0 0 1-1.5-1.5v-5Zm1.5-.5a.5.5 0 0 0-.5.5v5c0 .28.23.5.5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Z\"]);\nexport const FolderFilled = /*#__PURE__*/createFluentIcon('FolderFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Z\"]);\nexport const FolderRegular = /*#__PURE__*/createFluentIcon('FolderRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5ZM3 8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5v7c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5V8Z\"]);\nexport const FolderAddFilled = /*#__PURE__*/createFluentIcon('FolderAddFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h5.1a5.5 5.5 0 0 1 8.4-6.74V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm17 6.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const FolderAddRegular = /*#__PURE__*/createFluentIcon('FolderAddRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h5.1c-.16-.32-.3-.65-.4-1H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5v2.1c.36.18.7.4 1 .66V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5Zm16 9a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const FolderArrowLeftFilled = /*#__PURE__*/createFluentIcon('FolderArrowLeftFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h5.1a5.5 5.5 0 0 1 8.4-6.74V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm12.5 11a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm-2.35-4.85a.5.5 0 0 0-.15.35.5.5 0 0 0 .15.35l2 2a.5.5 0 0 0 .7-.7L13.71 15h2.79a.5.5 0 0 0 0-1h-2.8l1.15-1.15a.5.5 0 0 0-.7-.7l-2 2Z\"]);\nexport const FolderArrowLeftRegular = /*#__PURE__*/createFluentIcon('FolderArrowLeftRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h5.1c-.16-.32-.3-.65-.4-1H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5v2.1c.36.18.7.4 1 .66V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5ZM14.5 19a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm-2.35-4.85a.5.5 0 0 0-.15.35.5.5 0 0 0 .15.35l2 2a.5.5 0 0 0 .7-.7L13.71 15h2.79a.5.5 0 0 0 0-1h-2.8l1.15-1.15a.5.5 0 0 0-.7-.7l-2 2Z\"]);\nexport const FolderArrowRightFilled = /*#__PURE__*/createFluentIcon('FolderArrowRightFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h5.1a5.5 5.5 0 0 1 8.4-6.74V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm12.5 2a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9Zm2.35 4.85a.5.5 0 0 0 .15-.35.5.5 0 0 0-.15-.35l-2-2a.5.5 0 0 0-.7.7L15.29 14H12.5a.5.5 0 0 0 0 1h2.8l-1.15 1.15a.5.5 0 0 0 .7.7l2-2Z\"], {\n  flipInRtl: true\n});\nexport const FolderArrowRightRegular = /*#__PURE__*/createFluentIcon('FolderArrowRightRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h5.1c-.16-.32-.3-.65-.4-1H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5v2.1c.36.18.7.4 1 .66V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5ZM14.5 10a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9Zm2.35 4.85a.5.5 0 0 0 .15-.35.5.5 0 0 0-.15-.35l-2-2a.5.5 0 0 0-.7.7L15.29 14H12.5a.5.5 0 0 0 0 1h2.8l-1.15 1.15a.5.5 0 0 0 .7.7l2-2Z\"], {\n  flipInRtl: true\n});\nexport const FolderArrowUpFilled = /*#__PURE__*/createFluentIcon('FolderArrowUpFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h5.1a5.5 5.5 0 0 1 8.4-6.74V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm17 6.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.85-2.35-2 2a.5.5 0 0 0 .7.7L14 13.71v2.79a.5.5 0 0 0 1 0v-2.8l1.15 1.15a.5.5 0 0 0 .7-.7l-2-2a.5.5 0 0 0-.35-.15.5.5 0 0 0-.35.14Z\"]);\nexport const FolderArrowUpRegular = /*#__PURE__*/createFluentIcon('FolderArrowUpRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h5.1c-.16-.32-.3-.65-.4-1H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5v2.1c.36.18.7.4 1 .66V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5Zm16 9a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.85-2.35-2 2a.5.5 0 0 0 .7.7L14 13.71v2.79a.5.5 0 0 0 1 0v-2.8l1.15 1.15a.5.5 0 0 0 .7-.7l-2-2a.5.5 0 0 0-.35-.15.5.5 0 0 0-.35.14Z\"]);\nexport const FolderBriefcaseFilled = /*#__PURE__*/createFluentIcon('FolderBriefcaseFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17H9v-3.5a2.5 2.5 0 0 1 2.04-2.46A2.5 2.5 0 0 1 13.5 9h2a2.5 2.5 0 0 1 2.46 2.04l.04.01V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm10 3.5v.5h-.5c-.83 0-1.5.67-1.5 1.5v4c0 .83.67 1.5 1.5 1.5h6c.83 0 1.5-.67 1.5-1.5v-4c0-.83-.67-1.5-1.5-1.5H17v-.5c0-.83-.67-1.5-1.5-1.5h-2c-.83 0-1.5.67-1.5 1.5Zm1.5-.5h2c.28 0 .5.22.5.5v.5h-3v-.5c0-.28.22-.5.5-.5Z\"]);\nexport const FolderBriefcaseRegular = /*#__PURE__*/createFluentIcon('FolderBriefcaseRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17H9v-1H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5v2c.5.37.84.91.96 1.54l.04.01V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5Zm9 6v.5h-.5c-.83 0-1.5.67-1.5 1.5v4c0 .83.67 1.5 1.5 1.5h6c.83 0 1.5-.67 1.5-1.5v-4c0-.83-.67-1.5-1.5-1.5H17v-.5c0-.83-.67-1.5-1.5-1.5h-2c-.83 0-1.5.67-1.5 1.5Zm1.5-.5h2c.28 0 .5.22.5.5v.5h-3v-.5c0-.28.22-.5.5-.5Z\"]);\nexport const FolderDocumentFilled = /*#__PURE__*/createFluentIcon('FolderDocumentFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17H11v-6c0-1.1.9-2 2-2h2.59a2 2 0 0 1 1.41.59l1 1V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm11.25 2H15v2.5c0 .83.67 1.5 1.5 1.5H19v3.75c0 .69-.56 1.25-1.25 1.25h-4.5c-.69 0-1.25-.56-1.25-1.25v-6.5c0-.69.56-1.25 1.25-1.25ZM16 10l3 3h-2.5a.5.5 0 0 1-.5-.5V10Z\"]);\nexport const FolderDocumentRegular = /*#__PURE__*/createFluentIcon('FolderDocumentRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17H11v-1H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5v2.09l1 1V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5ZM13.25 10H15v2.5c0 .83.67 1.5 1.5 1.5H19v3.75c0 .69-.56 1.25-1.25 1.25h-4.5c-.69 0-1.25-.56-1.25-1.25v-6.5c0-.69.56-1.25 1.25-1.25ZM16 10l3 3h-2.5a.5.5 0 0 1-.5-.5V10Z\"]);\nexport const FolderGlobeFilled = /*#__PURE__*/createFluentIcon('FolderGlobeFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h5.1a5.5 5.5 0 0 1 8.4-6.74V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm11.55 3.15a8.9 8.9 0 0 0-.54 2.85h2.98a8.9 8.9 0 0 0-.54-2.85 2.93 2.93 0 0 0-.53-.91c-.19-.2-.33-.24-.42-.24-.1 0-.23.05-.42.24-.18.19-.36.5-.53.91Zm-.72-.83A9.92 9.92 0 0 0 12 14h-1.98a4.5 4.5 0 0 1 2.8-3.68Zm3.34 0a9.92 9.92 0 0 1 .82 3.68h1.98a4.5 4.5 0 0 0-2.8-3.68Zm2.8 4.68H17a9.92 9.92 0 0 1-.82 3.68 4.5 4.5 0 0 0 2.8-3.68Zm-4.47 4c.1 0 .23-.05.42-.24.18-.19.36-.5.53-.91.3-.73.5-1.72.54-2.85h-2.98a8.9 8.9 0 0 0 .54 2.85c.17.42.35.72.53.91.19.2.33.24.42.24Zm-1.67-.32a4.5 4.5 0 0 1-2.8-3.68H12a9.92 9.92 0 0 0 .82 3.68Z\"]);\nexport const FolderGlobeRegular = /*#__PURE__*/createFluentIcon('FolderGlobeRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h5.1c-.16-.32-.3-.65-.4-1H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5v2.1c.36.18.7.4 1 .66V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5Zm10.55 5.65a8.9 8.9 0 0 0-.54 2.85h2.98a8.9 8.9 0 0 0-.54-2.85 2.93 2.93 0 0 0-.53-.91c-.19-.2-.33-.24-.42-.24-.1 0-.23.05-.42.24-.18.19-.36.5-.53.91Zm-.72-.83A9.92 9.92 0 0 0 12 14h-1.98a4.5 4.5 0 0 1 2.8-3.68Zm3.34 0a9.92 9.92 0 0 1 .82 3.68h1.98a4.5 4.5 0 0 0-2.8-3.68Zm2.8 4.68H17a9.92 9.92 0 0 1-.82 3.68 4.5 4.5 0 0 0 2.8-3.68Zm-4.47 4c.1 0 .23-.05.42-.24.18-.19.36-.5.53-.91.3-.73.5-1.72.54-2.85h-2.98a8.9 8.9 0 0 0 .54 2.85c.17.42.35.72.53.91.19.2.33.24.42.24Zm-1.67-.32a4.5 4.5 0 0 1-2.8-3.68H12a9.92 9.92 0 0 0 .82 3.68Z\"]);\nexport const FolderLightningFilled = /*#__PURE__*/createFluentIcon('FolderLightningFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h8a1.5 1.5 0 0 1-1.38-2.08l2.08-5A1.5 1.5 0 0 1 14.58 9H18V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm10.5 8h1.75l-.59 2.36c-.12.48.46.83.83.49l4.87-4.55a.75.75 0 0 0-.51-1.3h-1.1l.78-2.34a.5.5 0 0 0-.47-.66h-3.47a.5.5 0 0 0-.47.3l-2.08 5c-.14.34.1.7.46.7Z\"]);\nexport const FolderLightningRegular = /*#__PURE__*/createFluentIcon('FolderLightningRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h8a1.5 1.5 0 0 1-1.41-1H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5V9h1V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5ZM12.5 16h1.75l-.59 2.36c-.12.48.46.83.83.49l4.87-4.55a.75.75 0 0 0-.51-1.3h-1.1l.78-2.34a.5.5 0 0 0-.47-.66h-3.47a.5.5 0 0 0-.47.3l-2.08 5c-.14.34.1.7.46.7Z\"]);\nexport const FolderLinkFilled = /*#__PURE__*/createFluentIcon('FolderLinkFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h4.84a3.5 3.5 0 0 1 3.16-5h4c.54 0 1.05.12 1.5.34V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm10.5 5a2.5 2.5 0 0 0 0 5h.5a.5.5 0 0 0 0-1h-.5a1.5 1.5 0 0 1 0-3h.5a.5.5 0 0 0 0-1h-.5Zm3.5 0a.5.5 0 0 0 0 1h.5a1.5 1.5 0 0 1 0 3H16a.5.5 0 0 0 0 1h.5a2.5 2.5 0 0 0 0-5H16Zm-4 2.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\"]);\nexport const FolderLinkRegular = /*#__PURE__*/createFluentIcon('FolderLinkRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h4.84a3.48 3.48 0 0 1-.3-1H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5v4.54c.35.05.69.15 1 .3V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5Zm9.5 7.5a2.5 2.5 0 0 0 0 5h.5a.5.5 0 0 0 0-1h-.5a1.5 1.5 0 0 1 0-3h.5a.5.5 0 0 0 0-1h-.5Zm3.5 0a.5.5 0 0 0 0 1h.5a1.5 1.5 0 0 1 0 3H16a.5.5 0 0 0 0 1h.5a2.5 2.5 0 0 0 0-5H16Zm-4 2.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\"]);\nexport const FolderListFilled = /*#__PURE__*/createFluentIcon('FolderListFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h6.59c.06-.19.16-.36.3-.5a1.5 1.5 0 0 1 0-2A1.5 1.5 0 0 1 12.5 12h5.49V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm10.5 5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm-.5 2.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Z\"]);\nexport const FolderListRegular = /*#__PURE__*/createFluentIcon('FolderListRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h6.59c.06-.19.16-.36.3-.5a1.5 1.5 0 0 1-.3-.5H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5V12h1V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5Zm9.5 7.5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm-.5 2.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Z\"]);\nexport const FolderMailFilled = /*#__PURE__*/createFluentIcon('FolderMailFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h4.55a2.51 2.51 0 0 1-.05-.5v-4a2.5 2.5 0 0 1 2.5-2.5h6c.17 0 .34.02.5.05V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm8.01 4.3 4.5 2.63L19 12.5v-.01c0-.83-.67-1.5-1.5-1.5h-6c-.76 0-1.4.57-1.49 1.3ZM19 13.64l-4.26 2.3a.5.5 0 0 1-.5 0L10 13.44v3.05c0 .83.67 1.5 1.5 1.5h6c.83 0 1.5-.67 1.5-1.5v-2.86Z\"]);\nexport const FolderMailRegular = /*#__PURE__*/createFluentIcon('FolderMailRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h4.55a2.51 2.51 0 0 1-.05-.5V16H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5V10h.5c.17 0 .34.02.5.05V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5Zm7.01 6.8 4.5 2.63L19 12.5v-.01c0-.83-.67-1.5-1.5-1.5h-6c-.76 0-1.4.57-1.49 1.3ZM19 13.64l-4.26 2.3a.5.5 0 0 1-.5 0L10 13.44v3.05c0 .83.67 1.5 1.5 1.5h6c.83 0 1.5-.67 1.5-1.5v-2.86Z\"]);\nexport const FolderOpenFilled = /*#__PURE__*/createFluentIcon('FolderOpenFilled', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v6.97l1.57-2.72A3.5 3.5 0 0 1 6.6 8H16v-.5A2.5 2.5 0 0 0 13.5 5H9.7L8.16 3.44A1.5 1.5 0 0 0 7.09 3H4.5Zm-.07 7.25A2.5 2.5 0 0 1 6.6 9H17a2 2 0 0 1 1.73 3l-2.16 3.75A2.5 2.5 0 0 1 14.4 17H4a2 2 0 0 1-1.73-3l2.16-3.75Z\"], {\n  flipInRtl: true\n});\nexport const FolderOpenRegular = /*#__PURE__*/createFluentIcon('FolderOpenRegular', \"1em\", [\"M3 5.5v6.6l1.5-2.6A3 3 0 0 1 7.1 8H15v-.5c0-.83-.67-1.5-1.5-1.5h-4a.5.5 0 0 1-.35-.15l-1.71-1.7A.5.5 0 0 0 7.09 4H4.5C3.67 4 3 4.67 3 5.5Zm1.28 10.48.22.02h9.4a2 2 0 0 0 1.73-1l2.17-3.75A1.5 1.5 0 0 0 16.5 9H7.1a2 2 0 0 0-1.73 1L3.2 13.75a1.5 1.5 0 0 0 1.08 2.23ZM2 14.46V5.5A2.5 2.5 0 0 1 4.5 3h2.59c.4 0 .78.16 1.06.44L9.7 5h3.79A2.5 2.5 0 0 1 16 7.5V8h.5a2.5 2.5 0 0 1 2.16 3.75L16.5 15.5a3 3 0 0 1-2.6 1.5H4.5a2.54 2.54 0 0 1-1.62-.6A2.5 2.5 0 0 1 2 14.46Z\"], {\n  flipInRtl: true\n});\nexport const FolderOpenDownFilled = /*#__PURE__*/createFluentIcon('FolderOpenDownFilled', \"1em\", [\"M4.5 17A2.5 2.5 0 0 1 2 14.5V7.53l1.57 2.72A3.5 3.5 0 0 0 6.6 12H16v.5a2.5 2.5 0 0 1-2.5 2.5H9.7l-1.55 1.56a1.5 1.5 0 0 1-1.06.44H4.5Zm-.07-7.25A2.5 2.5 0 0 0 6.6 11H17a2 2 0 0 0 1.73-3l-2.16-3.75A2.5 2.5 0 0 0 14.4 3H4a2 2 0 0 0-1.73 3l2.16 3.75Z\"]);\nexport const FolderOpenDownRegular = /*#__PURE__*/createFluentIcon('FolderOpenDownRegular', \"1em\", [\"M3 14.5V7.9l1.5 2.6A3 3 0 0 0 7.1 12H15v.5c0 .83-.67 1.5-1.5 1.5h-4a.5.5 0 0 0-.35.15l-1.71 1.7a.5.5 0 0 1-.35.15H4.5A1.5 1.5 0 0 1 3 14.5ZM4.28 4.02 4.5 4h9.4a2 2 0 0 1 1.73 1l2.17 3.75A1.5 1.5 0 0 1 16.5 11H7.1a2 2 0 0 1-1.73-1L3.2 6.25a1.5 1.5 0 0 1 1.08-2.23ZM2 5.54v8.96A2.5 2.5 0 0 0 4.5 17h2.59c.4 0 .78-.16 1.06-.44L9.7 15h3.79a2.5 2.5 0 0 0 2.5-2.5V12h.5a2.5 2.5 0 0 0 2.16-3.75L16.5 4.5A3 3 0 0 0 13.9 3H4.5a2.54 2.54 0 0 0-1.62.6A2.5 2.5 0 0 0 2 5.54Z\"]);\nexport const FolderOpenVerticalFilled = /*#__PURE__*/createFluentIcon('FolderOpenVerticalFilled', \"1em\", [\"M17 4.5A2.5 2.5 0 0 0 14.5 2H7.53l2.72 1.57A3.5 3.5 0 0 1 12 6.6V16h.5a2.5 2.5 0 0 0 2.5-2.5V9.7l1.56-1.55c.28-.28.44-.67.44-1.06V4.5Zm-7.25-.07A2.5 2.5 0 0 1 11 6.6V17a2 2 0 0 1-3 1.73l-3.75-2.16A2.5 2.5 0 0 1 3 14.4V4a2 2 0 0 1 3-1.73l3.75 2.16Z\"], {\n  flipInRtl: true\n});\nexport const FolderOpenVerticalRegular = /*#__PURE__*/createFluentIcon('FolderOpenVerticalRegular', \"1em\", [\"M14.5 3H7.9l2.6 1.5A3 3 0 0 1 12 7.1V15h.5c.83 0 1.5-.67 1.5-1.5v-4a.5.5 0 0 1 .15-.35l1.7-1.71a.5.5 0 0 0 .15-.35V4.5c0-.83-.67-1.5-1.5-1.5ZM4.02 4.28 4 4.5v9.4a2 2 0 0 0 1 1.73l3.75 2.17A1.5 1.5 0 0 0 11 16.5V7.1a2 2 0 0 0-1-1.73L6.25 3.2a1.5 1.5 0 0 0-2.23 1.08ZM5.54 2h8.96A2.5 2.5 0 0 1 17 4.5v2.59c0 .4-.16.77-.44 1.06L15 9.7v3.79a2.5 2.5 0 0 1-2.5 2.5H12v.5a2.5 2.5 0 0 1-3.75 2.16L4.5 16.5A3 3 0 0 1 3 13.9V4.5a2.54 2.54 0 0 1 .6-1.62A2.5 2.5 0 0 1 5.54 2Z\"], {\n  flipInRtl: true\n});\nexport const FolderPeopleFilled = /*#__PURE__*/createFluentIcon('FolderPeopleFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h4.52a2.6 2.6 0 0 1 1.93-2.92 2.75 2.75 0 1 1 4.54-3 2.24 2.24 0 0 1 2.51-.35V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm12.75 4.25a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0Zm3.5.5a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM16 16.6c0 1.18-.8 2.4-3 2.4s-3-1.22-3-2.4c0-.88.72-1.6 1.6-1.6h2.8c.88 0 1.6.72 1.6 1.6Zm.7 1.4h.05c1.65 0 2.25-.91 2.25-1.8 0-.66-.54-1.2-1.2-1.2h-1.35c.34.44.55 1 .55 1.6 0 .46-.09.95-.3 1.4Z\"]);\nexport const FolderPeopleRegular = /*#__PURE__*/createFluentIcon('FolderPeopleRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h4.52a2.6 2.6 0 0 1 .05-1H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5v3c.36 0 .7.08 1 .23V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5Zm11.75 6.75a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0Zm3.5.5a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM16 16.6c0 1.18-.8 2.4-3 2.4s-3-1.22-3-2.4c0-.88.72-1.6 1.6-1.6h2.8c.88 0 1.6.72 1.6 1.6Zm.7 1.4h.05c1.65 0 2.25-.91 2.25-1.8 0-.66-.54-1.2-1.2-1.2h-1.35c.34.44.55 1 .55 1.6 0 .46-.09.95-.3 1.4Z\"]);\nexport const FolderPersonFilled = /*#__PURE__*/createFluentIcon('FolderPersonFilled', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5V7h5.09a.5.5 0 0 0 .35-.15L9.5 4.8 8.22 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM2 14.5V8h5.09c.4 0 .78-.16 1.06-.44L10.7 5h4.79A2.5 2.5 0 0 1 18 7.5v2.84a3 3 0 1 0-4.73 3.67A2.5 2.5 0 0 0 11.04 17H4.5A2.5 2.5 0 0 1 2 14.5ZM17.5 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const FolderPersonRegular = /*#__PURE__*/createFluentIcon('FolderPersonRegular', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.71 5h5.79A2.5 2.5 0 0 1 18 7.5v2.84c-.26-.38-.6-.7-1-.94V7.5c0-.83-.67-1.5-1.5-1.5H9.7L8.16 7.56A1.5 1.5 0 0 1 7.09 8H3v6.5c0 .83.67 1.5 1.5 1.5h6.55a2.51 2.51 0 0 0-.01 1H4.5A2.5 2.5 0 0 1 2 14.5v-9ZM4.5 4C3.67 4 3 4.67 3 5.5V7h4.09a.5.5 0 0 0 .35-.15L8.79 5.5 7.51 4.22A.75.75 0 0 0 6.98 4H4.5Zm13 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const FolderProhibitedFilled = /*#__PURE__*/createFluentIcon('FolderProhibitedFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h5.1a5.5 5.5 0 0 1 8.4-6.74V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm8 6.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm1 0a3.5 3.5 0 0 1 5.6-2.8l-4.9 4.9a3.48 3.48 0 0 1-.7-2.1Zm3.5 3.5c-.79 0-1.51-.26-2.1-.7l4.9-4.9a3.5 3.5 0 0 1-2.8 5.6Z\"]);\nexport const FolderProhibitedRegular = /*#__PURE__*/createFluentIcon('FolderProhibitedRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h5.1c-.16-.32-.3-.65-.4-1H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5v2.1c.36.18.7.4 1 .66V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5Zm7 9a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm1 0a3.5 3.5 0 0 1 5.6-2.8l-4.9 4.9a3.48 3.48 0 0 1-.7-2.1Zm3.5 3.5c-.79 0-1.51-.26-2.1-.7l4.9-4.9a3.5 3.5 0 0 1-2.8 5.6Z\"]);\nexport const FolderSearchFilled = /*#__PURE__*/createFluentIcon('FolderSearchFilled', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5V7h5.09a.5.5 0 0 0 .35-.15L9.5 4.8 8.22 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM2 14.5V8h5.09c.4 0 .78-.16 1.06-.44L10.7 5h4.79A2.5 2.5 0 0 1 18 7.5V12h-.03A4.5 4.5 0 1 0 13 16.97V17H4.5A2.5 2.5 0 0 1 2 14.5ZM13.5 16c.79 0 1.51-.26 2.1-.7l2.55 2.55a.5.5 0 1 0 .7-.7L16.3 14.6a3.5 3.5 0 1 0-2.8 1.4Zm0-1a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z\"]);\nexport const FolderSearchRegular = /*#__PURE__*/createFluentIcon('FolderSearchRegular', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.71 5h5.79A2.5 2.5 0 0 1 18 7.5V12h-.03A4.48 4.48 0 0 0 17 9.67V7.5c0-.83-.67-1.5-1.5-1.5H9.7L8.16 7.56A1.5 1.5 0 0 1 7.09 8H3v6.5c0 .83.67 1.5 1.5 1.5h6.17c.65.53 1.45.88 2.33.97V17H4.5A2.5 2.5 0 0 1 2 14.5v-9ZM4.5 4C3.67 4 3 4.67 3 5.5V7h4.09a.5.5 0 0 0 .35-.15L8.79 5.5 7.51 4.22A.75.75 0 0 0 6.98 4H4.5Zm9 12c.79 0 1.51-.26 2.1-.7l2.55 2.55a.5.5 0 1 0 .7-.7L16.3 14.6a3.5 3.5 0 1 0-2.8 1.4Zm0-1a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z\"]);\nexport const FolderSwapFilled = /*#__PURE__*/createFluentIcon('FolderSwapFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h5.38l-.44-.44a1.5 1.5 0 0 1 0-2.12l2-2A1.5 1.5 0 0 1 13.9 14h1.18a1.5 1.5 0 0 1 2.47-1.56l.44.44V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm10.85 5.85a.5.5 0 0 0-.7-.7l-2 2a.5.5 0 0 0 0 .7l2 2a.5.5 0 0 0 .7-.7L11.71 16h5.58l-1.14 1.15a.5.5 0 0 0 .7.7l2-2a.5.5 0 0 0 0-.7l-2-2a.5.5 0 0 0-.7.7L17.29 15h-5.58l1.14-1.15Z\"]);\nexport const FolderSwapRegular = /*#__PURE__*/createFluentIcon('FolderSwapRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h5.38l-.44-.44a1.5 1.5 0 0 1-.35-.56H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5v4.59c.2.07.4.19.56.35l.44.44V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5Zm9.85 8.35a.5.5 0 0 0-.7-.7l-2 2a.5.5 0 0 0 0 .7l2 2a.5.5 0 0 0 .7-.7L11.71 16h5.58l-1.14 1.15a.5.5 0 0 0 .7.7l2-2a.5.5 0 0 0 0-.7l-2-2a.5.5 0 0 0-.7.7L17.29 15h-5.58l1.14-1.15Z\"]);\nexport const FolderSyncFilled = /*#__PURE__*/createFluentIcon('FolderSyncFilled', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.5 4.8 7.44 6.85a.5.5 0 0 1-.35.15H2V5.5ZM2 8v6.5A2.5 2.5 0 0 0 4.5 17h5.1a5.5 5.5 0 0 1 8.4-6.74V7.5A2.5 2.5 0 0 0 15.5 5h-4.8L8.16 7.56A1.5 1.5 0 0 1 7.09 8H2Zm8 6.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm6.5-3c.28 0 .5.22.5.5v1.5a.5.5 0 0 1-.5.5H15a.5.5 0 0 1 0-1h.47a1.97 1.97 0 0 0-.94-.25 2 2 0 0 0-1.44.59.5.5 0 0 1-.71-.71 3 3 0 0 1 3.62-.48V12c0-.28.22-.5.5-.5Zm-.88 5.53a3 3 0 0 1-2.62-.18V17a.5.5 0 0 1-1 0v-1.5c0-.28.22-.5.5-.5H14a.5.5 0 0 1 0 1h-.47a1.97 1.97 0 0 0 .94.25 2 2 0 0 0 1.44-.59.5.5 0 0 1 .71.71 3 3 0 0 1-1 .66Z\"]);\nexport const FolderSyncRegular = /*#__PURE__*/createFluentIcon('FolderSyncRegular', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5v9A2.5 2.5 0 0 0 4.5 17h5.1c-.16-.32-.3-.65-.4-1H4.5A1.5 1.5 0 0 1 3 14.5V8h4.09c.4 0 .78-.16 1.06-.44L9.7 6h5.79c.83 0 1.5.67 1.5 1.5v2.1c.36.18.7.4 1 .66V7.5A2.5 2.5 0 0 0 15.5 5H9.7L8.23 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM3 5.5C3 4.67 3.67 4 4.5 4h2.48c.2 0 .4.08.53.22L8.8 5.5 7.44 6.85a.5.5 0 0 1-.35.15H3V5.5Zm7 9a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm6.5-3c.28 0 .5.22.5.5v1.5a.5.5 0 0 1-.5.5H15a.5.5 0 0 1 0-1h.47a1.97 1.97 0 0 0-.94-.25 2 2 0 0 0-1.44.59.5.5 0 0 1-.71-.71 3 3 0 0 1 3.62-.48V12c0-.28.22-.5.5-.5Zm-.88 5.53a3 3 0 0 1-2.62-.18V17a.5.5 0 0 1-1 0v-1.5c0-.28.22-.5.5-.5H14a.5.5 0 0 1 0 1h-.47a1.97 1.97 0 0 0 .94.25 2 2 0 0 0 1.44-.59.5.5 0 0 1 .71.71 3 3 0 0 1-1 .66Z\"]);\nexport const FolderZipFilled = /*#__PURE__*/createFluentIcon('FolderZipFilled', \"1em\", [\"M4.5 3A2.5 2.5 0 0 0 2 5.5V7h5.09a.5.5 0 0 0 .35-.15L9.5 4.8 8.22 3.51A1.75 1.75 0 0 0 6.98 3H4.5ZM2 14.5V8h5.09c.4 0 .78-.16 1.06-.44L10.7 5H12v3.5c0 .28.22.5.5.5h.5v2h-.5a.5.5 0 0 0 0 1h.5v1h-.5a.5.5 0 0 0 0 1h.5v3H4.5A2.5 2.5 0 0 1 2 14.5ZM14 17h1.5a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 15.5 5H15v3.5a.5.5 0 0 1-.5.5H14v3h.5a.5.5 0 0 1 0 1H14v4Zm0-12h-1v3h1V5Z\"]);\nexport const FolderZipRegular = /*#__PURE__*/createFluentIcon('FolderZipRegular', \"1em\", [\"M2 5.5A2.5 2.5 0 0 1 4.5 3h2.48c.47 0 .91.18 1.24.51L9.71 5h5.79A2.5 2.5 0 0 1 18 7.5v7a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-9ZM14 16h1.5c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5H15v3.5a.5.5 0 0 1-.5.5H14v2h.5a.5.5 0 0 1 0 1H14v3Zm0-10h-1v3h1V6Zm-2 0H9.7L8.16 7.56A1.5 1.5 0 0 1 7.09 8H3v6.5c0 .83.67 1.5 1.5 1.5H13v-2h-.5a.5.5 0 0 1 0-1h.5v-1h-.5a.5.5 0 0 1 0-1h.5v-1h-.5a.5.5 0 0 1-.5-.5V6ZM4.5 4C3.67 4 3 4.67 3 5.5V7h4.09a.5.5 0 0 0 .35-.15L8.79 5.5 7.51 4.22A.75.75 0 0 0 6.98 4H4.5Z\"]);\nexport const FontDecreaseFilled = /*#__PURE__*/createFluentIcon('FontDecreaseFilled', \"1em\", [\"M14.24 2.18a.75.75 0 0 0-.98 1.14l1.75 1.5c.28.24.7.24.98 0l1.75-1.5a.75.75 0 1 0-.98-1.14L15.5 3.26l-1.26-1.08ZM10 4c-.3 0-.58.19-.7.47l-4.25 10.5a.75.75 0 1 0 1.4.56L7.87 12h4.26l1.42 3.53a.75.75 0 1 0 1.4-.56L10.7 4.47A.75.75 0 0 0 10 4Zm0 2.75 1.52 3.75H8.48L10 6.75Z\"]);\nexport const FontDecreaseRegular = /*#__PURE__*/createFluentIcon('FontDecreaseRegular', \"1em\", [\"M13.15 2.15c.2-.2.5-.2.7 0l1.65 1.64 1.65-1.64a.5.5 0 1 1 .7.7l-2 2a.5.5 0 0 1-.7 0l-2-2a.5.5 0 0 1 0-.7ZM10 4c.2 0 .39.12.46.31l4.5 11a.5.5 0 1 1-.92.38l-1.54-3.76V12h-5v-.07L5.96 15.7a.5.5 0 1 1-.92-.38l4.5-11A.5.5 0 0 1 10 4Zm-2.12 7h4.24L10 5.82 7.88 11Z\"]);\nexport const FontIncreaseFilled = /*#__PURE__*/createFluentIcon('FontIncreaseFilled', \"1em\", [\"M14.24 4.82a.75.75 0 0 1-.98-1.14l1.75-1.5c.28-.24.7-.24.98 0l1.75 1.5a.75.75 0 1 1-.98 1.14L15.5 3.74l-1.26 1.08ZM10 3.75c-.3 0-.58.18-.7.47l-4.5 11a.75.75 0 0 0 1.4.56l1.44-3.53h4.72l1.45 3.53a.75.75 0 1 0 1.38-.56l-4.5-11a.75.75 0 0 0-.69-.47Zm0 2.73 1.75 4.27h-3.5L10 6.48Z\"]);\nexport const FontIncreaseRegular = /*#__PURE__*/createFluentIcon('FontIncreaseRegular', \"1em\", [\"M13.85 4.85a.5.5 0 0 1-.7-.7l2-2c.2-.2.5-.2.7 0l2 2a.5.5 0 0 1-.7.7L15.5 3.21l-1.65 1.64ZM10 4a.5.5 0 0 0-.46.31l-4.5 11a.5.5 0 1 0 .92.38l1.54-3.76V12h5v-.07l1.54 3.76a.5.5 0 1 0 .92-.38l-4.5-11A.5.5 0 0 0 10 4Zm0 1.82L12.12 11H7.88L10 5.82Z\"]);\nexport const FontSpaceTrackingInFilled = /*#__PURE__*/createFluentIcon('FontSpaceTrackingInFilled', \"1em\", [\"M7.7 2.48a.75.75 0 0 0-1.4 0l-3.25 8.5a.75.75 0 0 0 1.4.53l.77-2.01h3.56l.77 2.01a.75.75 0 0 0 1.4-.53L7.7 2.48ZM8.2 8H5.8L7 4.85 8.2 8Zm-1.46 5.19a.75.75 0 1 0-.99 1.12l.5.44h-2.5a.75.75 0 0 0 0 1.5h2.5l-.5.44a.75.75 0 1 0 1 1.12l2-1.75a.75.75 0 0 0 0-1.13l-2-1.74ZM13 12c.31 0 .59-.2.7-.48l3.25-8.5a.75.75 0 1 0-1.4-.53L13 9.15 10.45 2.5a.75.75 0 0 0-1.4.53l3.25 8.5c.11.29.39.48.7.48Zm1.31 5.74a.75.75 0 0 1-1.05.07l-2-1.74a.75.75 0 0 1 0-1.13l2-1.75a.75.75 0 1 1 .98 1.12l-.5.44h2.51a.75.75 0 0 1 0 1.5h-2.5l.5.44c.3.27.34.74.06 1.05Z\"]);\nexport const FontSpaceTrackingInRegular = /*#__PURE__*/createFluentIcon('FontSpaceTrackingInRegular', \"1em\", [\"M13 12c.2 0 .38-.12.46-.32l3.5-9.02a.5.5 0 1 0-.93-.36L13 10.12 9.95 2.3a.5.5 0 1 0-.93.36l3.5 9.02c.08.2.27.32.47.32ZM7.46 2.3a.5.5 0 0 0-.93 0l-2.34 6v.03l-1.17 3a.5.5 0 1 0 .93.35L5.01 9h4l1.04 2.68a.5.5 0 1 0 .93-.36L9.83 8.37a.5.5 0 0 0-.04-.11L7.47 2.3ZM8.61 8H5.4L7 3.86 8.61 8ZM6.5 13.12a.5.5 0 1 0-.65.76L7.15 15H3.5a.5.5 0 0 0 0 1h3.65l-1.3 1.12a.5.5 0 1 0 .64.76l2.33-2a.5.5 0 0 0 0-.76l-2.33-2Zm7.72 4.7a.5.5 0 0 1-.7.06l-2.34-2a.5.5 0 0 1 0-.76l2.33-2a.5.5 0 1 1 .65.76L12.85 15h3.65a.5.5 0 1 1 0 1h-3.65l1.3 1.12c.21.18.24.5.06.7Z\"]);\nexport const FontSpaceTrackingOutFilled = /*#__PURE__*/createFluentIcon('FontSpaceTrackingOutFilled', \"1em\", [\"M6 2c.31 0 .59.2.7.48l3.25 8.5a.75.75 0 0 1-1.4.53L7.78 9.5H4.22l-.77 2.01a.75.75 0 0 1-1.4-.53l3.25-8.5A.75.75 0 0 1 6 2ZM4.8 8h2.4L6 4.85 4.8 8Zm9.88 5.26a.75.75 0 0 1 1.06-.07l2 1.74a.75.75 0 0 1 0 1.13l-2 1.75a.75.75 0 1 1-.99-1.12l.5-.44H4.75l.5.44a.75.75 0 1 1-1 1.12l-2-1.74a.75.75 0 0 1 0-1.13l2-1.75a.75.75 0 0 1 1 1.12l-.5.44h10.5l-.5-.44a.75.75 0 0 1-.07-1.05Zm.02-1.74a.75.75 0 0 1-1.4 0l-3.25-8.5a.75.75 0 1 1 1.4-.53L14 9.15l2.55-6.66a.75.75 0 1 1 1.4.53l-3.25 8.5Z\"]);\nexport const FontSpaceTrackingOutRegular = /*#__PURE__*/createFluentIcon('FontSpaceTrackingOutRegular', \"1em\", [\"M14.46 11.68a.5.5 0 0 1-.93 0l-3.51-9.02a.5.5 0 1 1 .93-.36l3.04 7.82 3.04-7.82a.5.5 0 0 1 .94.36l-3.51 9.02ZM6 1.98c.21 0 .4.13.47.32l2.32 5.96a.5.5 0 0 1 .04.11l1.15 2.95a.5.5 0 0 1-.93.36L8 9H4l-1.04 2.68a.5.5 0 0 1-.93-.36l1.17-3V8.3l2.34-6A.5.5 0 0 1 6 1.98ZM4.4 8H7.6l-1.6-4.14L4.4 8Zm10.39 5.18a.5.5 0 0 1 .7-.06l2.33 2a.5.5 0 0 1 0 .76l-2.33 2a.5.5 0 0 1-.65-.76l1.3-1.12H3.85l1.31 1.12a.5.5 0 1 1-.65.76l-2.33-2a.5.5 0 0 1 0-.76l2.33-2a.5.5 0 1 1 .65.76L3.85 15h12.3l-1.3-1.12a.5.5 0 0 1-.06-.7Z\"]);\nexport const FoodColor = /*#__PURE__*/createFluentIcon('FoodColor', \"1em\", [\"M15.5 2A4.5 4.5 0 0 0 11 6.5v2c0 .83.67 1.5 1.5 1.5h.45l-.03.36-.17 2.04c-.12 1.5-.25 3.16-.25 3.6a2 2 0 1 0 4 0c0-.44-.13-2.1-.25-3.6a528.07 528.07 0 0 0-.23-2.7L16 9.48V2.5a.5.5 0 0 0-.5-.5Z\", \"M4.5 2c.29 0 .51.23.51.5v4a.5.5 0 1 0 .99 0v-4a.5.5 0 0 1 1 0V6.53a.5.5 0 0 0 .99-.03v-4a.5.5 0 0 1 .5-.5h.02a.5.5 0 0 1 .49.42c0 .08.5 3.17.5 4.58a3 3 0 0 1-1.13 2.35c-.25.2-.37.41-.37.6v.5a318.17 318.17 0 0 1-3 0v-.5c0-.19-.12-.4-.37-.6A3 3 0 0 1 3.5 7c0-1.4.5-4.48.5-4.58A.5.5 0 0 1 4.5 2Z\"]);\nexport const FoodFilled = /*#__PURE__*/createFluentIcon('FoodFilled', \"1em\", [\"M4.5 2a.52.52 0 0 0-.18.04.5.5 0 0 0-.31.38C3.99 2.52 3.5 5.6 3.5 7a3 3 0 0 0 1.13 2.35c.25.2.37.41.37.6v.5a318.17 318.17 0 0 0 3 0v-.5c0-.19.12-.4.37-.6A3 3 0 0 0 9.5 7c0-1.4-.5-4.5-.5-4.58a.5.5 0 0 0-.36-.4C8.58 2 8.52 2 8.5 2h-.02a.5.5 0 0 0-.5.5v4a.5.5 0 0 1-.99.03V2.5a.5.5 0 0 0-1 0v4a.5.5 0 1 1-.99 0v-4a.5.5 0 0 0-.5-.5ZM11 6.5A4.5 4.5 0 0 1 15.5 2c.28 0 .5.22.5.5v6.98l.02.22a625.58 625.58 0 0 1 .23 2.7c.12 1.5.25 3.16.25 3.6a2 2 0 1 1-4 0c0-.44.13-2.1.25-3.6l.17-2.04.03-.36h-.45A1.5 1.5 0 0 1 11 8.5v-2ZM8.5 2Z\"]);\nexport const FoodRegular = /*#__PURE__*/createFluentIcon('FoodRegular', \"1em\", [\"M4.67 2a1.3 1.3 0 0 0-1.29 1.07C3.23 3.89 3 5.34 3 6.5a3.5 3.5 0 0 0 1.6 2.94c.27.17.4.4.4.6v.4a318.17 318.17 0 0 0 3 0v-.4c0-.2.13-.43.4-.6A3.5 3.5 0 0 0 10 6.5c0-1.16-.23-2.61-.38-3.43A1.3 1.3 0 0 0 8.32 2c-.33 0-.64.13-.87.34a1.5 1.5 0 0 0-1.9 0C5.32 2.13 5.01 2 4.67 2ZM6 3.5a.5.5 0 0 1 1 0v3a.5.5 0 0 0 1 0V3.33c0-.18.15-.33.33-.33.16 0 .28.1.3.25.15.81.37 2.19.37 3.25a2.5 2.5 0 0 1-1.14 2.1c-.44.28-.86.78-.86 1.44V10.6c.04.25.16 1.42.28 2.62.11 1.21.22 2.41.22 2.77a1 1 0 1 1-2 0c0-.36.1-1.56.22-2.77A318.23 318.23 0 0 1 6 10.45v-.41c0-.66-.42-1.16-.86-1.44A2.5 2.5 0 0 1 4 6.5c0-1.06.22-2.44.36-3.25A.3.3 0 0 1 4.67 3c.18 0 .33.15.33.33V6.5a.5.5 0 0 0 1 0v-3Zm5 3A4.5 4.5 0 0 1 15.5 2c.28 0 .5.22.5.5v6.98l.02.22a625.58 625.58 0 0 1 .23 2.7c.12 1.5.25 3.16.25 3.6a2 2 0 1 1-4 0c0-.44.13-2.1.25-3.6l.17-2.04.03-.36h-.45A1.5 1.5 0 0 1 11 8.5v-2Zm3 3.04-.02.25a1240.9 1240.9 0 0 0-.23 2.69A86.58 86.58 0 0 0 13.5 16a1 1 0 1 0 2 0c0-.39-.12-1.98-.25-3.52a565.06 565.06 0 0 0-.23-2.7L15 9.55a.5.5 0 0 1 0-.04V3.04c-1.7.24-3 1.7-3 3.46v2c0 .28.22.5.5.5h1a.5.5 0 0 1 .5.54Z\"]);\nexport const FoodAppleFilled = /*#__PURE__*/createFluentIcon('FoodAppleFilled', \"1em\", [\"M12.16 2.97a.5.5 0 1 0-.32-.94 3.18 3.18 0 0 0-1.86 1.9c-.05.11-.1.23-.13.34A4 4 0 0 0 6.2 2.14c-.58.01-1.04.48-1.06 1.06A3.99 3.99 0 0 0 6.3 6.14l.03.03A4 4 0 0 0 3.2 9.76v.07a8.5 8.5 0 0 0 1 4.75l.36.66a.5.5 0 0 0 .03.05l1 1.4a2.69 2.69 0 0 0 4.09.34.46.46 0 0 1 .64 0 2.69 2.69 0 0 0 4.09-.34l1-1.4a.51.51 0 0 0 .03-.05l.36-.66a8.5 8.5 0 0 0 1-4.75v-.07a4 4 0 0 0-4.64-3.63l-1.66.28c.01-.68.13-1.45.4-2.1.28-.67.7-1.15 1.26-1.34Zm-5.25 6c-.27.1-.54.27-.72.6-.18.36-.31.93-.2 1.87a.5.5 0 0 1-.99.12c-.13-1.06 0-1.86.31-2.45.32-.6.8-.93 1.28-1.08a.5.5 0 0 1 .32.94Z\"]);\nexport const FoodAppleRegular = /*#__PURE__*/createFluentIcon('FoodAppleRegular', \"1em\", [\"M7.22 8.34a.5.5 0 0 1-.31.63c-.28.1-.54.27-.72.6-.18.36-.31.93-.2 1.87a.5.5 0 0 1-.99.12c-.13-1.06 0-1.86.31-2.45.32-.6.8-.93 1.28-1.08a.5.5 0 0 1 .63.31Zm4.94-5.37a.5.5 0 1 0-.32-.94 3.18 3.18 0 0 0-1.86 1.9c-.05.11-.1.23-.13.34A4 4 0 0 0 6.2 2.14c-.58.01-1.04.48-1.06 1.06a3.99 3.99 0 0 0 1.2 2.97A4 4 0 0 0 3.2 9.76v.07a8.5 8.5 0 0 0 1 4.75l.36.66a.5.5 0 0 0 .03.05l1 1.4a2.69 2.69 0 0 0 4.09.34.46.46 0 0 1 .64 0 2.69 2.69 0 0 0 4.09-.34l1-1.4a.51.51 0 0 0 .03-.05l.36-.66a8.5 8.5 0 0 0 1-4.75v-.07a4 4 0 0 0-4.64-3.63l-1.66.28c.01-.68.13-1.45.4-2.1.28-.67.7-1.15 1.26-1.34ZM8.72 6.28l-.16-.03a2.98 2.98 0 0 1-2.42-3.02c0-.05.04-.09.09-.1a2.99 2.99 0 0 1 3.08 3.1c0 .04-.04.08-.09.08-.17 0-.33 0-.5-.03Zm-.33.96.17.03.78.13a4 4 0 0 0 1.32 0l1.66-.28a3 3 0 0 1 3.49 2.72v.07a7.5 7.5 0 0 1-.89 4.2l-.34.62-.99 1.38c-.6.85-1.82.95-2.56.21a1.46 1.46 0 0 0-2.06 0c-.74.74-1.96.64-2.56-.21l-.99-1.38-.34-.63a7.5 7.5 0 0 1-.9-4.19l.01-.07a3 3 0 0 1 3.49-2.72l.71.12Z\"]);\nexport const FoodCakeFilled = /*#__PURE__*/createFluentIcon('FoodCakeFilled', \"1em\", [\"M10 2c-.77 0-1.28.53-1.57 1.02-.3.5-.45 1.07-.47 1.44-.04.74.07 1.39.44 1.86.38.49.96.67 1.6.67.64 0 1.22-.2 1.6-.7.37-.47.49-1.11.44-1.83a3.56 3.56 0 0 0-.47-1.43C11.28 2.55 10.77 2 10 2ZM3 9.78l3.2 2.94a1 1 0 0 0 1.43-.07l.86-.98a2 2 0 0 1 3 0l.86.98a1 1 0 0 0 1.43.07l3.2-2.94A2 2 0 0 0 15 8H5a2 2 0 0 0-1.99 1.79ZM17 11.14l-2.54 2.33a2 2 0 0 1-2.85-.15l-.86-.97a1 1 0 0 0-1.5 0l-.86.97a2 2 0 0 1-2.85.15L3 11.14V16h-.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H17v-4.86Z\"]);\nexport const FoodCakeRegular = /*#__PURE__*/createFluentIcon('FoodCakeRegular', \"1em\", [\"M10 2c-.77 0-1.28.53-1.57 1.02-.3.5-.45 1.07-.47 1.44-.04.74.07 1.39.44 1.86.38.49.96.67 1.6.67.64 0 1.22-.2 1.6-.7.37-.47.49-1.11.44-1.83a3.56 3.56 0 0 0-.47-1.43C11.28 2.55 10.77 2 10 2ZM8.96 4.51c0-.2.11-.63.33-.99.22-.37.46-.54.7-.54.25 0 .5.17.72.55.21.37.32.8.33.98.04.6-.07.96-.23 1.16-.14.18-.38.31-.81.31-.45 0-.69-.12-.82-.3-.15-.18-.26-.54-.22-1.17ZM5 8a2 2 0 0 0-2 2v6h-.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H17v-6a2 2 0 0 0-2-2H5Zm11 8H4v-3.88l1.54 1.38a2 2 0 0 0 2.83-.16l.88-1a1 1 0 0 1 1.5 0l.88 1a2 2 0 0 0 2.83.16L16 12.12V16Zm0-5.22-2.21 1.97a1 1 0 0 1-1.42-.08l-.87-.99a2 2 0 0 0-3 0l-.87 1a1 1 0 0 1-1.42.07L4 10.78V10a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v.78Z\"]);\nexport const FoodCarrotFilled = /*#__PURE__*/createFluentIcon('FoodCarrotFilled', \"1em\", [\"M17.85 2.85a.5.5 0 0 0-.7-.7L14 5.29V2.5a.5.5 0 1 0-1 0v2.88a3.66 3.66 0 0 0-4.64 1.2l-6.09 8.95c-.42.63-.34 1.47.2 2 .55.55 1.42.62 2.05.18l8.93-6.18A3.57 3.57 0 0 0 14.63 7h2.87a.5.5 0 1 0 0-1h-2.8l3.15-3.15Z\"]);\nexport const FoodCarrotRegular = /*#__PURE__*/createFluentIcon('FoodCarrotRegular', \"1em\", [\"M17.85 2.85a.5.5 0 0 0-.7-.7L14 5.29V2.5a.5.5 0 0 0-1 0v2.88a3.66 3.66 0 0 0-4.64 1.2l-6.09 8.95c-.42.63-.34 1.47.2 2 .55.55 1.41.62 2.05.18l8.93-6.18A3.57 3.57 0 0 0 14.63 7h2.87a.5.5 0 0 0 0-1h-2.8l3.15-3.15ZM9.2 7.14a2.64 2.64 0 0 1 4.04-.39 2.58 2.58 0 0 1-.35 3.96L3.95 16.9a.6.6 0 0 1-.77-.07.59.59 0 0 1-.07-.75l6.08-8.94Z\"]);\nexport const FoodChickenLegFilled = /*#__PURE__*/createFluentIcon('FoodChickenLegFilled', \"1em\", [\"M18 7a5 5 0 0 0-9.93-.87c-.42 1.5-.83 2.29-1.04 2.63l-1.88 1.89a.5.5 0 0 0 .35.85h.39l-2 2a2 2 0 0 0-1.15 3.55c.08.06.15.13.2.21A2 2 0 0 0 6.5 16.1l2-2v.4a.5.5 0 0 0 .85.35l1.88-1.87c.34-.21 1.15-.63 2.7-1.07A4.97 4.97 0 0 0 18 7ZM7.3 11.5h1.2v1.19l-2.78 2.78a.75.75 0 0 0-.22.53 1 1 0 0 1-1.78.63c-.1-.13-.22-.25-.35-.35A1 1 0 0 1 4 14.5c.18 0 .37-.06.51-.21l2.8-2.79Z\"]);\nexport const FoodChickenLegRegular = /*#__PURE__*/createFluentIcon('FoodChickenLegRegular', \"1em\", [\"M18 7a5 5 0 0 0-9.93-.87c-.42 1.5-.83 2.29-1.04 2.63l-1.88 1.89a.5.5 0 0 0 .35.85h.39l-2 2a2 2 0 0 0-1.15 3.55c.08.06.15.13.2.21A2 2 0 0 0 6.5 16.1l2-2v.4a.5.5 0 0 0 .85.35l1.88-1.87c.34-.21 1.15-.63 2.7-1.07A4.97 4.97 0 0 0 18 7Zm-9.5 5.69-2.78 2.78a.75.75 0 0 0-.22.53 1 1 0 0 1-1.78.63c-.1-.13-.22-.25-.35-.35A1 1 0 0 1 4 14.5c.18 0 .37-.06.51-.21l2.8-2.79H8.5v1.19ZM13 3a4 4 0 0 1 1.37 7.76 11.6 11.6 0 0 0-3.8 1.47L9.49 13.3v-2.23a.5.5 0 0 0-.15-.35l-.06-.06a.5.5 0 0 0-.35-.15H6.71l1.07-1.07a11.53 11.53 0 0 0 1.28-3.1 3.97 3.97 0 0 1 .23-.82A4 4 0 0 1 13 3Z\"]);\nexport const FoodEggFilled = /*#__PURE__*/createFluentIcon('FoodEggFilled', \"1em\", [\"M10.47 9.6a.5.5 0 0 0 .14-.98 2.14 2.14 0 0 0-2.35 2.16.5.5 0 0 0 1 0c0-.8.7-1.24 1.2-1.17ZM3.99 7.14c-2.41 1.91-2.48 5.15-1.34 7.32a4.89 4.89 0 0 0 4.42 2.77c.54 0 .94-.01 1.24-.03.94-.03 1.11-.04 2.42.48a5.6 5.6 0 0 0 5.12-.47c1.39-.87 2.19-2.88 2.05-4.52-.08-.98 0-1.36.09-1.86.06-.33.13-.7.17-1.34a7.1 7.1 0 0 0-1.05-3.81 7.63 7.63 0 0 0-2.72-2.85 6.18 6.18 0 0 0-5.86-.15 7.15 7.15 0 0 0-3.07 3 5.1 5.1 0 0 1-1.47 1.46Zm10.91 3.33a4.5 4.5 0 1 1-8.99 0 4.5 4.5 0 0 1 8.99 0Z\"]);\nexport const FoodEggRegular = /*#__PURE__*/createFluentIcon('FoodEggRegular', \"1em\", [\"M10.06 9.58a.5.5 0 1 0 .14-1c-.94-.12-1.78.6-1.78 1.64a.5.5 0 0 0 1 0c0-.46.32-.68.64-.64Zm.35 5.38a4.5 4.5 0 1 0 0-8.99 4.5 4.5 0 0 0 0 9Zm0-1a3.5 3.5 0 1 1 0-6.99 3.5 3.5 0 0 1 0 7Zm1.22-11.89c1.04.07 2.02.38 2.72.83a7.6 7.6 0 0 1 2.7 2.83 7.1 7.1 0 0 1 1.05 3.82 9.84 9.84 0 0 1-.21 1.53c-.06.32-.1.66-.04 1.38.07.85-.1 1.78-.46 2.6a4.54 4.54 0 0 1-1.68 2.07 5.71 5.71 0 0 1-5.22.48c-.8-.33-1.08-.4-1.38-.42a6.7 6.7 0 0 0-.65 0c-.3.02-.67.03-1.18.03a5.05 5.05 0 0 1-4.56-2.84C1.59 12.2 1.62 8.9 4.1 6.94c.75-.6.98-.8 1.24-1.22.42-.7.82-1.25 1.3-1.73A7.7 7.7 0 0 1 8.4 2.74a5.9 5.9 0 0 1 3.23-.67Zm-.07 1c-.9-.06-1.85.1-2.68.55a6.7 6.7 0 0 0-1.53 1.09c-.4.39-.75.86-1.14 1.52-.37.6-.73.9-1.49 1.5-2 1.59-2.1 4.31-1.11 6.19a4.05 4.05 0 0 0 3.67 2.3l1.14-.02h.02c.27-.01.5-.02.73 0 .48.02.89.16 1.7.48 1.46.58 3 .41 4.31-.4.54-.34 1-.92 1.3-1.61.3-.7.43-1.46.38-2.13a5.82 5.82 0 0 1 .08-1.87c.06-.3.12-.63.16-1.19a6.12 6.12 0 0 0-.91-3.26 6.6 6.6 0 0 0-2.37-2.48 4.99 4.99 0 0 0-2.26-.67Z\"]);\nexport const FoodFishFilled = /*#__PURE__*/createFluentIcon('FoodFishFilled', \"1em\", [\"M8.63 3.7c-1.5 1.5-1.76 3.87-1.72 5.67a.4.4 0 0 1-.37.41c-1.52.1-3.39.41-4.92 1.23-.52.27-.7.8-.58 1.27.12.45.5.83 1.02.92.7.14 1.5.3 2.18.52.35.1.65.21.9.33.26.12.42.22.5.3.09.09.2.25.31.5.12.26.23.57.33.91.21.69.38 1.48.51 2.18.1.52.47.9.93 1.02.47.13 1-.06 1.27-.57.82-1.54 1.12-3.4 1.23-4.93a.4.4 0 0 1 .4-.37c1.8.05 4.19-.22 5.69-1.72.89-.9 1.33-2.08 1.54-3.25.2-1.17.17-2.37.08-3.32a3 3 0 0 0-2.73-2.73 12.7 12.7 0 0 0-3.32.08c-1.17.2-2.35.65-3.25 1.54Zm4.62.8a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5Z\"]);\nexport const FoodFishRegular = /*#__PURE__*/createFluentIcon('FoodFishRegular', \"1em\", [\"M7.91 9.35c-.04-1.76.24-3.76 1.43-4.95.7-.7 1.66-1.08 2.71-1.26a11.7 11.7 0 0 1 3.06-.07c.98.09 1.73.84 1.82 1.82.09.9.11 2-.07 3.06a4.97 4.97 0 0 1-1.26 2.71c-1.19 1.2-3.19 1.47-4.95 1.43a1.4 1.4 0 0 0-1.43 1.3c-.1 1.47-.4 3.17-1.11 4.52-.04.07-.07.08-.08.09a.1.1 0 0 1-.06 0c-.07-.02-.16-.1-.2-.25-.13-.7-.3-1.54-.53-2.28a8.35 8.35 0 0 0-.38-1.03c-.13-.3-.3-.58-.5-.8-.21-.2-.5-.36-.8-.5-.3-.14-.66-.27-1.03-.38-.74-.22-1.57-.4-2.28-.54-.16-.03-.23-.13-.25-.2a.1.1 0 0 1 0-.06c.01 0 .03-.04.09-.07a11.53 11.53 0 0 1 4.52-1.11 1.4 1.4 0 0 0 1.3-1.43Zm.72-5.66c-1.5 1.5-1.76 3.88-1.72 5.68a.4.4 0 0 1-.37.41c-1.52.1-3.39.41-4.92 1.23-.52.27-.7.8-.58 1.27.12.45.5.83 1.02.92.7.14 1.5.3 2.18.52.35.1.65.21.9.33.26.12.42.22.5.3.09.09.2.25.31.5.12.26.23.57.33.91.21.69.38 1.48.51 2.18.1.52.47.9.93 1.02.47.13 1-.06 1.27-.57.82-1.54 1.12-3.4 1.23-4.93a.4.4 0 0 1 .4-.37c1.8.05 4.19-.22 5.69-1.72.89-.9 1.33-2.08 1.54-3.25.2-1.17.17-2.37.08-3.32a3 3 0 0 0-2.73-2.73 12.7 12.7 0 0 0-3.32.08c-1.17.2-2.35.65-3.25 1.54Zm4.62.8a.75.75 0 1 1 0 1.51.75.75 0 0 1 0-1.5Z\"]);\nexport const FoodGrainsFilled = /*#__PURE__*/createFluentIcon('FoodGrainsFilled', \"1em\", [\"M10.43 2.21a.65.65 0 0 0-.86 0 5.72 5.72 0 0 0-1.92 4.35c0 .18.09.34.24.43A7.4 7.4 0 0 1 9.63 8.4a.5.5 0 0 0 .74 0 7.4 7.4 0 0 1 1.74-1.42.5.5 0 0 0 .24-.43c.02-1.59-.62-3.2-1.92-4.35Zm-7.41 10a.66.66 0 0 1 .6-.72A6.36 6.36 0 0 1 10 15.33a6.36 6.36 0 0 1 6.38-3.84c.36.03.64.35.6.72A6.37 6.37 0 0 1 10.64 18h-.46c-.07 0-.12 0-.18-.02a.66.66 0 0 1-.18.02h-.46a6.37 6.37 0 0 1-6.34-5.8ZM10 10.83a6.36 6.36 0 0 0-6.38-3.84.66.66 0 0 0-.6.72c.08.9.35 1.75.76 2.5a.5.5 0 0 0 .43.26c2.1.01 4.03.92 5.37 2.39.11.12.27.18.42.16a.5.5 0 0 0 .42-.16 7.36 7.36 0 0 1 5.36-2.4.5.5 0 0 0 .44-.25c.41-.75.68-1.6.76-2.5a.66.66 0 0 0-.6-.72A6.36 6.36 0 0 0 10 10.83Z\"]);\nexport const FoodGrainsRegular = /*#__PURE__*/createFluentIcon('FoodGrainsRegular', \"1em\", [\"M10.43 2.21a.65.65 0 0 0-.86 0 5.73 5.73 0 0 0-1.74 5.74 7.11 7.11 0 0 0-4.2-.96.66.66 0 0 0-.61.72 6.99 6.99 0 0 0 1.65 3.77c-.35-.02-.7-.02-1.05 0a.66.66 0 0 0-.6.73A6.37 6.37 0 0 0 9.36 18h1.28c3.3 0 6.04-2.51 6.34-5.8a.66.66 0 0 0-.6-.71c-.36-.03-.7-.03-1.05-.01a6.99 6.99 0 0 0 1.65-3.77.66.66 0 0 0-.6-.72 7.1 7.1 0 0 0-4.21.96c.52-2-.06-4.24-1.74-5.74ZM10 14.43a7.15 7.15 0 0 0-3.47-2.6 6.17 6.17 0 0 1-2.47-3.86c1.54-.05 3 .5 4.12 1.45.76.64.96 1.23 1.15 1.76l.22.54a.5.5 0 0 0 .9 0l.22-.54c.18-.53.4-1.12 1.15-1.76a6.12 6.12 0 0 1 4.12-1.45 6.17 6.17 0 0 1-2.5 3.9A7.15 7.15 0 0 0 10 14.42ZM9.36 17a5.37 5.37 0 0 1-5.3-4.53 6.13 6.13 0 0 1 5.5 3.13.5.5 0 0 0 .88 0 6.13 6.13 0 0 1 5.5-3.13 5.37 5.37 0 0 1-5.3 4.53H9.36ZM10 9.82a4.74 4.74 0 0 1 0-6.64 4.74 4.74 0 0 1 0 6.64Z\"]);\nexport const FoodPizzaFilled = /*#__PURE__*/createFluentIcon('FoodPizzaFilled', \"1em\", [\"M4 3.96c0-1.1.9-2.03 2.03-1.96 4.45.28 8.35 1.77 11.4 4.7.87.82.7 2.17-.2 2.86l-.25.19-.4-.44V9.3A16.37 16.37 0 0 0 4.88 4.5H4v-.55ZM4 5.5V16.5a1.5 1.5 0 0 0 2.4 1.2L8 16.5a1 1 0 0 0 2 0v-2a.5.5 0 0 1 1-.06V15a1 1 0 0 0 2 0v-2.24c.82-.6 2.09-1.56 3.19-2.4l-.33-.37A15.37 15.37 0 0 0 4.87 5.5H4Zm4.25 2.74a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.97 2a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm-2.96 2.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"]);\nexport const FoodPizzaRegular = /*#__PURE__*/createFluentIcon('FoodPizzaRegular', \"1em\", [\"M7.5 9a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm3.72 1.26a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM7.5 13.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM4 3.96c0-1.1.9-2.03 2.03-1.96 4.45.28 8.35 1.77 11.4 4.7.87.82.7 2.17-.2 2.86-1.24.95-3.12 2.4-4.23 3.2v1.74c0 .72-.55 1.5-1.5 1.5-.18 0-.34-.03-.5-.08v.09c0 .7-.55 1.49-1.5 1.49-.75 0-1.25-.5-1.42-1.05L6.4 17.7A1.5 1.5 0 0 1 4 16.5V3.96Zm7 10.54c0 .26.2.5.5.5s.5-.24.5-.5v-2a.5.5 0 0 1 .21-.4c.78-.56 2.1-1.57 3.28-2.47A15.43 15.43 0 0 0 5 5.51V16.5c0 .41.47.64.8.4l2.4-1.8a.5.5 0 0 1 .8.4v.5c0 .25.2.5.5.5a.5.5 0 0 0 .5-.5v-1.5a.5.5 0 0 1 1 0Zm5.62-5.73c.46-.36.5-1 .12-1.36-2.86-2.72-6.52-4.15-10.77-4.4a.93.93 0 0 0-.97.95v.55c4.33.04 8.4 1.7 11.3 4.5l.32-.24Z\"]);\nexport const FoodToastFilled = /*#__PURE__*/createFluentIcon('FoodToastFilled', \"1em\", [\"M6.78 7.45a.5.5 0 0 0-.5.5v4.1c0 .27.22.5.5.5h4.34a.5.5 0 0 0 .5-.5v-4.1a.5.5 0 0 0-.5-.5H6.78Zm.5 1h3.34v3.1H7.28v-3.1ZM5.45 2.5c-1.63 0-3 1.1-3.6 2.48-.6 1.33-.49 3 .81 4.22v5.98c0 .3-.01.87.28 1.36.36.6 1.08.96 2.26.96h10.18c.4 0 .78-.02 1.1-.07.3-.06.6-.17.85-.39.5-.43.59-1.13.59-1.95 0-.88-.04-1.92-.07-2.93a66.88 66.88 0 0 1-.07-2.97 4.68 4.68 0 0 0 1.28-3 3.73 3.73 0 0 0-3.68-3.69H5.45Zm7.38 1c.62 0 1.39.3 2 .82.6.51.99 1.18 1 1.85-.05.75-.21 1.24-.41 1.58-.16.27-.35.48-.56.69l-.16.15a13.81 13.81 0 0 0-.31.3l-.14.13v.2c-.04 1-.03 2.44-.02 3.84v.01l.01 2.02c0 .4-.02.7-.06.9-.04.2-.1.28-.14.32-.04.04-.12.1-.32.13a9.84 9.84 0 0 1-.89.06H5.2c-1 0-1.3-.29-1.4-.47-.14-.23-.14-.51-.14-.84V8.99a.5.5 0 0 0-.18-.39 2.65 2.65 0 0 1-.72-3.22 3.05 3.05 0 0 1 2.7-1.88h7.37Z\"]);\nexport const FoodToastRegular = /*#__PURE__*/createFluentIcon('FoodToastRegular', \"1em\", [\"M6.23 7.95c0-.27.22-.5.5-.5h4.34c.28 0 .5.23.5.5v4.1a.5.5 0 0 1-.5.5H6.73a.5.5 0 0 1-.5-.5v-4.1Zm1 3.6h3.34v-3.1H7.23v3.1ZM1.79 4.98A4.05 4.05 0 0 1 5.4 2.5h9.93A3.73 3.73 0 0 1 19 6.18c0 1.33-.76 2.46-1.28 3.01 0 .7.02 1.66.06 2.67v.3c.04 1 .08 2.05.08 2.93 0 .82-.1 1.52-.59 1.95-.24.22-.54.33-.86.39-.31.05-.68.07-1.1.07H5.16c-1.18 0-1.9-.35-2.26-.96a2.53 2.53 0 0 1-.28-1.45V9.2a3.64 3.64 0 0 1-.82-4.22ZM5.4 3.5c-1.16 0-2.21.8-2.7 1.88a2.65 2.65 0 0 0 .73 3.22c.12.1.18.24.18.38v6.21c0 .33 0 .6.14.84.1.18.4.47 1.4.47h7.63c.4 0 .68-.02.89-.06.2-.03.28-.09.32-.13.05-.04.1-.12.14-.32.04-.2.06-.5.06-.9v-2c-.02-1.42-.03-2.87 0-3.87a.5.5 0 0 1 .15-.34l.3-.3c.24-.21.44-.4.63-.68.25-.35.46-.86.5-1.73 0-.67-.39-1.34-1-1.85a3.28 3.28 0 0 0-1.99-.82H5.4Zm9.71 12.69-.08.31h.3c.4 0 .69-.02.9-.06.23-.04.33-.1.4-.15.12-.1.24-.36.24-1.2 0-.86-.04-1.89-.07-2.9l-.01-.3c-.04-1.1-.07-2.16-.05-2.92a.5.5 0 0 1 .15-.35 3.73 3.73 0 0 0 1.12-2.44 2.73 2.73 0 0 0-2.65-2.68l.06.06a3.52 3.52 0 0 1 1.35 2.62v.03a4.24 4.24 0 0 1-.67 2.26c-.26.38-.58.67-.84.91l-.07.07c-.02.97-.02 2.3 0 3.6v2.04c0 .42-.02.8-.08 1.1Z\"]);\nexport const FormFilled = /*#__PURE__*/createFluentIcon('FormFilled', \"1em\", [\"M6.5 10a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm.5 3.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm2.5-1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm1 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM8 13.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Zm1-4c0 .28.22.5.5.5h5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5Zm.5 3.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z\"]);\nexport const FormRegular = /*#__PURE__*/createFluentIcon('FormRegular', \"1em\", [\"M5.5 5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm1 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm0-1a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1ZM8 13.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Zm2-4c0-.28.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm.5 3.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6Z\"]);\nexport const FormMultipleFilled = /*#__PURE__*/createFluentIcon('FormMultipleFilled', \"1em\", [\"M6.5 11a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\", \"M6 3h6a3 3 0 0 1 3 3v6a2.99 2.99 0 0 1-3 3H6a2.99 2.99 0 0 1-3-3V6a3 3 0 0 1 3-3Zm-.5 3a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm1 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm3-2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z\", \"M5.76 16A3 3 0 0 0 8 17h4.5a4.5 4.5 0 0 0 4.5-4.5V8a3 3 0 0 0-1-2.24v6.74c0 .12 0 .24-.02.36A3.5 3.5 0 0 1 12.5 16H5.76Z\"]);\nexport const FormMultipleRegular = /*#__PURE__*/createFluentIcon('FormMultipleRegular', \"1em\", [\"M5.5 6a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Z\", \"M6.5 12a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm0-1a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z\", \"M9.5 10a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z\", \"M3 6a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H6Z\", \"M8 17a3 3 0 0 1-2.24-1h6.74a3.5 3.5 0 0 0 3.5-3.5V5.76A3 3 0 0 1 17 8v4.5a4.5 4.5 0 0 1-4.5 4.5H8Z\"]);\nexport const FormNewFilled = /*#__PURE__*/createFluentIcon('FormNewFilled', \"1em\", [\"M7 9.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM6.5 14a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v3.6c-.75-.38-1.6-.6-2.5-.6h-5a.5.5 0 0 0 0 1h1.84a5.5 5.5 0 0 0-1.74 7H6a3 3 0 0 1-3-3V6Zm2.5-1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm1 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM8 13.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Zm11 1a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const FormNewRegular = /*#__PURE__*/createFluentIcon('FormNewRegular', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h3.6c-.16-.32-.3-.65-.4-1H6a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v3.2c.35.1.68.24 1 .4V6a3 3 0 0 0-3-3H6Zm3.5 7h1.84c.9-.63 1.98-1 3.16-1h-5a.5.5 0 0 0 0 1Zm-4-5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm1 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm0-1a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm0 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm0-2a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const FormSparkleFilled = /*#__PURE__*/createFluentIcon('FormSparkleFilled', \"1em\", [\"m14.88.28.35 1.07a2.2 2.2 0 0 0 1.4 1.4l1.07.35h.02a.42.42 0 0 1 0 .8l-1.07.35a2.2 2.2 0 0 0-1.4 1.4l-.35 1.07a.42.42 0 0 1-.8 0l-.35-1.07a2.23 2.23 0 0 0-1.4-1.4l-1.07-.35a.42.42 0 0 1 0-.8l1.07-.35a2.2 2.2 0 0 0 1.38-1.4l.35-1.07a.42.42 0 0 1 .8 0Zm4.9 7.93-.76-.25a1.58 1.58 0 0 1-1-1l-.25-.76a.3.3 0 0 0-.57 0l-.25.77a1.58 1.58 0 0 1-.98 1l-.77.24a.3.3 0 0 0 0 .57l.77.25a1.58 1.58 0 0 1 1 1l.24.77a.3.3 0 0 0 .58 0l.24-.77a1.58 1.58 0 0 1 1-1l.77-.24a.3.3 0 0 0 0-.57h-.02ZM6.5 10a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm.5 3.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM6 3h4.1c-.06.16-.1.33-.1.5a1.42 1.42 0 0 0 1 1.34l.49.16H5.5a.5.5 0 0 0 0 1h7.33l.32 1c.09.26.25.49.46.66.13.1.28.17.44.21-.07.2-.09.42-.05.63 0 .17.03.34.1.5H9.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .43-.25l.73.23a.59.59 0 0 1 .36.37l.24.76a1.35 1.35 0 0 0 .74.79V14a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3Zm.5 8a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM8 13.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Zm1.5-.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z\"]);\nexport const FormSparkleRegular = /*#__PURE__*/createFluentIcon('FormSparkleRegular', \"1em\", [\"m14.88.28.35 1.07a2.2 2.2 0 0 0 1.4 1.4l1.07.35h.02a.42.42 0 0 1 0 .8l-1.07.35a2.2 2.2 0 0 0-1.4 1.4l-.35 1.07a.42.42 0 0 1-.8 0l-.35-1.07a2.23 2.23 0 0 0-1.4-1.4l-1.07-.35a.42.42 0 0 1 0-.8l1.07-.35a2.2 2.2 0 0 0 1.38-1.4l.35-1.07a.42.42 0 0 1 .8 0Zm4.9 7.93-.76-.25a1.58 1.58 0 0 1-1-1l-.25-.76a.3.3 0 0 0-.57 0l-.25.77a1.58 1.58 0 0 1-.98 1l-.77.24a.3.3 0 0 0 0 .57l.77.25a1.58 1.58 0 0 1 1 1l.24.77a.3.3 0 0 0 .58 0l.24-.77a1.58 1.58 0 0 1 1-1l.77-.24a.3.3 0 0 0 0-.57h-.02ZM6 3h4.1c-.06.16-.1.33-.1.5 0 .17.04.34.1.5H6a2 2 0 0 0-2 2v8c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-3.7l.02.05.24.76a1.35 1.35 0 0 0 .74.79V14a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3Zm-.5 2h5.99l.61.2a1 1 0 0 1 .4.23l.06.06c.11.1.2.24.26.38v.09l.01.04H5.5a.5.5 0 0 1 0-1Zm4 4h4.6a1.31 1.31 0 0 0 .77.73l.06.02a.5.5 0 0 1-.43.25h-5a.5.5 0 0 1 0-1Zm-3 2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm0-1a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1ZM8 13.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Zm2.5-.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z\"]);\nexport const Fps120Filled = /*#__PURE__*/createFluentIcon('Fps120Filled', \"1em\", [\"M5 2.75a.75.75 0 0 0-1.4-.39 1.71 1.71 0 0 1-.1.16l-.33.41c-.3.33-.72.68-1.2.87a.75.75 0 0 0 .56 1.4c.36-.15.69-.34.97-.55v4.6a.75.75 0 0 0 1.5 0v-6.5Zm8 1.75a2.5 2.5 0 1 1 5 0v3a2.5 2.5 0 0 1-5 0v-3Zm3.5 0a1 1 0 1 0-2 0v3a1 1 0 1 0 2 0v-3ZM3 12.5c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1H4v2h1.5a.5.5 0 0 1 0 1H4v1.5a.5.5 0 0 1-1 0v-5Zm5 0c0-.28.22-.5.5-.5H10a2 2 0 0 1 0 4H9v1.5a.5.5 0 0 1-1 0v-5ZM9 15h1a1 1 0 1 0 0-2H9v2Zm5.75-3a1.75 1.75 0 0 0 0 3.5h.5a.75.75 0 0 1 0 1.5h-.76a.49.49 0 0 1-.49-.49v-.01a.5.5 0 0 0-1 0v.01c0 .82.67 1.49 1.49 1.49h.76a1.75 1.75 0 1 0 0-3.5h-.5a.75.75 0 0 1 0-1.5h.76c.27 0 .49.22.49.49v.01a.5.5 0 1 0 1 0v-.01c0-.82-.67-1.49-1.49-1.49h-.76ZM7.99 4.37v.01a.75.75 0 0 1-1.48-.25c-.07.41 0 0 0 0a1.71 1.71 0 0 1 .1-.37A2.7 2.7 0 0 1 9.25 2c.96 0 1.73.38 2.22 1 .48.61.65 1.4.52 2.13-.14.81-.6 1.3-1.15 1.63a6.7 6.7 0 0 1-1.48.59c-.45.16-.76.33-.98.57-.11.13-.22.3-.3.58h3.17a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1-.75-.75c0-1.01.27-1.77.76-2.33.48-.53 1.09-.8 1.59-.98l.45-.16c.32-.1.56-.2.79-.32.24-.14.37-.3.42-.59a1.2 1.2 0 0 0-.22-.94c-.18-.23-.5-.43-1.04-.43-.62 0-.9.25-1.06.45a1.25 1.25 0 0 0-.2.43Z\"]);\nexport const Fps120Regular = /*#__PURE__*/createFluentIcon('Fps120Regular', \"1em\", [\"M4.5 10a.5.5 0 0 1-.5-.5V3.93c-.33.34-.75.7-1.24 1a.5.5 0 1 1-.52-.86 5.58 5.58 0 0 0 1.83-1.82.5.5 0 0 1 .93.26V9.5a.5.5 0 0 1-.5.5ZM12 4.5a2.5 2.5 0 0 1 5 0v3a2.5 2.5 0 0 1-5 0v-3Zm4 0a1.5 1.5 0 0 0-3 0v3a1.5 1.5 0 0 0 3 0v-3Zm-13 8c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1H4v2h1.5a.5.5 0 0 1 0 1H4v1.5a.5.5 0 0 1-1 0v-5Zm5 0c0-.28.22-.5.5-.5H10a2 2 0 1 1 0 4H9v1.5a.5.5 0 0 1-1 0v-5ZM9 15h1a1 1 0 1 0 0-2H9v2Zm5.75-3a1.75 1.75 0 1 0 0 3.5h.5a.75.75 0 0 1 0 1.5h-.76a.49.49 0 0 1-.49-.49v-.01a.5.5 0 0 0-1 0v.01c0 .82.67 1.49 1.49 1.49h.76a1.75 1.75 0 1 0 0-3.5h-.5a.75.75 0 0 1 0-1.5h.76c.27 0 .49.22.49.49v.01a.5.5 0 0 0 1 0v-.01c0-.82-.67-1.49-1.49-1.49h-.76ZM6.99 4.08a.5.5 0 0 1-.57.41C5.94 4.41 6 3.92 6 3.92v-.04a1.66 1.66 0 0 1 .09-.28c.06-.18.17-.41.34-.65A2.44 2.44 0 0 1 8.5 2c.86 0 1.59.3 2.05.88.46.58.59 1.36.44 2.2a2.12 2.12 0 0 1-1 1.49c-.34.21-.75.38-1.1.52l-.33.14c-.46.2-.84.4-1.1.72-.2.24-.36.56-.43 1.05h3.47a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5c0-.97.25-1.67.69-2.19.42-.5.98-.79 1.47-1l.43-.18c.33-.13.6-.25.85-.4.3-.2.5-.43.57-.81.11-.66-.01-1.13-.24-1.42-.23-.3-.63-.5-1.27-.5-.7 0-1.06.29-1.26.55a1.5 1.5 0 0 0-.25.53Z\"]);\nexport const Fps124Filled = /*#__PURE__*/createFluentIcon('Fps124Filled', \"1em\", [\"M5.26 3.03a1 1 0 0 1 .76.97v8a1 1 0 0 1-2 0V6.5l-.47.33a1 1 0 0 1-1.1-1.66 6.55 6.55 0 0 0 1.69-1.63v-.01a1 1 0 0 1 1.12-.5ZM18 3a3 3 0 0 0-3 3v4a3 3 0 0 0 6 0V6a3 3 0 0 0-3-3Zm-1 3a1 1 0 1 1 2 0v4a1 1 0 0 1-2 0V6ZM4 15.75c0-.41.34-.75.75-.75h3a.75.75 0 0 1 0 1.5H5.5V18h1.75a.75.75 0 0 1 0 1.5H5.5v1.73a.75.75 0 0 1-1.5 0v-5.48Zm6.25-.75a.75.75 0 0 0-.75.75v5.5a.75.75 0 0 0 1.5 0V19.5h.75a2.25 2.25 0 1 0 0-4.5h-1.5Zm1.5 3H11v-1.5h.75a.75.75 0 0 1 0 1.5Zm3.5-.88c0-1.17.95-2.12 2.13-2.12H18a2 2 0 0 1 2 2 .75.75 0 0 1-1.5 0 .5.5 0 0 0-.5-.5h-.63a.62.62 0 1 0 0 1.25h.5a2.13 2.13 0 0 1 0 4.25h-.62a2 2 0 0 1-2-2 .75.75 0 0 1 1.5 0c0 .28.22.5.5.5h.63a.62.62 0 1 0 0-1.25h-.5a2.13 2.13 0 0 1-2.13-2.13ZM8.13 6.19a1 1 0 0 0 1.29-.54l.03-.05c.04-.06.1-.14.2-.22.16-.16.49-.37 1.1-.37.42 0 .75.13.94.3.19.15.31.37.31.7 0 .55-.17.86-.42 1.12-.3.32-.73.56-1.33.9a6.9 6.9 0 0 0-1.8 1.33A3.82 3.82 0 0 0 7.5 12a1 1 0 0 0 1 1H13a1 1 0 1 0 0-2H9.72c.07-.12.15-.22.23-.32.3-.33.72-.6 1.3-.92l.1-.06c.51-.3 1.16-.66 1.67-1.19C13.6 7.9 14 7.1 14 6c0-.91-.38-1.7-1.01-2.23A3.44 3.44 0 0 0 10.75 3c-1.14 0-1.94.42-2.45.89a3.11 3.11 0 0 0-.73.99s-.2.52 0 0a1 1 0 0 0 .56 1.3Z\"]);\nexport const Fps124Regular = /*#__PURE__*/createFluentIcon('Fps124Regular', \"1em\", [\"M6 3.75a.75.75 0 0 0-1.36-.44l-.02.02a6.36 6.36 0 0 1-.18.25c-.13.16-.31.4-.54.64a7.3 7.3 0 0 1-1.54 1.39.75.75 0 0 0 .78 1.28c.48-.29.95-.7 1.36-1.1v6.46a.75.75 0 0 0 1.5 0v-8.5Zm3.49 1.64A.75.75 0 0 1 8 5.13V5.1A1.36 1.36 0 0 1 8.04 5l.08-.26c.08-.2.21-.46.43-.72A3.04 3.04 0 0 1 11 3a3 3 0 0 1 3 3c0 1.02-.36 1.78-.9 2.36-.47.52-1.09.9-1.6 1.23l-.1.06c-.58.36-1.04.67-1.37 1.06-.19.22-.34.47-.43.79h3.65a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75c0-1.07.35-1.88.88-2.5.5-.6 1.17-1.03 1.72-1.37l.03-.02c.58-.36 1.03-.65 1.36-1 .3-.34.51-.74.51-1.36 0-.83-.67-1.5-1.5-1.5-.78 0-1.13.28-1.3.48a1.12 1.12 0 0 0-.21.4ZM17.99 3A3 3 0 0 0 15 6v4a3 3 0 0 0 6 0V6a3 3 0 0 0-3-3ZM16.5 6a1.5 1.5 0 1 1 3 0v4a1.5 1.5 0 1 1-3 0V6ZM4 15.75c0-.41.34-.75.75-.75h3a.75.75 0 0 1 0 1.5H5.5V18h1.75a.75.75 0 0 1 0 1.5H5.5v1.73a.75.75 0 0 1-1.5 0v-5.48Zm6.25-.75a.75.75 0 0 0-.75.75v5.5a.75.75 0 0 0 1.5 0V19.5h.75a2.25 2.25 0 1 0 0-4.5h-1.5Zm1.5 3H11v-1.5h.75a.75.75 0 0 1 0 1.5Zm3.5-.88c0-1.17.95-2.12 2.13-2.12H18a2 2 0 0 1 2 2 .75.75 0 0 1-1.5 0 .5.5 0 0 0-.5-.5h-.63a.62.62 0 1 0 0 1.25h.5a2.13 2.13 0 0 1 0 4.25h-.62a2 2 0 0 1-2-2 .75.75 0 0 1 1.5 0c0 .28.22.5.5.5h.63a.62.62 0 1 0 0-1.25h-.5a2.13 2.13 0 0 1-2.13-2.13Z\"]);\nexport const Fps240Filled = /*#__PURE__*/createFluentIcon('Fps240Filled', \"1em\", [\"M2.99 4.38a.75.75 0 0 1-1.48-.25v-.05a1.92 1.92 0 0 1 .1-.32A2.7 2.7 0 0 1 4.25 2c.96 0 1.73.38 2.22 1 .48.61.65 1.4.52 2.13-.14.81-.6 1.3-1.15 1.63a6.71 6.71 0 0 1-1.48.59c-.45.16-.76.33-.98.57-.11.13-.22.3-.3.58h3.17a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1-.75-.75c0-1.01.27-1.77.76-2.33.48-.53 1.09-.8 1.59-.98l.45-.16c.32-.1.56-.2.79-.32.24-.14.37-.3.42-.59a1.2 1.2 0 0 0-.22-.94c-.18-.23-.5-.43-1.04-.43-.62 0-.9.25-1.06.45a1.25 1.25 0 0 0-.2.43Zm0 0Zm0 0ZM16.5 2A2.5 2.5 0 0 0 14 4.5v3a2.5 2.5 0 0 0 5 0v-3A2.5 2.5 0 0 0 16.5 2Zm1 5.5a1 1 0 1 1-2 0v-3a1 1 0 1 1 2 0v3ZM3.5 12a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1.5a.5.5 0 0 0 0-1H4v-2h2.5a.5.5 0 0 0 0-1h-3Zm5 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1a2 2 0 1 0 0-4H8.5Zm.5 3v-2h1a1 1 0 1 1 0 2H9Zm4-1.25c0-.97.78-1.75 1.75-1.75h.76c.82 0 1.49.67 1.49 1.49v.01a.5.5 0 0 1-1 0v-.01a.49.49 0 0 0-.49-.49h-.76a.75.75 0 0 0 0 1.5h.5a1.75 1.75 0 1 1 0 3.5h-.76c-.82 0-1.49-.67-1.49-1.49v-.01a.5.5 0 0 1 1 0v.01c0 .27.22.49.49.49h.76a.75.75 0 0 0 0-1.5h-.5c-.97 0-1.75-.78-1.75-1.75ZM8.75 2c.41 0 .75.34.75.75V5.5H11V2.75a.75.75 0 0 1 1.5 0V9.5a.75.75 0 0 1-1.5 0V7H8.75A.75.75 0 0 1 8 6.25v-3.5c0-.41.34-.75.75-.75ZM2.99 4.38Z\"]);\nexport const Fps240Regular = /*#__PURE__*/createFluentIcon('Fps240Regular', \"1em\", [\"M3 4.09v-.03l.04-.12c.04-.11.1-.25.2-.39.2-.26.55-.55 1.26-.55.64 0 1.04.2 1.27.5.23.3.35.76.24 1.42-.07.38-.26.61-.57.8-.24.16-.52.28-.85.41l-.43.18c-.5.21-1.05.5-1.47 1A3.27 3.27 0 0 0 2 9.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1H3.03c.07-.49.23-.81.43-1.05.26-.32.64-.52 1.1-.72.1-.05.2-.1.32-.14.36-.14.77-.3 1.1-.52.49-.31.89-.76 1.01-1.49.15-.84.02-1.62-.44-2.2C6.1 2.29 5.36 2 4.5 2a2.44 2.44 0 0 0-2.49 1.88v.03S2 4 2 3.92a.5.5 0 0 0 .98.18Zm10 .41a2.5 2.5 0 0 1 5 0v3a2.5 2.5 0 0 1-5 0v-3Zm4 3v-3a1.5 1.5 0 0 0-3 0v3a1.5 1.5 0 0 0 3 0Zm-14 5c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1H4v2h1.5a.5.5 0 0 1 0 1H4v1.5a.5.5 0 0 1-1 0v-5Zm5 0c0-.28.22-.5.5-.5H10a2 2 0 1 1 0 4H9v1.5a.5.5 0 0 1-1 0v-5ZM9 15h1a1 1 0 1 0 0-2H9v2Zm5.75-3a1.75 1.75 0 1 0 0 3.5h.5a.75.75 0 0 1 0 1.5h-.76a.49.49 0 0 1-.49-.49v-.01a.5.5 0 0 0-1 0v.01c0 .82.67 1.49 1.49 1.49h.76a1.75 1.75 0 1 0 0-3.5h-.5a.75.75 0 0 1 0-1.5h.76c.27 0 .49.22.49.49v.01a.5.5 0 0 0 1 0v-.01c0-.82-.67-1.49-1.49-1.49h-.76ZM9 2.5a.5.5 0 0 0-1 0v4a.5.5 0 0 0 .5.5H11v2.5a.5.5 0 0 0 1 0v-7a.5.5 0 0 0-1 0V6H9V2.5Z\"]);\nexport const Fps30Filled = /*#__PURE__*/createFluentIcon('Fps30Filled', \"1em\", [\"M12.5 2A2.5 2.5 0 0 0 10 4.5v3a2.5 2.5 0 0 0 5 0v-3A2.5 2.5 0 0 0 12.5 2Zm0 6.5a1 1 0 0 1-1-1v-3a1 1 0 1 1 2 0v3a1 1 0 0 1-1 1Zm-9 3.5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1.5a.5.5 0 0 0 0-1H4v-2h2.5a.5.5 0 0 0 0-1h-3Zm5 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1a2 2 0 1 0 0-4H8.5Zm1.5 3H9v-2h1a1 1 0 1 1 0 2Zm3-1.25c0-.97.78-1.75 1.75-1.75h.76c.82 0 1.49.67 1.49 1.49v.01a.5.5 0 0 1-1 0v-.01a.49.49 0 0 0-.49-.49h-.76a.75.75 0 0 0 0 1.5h.5a1.75 1.75 0 1 1 0 3.5h-.76c-.82 0-1.49-.67-1.49-1.49v-.01a.5.5 0 0 1 1 0v.01c0 .27.22.49.49.49h.76a.75.75 0 0 0 0-1.5h-.5c-.97 0-1.75-.78-1.75-1.75Zm-6.5-8.5c.63 0 1-.46 1-.88 0-.4-.37-.87-1-.87-.26 0-.48.08-.64.2-.2.15-.41.3-.65.3-.62 0-1.09-.58-.7-1.06A2.54 2.54 0 0 1 6.5 2C7.88 2 9 3.06 9 4.38a2.3 2.3 0 0 1-.66 1.6A2.37 2.37 0 0 1 6.62 10h-.25c-.78 0-1.47-.38-1.9-.96-.36-.48.1-1.04.7-1.04.25 0 .47.16.67.32.15.11.33.18.53.18h.25a.87.87 0 1 0 0-1.75H6.5a.75.75 0 0 1 0-1.5Z\"]);\nexport const Fps30Regular = /*#__PURE__*/createFluentIcon('Fps30Regular', \"1em\", [\"M12.5 2A2.5 2.5 0 0 0 10 4.5v3a2.5 2.5 0 0 0 5 0v-3A2.5 2.5 0 0 0 12.5 2Zm0 7A1.5 1.5 0 0 1 11 7.5v-3a1.5 1.5 0 0 1 3 0v3c0 .83-.67 1.5-1.5 1.5Zm-9 3a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1.5a.5.5 0 0 0 0-1H4v-2h2.5a.5.5 0 0 0 0-1h-3Zm5 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1a2 2 0 1 0 0-4H8.5Zm1.5 3H9v-2h1a1 1 0 1 1 0 2Zm3-1.25c0-.97.78-1.75 1.75-1.75h.76c.82 0 1.49.67 1.49 1.49v.01a.5.5 0 0 1-1 0v-.01a.49.49 0 0 0-.49-.49h-.76a.75.75 0 0 0 0 1.5h.5a1.75 1.75 0 1 1 0 3.5h-.76c-.82 0-1.49-.67-1.49-1.49v-.01a.5.5 0 0 1 1 0v.01c0 .27.22.49.49.49h.76a.75.75 0 0 0 0-1.5h-.5c-.97 0-1.75-.78-1.75-1.75ZM6.75 3h-.5c-.49 0-.91.28-1.12.69-.08.17-.24.31-.44.31-.36 0-.65-.32-.5-.65A2.25 2.25 0 0 1 6.25 2h.5a2.25 2.25 0 0 1 1.41 4 2.25 2.25 0 0 1-1.41 4h-.5c-.92 0-1.71-.55-2.06-1.35-.15-.33.14-.65.5-.65.2 0 .36.14.44.31.2.41.63.69 1.12.69h.5a1.25 1.25 0 0 0 0-2.5H6.5a.5.5 0 0 1 0-1h.25a1.25 1.25 0 0 0 0-2.5Z\"]);\nexport const Fps60Filled = /*#__PURE__*/createFluentIcon('Fps60Filled', \"1em\", [\"M6.5 2A2.5 2.5 0 0 0 4 4.5v3A2.5 2.5 0 1 0 6.5 5h-.1c-.32 0-.62.06-.9.17V4.5a1 1 0 0 1 1-1h.25c.41 0 .75.34.75.75a.75.75 0 0 0 1.5 0C9 3.01 8 2 6.75 2H6.5Zm-1 5.5v-.1c0-.5.4-.9.9-.9h.1a1 1 0 1 1-1 1Zm6-3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0v-3Zm1-2.5A2.5 2.5 0 0 0 10 4.5v3a2.5 2.5 0 0 0 5 0v-3A2.5 2.5 0 0 0 12.5 2Zm-9 10a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1.5a.5.5 0 0 0 0-1H4v-2h2.5a.5.5 0 0 0 0-1h-3Zm5 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1a2 2 0 1 0 0-4H8.5Zm1.5 3H9v-2h1a1 1 0 1 1 0 2Zm3-1.25c0-.97.78-1.75 1.75-1.75h.75c.83 0 1.5.67 1.5 1.5a.5.5 0 0 1-1 0 .5.5 0 0 0-.5-.5h-.75a.75.75 0 0 0 0 1.5h.5a1.75 1.75 0 1 1 0 3.5h-.75a1.5 1.5 0 0 1-1.5-1.5.5.5 0 0 1 1 0c0 .28.22.5.5.5h.75a.75.75 0 0 0 0-1.5h-.5c-.97 0-1.75-.78-1.75-1.75Z\"]);\nexport const Fps60Regular = /*#__PURE__*/createFluentIcon('Fps60Regular', \"1em\", [\"M12.5 2A2.5 2.5 0 0 0 10 4.5v3a2.5 2.5 0 0 0 5 0v-3A2.5 2.5 0 0 0 12.5 2Zm0 7A1.5 1.5 0 0 1 11 7.5v-3a1.5 1.5 0 0 1 3 0v3c0 .83-.67 1.5-1.5 1.5Zm-9 3a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1.5a.5.5 0 0 0 0-1H4v-2h2.5a.5.5 0 0 0 0-1h-3Zm5 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1a2 2 0 1 0 0-4H8.5Zm1.5 3H9v-2h1a1 1 0 1 1 0 2Zm3-1.25c0-.97.78-1.75 1.75-1.75h.76c.82 0 1.49.67 1.49 1.49v.01a.5.5 0 0 1-1 0v-.01a.49.49 0 0 0-.49-.49h-.76a.75.75 0 0 0 0 1.5h.5a1.75 1.75 0 1 1 0 3.5h-.76c-.82 0-1.49-.67-1.49-1.49v-.01a.5.5 0 0 1 1 0v.01c0 .27.22.49.49.49h.76a.75.75 0 0 0 0-1.5h-.5c-.97 0-1.75-.78-1.75-1.75ZM4 4.5v3a2.5 2.5 0 1 0 1-2v-1a1.5 1.5 0 1 1 3 0 .5.5 0 0 0 1 0 2.5 2.5 0 0 0-5 0ZM6.5 9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z\"]);\nexport const Fps960Filled = /*#__PURE__*/createFluentIcon('Fps960Filled', \"1em\", [\"M4.5 10A2.5 2.5 0 0 0 7 7.5v-3A2.5 2.5 0 1 0 4.5 7h.1c.32 0 .62-.06.9-.17v.67a1 1 0 0 1-1 1h-.25a.75.75 0 0 1-.75-.75.75.75 0 0 0-1.5 0C2 8.99 3 10 4.25 10h.25Zm1-5.5v.1c0 .5-.4.9-.9.9h-.1a1 1 0 1 1 1-1Zm5-2.5A2.5 2.5 0 0 0 8 4.5v3A2.5 2.5 0 1 0 10.5 5h-.1c-.32 0-.62.06-.9.17V4.5a1 1 0 0 1 1-1h.25c.41 0 .75.34.75.75a.75.75 0 0 0 1.5 0C13 3.01 12 2 10.75 2h-.25Zm-1 5.5v-.1c0-.5.4-.9.9-.9h.1a1 1 0 1 1-1 1Zm6-3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0v-3Zm1-2.5A2.5 2.5 0 0 0 14 4.5v3a2.5 2.5 0 0 0 5 0v-3A2.5 2.5 0 0 0 16.5 2Zm-13 10a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1.5a.5.5 0 0 0 0-1H4v-2h2.5a.5.5 0 0 0 0-1h-3Zm5 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1a2 2 0 1 0 0-4H8.5Zm2.5 2a1 1 0 0 1-1 1H9v-2h1a1 1 0 0 1 1 1Zm2-.25c0-.97.78-1.75 1.75-1.75h.75c.83 0 1.5.67 1.5 1.5a.5.5 0 0 1-1 0 .5.5 0 0 0-.5-.5h-.75a.75.75 0 0 0 0 1.5h.5a1.75 1.75 0 1 1 0 3.5h-.75a1.5 1.5 0 0 1-1.5-1.5.5.5 0 0 1 1 0c0 .28.22.5.5.5h.75a.75.75 0 0 0 0-1.5h-.5c-.97 0-1.75-.78-1.75-1.75Z\"]);\nexport const Fps960Regular = /*#__PURE__*/createFluentIcon('Fps960Regular', \"1em\", [\"M7 7.5a2.5 2.5 0 0 1-5 0 .5.5 0 0 1 1 0 1.5 1.5 0 1 0 3 0v-1a2.5 2.5 0 1 1 1-2v3Zm-1-3a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0ZM10.5 2A2.5 2.5 0 0 0 8 4.5v3a2.5 2.5 0 1 0 1-2v-1a1.5 1.5 0 1 1 3 0 .5.5 0 0 0 1 0A2.5 2.5 0 0 0 10.5 2Zm0 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm6-6c-.83 0-1.5.67-1.5 1.5v3a1.5 1.5 0 0 0 3 0v-3c0-.83-.67-1.5-1.5-1.5ZM14 4.5a2.5 2.5 0 0 1 5 0v3a2.5 2.5 0 0 1-5 0v-3ZM3.5 12a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1.5a.5.5 0 0 0 0-1H4v-2h2.5a.5.5 0 0 0 0-1h-3Zm5 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V16h1a2 2 0 1 0 0-4H8.5Zm1.5 3H9v-2h1a1 1 0 1 1 0 2Zm3-1.25c0-.97.78-1.75 1.75-1.75h.75c.83 0 1.5.67 1.5 1.5a.5.5 0 0 1-1 0 .5.5 0 0 0-.5-.5h-.75a.75.75 0 0 0 0 1.5h.5a1.75 1.75 0 1 1 0 3.5h-.75a1.5 1.5 0 0 1-1.5-1.5.5.5 0 0 1 1 0c0 .28.22.5.5.5h.75a.75.75 0 0 0 0-1.5h-.5c-.97 0-1.75-.78-1.75-1.75Z\"]);\nexport const FrameFilled = /*#__PURE__*/createFluentIcon('FrameFilled', \"1em\", [\"M4.5 2c.28 0 .5.22.5.5V4h10V2.5a.5.5 0 0 1 1 0V4h1.5a.5.5 0 0 1 0 1H16v10h1.5a.5.5 0 0 1 0 1H16v1.5a.5.5 0 0 1-1 0V16H5v1.5a.5.5 0 0 1-1 0V16H2.5a.5.5 0 0 1 0-1H4V5H2.5a.5.5 0 0 1 0-1H4V2.5c0-.28.22-.5.5-.5Z\"]);\nexport const FrameRegular = /*#__PURE__*/createFluentIcon('FrameRegular', \"1em\", [\"M5 2.5a.5.5 0 0 0-1 0V4H2.5a.5.5 0 0 0 0 1H4v10H2.5a.5.5 0 0 0 0 1H4v1.5a.5.5 0 0 0 1 0V16h10v1.5a.5.5 0 0 0 1 0V16h1.5a.5.5 0 0 0 0-1H16V5h1.5a.5.5 0 0 0 0-1H16V2.5a.5.5 0 0 0-1 0V4H5V2.5ZM15 5v10H5V5h10Z\"]);\nexport const FullScreenMaximizeFilled = /*#__PURE__*/createFluentIcon('FullScreenMaximizeFilled', \"1em\", [\"M3 5.25C3 4.01 4 3 5.25 3h1.87a.75.75 0 1 1 0 1.5H5.25a.75.75 0 0 0-.75.75v1.87a.75.75 0 1 1-1.5 0V5.25Zm9.13-1.5c0-.41.34-.75.75-.75h1.87C15.99 3 17 4 17 5.25v1.87a.75.75 0 0 1-1.5 0V5.25a.75.75 0 0 0-.75-.75h-1.87a.75.75 0 0 1-.75-.75Zm-8.38 8.38c.41 0 .75.34.75.75v1.87c0 .41.34.75.75.75h1.87a.75.75 0 0 1 0 1.5H5.25C4.01 17 3 16 3 14.75v-1.87c0-.41.34-.75.75-.75Zm12.5 0c.41 0 .75.34.75.75v1.87c0 1.24-1 2.25-2.25 2.25h-1.87a.75.75 0 0 1 0-1.5h1.87c.41 0 .75-.34.75-.75v-1.87c0-.41.34-.75.75-.75Z\"]);\nexport const FullScreenMaximizeRegular = /*#__PURE__*/createFluentIcon('FullScreenMaximizeRegular', \"1em\", [\"M3 5c0-1.1.9-2 2-2h2a.5.5 0 0 1 0 1H5a1 1 0 0 0-1 1v2a.5.5 0 0 1-1 0V5Zm9.5-1.5c0-.28.22-.5.5-.5h2a2 2 0 0 1 2 2v2a.5.5 0 0 1-1 0V5a1 1 0 0 0-1-1h-2a.5.5 0 0 1-.5-.5Zm-9 9c.28 0 .5.22.5.5v2a1 1 0 0 0 1 1h2a.5.5 0 0 1 0 1H5a2 2 0 0 1-2-2v-2c0-.28.22-.5.5-.5Zm13 0c.28 0 .5.22.5.5v2a2 2 0 0 1-2 2h-2a.5.5 0 0 1 0-1h2a1 1 0 0 0 1-1v-2c0-.28.22-.5.5-.5Z\"]);\nexport const FullScreenMinimizeFilled = /*#__PURE__*/createFluentIcon('FullScreenMinimizeFilled', \"1em\", [\"M15 5.5a.5.5 0 0 1-.5-.5V2.75a.75.75 0 0 0-1.5 0V5c0 1.1.9 2 2 2h2.25a.75.75 0 0 0 0-1.5H15ZM5.5 15a.5.5 0 0 0-.5-.5H2.75a.75.75 0 0 1 0-1.5H5a2 2 0 0 1 2 2v2.25a.75.75 0 0 1-1.5 0V15Zm9 0c0-.28.22-.5.5-.5h2.25a.75.75 0 0 0 0-1.5H15a2 2 0 0 0-2 2v2.25a.75.75 0 0 0 1.5 0V15Zm-9-10a.5.5 0 0 1-.5.5H2.75a.75.75 0 0 0 0 1.5H5a2 2 0 0 0 2-2V2.75a.75.75 0 0 0-1.5 0V5Z\"]);\nexport const FullScreenMinimizeRegular = /*#__PURE__*/createFluentIcon('FullScreenMinimizeRegular', \"1em\", [\"M14 5a1 1 0 0 0 1 1h2a.5.5 0 0 1 0 1h-2a2 2 0 0 1-2-2V3a.5.5 0 0 1 1 0v2ZM6 15a1 1 0 0 0-1-1H3a.5.5 0 0 1 0-1h2a2 2 0 0 1 2 2v2a.5.5 0 0 1-1 0v-2Zm8 0a1 1 0 0 1 1-1h2a.5.5 0 0 0 0-1h-2a2 2 0 0 0-2 2v2a.5.5 0 0 0 1 0v-2ZM5 6a1 1 0 0 0 1-1V3a.5.5 0 0 1 1 0v2a2 2 0 0 1-2 2H3a.5.5 0 0 1 0-1h2Z\"]);\nexport const GameChatColor = /*#__PURE__*/createFluentIcon('GameChatColor', \"1em\", [\"M8 1a6 6 0 0 0-5.27 8.87l-.71 2.5a.5.5 0 0 0 .64.6L5 12.2A6 6 0 1 0 8 1Z\", \"M8 1a6 6 0 0 0-5.27 8.87l-.71 2.5a.5.5 0 0 0 .64.6L5 12.2A6 6 0 1 0 8 1Z\", \"M6.5 5.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z\", \"M6 8c0-.28.22-.5.5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 6 8Z\", \"M13.93 10.21c.3-.18.67-.25 1.02-.19l.77.13a2 2 0 0 1 1.47 1.12l1.2 2.52c.56 1.2.69 2.19.57 3a3.5 3.5 0 0 1-.82 1.8c-.27.32-.65.45-1.01.4a1.4 1.4 0 0 1-.9-.49l-.82-.97a1.5 1.5 0 0 0-1.15-.53h-3.52c-.44 0-.86.2-1.15.53l-.82.97a1.4 1.4 0 0 1-.9.5c-.36.04-.74-.09-1-.4a3.5 3.5 0 0 1-.83-1.8c-.12-.82 0-1.82.57-3l1.2-2.53a2 2 0 0 1 1.47-1.12l.77-.13c.35-.06.72 0 1.02.2l.13.07c.23.14.5.21.77.21h1.06c.27 0 .54-.07.77-.21l.13-.08Z\", \"M13.25 13.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"]);\nexport const GameChatFilled = /*#__PURE__*/createFluentIcon('GameChatFilled', \"1em\", [\"M2 7a6 6 0 1 1 11.55 2.27l-.14.08-.12.08a.5.5 0 0 1-.26.07h-1.06a.5.5 0 0 1-.26-.07l-.12-.08a2.5 2.5 0 0 0-1.71-.32l-.77.14a3 3 0 0 0-2.2 1.67l-.87 1.83A5.98 5.98 0 0 1 5 12.2l-2.34.77a.5.5 0 0 1-.64-.6l.71-2.5A5.98 5.98 0 0 1 2 7Zm4-1c0 .28.22.5.5.5h3a.5.5 0 0 0 0-1h-3A.5.5 0 0 0 6 6Zm.5 1.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm8.45 2.52a1.5 1.5 0 0 0-1.02.2l-.13.07c-.23.14-.5.21-.77.21h-1.06a1.5 1.5 0 0 1-.77-.21l-.13-.08a1.5 1.5 0 0 0-1.02-.19l-.77.13a2 2 0 0 0-1.47 1.12l-1.2 2.52a5.23 5.23 0 0 0-.57 3c.12.82.48 1.41.82 1.8.27.32.65.45 1.01.4.35-.03.67-.22.9-.49l.82-.97c.29-.34.7-.53 1.15-.53h3.52c.44 0 .86.2 1.15.53l.82.97c.23.27.55.46.9.5.36.04.74-.09 1-.4.35-.4.71-.99.83-1.8.12-.82 0-1.82-.57-3l-1.2-2.53a2 2 0 0 0-1.47-1.12l-.77-.13ZM12.5 14a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Z\"]);\nexport const GameChatRegular = /*#__PURE__*/createFluentIcon('GameChatRegular', \"1em\", [\"M6.5 5.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM6 8c0-.28.22-.5.5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 6 8ZM2 7a6 6 0 1 1 11.55 2.27l-.14.08-.12.08a.5.5 0 0 1-.26.07h-.7a5 5 0 1 0-8.63.05.5.5 0 0 1 .05.4l-.5 1.78 1.65-.56a.5.5 0 0 1 .43.06c.35.22.73.4 1.14.53l-.43.91A5.98 5.98 0 0 1 5 12.2l-2.34.77a.5.5 0 0 1-.64-.6l.71-2.5A5.98 5.98 0 0 1 2 7Zm11.25 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm.68-3.04c.3-.18.67-.25 1.02-.19l.77.13a2 2 0 0 1 1.47 1.12l1.2 2.52c.56 1.2.69 2.19.57 3a3.5 3.5 0 0 1-.82 1.8c-.27.32-.65.45-1.01.4a1.4 1.4 0 0 1-.9-.49l-.82-.97a1.5 1.5 0 0 0-1.15-.53h-3.52c-.44 0-.86.2-1.15.53l-.82.97a1.4 1.4 0 0 1-.9.5c-.36.04-.74-.09-1-.4-.35-.4-.71-.99-.83-1.8-.12-.82 0-1.82.57-3l1.2-2.53a2 2 0 0 1 1.47-1.12l.77-.13c.35-.06.72 0 1.02.2l.13.07c.23.14.5.21.77.21h1.06c.27 0 .54-.07.77-.21l.13-.08Zm.85.8a.5.5 0 0 0-.34.06l-.13.07a2.5 2.5 0 0 1-1.28.36h-1.06c-.45 0-.9-.12-1.28-.36l-.13-.07a.5.5 0 0 0-.34-.06l-.77.13a1 1 0 0 0-.74.56l-1.2 2.52a4.25 4.25 0 0 0-.48 2.43c.09.6.34 1.01.59 1.3.04.04.08.06.14.05a.4.4 0 0 0 .25-.14l.82-.97a2.5 2.5 0 0 1 1.9-.89h3.53c.74 0 1.44.32 1.91.89l.82.97c.08.1.18.13.25.14.06 0 .1 0 .14-.05.25-.29.5-.7.59-1.3.09-.59 0-1.39-.48-2.43l-1.2-2.52a1 1 0 0 0-.74-.56l-.77-.13Z\"]);\nexport const GamesFilled = /*#__PURE__*/createFluentIcon('GamesFilled', \"1em\", [\"M7.5 4a5.5 5.5 0 1 0 0 11h5a5.5 5.5 0 1 0 0-11h-5ZM6 7.5a.5.5 0 0 1 1 0V9h1.5a.5.5 0 0 1 0 1H7v1.5a.5.5 0 0 1-1 0V10H4.5a.5.5 0 0 1 0-1H6V7.5Zm9 .5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-3 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const GamesRegular = /*#__PURE__*/createFluentIcon('GamesRegular', \"1em\", [\"M6 7.5a.5.5 0 0 1 1 0V9h1.5a.5.5 0 0 1 0 1H7v1.5a.5.5 0 0 1-1 0V10H4.5a.5.5 0 0 1 0-1H6V7.5Zm9 .5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-3 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM2 9.5A5.5 5.5 0 0 1 7.5 4h5a5.5 5.5 0 1 1 0 11h-5A5.5 5.5 0 0 1 2 9.5ZM7.5 5a4.5 4.5 0 0 0 0 9h5a4.5 4.5 0 1 0 0-9h-5Z\"]);\nexport const GanttChartFilled = /*#__PURE__*/createFluentIcon('GanttChartFilled', \"1em\", [\"M2 6.5A2.5 2.5 0 0 1 4.5 4H7v2H4.5a1.5 1.5 0 1 0 0 3H7v7H4.5A2.5 2.5 0 0 1 2 13.5v-7ZM8 16V9.5c0 .83.67 1.5 1.5 1.5H11v.5c0 .65.42 1.2 1 1.41V16H8Zm2-8h2V4H8v2h.5c.83 0 1.5.67 1.5 1.5V8Zm5.5 5H13v3h2.5a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 15.5 4H13v4h.5c.83 0 1.5.67 1.5 1.5v.5h.5a1.5 1.5 0 0 1 0 3Zm-11-6a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4ZM9 9.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm3.5 1.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z\"]);\nexport const GanttChartRegular = /*#__PURE__*/createFluentIcon('GanttChartRegular', \"1em\", [\"M4.5 7a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4ZM9 9.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm3.5 1.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm-8-7A2.5 2.5 0 0 0 2 6.5v7A2.5 2.5 0 0 0 4.5 16h11a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 15.5 4h-11ZM3 6.5C3 5.67 3.67 5 4.5 5H7v1h1V5h4v3h1V5h2.5c.83 0 1.5.67 1.5 1.5v7c0 .83-.67 1.5-1.5 1.5H13v-2h-1v2H8V9H7v6H4.5A1.5 1.5 0 0 1 3 13.5v-7Z\"]);\nexport const GasFilled = /*#__PURE__*/createFluentIcon('GasFilled', \"1em\", [\"M11.08 2.22A.5.5 0 0 1 11.5 2h3c.28 0 .5.22.5.5v3c.6.46 1 1.18 1 2v7a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 4 14.5v-7A2.5 2.5 0 0 1 6.5 5h.41c-.2-.58-.76-1-1.41-1h-1a.5.5 0 0 1 0-1h1c1.2 0 2.22.86 2.45 2h1.28l1.85-2.78ZM14 3h-2.23l-1.34 2h3.07c.17 0 .34.02.5.05V3Zm-1.15 5.15a.5.5 0 0 0-.7 0L10 10.29 7.85 8.15a.5.5 0 1 0-.7.7L9.29 11l-2.14 2.15a.5.5 0 0 0 .7.7L10 11.71l2.15 2.14a.5.5 0 0 0 .7-.7L10.71 11l2.14-2.15a.5.5 0 0 0 0-.7Z\"]);\nexport const GasRegular = /*#__PURE__*/createFluentIcon('GasRegular', \"1em\", [\"M11.08 2.22A.5.5 0 0 1 11.5 2h3c.28 0 .5.22.5.5v3c.6.46 1 1.18 1 2v7a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 4 14.5v-7A2.5 2.5 0 0 1 6.5 5h.41c-.2-.58-.76-1-1.41-1h-1a.5.5 0 0 1 0-1h1c1.2 0 2.22.86 2.45 2h1.28l1.85-2.78ZM14 3h-2.23l-1.34 2h3.07c.17 0 .34.02.5.05V3ZM6.5 6C5.67 6 5 6.67 5 7.5v7c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5h-7Zm6.35 2.15c.2.2.2.5 0 .7L10.71 11l2.14 2.15a.5.5 0 0 1-.7.7L10 11.71l-2.15 2.14a.5.5 0 0 1-.7-.7L9.29 11 7.15 8.85a.5.5 0 1 1 .7-.7L10 10.29l2.15-2.14c.2-.2.5-.2.7 0Z\"]);\nexport const GasPumpFilled = /*#__PURE__*/createFluentIcon('GasPumpFilled', \"1em\", [\"M4 17V4.5A2.5 2.5 0 0 1 6.5 2h5A2.5 2.5 0 0 1 14 4.5v9a1.5 1.5 0 0 0 3 0V9.17c0-.33-.1-.64-.3-.9L15.6 6.8a.5.5 0 0 1 .8-.6l1.1 1.47c.32.43.5.96.5 1.5v4.33a2.5 2.5 0 0 1-4 2V17h.5a.5.5 0 0 1 0 1h-11a.5.5 0 0 1 0-1H4ZM6.5 4a.5.5 0 0 0-.5.5v3c0 .28.22.5.5.5h5a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-5Z\"]);\nexport const GasPumpRegular = /*#__PURE__*/createFluentIcon('GasPumpRegular', \"1em\", [\"M5 4.5V17h8V4.5c0-.83-.67-1.5-1.5-1.5h-5C5.67 3 5 3.67 5 4.5Zm9 11V17h.5a.5.5 0 0 1 0 1h-11a.5.5 0 0 1 0-1H4V4.5A2.5 2.5 0 0 1 6.5 2h5A2.5 2.5 0 0 1 14 4.5v9a1.5 1.5 0 0 0 3 0V9.17c0-.33-.1-.64-.3-.9L15.6 6.8a.5.5 0 0 1 .8-.6l1.1 1.47c.32.43.5.96.5 1.5v4.33a2.5 2.5 0 0 1-4 2Zm-8-11v4c0 .28.22.5.5.5h5a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5ZM7 5h4v3H7V5Z\"]);\nexport const GatherFilled = /*#__PURE__*/createFluentIcon('GatherFilled', \"1em\", [\"M6 8v4H2V8h4Zm-3.85 8.85A.5.5 0 0 1 2 16.5V13h4v2a2 2 0 0 1-2 2H2.5a.5.5 0 0 1-.35-.15ZM2.5 3H4a2 2 0 0 1 2 2v2H2V3.5a.5.5 0 0 1 .5-.5ZM18 6.5V10h-4V8a2 2 0 0 1 2-2h1.5a.5.5 0 0 1 .5.5Zm0 8V11h-4v2a2 2 0 0 0 2 2h1.5a.5.5 0 0 0 .5-.5Zm-7.85-3.35a.5.5 0 1 0 .7.7l1.5-1.5a.5.5 0 0 0 0-.7l-1.5-1.5a.5.5 0 1 0-.7.7l.64.65H8a.5.5 0 1 0 0 1h2.8l-.65.65Z\"]);\nexport const GatherRegular = /*#__PURE__*/createFluentIcon('GatherRegular', \"1em\", [\"M6 15V5a2 2 0 0 0-2-2H2.5a.5.5 0 1 0 0 1H4a1 1 0 0 1 1 1v2H2.5a.5.5 0 1 0 0 1H5v4H2.5a.5.5 0 0 0 0 1H5v2a1 1 0 0 1-1 1H2.5a.5.5 0 0 0 0 1H4a2 2 0 0 0 2-2Zm11.85-4.15a.5.5 0 0 1-.35.15H15v2a1 1 0 0 0 1 1h1.5a.5.5 0 0 1 0 1H16a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h1.5a.5.5 0 0 1 0 1H16a1 1 0 0 0-1 1v2h2.5a.5.5 0 0 1 .35.85ZM10 11.5a.5.5 0 0 1 .15-.35l.64-.65H8a.5.5 0 0 1 0-1h2.8l-.65-.65a.5.5 0 1 1 .7-.7l1.5 1.5a.5.5 0 0 1 0 .7l-1.5 1.5a.5.5 0 0 1-.85-.35Z\"]);\nexport const GaugeFilled = /*#__PURE__*/createFluentIcon('GaugeFilled', \"1em\", [\"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm1.82-12.66a5 5 0 0 0-5.36 8.2.5.5 0 0 1-.7.7 6 6 0 0 1 6.42-9.83.5.5 0 0 1-.36.93Zm3.77 2.48a6 6 0 0 1-1.35 6.42.5.5 0 1 1-.7-.7 5 5 0 0 0 1.12-5.36.5.5 0 0 1 .93-.36Zm-1.5-2a.5.5 0 0 1 .1.62l-.1.2a323.59 323.59 0 0 1-.69 1.2l-.23.4-.3.53a184.46 184.46 0 0 1-1.48 2.48 4.28 4.28 0 0 1-.16.23 1.5 1.5 0 1 1-2.28-1.95c.07-.09.2-.2.34-.33l.56-.48a125.12 125.12 0 0 1 2.96-2.4l.27-.22.37-.3a.5.5 0 0 1 .64.02Z\"]);\nexport const GaugeRegular = /*#__PURE__*/createFluentIcon('GaugeRegular', \"1em\", [\"M12.47 5.06a.5.5 0 0 1-.65.28 5 5 0 0 0-5.36 8.2.5.5 0 1 1-.7.7 6 6 0 0 1 6.42-9.83c.26.1.39.39.29.65Zm2.47 2.47a.5.5 0 0 1 .65.29 6 6 0 0 1-1.35 6.42.5.5 0 1 1-.7-.7 5 5 0 0 0 1.12-5.36.5.5 0 0 1 .28-.65Zm-.85-1.71a.5.5 0 0 0-.64-.01l-.18.14A335.17 335.17 0 0 0 9.3 9.2c-.14.12-.27.24-.34.33a1.5 1.5 0 1 0 2.28 1.95l.27-.4.38-.62a123.47 123.47 0 0 0 2.2-3.82l.12-.2a.5.5 0 0 0-.11-.62ZM10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm0-1a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z\"]);\nexport const GaugeAddFilled = /*#__PURE__*/createFluentIcon('GaugeAddFilled', \"1em\", [\"M10 18a8 8 0 1 0-8-7.75c.6-.48 1.3-.85 2.05-1.06a6 6 0 0 1 8.13-4.78.5.5 0 0 1-.36.93A5 5 0 0 0 5.1 9.01a5.58 5.58 0 0 1 3.57 1c.06-.17.15-.34.28-.48.07-.09.2-.2.34-.33l.56-.48a125.12 125.12 0 0 1 2.96-2.4l.27-.22.37-.3a.5.5 0 0 1 .75.64l-.11.2a323.59 323.59 0 0 1-.69 1.2l-.23.4-.3.53a184.46 184.46 0 0 1-1.48 2.48 4.28 4.28 0 0 1-.16.23 1.5 1.5 0 0 1-.84.5A5.48 5.48 0 0 1 9.75 18H10Zm5.6-10.18a6 6 0 0 1-1.36 6.42.5.5 0 1 1-.7-.7 5 5 0 0 0 1.12-5.36.5.5 0 0 1 .93-.36ZM8 18.24a4.5 4.5 0 1 1-5-7.48 4.5 4.5 0 0 1 5 7.48Zm-2.15-6.1a.5.5 0 0 0-.85.36V14H3.5a.5.5 0 0 0 0 1H5v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H6v-1.5a.5.5 0 0 0-.15-.35Z\"]);\nexport const GaugeAddRegular = /*#__PURE__*/createFluentIcon('GaugeAddRegular', \"1em\", [\"M10.4 16.99a7 7 0 1 0-7.39-7.4c-.36.19-.7.4-1 .66L2 10a8 8 0 1 1 7.75 8c.25-.31.47-.65.66-1.01Zm2.07-11.93a.5.5 0 0 1-.65.28A5 5 0 0 0 5.1 9.01c-.36.03-.71.1-1.05.18a6 6 0 0 1 8.13-4.78c.26.1.39.39.29.65ZM8.67 10c.72.5 1.3 1.18 1.72 1.96.31-.06.61-.23.84-.5.07-.08.17-.23.27-.38l.38-.63a123.47 123.47 0 0 0 2.2-3.82l.12-.2a.5.5 0 0 0-.75-.63l-.18.14A335.17 335.17 0 0 0 9.3 9.2c-.14.12-.27.24-.34.33-.13.14-.22.3-.28.48Zm6.27-2.48a.5.5 0 0 1 .65.29 6 6 0 0 1-1.35 6.42.5.5 0 1 1-.7-.7 5 5 0 0 0 1.12-5.36.5.5 0 0 1 .28-.65ZM8 18.24a4.5 4.5 0 1 1-5-7.48 4.5 4.5 0 0 1 5 7.48Zm-2.15-6.1a.5.5 0 0 0-.85.36V14H3.5a.5.5 0 0 0 0 1H5v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H6v-1.5a.5.5 0 0 0-.15-.35Z\"]);\nexport const GavelFilled = /*#__PURE__*/createFluentIcon('GavelFilled', \"1em\", [\"M6.67 7.59a1.5 1.5 0 0 1-.23-2.3l2.84-2.85a1.5 1.5 0 0 1 2.28.19l.47.65L7.3 8.01l-.63-.42Zm1.48 1 4.47-4.49 1.33 1.84a.5.5 0 0 0 .1.11l1.85 1.33-4.48 4.47-1.26-1.87a.5.5 0 0 0-.14-.14L8.15 8.58Zm3.84 4.11 4.73-4.73.65.47c.75.54.84 1.63.19 2.28l-2.84 2.84a1.5 1.5 0 0 1-2.31-.23l-.42-.63Zm-3.8-2.89L2.4 15.6a1.41 1.41 0 1 0 2 2l5.78-5.78-.8-1.2-1.2-.8ZM12 16.5c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h2a.5.5 0 0 1 0 1h-7a.5.5 0 1 1 0-1h2a.5.5 0 0 1-.5-.5Z\"]);\nexport const GavelRegular = /*#__PURE__*/createFluentIcon('GavelRegular', \"1em\", [\"M6.44 5.28a1.5 1.5 0 0 0 .23 2.31l1.76 1.18-5.85 5.86a1.98 1.98 0 1 0 2.8 2.8l5.85-5.86 1.18 1.76c.53.79 1.64.9 2.3.23l2.85-2.84a1.5 1.5 0 0 0-.19-2.28l-3.31-2.39a.5.5 0 0 1-.12-.11l-2.38-3.31a1.5 1.5 0 0 0-2.28-.19L6.44 5.28Zm4.22 5.44-6 6a.98.98 0 0 1-1.37-1.39l5.99-5.99.74.5c.06.04.1.08.14.14l.5.74ZM7.22 6.76a.5.5 0 0 1-.07-.77l2.84-2.84a.5.5 0 0 1 .76.06l.56.79-3.29 3.3-.8-.54Zm1.65 1.1 3.04-3.04 1.22 1.7c.1.14.21.25.34.35l1.7 1.22-3.03 3.04-1.15-1.71a1.5 1.5 0 0 0-.41-.41L8.87 7.86ZM16 8.7l.79.56a.5.5 0 0 1 .06.76L14 12.85a.5.5 0 0 1-.77-.07l-.53-.8 3.3-3.3Zm-4 7.81c0-.28.22-.5.5-.5h3a.5.5 0 1 1 0 1h2a.5.5 0 1 1 0 1h-7a.5.5 0 1 1 0-1h2a.5.5 0 0 1-.5-.5Z\"]);\nexport const GavelProhibitedFilled = /*#__PURE__*/createFluentIcon('GavelProhibitedFilled', \"1em\", [\"M6.67 7.59a1.5 1.5 0 0 1-.23-2.3l2.84-2.85a1.5 1.5 0 0 1 2.28.19l.47.65L7.3 8.01l-.63-.42Zm1.48 1 4.47-4.49 1.33 1.84a.5.5 0 0 0 .1.11l1.85 1.33L14.27 9a5.48 5.48 0 0 0-3.67 1.63l-.44-.65a.5.5 0 0 0-.14-.14L8.15 8.58Zm7.43.52c.87.17 1.66.54 2.32 1.07a1.5 1.5 0 0 0-.53-1.74l-.65-.47-1.14 1.14ZM9.3 12.69c.16-.45.37-.87.63-1.26l-.55-.81-1.2-.8-5.77 5.77a1.41 1.41 0 1 0 2 2l4.9-4.9Zm.7 1.81a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm1 0a3.5 3.5 0 0 1 5.6-2.8l-4.9 4.9a3.48 3.48 0 0 1-.7-2.1Zm3.5 3.5c-.79 0-1.51-.26-2.1-.7l4.9-4.9a3.5 3.5 0 0 1-2.8 5.6Z\"]);\nexport const GavelProhibitedRegular = /*#__PURE__*/createFluentIcon('GavelProhibitedRegular', \"1em\", [\"M6.44 5.28a1.5 1.5 0 0 0 .22 2.31l1.77 1.18-5.85 5.86a1.98 1.98 0 1 0 2.8 2.8l3.67-3.69c.12-.83.42-1.6.86-2.27l-5.24 5.24a.98.98 0 0 1-1.38-1.38l5.99-5.99.74.5c.06.04.1.08.14.14l.43.65c.24-.24.5-.46.78-.65l-.38-.56a1.5 1.5 0 0 0-.41-.41L8.87 7.86l3.04-3.04 1.22 1.7c.1.14.21.25.34.35l1.7 1.22-.9.91a5.58 5.58 0 0 1 1.31.1L16 8.7l.79.56a.5.5 0 0 1 .2.35c.33.16.63.36.91.58a1.5 1.5 0 0 0-.53-1.74l-3.31-2.39a.5.5 0 0 1-.12-.1l-2.38-3.32a1.5 1.5 0 0 0-2.28-.19L6.44 5.28Zm.78 1.48a.5.5 0 0 1-.07-.77l2.84-2.84a.5.5 0 0 1 .76.06l.56.79-3.3 3.3-.79-.54ZM10 14.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm1 0a3.5 3.5 0 0 1 5.6-2.8l-4.9 4.9a3.48 3.48 0 0 1-.7-2.1Zm3.5 3.5c-.79 0-1.51-.26-2.1-.7l4.9-4.9a3.5 3.5 0 0 1-2.8 5.6Z\"]);\nexport const GestureFilled = /*#__PURE__*/createFluentIcon('GestureFilled', \"1em\", [\"M18 4.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM3.5 16.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM5.75 4a.75.75 0 0 0-.3 1.43l9.06 4.1-9.6 4.8a.75.75 0 1 0 .68 1.34l11-5.5a.75.75 0 0 0-.03-1.35L9.23 5.5h5.52a.75.75 0 0 0 0-1.5h-9Z\"]);\nexport const GestureRegular = /*#__PURE__*/createFluentIcon('GestureRegular', \"1em\", [\"M5.01 4.4A.5.5 0 0 1 5.5 4h9a.5.5 0 0 1 0 1H7.8l8.9 4.04a.5.5 0 0 1 .04.9l-11 5.92a.5.5 0 1 1-.48-.88l10.12-5.44L5.29 4.96a.5.5 0 0 1-.28-.57ZM17 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM3.5 17a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"]);\nexport const GifFilled = /*#__PURE__*/createFluentIcon('GifFilled', \"1em\", [\"M15.4 3c1.39 0 2.52 1.19 2.6 2.68v8.48c0 1.51-1.09 2.75-2.45 2.84H4.6c-1.39 0-2.52-1.19-2.6-2.68V5.84C2 4.33 3.09 3.1 4.45 3H15.4ZM6.85 7C5.18 7 4 8.32 4 10c0 1.64 1.26 3 2.85 3 1.2 0 2.07-.8 2.14-1.63l.01-.12V9.9a.52.52 0 0 0-.44-.4h-.1l-.92-.01h-.1A.51.51 0 0 0 7 10c0 .25.2.45.44.5h.48v.83c-.07.32-.47.67-1.07.67-.96 0-1.77-.88-1.77-2 0-1.17.74-2 1.77-2 .46 0 .83.07 1.1.2.26.12.59.02.72-.23.14-.24.03-.55-.24-.67C8 7.1 7.47 7 6.85 7ZM11 7a.5.5 0 0 0-.5.41v5.18a.5.5 0 0 0 1 0V7.41A.5.5 0 0 0 11 7Zm4.5 0h-2a.5.5 0 0 0-.5.41v5.18a.5.5 0 0 0 1 0V11h1.59a.5.5 0 0 0 0-1H14V8h1.59a.5.5 0 0 0 0-1h-.09Z\"]);\nexport const GifRegular = /*#__PURE__*/createFluentIcon('GifRegular', \"1em\", [\"M15.4 3c1.39 0 2.52 1.19 2.6 2.68v8.48c0 1.51-1.09 2.75-2.45 2.84H4.6c-1.39 0-2.52-1.19-2.6-2.68V5.84C2 4.33 3.09 3.1 4.45 3H15.4Zm-.15 1H4.75C3.82 4 3.07 4.8 3 5.8V14.07c0 1.02.72 1.86 1.63 1.93h10.62c.93 0 1.68-.8 1.75-1.8V5.93c0-1.02-.72-1.86-1.63-1.93h-.12Zm-8.4 3c.62 0 1.15.1 1.58.3.27.12.38.43.24.67a.56.56 0 0 1-.72.22C7.68 8.07 7.3 8 6.85 8c-1.03 0-1.77.83-1.77 2 0 1.12.81 2 1.77 2 .6 0 1-.35 1.06-.67v-.83h-.37c-.3 0-.54-.22-.54-.5 0-.25.2-.45.44-.5h1.02c.26 0 .49.18.53.41l.01.1v1.24C9 12.12 8.11 13 6.85 13A2.92 2.92 0 0 1 4 10c0-1.68 1.18-3 2.85-3ZM11 7a.5.5 0 0 1 .5.41v5.09a.5.5 0 0 1-1 .09V7.5c0-.28.22-.5.5-.5Zm4.5 0a.5.5 0 0 1 .09 1H14v2h1.5a.5.5 0 0 1 .09 1H14v1.5a.5.5 0 0 1-1 .09V7.5c0-.28.22-.5.5-.5h2Z\"]);\nexport const GiftFilled = /*#__PURE__*/createFluentIcon('GiftFilled', \"1em\", [\"M9.5 11v7h-3A2.5 2.5 0 0 1 4 15.66V11h5.5Zm6.5 0v4.5a2.5 2.5 0 0 1-2.34 2.5H10.5v-7H16Zm-4-9a2.5 2.5 0 0 1 2 4h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-5.5V6h-1v4H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h2a2.5 2.5 0 1 1 4-3c.46-.6 1.18-1 2-1Zm0 1c-.83 0-1.5.67-1.5 1.5V6H12a1.5 1.5 0 0 0 0-3ZM8 3a1.5 1.5 0 0 0-.14 3H9.5V4.36A1.5 1.5 0 0 0 8 3Z\"]);\nexport const GiftRegular = /*#__PURE__*/createFluentIcon('GiftRegular', \"1em\", [\"M12 2a2.5 2.5 0 0 1 2 4h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1v4.5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 4 15.5V11a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h2a2.5 2.5 0 1 1 4-3c.46-.6 1.18-1 2-1Zm-2.5 9H5v4.5c0 .83.67 1.5 1.5 1.5h3v-6Zm5.5 0h-4.5v6h3c.83 0 1.5-.67 1.5-1.5V11ZM9.5 7H4v3h5.5V7ZM16 7h-5.5v3H16V7Zm-4-4c-.83 0-1.5.67-1.5 1.5V6H12a1.5 1.5 0 0 0 0-3ZM8 3a1.5 1.5 0 0 0-.14 3H9.5V4.36A1.5 1.5 0 0 0 8 3Z\"]);\nexport const GiftCardFilled = /*#__PURE__*/createFluentIcon('GiftCardFilled', \"1em\", [\"M7 4H4.75A2.75 2.75 0 0 0 2 6.75V9h2.27A2 2 0 0 1 7 6.27V4Zm1 4v1h1a1 1 0 1 0-1-1Zm2.73 1A2 2 0 0 0 8 6.27V4h7.25A2.75 2.75 0 0 1 18 6.75V9h-7.27Zm-2.02 1 1.64 1.65a.5.5 0 0 1-.7.7L8 10.71V16h7.25A2.75 2.75 0 0 0 18 13.25V10H8.7ZM7 16v-5.3l-1.65 1.65a.5.5 0 0 1-.7-.7L6.29 10H2v3.25A2.75 2.75 0 0 0 4.75 16H7Zm0-8a1 1 0 1 0-1 1h1V8Z\"]);\nexport const GiftCardRegular = /*#__PURE__*/createFluentIcon('GiftCardRegular', \"1em\", [\"M2 6.75A2.75 2.75 0 0 1 4.75 4h10.5A2.75 2.75 0 0 1 18 6.75v6.5A2.75 2.75 0 0 1 15.25 16H4.75A2.75 2.75 0 0 1 2 13.25v-6.5ZM3 10v3.25c0 .97.78 1.75 1.75 1.75H7v-4.3l-1.65 1.65a.5.5 0 0 1-.7-.7L6.29 10H3Zm1.27-1A2 2 0 0 1 7 6.27V5H4.75C3.78 5 3 5.78 3 6.75V9h1.27ZM6 9h1V8a1 1 0 1 0-1 1Zm2-1v1h1a1 1 0 1 0-1-1Zm2.73 1H17V6.75C17 5.78 16.22 5 15.25 5H8v1.27A2 2 0 0 1 10.73 9Zm-2.02 1 1.64 1.65a.5.5 0 0 1-.7.7L8 10.71V15h7.25c.97 0 1.75-.78 1.75-1.75V10H8.7Z\"]);\nexport const GiftCardAddFilled = /*#__PURE__*/createFluentIcon('GiftCardAddFilled', \"1em\", [\"M7 2H4.75A2.75 2.75 0 0 0 2 4.75V7h2.27A2 2 0 0 1 7 4.27V2ZM2 8v3.25A2.75 2.75 0 0 0 4.75 14H7V8.7l-1.65 1.65a.5.5 0 0 1-.7-.7L6.29 8H2Zm7.02 6H8V8.7l1.65 1.65a.5.5 0 0 0 .7-.7L8.71 8H18v2.26A5.5 5.5 0 0 0 9.02 14ZM18 7h-7.27A2 2 0 0 0 8 4.27V2h7.25A2.75 2.75 0 0 1 18 4.75V7ZM8 6v1h1a1 1 0 1 0-1-1ZM7 7H6a1 1 0 1 1 1-1v1Zm12 7.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const GiftCardAddRegular = /*#__PURE__*/createFluentIcon('GiftCardAddRegular', \"1em\", [\"M2 4.75A2.75 2.75 0 0 1 4.75 2h10.5A2.75 2.75 0 0 1 18 4.75v5.5a5.5 5.5 0 0 0-1-.65V8H8.7l1.65 1.65a.5.5 0 0 1-.7.7L8 8.71V13h1.2c-.08.32-.15.66-.18 1H4.75A2.75 2.75 0 0 1 2 11.25v-6.5ZM4.75 3C3.78 3 3 3.78 3 4.75V7h1.27A2 2 0 0 1 7 4.27V3H4.75ZM8 3v1.27A2 2 0 0 1 10.73 7H17V4.75C17 3.78 16.22 3 15.25 3H8Zm0 4h1a1 1 0 1 0-1-1v1ZM6 5a1 1 0 0 0 0 2h1V6a1 1 0 0 0-1-1Zm-3 6.25c0 .97.78 1.75 1.75 1.75H7V8.7l-1.65 1.65a.5.5 0 0 1-.7-.7L6.29 8H3v3.25Zm16 3.25a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const GiftCardArrowRightFilled = /*#__PURE__*/createFluentIcon('GiftCardArrowRightFilled', \"1em\", [\"M7 2H4.75A2.75 2.75 0 0 0 2 4.75V7h2.27A2 2 0 0 1 7 4.27V2ZM2 8v3.25A2.75 2.75 0 0 0 4.75 14H7V8.7l-1.65 1.65a.5.5 0 0 1-.7-.7L6.29 8H2Zm6 6h1.02A5.5 5.5 0 0 1 18 10.26V8H8.7l1.65 1.65a.5.5 0 0 1-.7.7L8 8.71V14Zm10-7h-7.27A2 2 0 0 0 8 4.27V2h7.25A2.75 2.75 0 0 1 18 4.75V7ZM8 7V6a1 1 0 1 1 1 1H8ZM7 7H6a1 1 0 1 1 1-1v1Zm12 7.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.15.35a.5.5 0 0 0 .15-.35.5.5 0 0 0-.15-.35l-2-2a.5.5 0 0 0-.7.7L15.29 14H12.5a.5.5 0 0 0 0 1h2.8l-1.15 1.15a.5.5 0 0 0 .7.7l2-2Z\"]);\nexport const GiftCardArrowRightRegular = /*#__PURE__*/createFluentIcon('GiftCardArrowRightRegular', \"1em\", [\"M2 4.75A2.75 2.75 0 0 1 4.75 2h10.5A2.75 2.75 0 0 1 18 4.75v5.5a5.5 5.5 0 0 0-1-.65V8H8.7l1.65 1.65a.5.5 0 0 1-.7.7L8 8.71V13h1.2c-.08.32-.15.66-.18 1H4.75A2.75 2.75 0 0 1 2 11.25v-6.5ZM4.75 3C3.78 3 3 3.78 3 4.75V7h1.27A2 2 0 0 1 7 4.27V3H4.75ZM8 3v1.27A2 2 0 0 1 10.73 7H17V4.75C17 3.78 16.22 3 15.25 3H8Zm0 4h1a1 1 0 1 0-1-1v1ZM6 5a1 1 0 0 0 0 2h1V6a1 1 0 0 0-1-1ZM3 8v3.25c0 .97.78 1.75 1.75 1.75H7V8.7l-1.65 1.65a.5.5 0 0 1-.7-.7L6.29 8H3Zm16 6.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.15.35a.5.5 0 0 0 .15-.35.5.5 0 0 0-.15-.35l-2-2a.5.5 0 0 0-.7.7L15.29 14H12.5a.5.5 0 0 0 0 1h2.8l-1.15 1.15a.5.5 0 0 0 .7.7l2-2Z\"]);\nexport const GiftCardMoneyFilled = /*#__PURE__*/createFluentIcon('GiftCardMoneyFilled', \"1em\", [\"M7 2H4.75A2.75 2.75 0 0 0 2 4.75V7h2.27A2 2 0 0 1 7 4.27V2Zm1 4v1h1a1 1 0 1 0-1-1Zm2.73 1A2 2 0 0 0 8 4.27V2h7.25A2.75 2.75 0 0 1 18 4.75V7h-7.27ZM8.71 8l1.64 1.65a.5.5 0 0 1-.7.7L8 8.71V14h1v-.5a2.5 2.5 0 0 1 2.5-2.5h6c.17 0 .34.02.5.05V8H8.7ZM7 14V8.7l-1.65 1.65a.5.5 0 0 1-.7-.7L6.29 8H2v3.25A2.75 2.75 0 0 0 4.75 14H7Zm0-8a1 1 0 1 0-1 1h1V6Zm12 7.5v3c0 .83-.67 1.5-1.5 1.5h-6a1.5 1.5 0 0 1-1.5-1.5v-3c0-.83.67-1.5 1.5-1.5h6c.83 0 1.5.67 1.5 1.5Zm-1 3v-1c-.83 0-1.5.67-1.5 1.5h1c0-.28.22-.5.5-.5Zm-.5-3.5h-1c0 .83.67 1.5 1.5 1.5v-1a.5.5 0 0 1-.5-.5Zm-6 0a.5.5 0 0 1-.5.5v1c.83 0 1.5-.67 1.5-1.5h-1Zm-.5 3.5c.28 0 .5.22.5.5h1c0-.83-.67-1.5-1.5-1.5v1Zm3.5-3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z\"]);\nexport const GiftCardMoneyRegular = /*#__PURE__*/createFluentIcon('GiftCardMoneyRegular', \"1em\", [\"M2 4.75A2.75 2.75 0 0 1 4.75 2h10.5A2.75 2.75 0 0 1 18 4.75V11h-1V8H8.7l1.65 1.65a.5.5 0 0 1-.7.7L8 8.71V13h1.12a2 2 0 0 0-.12.69V14H4.75A2.75 2.75 0 0 1 2 11.25v-6.5ZM3 8v3.25c0 .97.78 1.75 1.75 1.75H7V8.7l-1.65 1.65a.5.5 0 0 1-.7-.7L6.29 8H3Zm1.27-1A2 2 0 0 1 7 4.27V3H4.75C3.78 3 3 3.78 3 4.75V7h1.27ZM6 7h1V6a1 1 0 1 0-1 1Zm2-1v1h1a1 1 0 1 0-1-1Zm2.73 1H17V4.75C17 3.78 16.22 3 15.25 3H8v1.27A2 2 0 0 1 10.73 7ZM19 13.5v3c0 .83-.67 1.5-1.5 1.5h-6a1.5 1.5 0 0 1-1.5-1.5v-3c0-.83.67-1.5 1.5-1.5h6c.83 0 1.5.67 1.5 1.5Zm-1 3v-1c-.83 0-1.5.67-1.5 1.5h1c0-.28.22-.5.5-.5Zm-.5-3.5h-1c0 .83.67 1.5 1.5 1.5v-1a.5.5 0 0 1-.5-.5Zm-6 0a.5.5 0 0 1-.5.5v1c.83 0 1.5-.67 1.5-1.5h-1Zm-.5 3.5c.28 0 .5.22.5.5h1c0-.83-.67-1.5-1.5-1.5v1Zm3.5-3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z\"]);\nexport const GiftCardMultipleFilled = /*#__PURE__*/createFluentIcon('GiftCardMultipleFilled', \"1em\", [\"M4.75 4H7v2.27A2 2 0 0 0 4.27 9H2V6.75A2.75 2.75 0 0 1 4.75 4ZM2 12.25V10h4.3l-1.65 1.65a.5.5 0 0 0 .7.7L7 10.71V15H4.75A2.75 2.75 0 0 1 2 12.25ZM8 15h5.25A2.75 2.75 0 0 0 16 12.25V10H8.7l1.65 1.65a.5.5 0 0 1-.7.7L8 10.71V15Zm2.73-6H16V6.75A2.75 2.75 0 0 0 13.25 4H8v2.27A2 2 0 0 1 10.73 9ZM8 9V8a1 1 0 1 1 1 1H8ZM6 9h1V8a1 1 0 1 0-1 1Zm.75 8c-.85 0-1.62-.39-2.12-1h8.62A3.75 3.75 0 0 0 17 12.25V6.63c.61.5 1 1.27 1 2.12v3.5A4.75 4.75 0 0 1 13.25 17h-6.5Z\"]);\nexport const GiftCardMultipleRegular = /*#__PURE__*/createFluentIcon('GiftCardMultipleRegular', \"1em\", [\"M4.75 4A2.75 2.75 0 0 0 2 6.75v5.5A2.75 2.75 0 0 0 4.75 15h8.5A2.75 2.75 0 0 0 16 12.25v-5.5A2.75 2.75 0 0 0 13.25 4h-8.5ZM3 12.25V10h3.3l-1.65 1.65a.5.5 0 0 0 .7.7L7 10.71V14H4.75C3.78 14 3 13.22 3 12.25ZM3 9V6.75C3 5.78 3.78 5 4.75 5H7v1.27A2 2 0 0 0 4.27 9H3Zm4 0H6a1 1 0 1 1 1-1v1Zm1 0V8a1 1 0 1 1 1 1H8Zm3-1a2 2 0 0 0-3-1.73V5h5.25c.97 0 1.75.78 1.75 1.75V9h-4.27A2 2 0 0 0 11 8Zm-.65 3.65L8.71 10H15v2.25c0 .97-.78 1.75-1.75 1.75H8v-3.3l1.65 1.65a.5.5 0 0 0 .7-.7ZM6.75 17c-.85 0-1.62-.39-2.12-1h8.62A3.75 3.75 0 0 0 17 12.25V6.63c.61.5 1 1.27 1 2.12v3.5A4.75 4.75 0 0 1 13.25 17h-6.5Z\"]);\nexport const GiftOpenFilled = /*#__PURE__*/createFluentIcon('GiftOpenFilled', \"1em\", [\"M14.25 3.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM9.5 5a3 3 0 0 0-3 3A2.5 2.5 0 0 0 9 10.5a2 2 0 0 0 2-2c0-.83-.67-1.5-1.5-1.5a1 1 0 0 0-1 1 .5.5 0 0 0 1 0c.28 0 .5.22.5.5a1 1 0 0 1-1 1A1.5 1.5 0 0 1 7.5 8c0-1.1.9-2 2-2A2.5 2.5 0 0 1 12 8.5a3 3 0 0 1-3 3 .5.5 0 0 0 0 1 4 4 0 0 0 4-4A3.5 3.5 0 0 0 9.5 5Zm-4.45 5h1.08c.39.56.93 1 1.57 1.25A1.5 1.5 0 0 0 9 13.5a5 5 0 0 0 4.77-3.5h1.18c.45 0 .9.12 1.28.36l2.03 1.21a.5.5 0 1 1-.52.86L16 11.38v4.12a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 4 15.5v-4.12l-1.74 1.05a.5.5 0 1 1-.52-.86l2.03-1.21A2.5 2.5 0 0 1 5.05 10ZM17 5.5a.5.5 0 0 0-1 0V6h-.5a.5.5 0 0 0 0 1h.5v.5a.5.5 0 0 0 1 0V7h.5a.5.5 0 0 0 0-1H17v-.5Z\"]);\nexport const GiftOpenRegular = /*#__PURE__*/createFluentIcon('GiftOpenRegular', \"1em\", [\"M13.5 4.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM5 10.5a.5.5 0 0 0-.76-.43l-2.5 1.5a.5.5 0 1 0 .52.86L4 11.38v4.12A2.5 2.5 0 0 0 6.5 18h7a2.5 2.5 0 0 0 2.5-2.5v-4.12l1.74 1.05a.5.5 0 0 0 .52-.86l-2.5-1.5a.5.5 0 0 0-.76.43v5c0 .83-.67 1.5-1.5 1.5h-7A1.5 1.5 0 0 1 5 15.5v-5ZM16.5 5c.28 0 .5.22.5.5V6h.5a.5.5 0 0 1 0 1H17v.5a.5.5 0 0 1-1 0V7h-.5a.5.5 0 1 1 0-1h.5v-.5c0-.28.22-.5.5-.5Zm-7 0a3 3 0 0 0-3 3A2.5 2.5 0 0 0 9 10.5a2 2 0 0 0 2-2c0-.83-.67-1.5-1.5-1.5a1 1 0 0 0-1 1 .5.5 0 0 0 1 0c.28 0 .5.22.5.5a1 1 0 0 1-1 1A1.5 1.5 0 0 1 7.5 8c0-1.1.9-2 2-2A2.5 2.5 0 0 1 12 8.5a3 3 0 0 1-3 3 .5.5 0 0 0 0 1 4 4 0 0 0 4-4A3.5 3.5 0 0 0 9.5 5Z\"]);\nexport const GlanceFilled = /*#__PURE__*/createFluentIcon('GlanceFilled', \"1em\", [\"M3 14.5v1c0 .83.67 1.5 1.5 1.5h3c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5h-3c-.83 0-1.5.67-1.5 1.5Zm0-10v5c0 .83.67 1.5 1.5 1.5h3c.83 0 1.5-.67 1.5-1.5v-5C9 3.67 8.33 3 7.5 3h-3C3.67 3 3 3.67 3 4.5Zm8 0v1c0 .83.67 1.5 1.5 1.5h3c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5h-3c-.83 0-1.5.67-1.5 1.5ZM12.5 9c-.83 0-1.5.67-1.5 1.5v5c0 .83.67 1.5 1.5 1.5h3c.83 0 1.5-.67 1.5-1.5v-5c0-.83-.67-1.5-1.5-1.5h-3Z\"]);\nexport const GlanceRegular = /*#__PURE__*/createFluentIcon('GlanceRegular', \"1em\", [\"M4.5 3C3.67 3 3 3.67 3 4.5v5c0 .83.67 1.5 1.5 1.5h3c.83 0 1.5-.67 1.5-1.5v-5C9 3.67 8.33 3 7.5 3h-3ZM4 4.5c0-.28.22-.5.5-.5h3c.28 0 .5.22.5.5v5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-5ZM12.5 9c-.83 0-1.5.67-1.5 1.5v5c0 .83.67 1.5 1.5 1.5h3c.83 0 1.5-.67 1.5-1.5v-5c0-.83-.67-1.5-1.5-1.5h-3Zm-.5 1.5c0-.28.22-.5.5-.5h3c.28 0 .5.22.5.5v5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-5Zm-1-6c0-.83.67-1.5 1.5-1.5h3c.83 0 1.5.67 1.5 1.5v1c0 .83-.67 1.5-1.5 1.5h-3A1.5 1.5 0 0 1 11 5.5v-1Zm1.5-.5a.5.5 0 0 0-.5.5v1c0 .28.22.5.5.5h3a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-3Zm-8 9c-.83 0-1.5.67-1.5 1.5v1c0 .83.67 1.5 1.5 1.5h3c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5h-3ZM4 14.5c0-.28.22-.5.5-.5h3c.28 0 .5.22.5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1Z\"]);\nexport const GlanceHorizontalFilled = /*#__PURE__*/createFluentIcon('GlanceHorizontalFilled', \"1em\", [\"M14.5 3h1c.83 0 1.5.67 1.5 1.5v3c0 .83-.67 1.5-1.5 1.5h-1A1.5 1.5 0 0 1 13 7.5v-3c0-.83.67-1.5 1.5-1.5Zm-10 0h5c.83 0 1.5.67 1.5 1.5v3c0 .83-.67 1.5-1.5 1.5h-5A1.5 1.5 0 0 1 3 7.5v-3C3 3.67 3.67 3 4.5 3Zm0 8h1c.83 0 1.5.67 1.5 1.5v3c0 .83-.67 1.5-1.5 1.5h-1A1.5 1.5 0 0 1 3 15.5v-3c0-.83.67-1.5 1.5-1.5ZM9 12.5c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5v3c0 .83-.67 1.5-1.5 1.5h-5A1.5 1.5 0 0 1 9 15.5v-3Z\"]);\nexport const GlanceHorizontalRegular = /*#__PURE__*/createFluentIcon('GlanceHorizontalRegular', \"1em\", [\"M17 15.5c0 .83-.67 1.5-1.5 1.5h-5A1.5 1.5 0 0 1 9 15.5v-3c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5v3Zm-1.5.5a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v3c0 .28.22.5.5.5h5ZM11 7.5c0 .83-.67 1.5-1.5 1.5h-5A1.5 1.5 0 0 1 3 7.5v-3C3 3.67 3.67 3 4.5 3h5c.83 0 1.5.67 1.5 1.5v3ZM9.5 8a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v3c0 .28.22.5.5.5h5Zm6 1c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5h-1c-.83 0-1.5.67-1.5 1.5v3c0 .83.67 1.5 1.5 1.5h1Zm.5-1.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-3c0-.28.22-.5.5-.5h1c.28 0 .5.22.5.5v3Zm-9 8c0 .83-.67 1.5-1.5 1.5h-1A1.5 1.5 0 0 1 3 15.5v-3c0-.83.67-1.5 1.5-1.5h1c.83 0 1.5.67 1.5 1.5v3Zm-1.5.5a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v3c0 .28.22.5.5.5h1Z\"]);\nexport const GlanceHorizontalSparklesFilled = /*#__PURE__*/createFluentIcon('GlanceHorizontalSparklesFilled', \"1em\", [\"m14.88.28.35 1.07a2.2 2.2 0 0 0 1.4 1.4l1.07.35h.02a.42.42 0 0 1 0 .8l-1.07.35a2.2 2.2 0 0 0-1.4 1.4l-.35 1.07a.42.42 0 0 1-.8 0l-.35-1.07a2.23 2.23 0 0 0-1.4-1.4l-1.07-.35a.42.42 0 0 1 0-.8l1.07-.35a2.2 2.2 0 0 0 1.38-1.4l.35-1.07a.42.42 0 0 1 .8 0Zm4.9 7.93-.76-.25a1.58 1.58 0 0 1-1-1l-.25-.76a.3.3 0 0 0-.57 0l-.25.77a1.58 1.58 0 0 1-.98 1l-.77.24a.3.3 0 0 0 0 .57l.77.25a1.58 1.58 0 0 1 1 1l.24.77a.3.3 0 0 0 .58 0l.24-.77a1.58 1.58 0 0 1 1-1l.77-.24a.3.3 0 0 0 0-.57h-.02ZM9.5 3c.2 0 .38.04.55.1a1.43 1.43 0 0 0 .92 1.75H11V7.5c0 .83-.67 1.5-1.5 1.5h-5A1.5 1.5 0 0 1 3 7.5v-3C3 3.67 3.67 3 4.5 3h5Zm-4 8h-1c-.83 0-1.5.67-1.5 1.5v3c0 .83.67 1.5 1.5 1.5h1c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5Zm5 0c-.83 0-1.5.67-1.5 1.5v3c0 .83.67 1.5 1.5 1.5h5c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5h-5Z\"]);\nexport const GlanceHorizontalSparklesRegular = /*#__PURE__*/createFluentIcon('GlanceHorizontalSparklesRegular', \"1em\", [\"m14.88.28.35 1.07a2.2 2.2 0 0 0 1.4 1.4l1.07.35h.02a.42.42 0 0 1 0 .8l-1.07.35a2.2 2.2 0 0 0-1.4 1.4l-.35 1.07a.42.42 0 0 1-.8 0l-.35-1.07a2.23 2.23 0 0 0-1.4-1.4l-1.07-.35a.42.42 0 0 1 0-.8l1.07-.35a2.2 2.2 0 0 0 1.38-1.4l.35-1.07a.42.42 0 0 1 .8 0Zm4.9 7.93-.76-.25a1.58 1.58 0 0 1-1-1l-.25-.76a.3.3 0 0 0-.57 0l-.25.77a1.58 1.58 0 0 1-.98 1l-.77.24a.3.3 0 0 0 0 .57l.77.25a1.58 1.58 0 0 1 1 1l.24.77a.3.3 0 0 0 .58 0l.24-.77a1.58 1.58 0 0 1 1-1l.77-.24a.3.3 0 0 0 0-.57h-.02ZM9.5 3c.2 0 .38.04.55.1a1.43 1.43 0 0 0 .92 1.75H11V7.5c0 .83-.67 1.5-1.5 1.5h-5A1.5 1.5 0 0 1 3 7.5v-3C3 3.67 3.67 3 4.5 3h5Zm6 14c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5h-5c-.83 0-1.5.67-1.5 1.5v3c0 .83.67 1.5 1.5 1.5h5Zm.5-1.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-3c0-.28.22-.5.5-.5h5c.28 0 .5.22.5.5v3Zm-6-8v-3a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v3c0 .28.22.5.5.5h5a.5.5 0 0 0 .5-.5ZM5.5 17c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5h-1c-.83 0-1.5.67-1.5 1.5v3c0 .83.67 1.5 1.5 1.5h1Zm.5-1.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-3c0-.28.22-.5.5-.5h1c.28 0 .5.22.5.5v3Z\"]);\nexport const GlassesFilled = /*#__PURE__*/createFluentIcon('GlassesFilled', \"1em\", [\"M7.19 4a2 2 0 0 0-1.52.7L2.37 8.5A1.5 1.5 0 0 0 2 9.5v3A2.5 2.5 0 0 0 4.5 15h2A2.5 2.5 0 0 0 9 12.5V11h2v1.5a2.5 2.5 0 0 0 2.5 2.5h2a2.5 2.5 0 0 0 2.5-2.5v-3c0-.43-.18-.82-.47-1.09l-3.2-3.72A2 2 0 0 0 12.8 4H12a.5.5 0 1 0 0 1h.81a1 1 0 0 1 .76.35L15.86 8H12.5c-.83 0-1.5.67-1.5 1.5v.5H9v-.5C9 8.67 8.33 8 7.5 8H4.14l2.29-2.65A1 1 0 0 1 7.19 5H8a.5.5 0 0 0 0-1h-.81Z\"]);\nexport const GlassesRegular = /*#__PURE__*/createFluentIcon('GlassesRegular', \"1em\", [\"M7.19 4a2 2 0 0 0-1.52.7l-3.3 3.82c-.23.27-.37.6-.37.98v3A2.5 2.5 0 0 0 4.5 15h2A2.5 2.5 0 0 0 9 12.5V11h2v1.5a2.5 2.5 0 0 0 2.5 2.5h2a2.5 2.5 0 0 0 2.5-2.5v-3c0-.43-.18-.82-.47-1.09l-3.2-3.72A2 2 0 0 0 12.8 4H12a.5.5 0 1 0 0 1h.81a1 1 0 0 1 .76.35L15.86 8H12.5c-.83 0-1.5.67-1.5 1.5v.5H9v-.5C9 8.67 8.33 8 7.5 8H4.14l2.29-2.65A1 1 0 0 1 7.19 5H8a.5.5 0 1 0 0-1h-.81ZM8 9.5v3c0 .83-.67 1.5-1.5 1.5h-2A1.5 1.5 0 0 1 3 12.5v-3c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5Zm4 3v-3c0-.28.22-.5.5-.5h4a.5.5 0 0 1 .32.11l.05.07c.08.08.13.2.13.32v3c0 .83-.67 1.5-1.5 1.5h-2a1.5 1.5 0 0 1-1.5-1.5Z\"]);\nexport const GlassesOffFilled = /*#__PURE__*/createFluentIcon('GlassesOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L4.89 5.6 2.36 8.52c-.22.27-.36.6-.36.98v3A2.5 2.5 0 0 0 4.5 15h2A2.5 2.5 0 0 0 9 12.5V11h1.3l.7.7v.8a2.5 2.5 0 0 0 2.5 2.5h.8l2.85 2.85a.5.5 0 0 0 .7-.7l-15-15ZM7.3 8H4.14L5.6 6.3 7.3 8Zm9.48 6.65L11.1 8.97A1.5 1.5 0 0 1 12.5 8h3.36l-2.29-2.65a1 1 0 0 0-.76-.35H12a.5.5 0 0 1 0-1h.81a2 2 0 0 1 1.52.7l3.2 3.71c.29.28.47.66.47 1.09v3c0 .92-.5 1.72-1.23 2.15ZM6.32 4.2l.8.8a1 1 0 0 1 .07 0H8a.5.5 0 0 0 0-1h-.81a2 2 0 0 0-.87.2Z\"]);\nexport const GlassesOffRegular = /*#__PURE__*/createFluentIcon('GlassesOffRegular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L4.89 5.6 2.36 8.52c-.22.27-.36.6-.36.98v3A2.5 2.5 0 0 0 4.5 15h2A2.5 2.5 0 0 0 9 12.5V11h1.3l.7.7v.8a2.5 2.5 0 0 0 2.5 2.5h.8l2.85 2.85a.5.5 0 0 0 .7-.7l-15-15ZM7.3 8H4.14L5.6 6.3 7.3 8ZM8 9.5v3c0 .83-.67 1.5-1.5 1.5h-2A1.5 1.5 0 0 1 3 12.5v-3c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5Zm4 .38-.9-.9A1.5 1.5 0 0 1 12.5 8h3.36l-2.29-2.65a1 1 0 0 0-.76-.35H12a.5.5 0 0 1 0-1h.81a2 2 0 0 1 1.52.7l3.2 3.71c.29.28.47.66.47 1.09v3c0 .92-.5 1.72-1.23 2.15l-.74-.75c.57-.2.97-.76.97-1.4v-3a.5.5 0 0 0-.12-.33l-.06-.06A.5.5 0 0 0 16.5 9h-4a.5.5 0 0 0-.5.5v.38ZM7.12 5l-.8-.8a2 2 0 0 1 .87-.2H8a.5.5 0 0 1 0 1h-.81a1 1 0 0 0-.07 0Z\"]);\nexport const GlobeFilled = /*#__PURE__*/createFluentIcon('GlobeFilled', \"1em\", [\"M7.99 4.18c-.28.66-.5 1.45-.67 2.32h5.36c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66Zm-.1-1.9c-.31.43-.59.94-.83 1.52-.32.78-.58 1.7-.76 2.7H2.8c1-2.05 2.85-3.6 5.1-4.22Zm4.22 0c.31.43.59.94.83 1.52.32.78.58 1.7.76 2.7h3.5a8.02 8.02 0 0 0-5.09-4.22Zm5.5 5.22h-3.76a20.52 20.52 0 0 1 0 5h3.75a8 8 0 0 0 0-5Zm-.41 6h-3.5c-.18 1-.44 1.92-.76 2.7-.24.58-.52 1.1-.83 1.52a8.02 8.02 0 0 0 5.09-4.22ZM10 18c.3 0 .65-.15 1-.52.36-.37.71-.93 1.01-1.66.28-.66.5-1.45.67-2.32H7.32c.17.87.4 1.66.67 2.32.3.73.65 1.3 1 1.66.36.37.7.52 1.01.52Zm-2.1-.28a8.02 8.02 0 0 1-5.1-4.22h3.5c.18 1 .44 1.92.76 2.7.24.58.52 1.1.83 1.52ZM2.4 12.5h3.75a20.52 20.52 0 0 1 0-5H2.4a8 8 0 0 0 0 5ZM7 10c0-.87.06-1.71.16-2.5h5.68a19.44 19.44 0 0 1 0 5H7.16C7.06 11.71 7 10.87 7 10Z\"]);\nexport const GlobeRegular = /*#__PURE__*/createFluentIcon('GlobeRegular', \"1em\", [\"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm0-15c.66 0 1.4.59 2.02 1.9.22.47.4 1.01.56 1.6H7.42c.15-.59.34-1.13.56-1.6C8.59 3.6 9.34 3 10 3ZM7.07 4.49c-.27.59-.5 1.27-.68 2.01H3.94A7.02 7.02 0 0 1 7.7 3.38c-.24.33-.45.7-.64 1.1ZM6.2 7.5a15.97 15.97 0 0 0 0 5H3.46a6.98 6.98 0 0 1 0-5h2.73Zm.2 6c.17.74.4 1.42.68 2.01.19.4.4.78.64 1.1a7.02 7.02 0 0 1-3.77-3.11h2.45Zm1.03 0h5.16a9.25 9.25 0 0 1-.56 1.6C11.41 16.4 10.66 17 10 17c-.66 0-1.4-.59-2.02-1.9-.22-.47-.4-1.01-.56-1.6Zm5.37-1H7.21a14.87 14.87 0 0 1 0-5h5.58a14.86 14.86 0 0 1 0 5Zm.82 1h2.45a7.02 7.02 0 0 1-3.77 3.12c.24-.33.45-.7.64-1.1.27-.6.5-1.28.68-2.02Zm2.93-1h-2.73a15.97 15.97 0 0 0 0-5h2.73a6.98 6.98 0 0 1 0 5Zm-4.25-9.12a7.02 7.02 0 0 1 3.77 3.12h-2.45a10.5 10.5 0 0 0-.68-2.01c-.19-.4-.4-.78-.64-1.1Z\"]);\nexport const GlobeAddFilled = /*#__PURE__*/createFluentIcon('GlobeAddFilled', \"1em\", [\"M7.99 4.18c-.28.66-.5 1.45-.67 2.32h5.36c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66Zm-.1-1.9c-.31.43-.59.94-.83 1.52-.32.78-.58 1.7-.76 2.7H2.8c1-2.05 2.85-3.6 5.1-4.22Zm4.22 0c.31.43.59.94.83 1.52.32.78.58 1.7.76 2.7h3.5a8.02 8.02 0 0 0-5.09-4.22Zm5.5 5.22h-3.76c.06.5.1 1 .13 1.52A5.57 5.57 0 0 1 18 10.25a7.93 7.93 0 0 0-.4-2.75Zm-4.77 0a19 19 0 0 1 .14 1.71 5.51 5.51 0 0 0-3.6 3.29H7.15a19.44 19.44 0 0 1 0-5h5.68Zm-5.52 6h1.77a5.53 5.53 0 0 0 1.14 4.47.99.99 0 0 1-.23.03c-.3 0-.65-.15-1-.52-.36-.37-.71-.93-1.01-1.66-.28-.66-.5-1.45-.67-2.32Zm.57 4.22A8.02 8.02 0 0 1 2.8 13.5h3.5c.18 1 .44 1.92.76 2.7.24.58.52 1.1.83 1.52ZM2.4 12.5h3.76a20.52 20.52 0 0 1 0-5H2.4a8 8 0 0 0 0 5Zm16.61 2a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const GlobeAddRegular = /*#__PURE__*/createFluentIcon('GlobeAddRegular', \"1em\", [\"M10 18h.25a5.5 5.5 0 0 1-.7-1.09c-.53-.2-1.1-.79-1.57-1.82-.22-.46-.4-1-.56-1.59h1.67c.06-.35.16-.68.28-1H7.21a14.87 14.87 0 0 1 0-5h5.58c.1.54.16 1.11.19 1.71.32-.09.65-.15 1-.18-.04-.53-.1-1.04-.17-1.53h2.73c.25.66.4 1.36.45 2.1.36.18.7.4 1 .65L18 10a8 8 0 1 0-8 8Zm0-15c.66 0 1.4.59 2.02 1.9.22.47.4 1.01.56 1.6H7.42c.15-.59.34-1.13.56-1.6C8.59 3.6 9.34 3 10 3ZM7.07 4.49c-.27.59-.5 1.27-.68 2.01H3.94A7.02 7.02 0 0 1 7.7 3.38c-.24.33-.45.7-.64 1.1ZM6.2 7.5a15.97 15.97 0 0 0 0 5H3.46a6.98 6.98 0 0 1 0-5h2.73Zm.2 6c.17.74.4 1.42.68 2.01.19.4.4.78.64 1.1a7.02 7.02 0 0 1-3.77-3.11h2.45Zm5.9-10.12a7.02 7.02 0 0 1 3.77 3.12h-2.45a10.5 10.5 0 0 0-.68-2.01c-.19-.4-.4-.78-.64-1.1ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const GlobeArrowForwardFilled = /*#__PURE__*/createFluentIcon('GlobeArrowForwardFilled', \"1em\", [\"M7.99 4.18c-.28.66-.5 1.45-.67 2.32h5.36c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66Zm-.1-1.9c-.31.43-.59.94-.83 1.52-.32.78-.58 1.7-.76 2.7H2.8c1-2.05 2.85-3.6 5.1-4.22Zm5.05 1.52a7.19 7.19 0 0 0-.83-1.52A8.02 8.02 0 0 1 17.2 6.5h-3.5c-.18-1-.44-1.92-.76-2.7Zm4.66 3.7h-3.75c.06.5.1 1 .13 1.52A5.57 5.57 0 0 1 18 10.25a7.93 7.93 0 0 0-.4-2.75Zm-4.62 1.71a19 19 0 0 0-.14-1.71H7.16a19.44 19.44 0 0 0 0 5h2.21a5.51 5.51 0 0 1 3.61-3.29ZM7.32 13.5h1.77a5.53 5.53 0 0 0 1.14 4.47.99.99 0 0 1-.23.03c-.3 0-.65-.15-1-.52-.36-.37-.71-.93-1.01-1.66-.28-.66-.5-1.45-.67-2.32Zm-4.52 0c1 2.05 2.85 3.6 5.1 4.22a7.19 7.19 0 0 1-.84-1.52c-.32-.78-.58-1.7-.76-2.7H2.8Zm-.4-1h3.75a20.52 20.52 0 0 1 0-5H2.4a8 8 0 0 0 0 5ZM14.5 19a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm.9-6.4.9.9h-1.55A2.75 2.75 0 0 0 12 16.25v.25a.5.5 0 0 0 1 0v-.25c0-.97.78-1.75 1.75-1.75h1.54l-.9.9a.5.5 0 0 0 .71.7l1.76-1.75a.5.5 0 0 0 0-.7L16.1 11.9a.5.5 0 0 0-.7.7Z\"]);\nexport const GlobeArrowForwardRegular = /*#__PURE__*/createFluentIcon('GlobeArrowForwardRegular', \"1em\", [\"M10 18h.25a5.5 5.5 0 0 1-.7-1.09c-.53-.2-1.1-.79-1.57-1.82-.22-.46-.4-1-.56-1.59h1.67c.06-.35.16-.68.28-1H7.21a14.87 14.87 0 0 1 0-5h5.58c.1.54.16 1.11.19 1.71.32-.09.65-.15 1-.18-.04-.53-.1-1.04-.17-1.53h2.73c.25.66.4 1.36.45 2.1.36.18.7.4 1 .65L18 10a8 8 0 1 0-8 8Zm0-15c.66 0 1.4.59 2.02 1.9.22.47.4 1.01.56 1.6H7.42c.15-.59.34-1.13.56-1.6C8.59 3.6 9.34 3 10 3ZM7.07 4.49c-.27.59-.5 1.27-.68 2.01H3.94A7.02 7.02 0 0 1 7.7 3.38c-.24.33-.45.7-.64 1.1ZM6.2 7.5a15.97 15.97 0 0 0 0 5H3.46a6.98 6.98 0 0 1 0-5h2.73Zm.2 6c.17.74.4 1.42.68 2.01.19.4.4.78.64 1.1a7.02 7.02 0 0 1-3.77-3.11h2.45Zm5.9-10.12a7.02 7.02 0 0 1 3.77 3.12h-2.45a10.5 10.5 0 0 0-.68-2.01c-.19-.4-.4-.78-.64-1.1ZM14.5 19a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm.9-6.4.9.9h-1.55A2.75 2.75 0 0 0 12 16.25v.25a.5.5 0 0 0 1 0v-.25c0-.97.78-1.75 1.75-1.75h1.54l-.9.9a.5.5 0 0 0 .71.7l1.76-1.75a.5.5 0 0 0 0-.7L16.1 11.9a.5.5 0 0 0-.7.7Z\"]);\nexport const GlobeArrowUpFilled = /*#__PURE__*/createFluentIcon('GlobeArrowUpFilled', \"1em\", [\"M7.99 4.18c-.28.66-.5 1.45-.67 2.32h5.36c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66Zm-.1-1.9c-.31.43-.59.94-.83 1.52-.32.78-.58 1.7-.76 2.7H2.8c1-2.05 2.85-3.6 5.1-4.22Zm4.22 0c.31.43.59.94.83 1.52.32.78.58 1.7.76 2.7h3.5a8.02 8.02 0 0 0-5.09-4.22Zm5.5 5.22h-3.76c.06.5.1 1 .13 1.52A5.57 5.57 0 0 1 18 10.25a7.93 7.93 0 0 0-.4-2.75Zm-4.77 0a19 19 0 0 1 .14 1.71 5.51 5.51 0 0 0-3.6 3.29H7.15a19.44 19.44 0 0 1 0-5h5.68Zm-5.52 6h1.77a5.53 5.53 0 0 0 1.14 4.47.99.99 0 0 1-.23.03c-.3 0-.65-.15-1-.52-.36-.37-.71-.93-1.01-1.66-.28-.66-.5-1.45-.67-2.32Zm.57 4.22A8.02 8.02 0 0 1 2.8 13.5h3.5c.18 1 .44 1.92.76 2.7.24.58.52 1.1.83 1.52ZM2.4 12.5h3.76a20.52 20.52 0 0 1 0-5H2.4a8 8 0 0 0 0 5Zm16.61 2a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.85-2.35-2 2a.5.5 0 0 0 .7.7L14 13.71v2.79a.5.5 0 0 0 1 0v-2.8l1.15 1.15a.5.5 0 0 0 .7-.7l-2-2a.5.5 0 0 0-.35-.15.5.5 0 0 0-.35.14Z\"]);\nexport const GlobeArrowUpRegular = /*#__PURE__*/createFluentIcon('GlobeArrowUpRegular', \"1em\", [\"M10 18h.25a5.5 5.5 0 0 1-.7-1.09c-.53-.2-1.1-.79-1.57-1.82-.22-.46-.4-1-.56-1.59h1.67c.06-.35.16-.68.28-1H7.21a14.87 14.87 0 0 1 0-5h5.58c.1.54.16 1.11.19 1.71.32-.09.65-.15 1-.18-.04-.53-.1-1.04-.17-1.53h2.73c.25.66.4 1.36.45 2.1.36.18.7.4 1 .65L18 10a8 8 0 1 0-8 8Zm0-15c.66 0 1.4.59 2.02 1.9.22.47.4 1.01.56 1.6H7.42c.15-.59.34-1.13.56-1.6C8.59 3.6 9.34 3 10 3ZM7.07 4.49c-.27.59-.5 1.27-.68 2.01H3.94A7.02 7.02 0 0 1 7.7 3.38c-.24.33-.45.7-.64 1.1ZM6.2 7.5a15.97 15.97 0 0 0 0 5H3.46a6.98 6.98 0 0 1 0-5h2.73Zm.2 6c.17.74.4 1.42.68 2.01.19.4.4.78.64 1.1a7.02 7.02 0 0 1-3.77-3.11h2.45Zm5.9-10.12a7.02 7.02 0 0 1 3.77 3.12h-2.45a10.5 10.5 0 0 0-.68-2.01c-.19-.4-.4-.78-.64-1.1ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.85-2.35-2 2a.5.5 0 0 0 .7.7L14 13.71v2.79a.5.5 0 0 0 1 0v-2.8l1.15 1.15a.5.5 0 0 0 .7-.7l-2-2a.5.5 0 0 0-.35-.15.5.5 0 0 0-.35.14Z\"]);\nexport const GlobeClockFilled = /*#__PURE__*/createFluentIcon('GlobeClockFilled', \"1em\", [\"M7.99 4.18c-.28.66-.5 1.45-.67 2.32h5.36c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66Zm-.1-1.9c-.31.43-.59.94-.83 1.52-.32.78-.58 1.7-.76 2.7H2.8c1-2.05 2.85-3.6 5.1-4.22Zm4.22 0c.31.43.59.94.83 1.52.32.78.58 1.7.76 2.7h3.5a8.02 8.02 0 0 0-5.09-4.22Zm5.5 5.22h-3.76c.06.5.1 1 .13 1.52A5.57 5.57 0 0 1 18 10.25a7.93 7.93 0 0 0-.4-2.75Zm-4.77 0a19 19 0 0 1 .14 1.71 5.51 5.51 0 0 0-3.6 3.29H7.15a19.44 19.44 0 0 1 0-5h5.68Zm-5.52 6h1.77a5.53 5.53 0 0 0 1.14 4.47.99.99 0 0 1-.23.03c-.3 0-.65-.15-1-.52-.36-.37-.71-.93-1.01-1.66-.28-.66-.5-1.45-.67-2.32Zm.57 4.22A8.02 8.02 0 0 1 2.8 13.5h3.5c.18 1 .44 1.92.76 2.7.24.58.52 1.1.83 1.52ZM2.4 12.5h3.76a20.52 20.52 0 0 1 0-5H2.4a8 8 0 0 0 0 5Zm16.61 2a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 12a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5H16a.5.5 0 0 0 0-1h-1v-1.5a.5.5 0 0 0-.5-.5Z\"]);\nexport const GlobeClockRegular = /*#__PURE__*/createFluentIcon('GlobeClockRegular', \"1em\", [\"M10 18h.25a5.5 5.5 0 0 1-.7-1.09c-.53-.2-1.1-.79-1.57-1.82-.22-.46-.4-1-.56-1.59h1.67c.06-.35.16-.68.28-1H7.21a14.87 14.87 0 0 1 0-5h5.58c.1.54.16 1.11.19 1.71.32-.09.65-.15 1-.18-.04-.53-.1-1.04-.17-1.53h2.73c.25.66.4 1.36.45 2.1.36.18.7.4 1 .65L18 10a8 8 0 1 0-8 8Zm0-15c.66 0 1.4.59 2.02 1.9.22.47.4 1.01.56 1.6H7.42c.15-.59.34-1.13.56-1.6C8.59 3.6 9.34 3 10 3ZM7.07 4.49c-.27.59-.5 1.27-.68 2.01H3.94A7.02 7.02 0 0 1 7.7 3.38c-.24.33-.45.7-.64 1.1ZM6.2 7.5a15.97 15.97 0 0 0 0 5H3.46a6.98 6.98 0 0 1 0-5h2.73Zm.2 6c.17.74.4 1.42.68 2.01.19.4.4.78.64 1.1a7.02 7.02 0 0 1-3.77-3.11h2.45Zm5.9-10.12a7.02 7.02 0 0 1 3.77 3.12h-2.45a10.5 10.5 0 0 0-.68-2.01c-.19-.4-.4-.78-.64-1.1ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 12a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5H16a.5.5 0 0 0 0-1h-1v-1.5a.5.5 0 0 0-.5-.5Z\"]);\nexport const GlobeDesktopFilled = /*#__PURE__*/createFluentIcon('GlobeDesktopFilled', \"1em\", [\"M7.99 4.18c-.28.66-.5 1.45-.67 2.32h5.36c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66Zm-.1-1.9c-.31.43-.59.94-.83 1.52-.32.78-.58 1.7-.76 2.7H2.8c1-2.05 2.85-3.6 5.1-4.22Zm4.22 0c.31.43.59.94.83 1.52.32.78.58 1.7.76 2.7h3.5a8.02 8.02 0 0 0-5.09-4.22Zm5.5 5.22h-3.76c.1.8.15 1.63.15 2.5h4a8 8 0 0 0-.4-2.5Zm-4.77 0c.1.79.16 1.63.16 2.5h-2a2 2 0 0 0-2 2v.5H7.16a19.44 19.44 0 0 1 0-5h5.68Zm-5.52 6H9V16a2 2 0 0 0 1.41 1.91c-.14.06-.28.09-.41.09-.3 0-.65-.15-1-.52-.36-.37-.71-.93-1.01-1.66-.28-.66-.5-1.45-.67-2.32Zm.57 4.22A8.02 8.02 0 0 1 2.8 13.5h3.5c.18 1 .44 1.92.76 2.7.24.58.52 1.1.83 1.52ZM2.4 12.5h3.76a20.52 20.52 0 0 1 0-5H2.4a8 8 0 0 0 0 5ZM10 12a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-2v1h.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1h.5v-1h-2a1 1 0 0 1-1-1v-4Z\"]);\nexport const GlobeDesktopRegular = /*#__PURE__*/createFluentIcon('GlobeDesktopRegular', \"1em\", [\"M10 18c.22 0 .45 0 .67-.03a2 2 0 0 1-1.56-1.32 4.2 4.2 0 0 1-1.13-1.56c-.22-.46-.4-1-.56-1.59H9v-1H7.2a14.87 14.87 0 0 1 0-5h5.6c.13.77.2 1.62.2 2.5h1c0-.87-.07-1.71-.2-2.5h2.74c.3.78.46 1.62.46 2.5h1a8 8 0 1 0-8 8Zm0-15c.66 0 1.4.59 2.02 1.9.22.47.4 1.01.56 1.6H7.42c.15-.59.34-1.13.56-1.6C8.59 3.6 9.34 3 10 3ZM7.07 4.49c-.27.59-.5 1.27-.68 2.01H3.94A7.02 7.02 0 0 1 7.7 3.38c-.24.33-.45.7-.64 1.1ZM6.2 7.5a15.97 15.97 0 0 0 0 5H3.46a6.98 6.98 0 0 1 0-5h2.73Zm.2 6c.17.74.4 1.42.68 2.01.19.4.4.78.64 1.1a7.02 7.02 0 0 1-3.77-3.11h2.45Zm5.9-10.12a7.02 7.02 0 0 1 3.77 3.12h-2.45a10.5 10.5 0 0 0-.68-2.01c-.19-.4-.4-.78-.64-1.1ZM10 12a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-2v1h.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1h.5v-1h-2a1 1 0 0 1-1-1v-4Z\"]);\nexport const GlobeErrorFilled = /*#__PURE__*/createFluentIcon('GlobeErrorFilled', \"1em\", [\"M7.99 4.18c-.28.66-.5 1.45-.67 2.32h5.36c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66Zm-.1-1.9c-.31.43-.59.94-.83 1.52-.32.78-.58 1.7-.76 2.7H2.8c1-2.05 2.85-3.6 5.1-4.22Zm4.22 0c.31.43.59.94.83 1.52.32.78.58 1.7.76 2.7h3.5a8.02 8.02 0 0 0-5.09-4.22Zm5.5 5.22h-3.76c.06.5.1 1 .13 1.52A5.57 5.57 0 0 1 18 10.25a7.93 7.93 0 0 0-.4-2.75Zm-4.77 0a19 19 0 0 1 .14 1.71 5.51 5.51 0 0 0-3.6 3.29H7.15a19.44 19.44 0 0 1 0-5h5.68Zm-5.52 6h1.77a5.53 5.53 0 0 0 1.14 4.47.99.99 0 0 1-.23.03c-.3 0-.65-.15-1-.52-.36-.37-.71-.93-1.01-1.66-.28-.66-.5-1.45-.67-2.32Zm.57 4.22A8.02 8.02 0 0 1 2.8 13.5h3.5c.18 1 .44 1.92.76 2.7.24.58.52 1.1.83 1.52ZM2.4 12.5h3.76a20.52 20.52 0 0 1 0-5H2.4a8 8 0 0 0 0 5Zm16.61 2a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 12a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Zm0 5.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.24Z\"]);\nexport const GlobeErrorRegular = /*#__PURE__*/createFluentIcon('GlobeErrorRegular', \"1em\", [\"M10 18h.25a5.5 5.5 0 0 1-.7-1.09c-.53-.2-1.1-.79-1.57-1.82-.22-.46-.4-1-.56-1.59h1.67c.06-.35.16-.68.28-1H7.21a14.87 14.87 0 0 1 0-5h5.58c.1.54.16 1.11.19 1.71.32-.09.65-.15 1-.18-.04-.53-.1-1.04-.17-1.53h2.73c.25.66.4 1.36.45 2.1.36.18.7.4 1 .65L18 10a8 8 0 1 0-8 8Zm0-15c.66 0 1.4.59 2.02 1.9.22.47.4 1.01.56 1.6H7.42c.15-.59.34-1.13.56-1.6C8.59 3.6 9.34 3 10 3ZM7.07 4.49c-.27.59-.5 1.27-.68 2.01H3.94A7.02 7.02 0 0 1 7.7 3.38c-.24.33-.45.7-.64 1.1ZM6.2 7.5a15.97 15.97 0 0 0 0 5H3.46a6.98 6.98 0 0 1 0-5h2.73Zm.2 6c.17.74.4 1.42.68 2.01.19.4.4.78.64 1.1a7.02 7.02 0 0 1-3.77-3.11h2.45Zm5.9-10.12a7.02 7.02 0 0 1 3.77 3.12h-2.45a10.5 10.5 0 0 0-.68-2.01c-.19-.4-.4-.78-.64-1.1ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 12a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Zm0 5.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.24Z\"]);\nexport const GlobeLocationFilled = /*#__PURE__*/createFluentIcon('GlobeLocationFilled', \"1em\", [\"M7.32 6.5c.17-.87.4-1.66.67-2.32.3-.73.65-1.3 1-1.66C9.36 2.15 9.7 2 10 2c.3 0 .65.15 1 .52.36.37.71.93 1.01 1.66.28.66.5 1.45.67 2.32H7.32Zm-.26-2.7c.24-.58.52-1.1.83-1.52A8.02 8.02 0 0 0 2.8 6.5h3.5c.18-1 .44-1.92.76-2.7Zm5.88 0a7.19 7.19 0 0 0-.83-1.52A8.02 8.02 0 0 1 17.2 6.5h-3.5c-.18-1-.44-1.92-.76-2.7Zm.91 3.7h3.75c.24.71.37 1.47.4 2.25a4.52 4.52 0 0 0-4-.5c-.03-.6-.08-1.18-.15-1.75ZM13 9.76c-.01-.79-.07-1.55-.16-2.26H7.16a19.44 19.44 0 0 0 0 5h3.98c.27-1.13.93-2.1 1.86-2.74Zm-2 3.74H7.32c.17.87.4 1.66.67 2.32.3.73.65 1.3 1 1.66.36.37.7.52 1.01.52.3 0 .65-.15 1-.52.26-.26.5-.61.74-1.06A5.94 5.94 0 0 1 11 13.5Zm-8.2 0c1 2.05 2.85 3.6 5.1 4.22a7.19 7.19 0 0 1-.84-1.52c-.32-.78-.58-1.7-.76-2.7H2.8Zm3.35-1H2.4a8 8 0 0 1 0-5h3.75a20.52 20.52 0 0 0 0 5ZM19 13.68c0-2.03-1.47-3.68-3.5-3.68-2.03 0-3.5 1.65-3.5 3.68 0 1.53.98 3.53 3.26 5.24.14.1.34.1.49 0 2.27-1.7 3.25-3.71 3.25-5.24Zm-2-.18a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]);\nexport const GlobeLocationRegular = /*#__PURE__*/createFluentIcon('GlobeLocationRegular', \"1em\", [\"M10 18a8 8 0 0 0 2.5-.4 8.14 8.14 0 0 1-.98-1.63c-.5.7-1.03 1.03-1.52 1.03-.66 0-1.4-.59-2.02-1.9-.22-.47-.4-1.01-.56-1.6H11c.02-.34.06-.68.14-1H7.21a14.87 14.87 0 0 1 0-5h5.58c.12.7.2 1.46.2 2.26.3-.2.64-.38 1-.5-.03-.61-.1-1.2-.18-1.76h2.73c.21.55.35 1.13.42 1.74.37.12.72.3 1.04.51A8 8 0 1 0 10 18Zm0-15c.66 0 1.4.59 2.02 1.9.22.47.4 1.01.56 1.6H7.42c.15-.59.34-1.13.56-1.6C8.59 3.6 9.34 3 10 3ZM7.07 4.49c-.27.59-.5 1.27-.68 2.01H3.94A7.02 7.02 0 0 1 7.7 3.38c-.24.33-.45.7-.64 1.1ZM6.2 7.5a15.97 15.97 0 0 0 0 5H3.46a6.98 6.98 0 0 1 0-5h2.73Zm.2 6c.17.74.4 1.42.68 2.01.19.4.4.78.64 1.1a7.02 7.02 0 0 1-3.77-3.11h2.45Zm5.9-10.12a7.02 7.02 0 0 1 3.77 3.12h-2.45a10.5 10.5 0 0 0-.68-2.01c-.19-.4-.4-.78-.64-1.1ZM19 13.68c0-2.03-1.47-3.68-3.5-3.68-2.03 0-3.5 1.65-3.5 3.68 0 1.53.98 3.53 3.26 5.24.14.1.34.1.49 0 2.27-1.7 3.25-3.71 3.25-5.24Zm-2-.18a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]);\nexport const GlobeOffFilled = /*#__PURE__*/createFluentIcon('GlobeOffFilled', \"1em\", [\"M4 4.7a8.01 8.01 0 0 0-1.2 1.8h3l1.32 1.33a19.65 19.65 0 0 0 .04 4.67h4.63l1.75 1.75c-.16.71-.36 1.37-.6 1.95-.24.58-.52 1.1-.83 1.52A7.98 7.98 0 0 0 15.29 16l1.86 1.85a.5.5 0 0 0 .7-.7l-15-15a.5.5 0 1 0-.7.7L4 4.71Zm3.56.74L8.62 6.5h4.06c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66-.16.38-.3.8-.43 1.26ZM9.62 7.5l3.36 3.36a20.45 20.45 0 0 0-.14-3.36H9.62Zm4.3 4.3.7.7h2.98a8 8 0 0 0 0-5h-3.75a20.52 20.52 0 0 1 .07 4.3Zm1.7 1.7 1 1a8 8 0 0 0 .58-1h-1.58ZM5.5 3.38l1.26 1.26.3-.84c.24-.58.52-1.1.83-1.52-.86.24-1.67.61-2.39 1.1Zm6.61-1.1c.31.43.59.94.83 1.52.32.78.58 1.7.76 2.7h3.5a8.02 8.02 0 0 0-5.09-4.22ZM10 18c.3 0 .65-.15 1-.52.36-.37.71-.93 1.01-1.66.28-.66.5-1.45.67-2.32H7.32c.17.87.4 1.66.67 2.32.3.73.65 1.3 1 1.66.36.37.7.52 1.01.52Zm-2.1-.28a8.02 8.02 0 0 1-5.1-4.22h3.5c.18 1 .44 1.92.76 2.7.24.58.52 1.1.83 1.52ZM2.4 12.5h3.75a20.52 20.52 0 0 1 0-5H2.4a8 8 0 0 0 0 5Z\"]);\nexport const GlobeOffRegular = /*#__PURE__*/createFluentIcon('GlobeOffRegular', \"1em\", [\"M4 4.7 2.15 2.86a.5.5 0 1 1 .7-.7l15 15a.5.5 0 0 1-.7.7L15.29 16A8 8 0 0 1 4 4.7Zm10.58 10.6-1.14-1.15c-.15.49-.32.95-.51 1.36-.19.4-.4.78-.64 1.1a7 7 0 0 0 2.3-1.32Zm-2.79-2.8L7.15 7.86a15.08 15.08 0 0 0 .06 4.64h4.58Zm-6-6L4.71 5.42c-.3.33-.55.7-.77 1.08h1.85ZM6 10c0-.87.07-1.71.2-2.5H3.45a6.98 6.98 0 0 0 0 5h2.73C6.07 11.71 6 10.87 6 10Zm1.07 5.51c-.27-.59-.5-1.27-.68-2.01H3.94a7.02 7.02 0 0 0 3.77 3.12c-.24-.33-.45-.7-.64-1.1Zm4.95-.42c.22-.46.4-1 .56-1.59H7.42c.15.59.34 1.13.56 1.6C8.59 16.4 9.34 17 10 17c.66 0 1.4-.59 2.02-1.9ZM7.07 4.5c-.05.1-.1.2-.14.32l.77.77c.09-.24.18-.46.28-.67C8.59 3.59 9.34 3 10 3c.66 0 1.4.59 2.02 1.9.22.47.4 1.01.56 1.6H8.62l1 1h3.17a14.86 14.86 0 0 1 .19 3.36l.92.92a16.34 16.34 0 0 0-.1-4.28h2.74a6.98 6.98 0 0 1 0 5h-1.92l2 2A8 8 0 0 0 5.5 3.39l.72.71c.46-.3.96-.54 1.48-.72-.24.33-.45.7-.64 1.1Zm9 2.01H13.6a10.5 10.5 0 0 0-.68-2.01c-.19-.4-.4-.78-.64-1.1a7.02 7.02 0 0 1 3.77 3.11Z\"]);\nexport const GlobePersonFilled = /*#__PURE__*/createFluentIcon('GlobePersonFilled', \"1em\", [\"M7.99 4.18c-.28.66-.5 1.45-.67 2.32h5.36c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66Zm-.1-1.9c-.31.43-.59.94-.83 1.52-.32.78-.58 1.7-.76 2.7H2.8c1-2.05 2.85-3.6 5.1-4.22Zm4.22 0c.31.43.59.94.83 1.52.32.78.58 1.7.76 2.7h3.5a8.02 8.02 0 0 0-5.09-4.22Zm5.5 5.22h-3.76c.08.61.12 1.25.14 1.9a2.99 2.99 0 0 1 4 .93 8.26 8.26 0 0 0-.39-2.83ZM13 10v.35a2.99 2.99 0 0 0-.46 2.15H7.16a19.44 19.44 0 0 1 0-5h5.68c.1.79.16 1.63.16 2.5Zm-.32 3.5c-.04.24-.1.47-.15.7A2.5 2.5 0 0 0 11 16.5c0 .29.04.58.12.86l-.12.12c-.35.37-.7.52-1 .52-.3 0-.65-.15-1-.52-.36-.37-.71-.93-1.01-1.66-.28-.66-.5-1.45-.67-2.32h5.36ZM7.9 17.72A8.02 8.02 0 0 1 2.8 13.5h3.5c.18 1 .44 1.92.76 2.7.24.58.52 1.1.83 1.52ZM2.4 12.5h3.76a20.52 20.52 0 0 1 0-5H2.4a8 8 0 0 0 0 5ZM17.5 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const GlobePersonRegular = /*#__PURE__*/createFluentIcon('GlobePersonRegular', \"1em\", [\"M11.31 17.9A8 8 0 1 1 18 10.33a3.02 3.02 0 0 0-1.02-.95c-.05-.66-.2-1.3-.43-1.89h-2.73c.1.6.16 1.25.18 1.9-.4.24-.74.56-1 .95a15.93 15.93 0 0 0-.2-2.85H7.21a14.87 14.87 0 0 0 0 5h5.33c.06.36.19.7.36 1H7.42c.15.59.34 1.13.56 1.6C8.59 16.4 9.34 17 10 17c.32 0 .66-.14 1-.44 0 .46.11.91.31 1.33Zm.71-13C11.41 3.6 10.66 3 10 3c-.66 0-1.4.59-2.02 1.9-.22.47-.4 1.01-.56 1.6h5.16a9.25 9.25 0 0 0-.56-1.6ZM6.4 6.5c.17-.74.4-1.42.68-2.01.19-.4.4-.78.64-1.1A7.02 7.02 0 0 0 3.94 6.5h2.45ZM6 10c0-.87.07-1.71.2-2.5H3.45a6.98 6.98 0 0 0 0 5h2.73C6.07 11.71 6 10.87 6 10Zm1.07 5.51c-.27-.59-.5-1.27-.68-2.01H3.94a7.02 7.02 0 0 0 3.77 3.12c-.24-.33-.45-.7-.64-1.1Zm9-9.01a7.02 7.02 0 0 0-3.78-3.12c.24.33.45.7.64 1.1.27.6.5 1.28.68 2.02h2.45ZM17.5 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const GlobeProhibitedFilled = /*#__PURE__*/createFluentIcon('GlobeProhibitedFilled', \"1em\", [\"M7.32 6.5c.17-.87.4-1.66.67-2.32.3-.73.65-1.3 1-1.66C9.36 2.15 9.7 2 10 2c.3 0 .65.15 1 .52.36.37.71.93 1.01 1.66.28.66.5 1.45.67 2.32H7.32Zm-.26-2.7c.24-.58.52-1.1.83-1.52A8.02 8.02 0 0 0 2.8 6.5h3.5c.18-1 .44-1.92.76-2.7Zm5.88 0a7.19 7.19 0 0 0-.83-1.52A8.02 8.02 0 0 1 17.2 6.5h-3.5c-.18-1-.44-1.92-.76-2.7Zm.91 3.7h3.75a8 8 0 0 1 .4 2.75 5.48 5.48 0 0 0-4.02-1.23c-.03-.52-.07-1.03-.13-1.52Zm-.87 1.71a19 19 0 0 0-.14-1.71H7.16a19.44 19.44 0 0 0 0 5h2.21a5.51 5.51 0 0 1 3.61-3.29ZM9.1 13.5H7.32c.17.87.4 1.66.67 2.32.3.73.65 1.3 1 1.66.36.37.7.52 1.01.52.08 0 .15 0 .23-.03A5.48 5.48 0 0 1 9.1 13.5Zm-6.29 0c1 2.05 2.85 3.6 5.1 4.22a7.19 7.19 0 0 1-.84-1.52c-.32-.78-.58-1.7-.76-2.7H2.8Zm3.35-1H2.4a8 8 0 0 1 0-5h3.75a20.52 20.52 0 0 0 0 5Zm3.85 2a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm2.4 2.8 4.9-4.9a3.5 3.5 0 0 1-4.9 4.9Zm-.7-.7a3.5 3.5 0 0 1 4.9-4.9l-4.9 4.9Z\"]);\nexport const GlobeProhibitedRegular = /*#__PURE__*/createFluentIcon('GlobeProhibitedRegular', \"1em\", [\"M10.25 18H10a8 8 0 1 1 8-7.75 5.5 5.5 0 0 0-1.01-.66 6.97 6.97 0 0 0-.45-2.09h-2.73c.08.49.13 1 .16 1.53-.34.03-.67.1-.99.18-.03-.6-.1-1.17-.19-1.71H7.21a14.87 14.87 0 0 0 0 5h2.16c-.12.32-.22.65-.28 1H7.42c.15.59.34 1.13.56 1.6.48 1.02 1.04 1.6 1.58 1.81.19.4.42.76.7 1.09Zm1.77-13.1C11.41 3.6 10.66 3 10 3c-.66 0-1.4.59-2.02 1.9-.22.47-.4 1.01-.56 1.6h5.16a9.25 9.25 0 0 0-.56-1.6ZM6.4 6.5c.17-.74.4-1.42.68-2.01.19-.4.4-.78.64-1.1A7.02 7.02 0 0 0 3.94 6.5h2.45ZM6 10c0-.87.07-1.71.2-2.5H3.45a6.98 6.98 0 0 0 0 5h2.73C6.07 11.71 6 10.87 6 10Zm1.07 5.51c-.27-.59-.5-1.27-.68-2.01H3.94a7.02 7.02 0 0 0 3.77 3.12c-.24-.33-.45-.7-.64-1.1Zm9-9.01a7.02 7.02 0 0 0-3.78-3.12c.24.33.45.7.64 1.1.27.6.5 1.28.68 2.02h2.45Zm-6.07 8a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm2.4 2.8 4.9-4.9a3.5 3.5 0 0 1-4.9 4.9Zm-.7-.7a3.5 3.5 0 0 1 4.9-4.9l-4.9 4.9Z\"]);\nexport const GlobeSearchFilled = /*#__PURE__*/createFluentIcon('GlobeSearchFilled', \"1em\", [\"M7.99 4.18c-.28.66-.5 1.45-.67 2.32h5.36c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66Zm-.1-1.9c-.31.43-.59.94-.83 1.52-.32.78-.58 1.7-.76 2.7H2.8c1-2.05 2.85-3.6 5.1-4.22Zm5.05 1.52a7.18 7.18 0 0 0-.83-1.52A8.02 8.02 0 0 1 17.2 6.5h-3.5c-.18-1-.44-1.92-.76-2.7Zm4.66 3.7h-3.75a20.54 20.54 0 0 1 0 5h3.75a7.99 7.99 0 0 0 0-5Zm-3.9 6h3.5a8.02 8.02 0 0 1-5.09 4.22c.31-.43.59-.94.83-1.52.32-.78.58-1.7.76-2.7Zm-4.14.44c.07-.14.13-.29.18-.44h2.94a12.22 12.22 0 0 1-.87 2.77 1.5 1.5 0 0 0-.25-.33l-2-2Zm.41-1.44h2.87a19.44 19.44 0 0 0 0-5H7.16l-.04.3a4.5 4.5 0 0 1 2.85 4.7Zm-3.82-5v.05a4.54 4.54 0 0 0-.65-.05h.65Zm-3.75 0h3.1c-1.39 0-2.63.63-3.45 1.61.06-.55.18-1.1.35-1.61Zm3.1 8c.79 0 1.51-.26 2.1-.7l2.55 2.55a.5.5 0 1 0 .7-.7L8.3 14.1a3.5 3.5 0 1 0-2.8 1.4Zm0-1a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z\"]);\nexport const GlobeSearchRegular = /*#__PURE__*/createFluentIcon('GlobeSearchRegular', \"1em\", [\"M2.05 9.11a8 8 0 1 1 9.72 8.7 1.5 1.5 0 0 0-.2-1.87l-.02-.01c.16-.24.32-.52.47-.84.22-.46.4-1 .56-1.59H9.74c.12-.32.2-.65.23-1h2.82a14.86 14.86 0 0 0 0-5H7.21l-.05.31c-.31-.12-.64-.2-.98-.26l.01-.05H3.46l-.2.6c-.46.26-.87.6-1.21 1.01Zm9.97-4.2C11.41 3.59 10.66 3 10 3c-.66 0-1.4.59-2.02 1.9-.22.47-.4 1.01-.56 1.6h5.16a9.25 9.25 0 0 0-.56-1.6ZM6.4 6.5c.17-.74.4-1.42.68-2.01.19-.4.4-.78.64-1.1A7.02 7.02 0 0 0 3.94 6.5h2.45Zm9.67 7h-2.45c-.17.74-.4 1.42-.68 2.01-.19.4-.4.78-.64 1.1a7.02 7.02 0 0 0 3.77-3.11Zm-2.25-1h2.73a6.98 6.98 0 0 0 0-5h-2.73a15.97 15.97 0 0 1 0 5Zm2.25-6a7.02 7.02 0 0 0-3.77-3.12c.24.33.45.7.64 1.1.27.6.5 1.28.68 2.02h2.45ZM8.3 14.1a3.5 3.5 0 1 0-.7.7l2.55 2.55a.5.5 0 0 0 .7-.7L8.3 14.1ZM8 12a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z\"]);\nexport const GlobeShieldColor = /*#__PURE__*/createFluentIcon('GlobeShieldColor', \"1em\", [\"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z\", \"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z\", \"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z\", \"M7.85 2.3c-.3.42-.58.93-.81 1.5-.37.9-.65 2-.83 3.2H2.58c-.13.32-.24.66-.33 1H6.1a21.55 21.55 0 0 0 0 4H2.25c.09.34.2.68.33 1h3.63c.18 1.2.46 2.3.83 3.2.23.57.5 1.08.81 1.5a8 8 0 0 0 4.3 0c.3-.42.58-.93.81-1.5.37-.9.65-2 .83-3.2h3.63c.13-.32.24-.66.33-1H13.9a21.54 21.54 0 0 0 0-4h3.84c-.09-.34-.2-.68-.33-1h-3.63c-.18-1.2-.46-2.3-.83-3.2a7.06 7.06 0 0 0-.81-1.5 8 8 0 0 0-4.3 0ZM7.22 7c.17-1.08.42-2.04.74-2.82.3-.73.65-1.3 1-1.66C9.33 2.15 9.68 2 10 2c.33 0 .68.15 1.03.52.36.37.7.93 1 1.66.33.78.58 1.74.75 2.82H7.22ZM10 18c.33 0 .68-.15 1.03-.52.36-.37.7-.93 1-1.66.33-.78.58-1.74.75-2.82H7.22c.17 1.08.42 2.04.74 2.82.3.73.65 1.3 1 1.66.36.37.71.52 1.04.52Zm-3-8c0 .7.03 1.36.1 2h5.8a20.47 20.47 0 0 0 0-4H7.1c-.07.64-.1 1.3-.1 2Z\", \"M14 18.52a5.1 5.1 0 0 1-3-4.58v-2.5c0-.28.23-.5.5-.54a5.7 5.7 0 0 0 3.06-1.72A.6.6 0 0 1 15 9a.6.6 0 0 1 .44.18 5.7 5.7 0 0 0 3.06 1.72c.27.04.5.26.5.54V14a5.1 5.1 0 0 1-3 4.52 6.48 6.48 0 0 1-1 .4 6.48 6.48 0 0 1-1-.4Z\"]);\nexport const GlobeShieldFilled = /*#__PURE__*/createFluentIcon('GlobeShieldFilled', \"1em\", [\"M7.99 4.18c-.28.66-.5 1.45-.67 2.32h5.36c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66Zm-.1-1.9c-.31.43-.59.94-.83 1.52-.32.78-.58 1.7-.76 2.7H2.8c1-2.05 2.85-3.6 5.1-4.22Zm4.22 0c.31.43.59.94.83 1.52.32.78.58 1.7.76 2.7h3.5a8.02 8.02 0 0 0-5.09-4.22Zm5.5 5.22h-3.76l.1.95a1.63 1.63 0 0 1 2.2.09c.42.43 1.08.98 1.85 1.27a7.98 7.98 0 0 0-.4-2.31Zm-4.77 0c.08.57.13 1.16.15 1.78-.47.33-1.03.61-1.63.7-.68.09-1.36.66-1.36 1.52v1H7.16a19.44 19.44 0 0 1 0-5h5.68Zm-5.52 6H10v.5c0 1.42.45 2.55 1.07 3.4l-.07.08c-.35.37-.7.52-1 .52-.3 0-.65-.15-1-.52-.36-.37-.71-.93-1.01-1.66-.28-.66-.5-1.45-.67-2.32Zm.57 4.22A8.02 8.02 0 0 1 2.8 13.5h3.5c.18 1 .44 1.92.76 2.7.24.58.52 1.1.83 1.52ZM2.4 12.5h3.76a20.52 20.52 0 0 1 0-5H2.4a8 8 0 0 0 0 5Zm16.11-1.54a5.69 5.69 0 0 1-3.06-1.72.62.62 0 0 0-.88 0 5.7 5.7 0 0 1-3.06 1.72c-.27.04-.5.26-.5.54V14c0 3.47 3.18 4.73 3.87 4.96a.4.4 0 0 0 .26 0c.69-.23 3.87-1.5 3.87-4.96v-2.5c0-.28-.23-.5-.5-.54Z\"]);\nexport const GlobeShieldRegular = /*#__PURE__*/createFluentIcon('GlobeShieldRegular', \"1em\", [\"M10 18c.5 0 .97-.04 1.44-.13a5.85 5.85 0 0 1-.75-1.08c-.24.14-.47.21-.69.21-.66 0-1.4-.59-2.02-1.9-.22-.47-.4-1.01-.56-1.6H10v-1H7.2a14.87 14.87 0 0 1 0-5h5.6c.09.56.15 1.16.18 1.78a6.32 6.32 0 0 0 .95-.82c-.03-.32-.07-.65-.12-.96h2.73c.21.55.35 1.13.42 1.74.3.22.66.43 1.04.57A8 8 0 1 0 10 18Zm0-15c.66 0 1.4.59 2.02 1.9.22.47.4 1.01.56 1.6H7.42c.15-.59.34-1.13.56-1.6C8.59 3.6 9.34 3 10 3ZM7.07 4.49c-.27.59-.5 1.27-.68 2.01H3.94A7.02 7.02 0 0 1 7.7 3.38c-.24.33-.45.7-.64 1.1ZM6.2 7.5a15.97 15.97 0 0 0 0 5H3.46a6.98 6.98 0 0 1 0-5h2.73Zm.2 6c.17.74.4 1.42.68 2.01.19.4.4.78.64 1.1a7.02 7.02 0 0 1-3.77-3.11h2.45Zm5.9-10.12a7.02 7.02 0 0 1 3.77 3.12h-2.45a10.5 10.5 0 0 0-.68-2.01c-.19-.4-.4-.78-.64-1.1Zm6.21 7.58a5.69 5.69 0 0 1-3.06-1.72.62.62 0 0 0-.88 0 5.7 5.7 0 0 1-3.06 1.72c-.27.04-.5.26-.5.54V14c0 3.47 3.18 4.73 3.87 4.96a.4.4 0 0 0 .26 0c.69-.23 3.87-1.5 3.87-4.96v-2.5c0-.28-.23-.5-.5-.54Z\"]);\nexport const GlobeStarFilled = /*#__PURE__*/createFluentIcon('GlobeStarFilled', \"1em\", [\"M7.32 6.5c.17-.87.4-1.66.67-2.32.3-.73.65-1.3 1-1.66C9.36 2.15 9.7 2 10 2c.3 0 .65.15 1 .52.36.37.71.93 1.01 1.66.28.66.5 1.45.67 2.32H7.32Zm-.26-2.7c.24-.58.52-1.1.83-1.52A8.02 8.02 0 0 0 2.8 6.5h3.5c.18-1 .44-1.92.76-2.7Zm5.88 0a7.19 7.19 0 0 0-.83-1.52A8.02 8.02 0 0 1 17.2 6.5h-3.5c-.18-1-.44-1.92-.76-2.7Zm.91 3.7h3.75a8 8 0 0 1 .4 2.75 5.48 5.48 0 0 0-4.02-1.23c-.03-.52-.07-1.03-.13-1.52Zm-.87 1.71a19 19 0 0 0-.14-1.71H7.16a19.44 19.44 0 0 0 0 5h2.21a5.51 5.51 0 0 1 3.61-3.29ZM9.1 13.5H7.32c.17.87.4 1.66.67 2.32.3.73.65 1.3 1 1.66.36.37.7.52 1.01.52.08 0 .15 0 .23-.03A5.48 5.48 0 0 1 9.1 13.5Zm-6.29 0c1 2.05 2.85 3.6 5.1 4.22a7.19 7.19 0 0 1-.84-1.52c-.32-.78-.58-1.7-.76-2.7H2.8Zm3.35-1H2.4a8 8 0 0 1 0-5h3.75a20.52 20.52 0 0 0 0 5ZM14.5 19a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm.95-5.6H17c.48 0 .68.64.3.94l-1.26.94.48 1.53c.15.49-.38.89-.77.59l-1.25-.95-1.25.95c-.4.3-.92-.1-.77-.59l.48-1.53-1.25-.94c-.4-.3-.2-.95.3-.95h1.54l.47-1.53a.5.5 0 0 1 .96 0l.47 1.53Z\"]);\nexport const GlobeStarRegular = /*#__PURE__*/createFluentIcon('GlobeStarRegular', \"1em\", [\"M10.25 18H10a8 8 0 1 1 8-7.75 5.5 5.5 0 0 0-1.01-.66 6.97 6.97 0 0 0-.45-2.09h-2.73c.08.49.13 1 .16 1.53-.34.03-.67.1-.99.18-.03-.6-.1-1.17-.19-1.71H7.21a14.87 14.87 0 0 0 0 5h2.16c-.12.32-.22.65-.28 1H7.42c.15.59.34 1.13.56 1.6.48 1.02 1.04 1.6 1.58 1.81.19.4.42.76.7 1.09Zm1.77-13.1C11.41 3.6 10.66 3 10 3c-.66 0-1.4.59-2.02 1.9-.22.47-.4 1.01-.56 1.6h5.16a9.25 9.25 0 0 0-.56-1.6ZM6.4 6.5c.17-.74.4-1.42.68-2.01.19-.4.4-.78.64-1.1A7.02 7.02 0 0 0 3.94 6.5h2.45ZM6 10c0-.87.07-1.71.2-2.5H3.45a6.98 6.98 0 0 0 0 5h2.73C6.07 11.71 6 10.87 6 10Zm1.07 5.51c-.27-.59-.5-1.27-.68-2.01H3.94a7.02 7.02 0 0 0 3.77 3.12c-.24-.33-.45-.7-.64-1.1Zm9-9.01a7.02 7.02 0 0 0-3.78-3.12c.24.33.45.7.64 1.1.27.6.5 1.28.68 2.02h2.45ZM14.5 19a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm.95-5.6H17c.48 0 .68.64.3.94l-1.26.94.48 1.53c.15.49-.38.89-.77.59l-1.25-.95-1.25.95c-.4.3-.92-.1-.77-.59l.48-1.53-1.25-.94c-.4-.3-.2-.95.3-.95h1.54l.47-1.53a.5.5 0 0 1 .96 0l.47 1.53Z\"]);\nexport const GlobeSurfaceFilled = /*#__PURE__*/createFluentIcon('GlobeSurfaceFilled', \"1em\", [\"M8.12 7c.12-.93.32-1.76.58-2.42.21-.55.45-.97.7-1.23.24-.27.44-.35.6-.35.16 0 .36.08.6.35.25.26.49.68.7 1.23.26.66.46 1.49.58 2.42H8.12Zm-.35-2.78c.13-.34.28-.67.45-.95A6.02 6.02 0 0 0 4.34 7h2.78c.12-1.05.35-2 .65-2.78Zm4.46 0a6.18 6.18 0 0 0-.45-.95A6.02 6.02 0 0 1 15.66 7h-2.78c-.12-1.05-.35-2-.65-2.78ZM12.97 8h2.95a6.04 6.04 0 0 1 0 2h-2.95a17.34 17.34 0 0 0 0-2Zm-.09 3h2.78a6.02 6.02 0 0 1-3.88 3.73c.17-.28.32-.6.45-.95.3-.78.53-1.73.65-2.78Zm-2.28 3.65c-.24.27-.44.35-.6.35-.16 0-.36-.08-.6-.35a3.99 3.99 0 0 1-.7-1.23c-.26-.66-.46-1.49-.58-2.42h3.76c-.12.93-.32 1.76-.58 2.42-.21.55-.45.97-.7 1.23ZM4.34 11a6.02 6.02 0 0 0 3.88 3.73c-.17-.28-.32-.6-.45-.95-.3-.78-.53-1.73-.65-2.78H4.34Zm2.69-1H4.08a6.04 6.04 0 0 1 0-2h2.95a17.4 17.4 0 0 0 0 2Zm1-2a16.36 16.36 0 0 0 0 2h3.94a16.37 16.37 0 0 0 0-2H8.03ZM3.5 13h.75c.25.36.53.69.84 1A.5.5 0 0 1 5 14H3.89l-.75 3h13.72l-.75-3H15a.5.5 0 0 1-.1 0c.32-.31.6-.64.85-1h.75a.5.5 0 0 1 .49.38l1 4a.5.5 0 0 1-.49.62h-15a.5.5 0 0 1-.49-.62l1-4A.5.5 0 0 1 3.5 13Z\"]);\nexport const GlobeSurfaceRegular = /*#__PURE__*/createFluentIcon('GlobeSurfaceRegular', \"1em\", [\"M10 3a6 6 0 1 1 0 12 6 6 0 0 1 0-12Zm0 11c.25 0 .74-.23 1.23-1.2.24-.5.45-1.1.58-1.8H8.2c.13.7.34 1.3.58 1.8.5.97.98 1.2 1.23 1.2Zm-1.95-4h3.9a10.93 10.93 0 0 0 0-2h-3.9a10.94 10.94 0 0 0 0 2Zm3.86 3.62A5.02 5.02 0 0 0 14.58 11h-1.75a7.76 7.76 0 0 1-.92 2.62ZM12.96 10h1.94a5.02 5.02 0 0 0 0-2h-1.94a11.96 11.96 0 0 1 0 2ZM11.9 4.38c.42.68.74 1.59.92 2.62h1.75a5.02 5.02 0 0 0-2.67-2.62Zm-.68.82C10.73 4.23 10.25 4 10 4s-.74.23-1.23 1.2c-.24.5-.45 1.1-.58 1.8h3.62c-.13-.7-.34-1.3-.58-1.8Zm-3.14-.82A5.02 5.02 0 0 0 5.42 7h1.75c.18-1.03.5-1.94.92-2.62ZM5 9c0 .34.03.68.1 1h1.94a11.97 11.97 0 0 1 0-2H5.1c-.07.32-.1.66-.1 1Zm.42 2a5.02 5.02 0 0 0 2.67 2.62A7.76 7.76 0 0 1 7.17 11H5.42ZM3.5 13h.75c.26.36.54.7.85 1H3.9l-.75 3h13.72l-.75-3H14.9c.31-.3.6-.64.85-1h.75a.5.5 0 0 1 .49.38l1 4a.5.5 0 0 1-.49.62h-15a.5.5 0 0 1-.49-.62l1-4A.5.5 0 0 1 3.5 13Z\"]);\nexport const GlobeSyncFilled = /*#__PURE__*/createFluentIcon('GlobeSyncFilled', \"1em\", [\"M7.99 4.18c-.28.66-.5 1.45-.67 2.32h5.36c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66Zm-.1-1.9c-.31.43-.59.94-.83 1.52-.32.78-.58 1.7-.76 2.7H2.8c1-2.05 2.85-3.6 5.1-4.22Zm4.22 0c.31.43.59.94.83 1.52.32.78.58 1.7.76 2.7h3.5a8.02 8.02 0 0 0-5.09-4.22Zm5.5 5.22h-3.76c.06.5.1 1 .13 1.52A5.57 5.57 0 0 1 18 10.25a7.93 7.93 0 0 0-.4-2.75Zm-4.77 0a19 19 0 0 1 .14 1.71 5.51 5.51 0 0 0-3.6 3.29H7.15a19.44 19.44 0 0 1 0-5h5.68Zm-5.52 6h1.77a5.53 5.53 0 0 0 1.14 4.47.99.99 0 0 1-.23.03c-.3 0-.65-.15-1-.52-.36-.37-.71-.93-1.01-1.66-.28-.66-.5-1.45-.67-2.32Zm.57 4.22A8.02 8.02 0 0 1 2.8 13.5h3.5c.18 1 .44 1.92.76 2.7.24.58.52 1.1.83 1.52ZM2.4 12.5h3.76a20.52 20.52 0 0 1 0-5H2.4a8 8 0 0 0 0 5Zm7.61 2a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm6.5-3c.28 0 .5.22.5.5v1.5a.5.5 0 0 1-.5.5H15a.5.5 0 0 1 0-1h.47a1.97 1.97 0 0 0-.94-.25 2 2 0 0 0-1.44.59.5.5 0 0 1-.71-.71 3 3 0 0 1 3.62-.48V12c0-.28.22-.5.5-.5Zm-.88 5.53a3 3 0 0 1-2.62-.18V17a.5.5 0 0 1-1 0v-1.5c0-.28.22-.5.5-.5H14a.5.5 0 0 1 0 1h-.47a1.97 1.97 0 0 0 .94.25 2 2 0 0 0 1.44-.59.5.5 0 0 1 .71.71 3 3 0 0 1-1 .66Z\"]);\nexport const GlobeSyncRegular = /*#__PURE__*/createFluentIcon('GlobeSyncRegular', \"1em\", [\"M10 18h.25a5.5 5.5 0 0 1-.7-1.09c-.53-.2-1.1-.79-1.57-1.82-.22-.46-.4-1-.56-1.59h1.67c.06-.35.16-.68.28-1H7.21a14.87 14.87 0 0 1 0-5h5.58c.1.54.16 1.11.19 1.71.32-.09.65-.15 1-.18-.04-.53-.1-1.04-.17-1.53h2.73c.25.66.4 1.36.45 2.1.36.18.7.4 1 .65L18 10a8 8 0 1 0-8 8Zm0-15c.66 0 1.4.59 2.02 1.9.22.47.4 1.01.56 1.6H7.42c.15-.59.34-1.13.56-1.6C8.59 3.6 9.34 3 10 3ZM7.07 4.49c-.27.59-.5 1.27-.68 2.01H3.94A7.02 7.02 0 0 1 7.7 3.38c-.24.33-.45.7-.64 1.1ZM6.2 7.5a15.97 15.97 0 0 0 0 5H3.46a6.98 6.98 0 0 1 0-5h2.73Zm.2 6c.17.74.4 1.42.68 2.01.19.4.4.78.64 1.1a7.02 7.02 0 0 1-3.77-3.11h2.45Zm5.9-10.12a7.02 7.02 0 0 1 3.77 3.12h-2.45a10.5 10.5 0 0 0-.68-2.01c-.19-.4-.4-.78-.64-1.1ZM10 14.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm6.5-3c.28 0 .5.22.5.5v1.5a.5.5 0 0 1-.5.5H15a.5.5 0 0 1 0-1h.47a1.97 1.97 0 0 0-.94-.25 2 2 0 0 0-1.44.59.5.5 0 0 1-.71-.71 3 3 0 0 1 3.62-.48V12c0-.28.22-.5.5-.5Zm-.88 5.53a3 3 0 0 1-2.62-.18V17a.5.5 0 0 1-1 0v-1.5c0-.28.22-.5.5-.5H14a.5.5 0 0 1 0 1h-.47a1.97 1.97 0 0 0 .94.25 2 2 0 0 0 1.44-.59.5.5 0 0 1 .71.71 3 3 0 0 1-1 .66Z\"]);\nexport const GlobeVideoFilled = /*#__PURE__*/createFluentIcon('GlobeVideoFilled', \"1em\", [\"M7.99 4.18c-.28.66-.5 1.45-.67 2.32h5.36c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66Zm-.1-1.9c-.31.43-.59.94-.83 1.52-.32.78-.58 1.7-.76 2.7H2.8c1-2.05 2.85-3.6 5.1-4.22Zm4.22 0c.31.43.59.94.83 1.52.32.78.58 1.7.76 2.7h3.5a8.02 8.02 0 0 0-5.09-4.22Zm5.5 5.22h-3.76a20.52 20.52 0 0 1 .13 3.5h.52c.93 0 1.74.5 2.17 1.26l.5-.4c.22-.16.45-.26.68-.32a8.04 8.04 0 0 0-.25-4.04ZM13 10c0 .34 0 .67-.02 1H11.5a2.5 2.5 0 0 0-2.3 1.5H7.17a19.44 19.44 0 0 1 0-5h5.68c.1.79.16 1.63.16 2.5Zm-5.68 3.5H9v3.99c-.36-.38-.71-.94-1.01-1.67-.28-.66-.5-1.45-.67-2.32Zm.57 4.22A8.02 8.02 0 0 1 2.8 13.5h3.5c.18 1 .44 1.92.76 2.7.24.58.52 1.1.83 1.52ZM2.4 12.5h3.76a20.52 20.52 0 0 1 0-5H2.4a8 8 0 0 0 0 5Zm7.61 1c0-.83.67-1.5 1.5-1.5h3c.83 0 1.5.67 1.5 1.5v.53l1.79-1.37a.75.75 0 0 1 1.2.6v4.5c0 .61-.7.97-1.2.59L16 16.97v.53c0 .83-.67 1.5-1.5 1.5h-3a1.5 1.5 0 0 1-1.5-1.5v-4Z\"]);\nexport const GlobeVideoRegular = /*#__PURE__*/createFluentIcon('GlobeVideoRegular', \"1em\", [\"M2 10a8 8 0 0 0 7.04 7.94C9 17.8 9 17.65 9 17.5v-.94c-.36-.3-.7-.8-1.02-1.47-.22-.46-.4-1-.56-1.59H9c0-.36.07-.7.2-1h-2a14.87 14.87 0 0 1 0-5h5.6a14.86 14.86 0 0 1 .17 3.5h1a16.6 16.6 0 0 0-.16-3.5h2.73a6.98 6.98 0 0 1 .1 4.71l.03.05.5-.4c.22-.16.45-.26.68-.32A8 8 0 1 0 2 10Zm8-7c.66 0 1.4.59 2.02 1.9.22.47.4 1.01.56 1.6H7.42c.15-.59.34-1.13.56-1.6C8.59 3.6 9.34 3 10 3ZM7.07 4.49c-.27.59-.5 1.27-.68 2.01H3.94A7.02 7.02 0 0 1 7.7 3.38c-.24.33-.45.7-.64 1.1ZM6.2 7.5a15.97 15.97 0 0 0 0 5H3.46a6.98 6.98 0 0 1 0-5h2.73Zm.2 6c.17.74.4 1.42.68 2.01.19.4.4.78.64 1.1a7.02 7.02 0 0 1-3.77-3.11h2.45Zm5.9-10.12a7.02 7.02 0 0 1 3.77 3.12h-2.45a10.5 10.5 0 0 0-.68-2.01c-.19-.4-.4-.78-.64-1.1ZM10 13.5c0-.83.67-1.5 1.5-1.5h3c.83 0 1.5.67 1.5 1.5v.53l1.79-1.37a.75.75 0 0 1 1.2.6v4.5c0 .61-.7.97-1.2.59L16 16.97v.53c0 .83-.67 1.5-1.5 1.5h-3a1.5 1.5 0 0 1-1.5-1.5v-4Z\"]);\nexport const GlobeWarningFilled = /*#__PURE__*/createFluentIcon('GlobeWarningFilled', \"1em\", [\"M7.99 4.18c-.28.66-.5 1.45-.67 2.32h5.36c-.17-.87-.4-1.66-.67-2.32-.3-.73-.65-1.3-1-1.66C10.64 2.15 10.3 2 10 2c-.3 0-.65.15-1 .52-.36.37-.71.93-1.01 1.66Zm-.1-1.9c-.31.43-.59.94-.83 1.52-.32.78-.58 1.7-.76 2.7H2.8c1-2.05 2.85-3.6 5.1-4.22Zm4.22 0c.31.43.59.94.83 1.52.32.78.58 1.7.76 2.7h3.5a8.02 8.02 0 0 0-5.09-4.22Zm5.5 5.22h-3.76c.06.5.1 1.03.13 1.57a2 2 0 0 1 2.31 1.04l1.2 2.39h.11a8 8 0 0 0 0-5Zm-4.77 0c.1.69.15 1.42.16 2.18-.11.12-.2.27-.29.43l-1.2 2.39H7.17a19.44 19.44 0 0 1 0-5h5.68Zm-5.52 6h3.7l-1.8 3.6c-.07.15-.13.3-.16.44a5.28 5.28 0 0 1-1.07-1.72c-.28-.66-.5-1.45-.67-2.32Zm.57 4.22A8.02 8.02 0 0 1 2.8 13.5h3.5c.18 1 .44 1.92.76 2.7.24.58.52 1.1.83 1.52ZM2.4 12.5h3.76a20.52 20.52 0 0 1 0-5H2.4a8 8 0 0 0 0 5Zm11.21-1.95-3.5 7A1 1 0 0 0 11 19h7a1 1 0 0 0 .9-1.45l-3.5-7a1 1 0 0 0-1.8 0ZM15 12.5v3a.5.5 0 1 1-1 0v-3a.5.5 0 1 1 1 0Zm-.5 5.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z\"]);\nexport const GlobeWarningRegular = /*#__PURE__*/createFluentIcon('GlobeWarningRegular', \"1em\", [\"M2 10a8 8 0 0 0 7 7.94 2 2 0 0 1 .22-.84l.14-.28a3.7 3.7 0 0 1-1.38-1.73c-.22-.46-.4-1-.56-1.59h3.6l.5-1H7.2a14.87 14.87 0 0 1 0-5h5.58c.12.68.2 1.41.2 2.18.27-.3.62-.51.98-.61-.03-.54-.08-1.07-.16-1.57h2.73a6.98 6.98 0 0 1 .34 3.79l.68 1.34A7.99 7.99 0 1 0 2 10Zm8-7c.66 0 1.4.59 2.02 1.9.22.47.4 1.01.56 1.6H7.42c.15-.59.34-1.13.56-1.6C8.59 3.6 9.34 3 10 3ZM7.07 4.49c-.27.59-.5 1.27-.68 2.01H3.94A7.02 7.02 0 0 1 7.7 3.38c-.24.33-.45.7-.64 1.1ZM6.2 7.5a15.97 15.97 0 0 0 0 5H3.46a6.98 6.98 0 0 1 0-5h2.73Zm.2 6c.17.74.4 1.42.68 2.01.19.4.4.78.64 1.1a7.02 7.02 0 0 1-3.77-3.11h2.45Zm5.9-10.12a7.02 7.02 0 0 1 3.77 3.12h-2.45a10.5 10.5 0 0 0-.68-2.01c-.19-.4-.4-.78-.64-1.1Zm1.31 7.17-3.5 7A1 1 0 0 0 11 19h7a1 1 0 0 0 .9-1.45l-3.5-7a1 1 0 0 0-1.8 0ZM15 12.5v3a.5.5 0 1 1-1 0v-3a.5.5 0 1 1 1 0Zm-.5 5.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z\"]);\nexport const GridFilled = /*#__PURE__*/createFluentIcon('GridFilled', \"1em\", [\"M7.5 11c.83 0 1.5.67 1.5 1.5v4c0 .83-.67 1.5-1.5 1.5h-4A1.5 1.5 0 0 1 2 16.5v-4c0-.83.67-1.5 1.5-1.5h4Zm9 0c.83 0 1.5.67 1.5 1.5v4c0 .83-.67 1.5-1.5 1.5h-4a1.5 1.5 0 0 1-1.5-1.5v-4c0-.83.67-1.5 1.5-1.5h4Zm-9-9C8.33 2 9 2.67 9 3.5v4C9 8.33 8.33 9 7.5 9h-4A1.5 1.5 0 0 1 2 7.5v-4C2 2.67 2.67 2 3.5 2h4Zm9 0c.83 0 1.5.67 1.5 1.5v4c0 .83-.67 1.5-1.5 1.5h-4A1.5 1.5 0 0 1 11 7.5v-4c0-.83.67-1.5 1.5-1.5h4Z\"]);\nexport const GridRegular = /*#__PURE__*/createFluentIcon('GridRegular', \"1em\", [\"M7.5 11c.83 0 1.5.67 1.5 1.5v4c0 .83-.67 1.5-1.5 1.5h-4A1.5 1.5 0 0 1 2 16.5v-4c0-.83.67-1.5 1.5-1.5h4Zm9 0c.83 0 1.5.67 1.5 1.5v4c0 .83-.67 1.5-1.5 1.5h-4a1.5 1.5 0 0 1-1.5-1.5v-4c0-.83.67-1.5 1.5-1.5h4Zm-9 1h-4a.5.5 0 0 0-.5.5v4c0 .28.22.5.5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5Zm9 0h-4a.5.5 0 0 0-.5.5v4c0 .28.22.5.5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5Zm-9-10C8.33 2 9 2.67 9 3.5v4C9 8.33 8.33 9 7.5 9h-4A1.5 1.5 0 0 1 2 7.5v-4C2 2.67 2.67 2 3.5 2h4Zm9 0c.83 0 1.5.67 1.5 1.5v4c0 .83-.67 1.5-1.5 1.5h-4A1.5 1.5 0 0 1 11 7.5v-4c0-.83.67-1.5 1.5-1.5h4Zm-9 1h-4a.5.5 0 0 0-.5.5v4c0 .28.22.5.5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5Zm9 0h-4a.5.5 0 0 0-.5.5v4c0 .28.22.5.5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5Z\"]);\nexport const GridDotsFilled = /*#__PURE__*/createFluentIcon('GridDotsFilled', \"1em\", [\"M5.75 4a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0Zm0 6a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0ZM4 17.75a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5ZM11.75 4a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0ZM10 11.75a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5ZM11.75 16a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0ZM16 5.75a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5ZM17.75 10a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0ZM16 17.75a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5Z\"]);\nexport const GridDotsRegular = /*#__PURE__*/createFluentIcon('GridDotsRegular', \"1em\", [\"M5.25 4a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm12 12a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM16 11.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM17.25 4a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM10 17.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM11.25 10a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM10 5.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM5.25 16a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM4 11.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\"]);\nexport const GridKanbanFilled = /*#__PURE__*/createFluentIcon('GridKanbanFilled', \"1em\", [\"M3 2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3Zm0 6a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H3Zm0 6a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H3Zm9-12a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-5Zm0 6a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-5Z\"]);\nexport const GridKanbanRegular = /*#__PURE__*/createFluentIcon('GridKanbanRegular', \"1em\", [\"M2 3a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Zm6 0H3v2h5V3ZM2 9a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V9Zm6 0H3v2h5V9Zm-5 5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H3Zm0 1h5v2H3v-2Zm8-12a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V3Zm6 0h-5v2h5V3Zm-5 5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-5Zm0 1h5v2h-5V9Z\"]);\nexport const GroupFilled = /*#__PURE__*/createFluentIcon('GroupFilled', \"1em\", [\"M7 4.5c0 .36-.07.7-.2 1H10c.28 0 .5.22.5.5v2H10a2 2 0 0 0-2 2v.5H6a.5.5 0 0 1-.5-.5V6.8a2.5 2.5 0 0 1-1.5.15V10c0 1.1.9 2 2 2h2v2c0 1.1.9 2 2 2h3.05a2.51 2.51 0 0 1 .16-1.5H10a.5.5 0 0 1-.5-.5v-2h.5a2 2 0 0 0 2-2v-.5h2c.28 0 .5.22.5.5v3.2a2.5 2.5 0 0 1 1.5-.15V10a2 2 0 0 0-2-2h-2V6a2 2 0 0 0-2-2H6.95c.03.16.05.33.05.5Zm3.5 5v.5a.5.5 0 0 1-.5.5h-.5V10c0-.28.22-.5.5-.5h.5ZM6 4.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm11 11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm0-11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-11 11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]);\nexport const GroupRegular = /*#__PURE__*/createFluentIcon('GroupRegular', \"1em\", [\"M7 4.5c0 .17-.02.34-.05.5H10a1 1 0 0 1 1 1v2h-1a2 2 0 0 0-2 2v1H6a1 1 0 0 1-1-1V6.95a2.51 2.51 0 0 1-1 0V10c0 1.1.9 2 2 2h2v2c0 1.1.9 2 2 2h3.05a2.51 2.51 0 0 1 0-1H10a1 1 0 0 1-1-1v-2h1a2 2 0 0 0 2-2V9h2a1 1 0 0 1 1 1v3.05a2.51 2.51 0 0 1 1 0V10a2 2 0 0 0-2-2h-2V6a2 2 0 0 0-2-2H6.95c.03.16.05.33.05.5ZM11 9v1a1 1 0 0 1-1 1H9v-1a1 1 0 0 1 1-1h1ZM6 4.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm11 11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm0-11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-11 11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]);\nexport const GroupDismissFilled = /*#__PURE__*/createFluentIcon('GroupDismissFilled', \"1em\", [\"M7 4.5c0 .36-.07.7-.2 1H10c.28 0 .5.22.5.5v2H10a2 2 0 0 0-2 2v.5H6a.5.5 0 0 1-.5-.5V6.8a2.5 2.5 0 0 1-1.5.15V10c0 1.1.9 2 2 2h2v2a2 2 0 0 0 1.16 1.81 5.51 5.51 0 0 1 .34-3.6V10c0-.28.22-.5.5-.5h2.2a5.48 5.48 0 0 1 3.61-.34A2 2 0 0 0 14 8h-2V6a2 2 0 0 0-2-2H6.95c.03.16.05.33.05.5Zm-1 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm11 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-11 11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm13-1a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7l-1.15 1.14-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7l-1.14-1.15 1.14-1.15Z\"]);\nexport const GroupDismissRegular = /*#__PURE__*/createFluentIcon('GroupDismissRegular', \"1em\", [\"M7 4.5c0 .17-.02.34-.05.5H10a1 1 0 0 1 1 1v2h-1a2 2 0 0 0-2 2v1H6a1 1 0 0 1-1-1V6.95a2.51 2.51 0 0 1-1 0V10c0 1.1.9 2 2 2h2v2a2 2 0 0 0 1.16 1.81A5.51 5.51 0 0 1 9 14v-4a1 1 0 0 1 1-1h4a5.58 5.58 0 0 1 1.81.16A2 2 0 0 0 14 8h-2V6a2 2 0 0 0-2-2H6.95c.03.16.05.33.05.5Zm-1 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm11 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-11 11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm13-1a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7l-1.15 1.14-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7l-1.14-1.15 1.14-1.15Z\"]);\nexport const GroupListFilled = /*#__PURE__*/createFluentIcon('GroupListFilled', \"1em\", [\"M2.75 2a.75.75 0 0 0-.75.75v6c0 .41.34.75.75.75h2.5a.75.75 0 0 0 0-1.5H3.5V3.5h1.75a.75.75 0 0 0 0-1.5h-2.5Zm0 8.5a.75.75 0 0 0-.75.75v6c0 .41.34.75.75.75h2.5a.75.75 0 0 0 0-1.5H3.5V12h1.75a.75.75 0 0 0 0-1.5h-2.5Zm5 1.5a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5ZM7 15.75c0-.41.34-.75.75-.75h9.5a.75.75 0 0 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75Zm0-11.5c0-.41.34-.75.75-.75h9.5a.75.75 0 0 1 0 1.5h-9.5A.75.75 0 0 1 7 4.25Zm.75 2.25a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Z\"]);\nexport const GroupListRegular = /*#__PURE__*/createFluentIcon('GroupListRegular', \"1em\", [\"M2.5 3a.5.5 0 0 0-.5.5v5c0 .28.22.5.5.5h2a.5.5 0 0 0 0-1H3V4h1.5a.5.5 0 0 0 0-1h-2Zm0 8a.5.5 0 0 0-.5.5v5c0 .28.22.5.5.5h2a.5.5 0 0 0 0-1H3v-4h1.5a.5.5 0 0 0 0-1h-2ZM6 4.5c0-.28.22-.5.5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm.5 7.5a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11ZM6 7.5c0-.28.22-.5.5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm.5 7.5a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11Z\"]);\nexport const GroupReturnFilled = /*#__PURE__*/createFluentIcon('GroupReturnFilled', \"1em\", [\"M7 4.5c0 .36-.07.7-.2 1H10c.28 0 .5.22.5.5v2H10a2 2 0 0 0-2 2v.5H6a.5.5 0 0 1-.5-.5V6.8a2.5 2.5 0 0 1-1.5.15V10c0 1.1.9 2 2 2h2v2a2 2 0 0 0 1.16 1.81 5.51 5.51 0 0 1 .34-3.6V10c0-.28.22-.5.5-.5h2.2a5.48 5.48 0 0 1 3.61-.34A2 2 0 0 0 14 8h-2V6a2 2 0 0 0-2-2H6.95c.03.16.05.33.05.5Zm-1 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm11 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-11 11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm8.5 3.5a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-.9-6.4-.9.9h1.55A2.75 2.75 0 0 1 17 16.25v.25a.5.5 0 0 1-1 0v-.25c0-.97-.78-1.75-1.75-1.75h-1.54l.9.9a.5.5 0 0 1-.71.7l-1.76-1.75a.5.5 0 0 1 0-.7l1.76-1.75a.5.5 0 0 1 .7.7Z\"]);\nexport const GroupReturnRegular = /*#__PURE__*/createFluentIcon('GroupReturnRegular', \"1em\", [\"M7 4.5c0 .17-.02.34-.05.5H10a1 1 0 0 1 1 1v2h-1a2 2 0 0 0-2 2v1H6a1 1 0 0 1-1-1V6.95a2.51 2.51 0 0 1-1 0V10c0 1.1.9 2 2 2h2v2a2 2 0 0 0 1.16 1.81A5.51 5.51 0 0 1 9 14v-4a1 1 0 0 1 1-1h4a5.58 5.58 0 0 1 1.81.16A2 2 0 0 0 14 8h-2V6a2 2 0 0 0-2-2H6.95c.03.16.05.33.05.5Zm-1 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm11 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-11 11a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm8.5 3.5a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-.9-6.4-.9.9h1.55A2.75 2.75 0 0 1 17 16.25v.25a.5.5 0 0 1-1 0v-.25c0-.97-.78-1.75-1.75-1.75h-1.54l.9.9a.5.5 0 0 1-.71.7l-1.76-1.75a.5.5 0 0 1 0-.7l1.76-1.75a.5.5 0 0 1 .7.7Z\"]);\nexport const GuardianFilled = /*#__PURE__*/createFluentIcon('GuardianFilled', \"1em\", [\"M9 4.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0ZM10.73 9A2 2 0 0 0 9 8H4a2 2 0 0 0-2 2v2.5a1 1 0 1 0 2 0v4.25a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 1 0 2.5 0V12.5a1 1 0 1 0 2 0V10a2 2 0 0 0-.27-1ZM14 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-3 6.23a2 2 0 0 0 1-1.73V10a3 3 0 0 0-.17-1H16a2 2 0 0 1 2 2v2a1 1 0 1 1-2 0v3.75a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 1 1-2.5 0v-2.52Z\"]);\nexport const GuardianRegular = /*#__PURE__*/createFluentIcon('GuardianRegular', \"1em\", [\"M6.5 7a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm0-1a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm0 11.62A1.5 1.5 0 0 1 4 16.5v-3.05a1.5 1.5 0 0 1-2-1.42V10.5A2.5 2.5 0 0 1 4.5 8h4c.82 0 1.54.4 2 1h5a2.5 2.5 0 0 1 2.5 2.5v1a1.5 1.5 0 0 1-2 1.41v2.59a1.5 1.5 0 0 1-2.5 1.12A1.5 1.5 0 0 1 11 16.5v-4.46a1.5 1.5 0 0 1-2 1.4v3.06a1.5 1.5 0 0 1-2.5 1.12ZM3 10.5v1.53a.5.5 0 0 0 1 0V10.5a.5.5 0 0 1 1 0v6a.5.5 0 0 0 1 0v-3a.5.5 0 0 1 1 0v3a.5.5 0 0 0 1 0v-6a.5.5 0 0 1 1 0v1.53a.5.5 0 0 0 1 0V10.5C10 9.67 9.33 9 8.5 9h-4C3.67 9 3 9.67 3 10.5Zm7.95-.5c.03.16.05.33.05.5v.5h1v5.5a.5.5 0 0 0 1 0v-2a.5.5 0 0 1 1 0v2a.5.5 0 0 0 1 0v-5a.5.5 0 0 1 1 0v1a.5.5 0 0 0 1 0v-1c0-.83-.67-1.5-1.5-1.5h-4.55ZM16 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-1 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const GuestFilled = /*#__PURE__*/createFluentIcon('GuestFilled', \"1em\", [\"M7.09 4H5.5a.5.5 0 0 0-.5.5v12c0 .28.22.5.5.5h9a.5.5 0 0 0 .5-.5v-12a.5.5 0 0 0-.5-.5h-1.59c-.2.58-.76 1-1.41 1h-3a1.5 1.5 0 0 1-1.41-1Zm5.82-1h1.59c.83 0 1.5.67 1.5 1.5v12c0 .83-.67 1.5-1.5 1.5h-9A1.5 1.5 0 0 1 4 16.5v-12C4 3.67 4.67 3 5.5 3h1.59c.2-.58.76-1 1.41-1h3c.65 0 1.2.42 1.41 1ZM8 3.5c0 .28.22.5.5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5ZM10 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-2.25 5c-.66 0-1.3.55-1.22 1.3.06.56.24 1.26.79 1.8.55.57 1.41.9 2.68.9 1.27 0 2.13-.33 2.68-.9.55-.54.73-1.24.79-1.8.08-.75-.56-1.3-1.22-1.3h-4.5Z\"]);\nexport const GuestRegular = /*#__PURE__*/createFluentIcon('GuestRegular', \"1em\", [\"M7.09 4H5.5a.5.5 0 0 0-.5.5v12c0 .28.22.5.5.5h9a.5.5 0 0 0 .5-.5v-12a.5.5 0 0 0-.5-.5h-1.59c-.2.58-.76 1-1.41 1h-3a1.5 1.5 0 0 1-1.41-1Zm5.82-1h1.59c.83 0 1.5.67 1.5 1.5v12c0 .83-.67 1.5-1.5 1.5h-9A1.5 1.5 0 0 1 4 16.5v-12C4 3.67 4.67 3 5.5 3h1.59c.2-.58.76-1 1.41-1h3c.65 0 1.2.42 1.41 1ZM8 3.5c0 .28.22.5.5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5ZM9 8a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-2.47 6.2c0-.05 0-.09.04-.13.04-.04.1-.07.18-.07h4.5c.07 0 .14.03.18.07.03.04.05.08.04.13-.04.45-.18.88-.5 1.2-.3.32-.88.6-1.97.6-1.1 0-1.66-.28-1.98-.6a1.94 1.94 0 0 1-.5-1.2Zm.22-1.2c-.66 0-1.3.55-1.22 1.3.06.56.24 1.26.79 1.8.55.57 1.41.9 2.68.9 1.27 0 2.13-.33 2.68-.9.55-.54.73-1.24.79-1.8.08-.75-.56-1.3-1.22-1.3h-4.5Z\"]);\nexport const GuestAddFilled = /*#__PURE__*/createFluentIcon('GuestAddFilled', \"1em\", [\"M7.09 4H5.5a.5.5 0 0 0-.5.5v12c0 .28.22.5.5.5h4.1c.18.36.4.7.66 1H5.5A1.5 1.5 0 0 1 4 16.5v-12C4 3.67 4.67 3 5.5 3h1.59c.2-.58.76-1 1.41-1h3c.65 0 1.2.42 1.41 1h1.59c.83 0 1.5.67 1.5 1.5v4.7c-.32-.08-.66-.15-1-.18V4.5a.5.5 0 0 0-.5-.5h-1.59c-.2.58-.76 1-1.41 1h-3a1.5 1.5 0 0 1-1.41-1ZM9 14.5c0-1.33.47-2.55 1.26-3.5H7.75c-.66 0-1.3.55-1.22 1.3.06.56.24 1.26.79 1.8.4.4.95.7 1.7.82A5.58 5.58 0 0 1 9 14.5Zm-1-11c0 .28.22.5.5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5ZM10 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm9 8.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const GuestAddRegular = /*#__PURE__*/createFluentIcon('GuestAddRegular', \"1em\", [\"M7.09 4H5.5a.5.5 0 0 0-.5.5v12c0 .28.22.5.5.5h4.1c.18.36.4.7.66 1H5.5A1.5 1.5 0 0 1 4 16.5v-12C4 3.67 4.67 3 5.5 3h1.59c.2-.58.76-1 1.41-1h3c.65 0 1.2.42 1.41 1h1.59c.83 0 1.5.67 1.5 1.5v4.7c-.32-.08-.66-.15-1-.18V4.5a.5.5 0 0 0-.5-.5h-1.59c-.2.58-.76 1-1.41 1h-3a1.5 1.5 0 0 1-1.41-1Zm.66 7h2.5c-.25.3-.47.64-.65 1H7.75a.25.25 0 0 0-.18.07.15.15 0 0 0-.04.13c.04.45.18.88.5 1.2.2.2.5.4 1 .5a5.56 5.56 0 0 0-.01 1.02 3.06 3.06 0 0 1-1.7-.81 2.93 2.93 0 0 1-.79-1.8C6.45 11.54 7.1 11 7.75 11ZM8 3.5c0 .28.22.5.5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5ZM9 8a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm9 8.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const GuitarFilled = /*#__PURE__*/createFluentIcon('GuitarFilled', \"1em\", [\"m14.5 3.78 1.11-1.12c.23-.23.6-.23.83 0l.9.9c.22.23.22.6 0 .83L16.22 5.5l-1.73-1.73Zm-.72.71-2.53 2.53-.13-.13a2.13 2.13 0 0 0-3.4.55l-.34.68a.6.6 0 0 1-.66.32h-.06a3.72 3.72 0 0 0-3.7 1.4 4.8 4.8 0 0 0 .44 6.27l.49.49a4.8 4.8 0 0 0 6.26.44 3.72 3.72 0 0 0 1.42-3.7l-.01-.06a.6.6 0 0 1 .32-.66l.68-.34a2.13 2.13 0 0 0 .55-3.4l-.13-.13 2.53-2.53-1.73-1.73Zm-5.41 7.14a1.25 1.25 0 1 1 1.76-1.76 1.25 1.25 0 0 1-1.76 1.76Z\"]);\nexport const GuitarRegular = /*#__PURE__*/createFluentIcon('GuitarRegular', \"1em\", [\"M9.7 11.7a1 1 0 1 1-1.4-1.4 1 1 0 0 1 1.4 1.4Zm5.56-9.39a1.09 1.09 0 0 1 1.53 0l.9.9c.42.42.42 1.1 0 1.53l-4.37 4.38a2.13 2.13 0 0 1-.76 3.16l-.68.34a.6.6 0 0 0-.32.66v.06a3.72 3.72 0 0 1-1.4 3.7 4.8 4.8 0 0 1-6.27-.44l-.49-.5a4.8 4.8 0 0 1-.44-6.25 3.72 3.72 0 0 1 3.7-1.42l.06.01a.6.6 0 0 0 .66-.32l.34-.68a2.13 2.13 0 0 1 3.16-.76l4.38-4.37Zm.83.7a.09.09 0 0 0-.13 0L14.8 4.19l1.02 1.02 1.16-1.16a.09.09 0 0 0 0-.13l-.9-.9Zm-.98 2.9-1.02-1.02-2.84 2.84a.5.5 0 0 1-.7 0l-.13-.13a1.13 1.13 0 0 0-1.8.3l-.35.67a1.6 1.6 0 0 1-1.75.85h-.05c-1.03-.21-2.08.19-2.71 1.03a3.8 3.8 0 0 0 .35 4.95l.49.49a3.8 3.8 0 0 0 4.95.35 2.72 2.72 0 0 0 1.04-2.7l-.02-.07c-.14-.7.21-1.42.86-1.75l.68-.33c.69-.35.83-1.26.3-1.8l-.14-.14a.5.5 0 0 1 0-.7l2.84-2.84Z\"]);\nexport const HandDrawFilled = /*#__PURE__*/createFluentIcon('HandDrawFilled', \"1em\", [\"M17 3c0-.61-.37-1.04-.84-1.3a5.15 5.15 0 0 0-1.74-.5A37.9 37.9 0 0 0 9.53 1H9.5a.5.5 0 0 0 0 1c1.8 0 3.52 0 4.77.18.64.1 1.1.22 1.4.39.27.15.33.3.33.43 0 .15-.06.29-.31.44-.28.16-.7.29-1.3.38C13.22 4 11.64 4 10 4h-.03c-1.6 0-3.26 0-4.51.2-.63.09-1.22.24-1.66.5-.46.28-.8.7-.8 1.3 0 .8.65 1.27 1.32 1.52.7.27 1.65.4 2.68.4v-1c-.97 0-1.78-.12-2.32-.33C4.1 6.37 4 6.14 4 6c0-.15.06-.29.31-.44.28-.16.7-.29 1.3-.38C6.78 5 8.36 5 10 5h.03c1.6 0 3.26 0 4.51-.2.63-.09 1.22-.24 1.66-.5.46-.28.8-.7.8-1.3ZM9.5 6C8.67 6 8 6.67 8 7.5v4.24l-1.35-.58a1.94 1.94 0 0 0-2.61 1.2c-.12.39.04.8.38 1l3.97 2.36h.02c.52.29.82.69 1 1.07.17.35.44.68.78.9.34.23.77.37 1.23.28l2-.38a1.5 1.5 0 0 0 1.17-1.11l.83-3.33a2.5 2.5 0 0 0-1.93-3.05L11 9.6V7.5c0-.83-.67-1.5-1.5-1.5Z\"]);\nexport const HandDrawRegular = /*#__PURE__*/createFluentIcon('HandDrawRegular', \"1em\", [\"M17 3c0-.61-.37-1.04-.84-1.3a5.15 5.15 0 0 0-1.74-.5A37.9 37.9 0 0 0 9.53 1H9.5a.5.5 0 0 0 0 1c1.8 0 3.52 0 4.77.18.64.1 1.1.22 1.4.39.27.15.33.3.33.43 0 .15-.06.29-.31.44-.28.16-.7.29-1.3.38C13.22 4 11.64 4 10 4h-.03c-1.6 0-3.26 0-4.51.2-.63.09-1.22.24-1.66.5-.46.28-.8.7-.8 1.3 0 .8.65 1.27 1.32 1.52.7.27 1.65.4 2.68.4v-1c-.97 0-1.78-.12-2.32-.33C4.1 6.37 4 6.14 4 6c0-.15.06-.29.31-.44.28-.16.7-.29 1.3-.38C6.78 5 8.36 5 10 5h.03c1.6 0 3.26 0 4.51-.2.63-.09 1.22-.24 1.66-.5.46-.28.8-.7.8-1.3ZM9 7.5a.5.5 0 0 1 1 0V10c0 .24.17.44.4.49l2.9.59c.83.16 1.36 1 1.15 1.83l-.83 3.33a.5.5 0 0 1-.39.37l-2 .38c-.14.03-.3 0-.48-.12a1.3 1.3 0 0 1-.43-.51 3.3 3.3 0 0 0-1.43-1.51l-3.86-2.29a.94.94 0 0 1 1.23-.48l2.04.88a.5.5 0 0 0 .7-.46v-5ZM9.5 6C8.67 6 8 6.67 8 7.5v4.24l-1.34-.58a1.94 1.94 0 0 0-2.62 1.2c-.12.39.04.8.38 1l3.97 2.36h.02c.52.29.83.69 1 1.07.17.35.44.68.78.9.34.23.77.37 1.23.28l2-.38a1.5 1.5 0 0 0 1.17-1.11l.83-3.33a2.5 2.5 0 0 0-1.93-3.05L11 9.6V7.5c0-.83-.67-1.5-1.5-1.5Z\"]);\nexport const HandLeftFilled = /*#__PURE__*/createFluentIcon('HandLeftFilled', \"1em\", [\"M11 8.5V2.75a.75.75 0 0 0-1.5 0V8.5a.5.5 0 0 1-1 0V3.75a.75.75 0 0 0-1.5 0v6.5a4.06 4.06 0 0 0-2-.75c-.97 0-1.79.32-1.98 1.12a.6.6 0 0 0-.02.14c0 .15.07.3.2.38l1.3.99c1.07.8 2.07 1.86 2.76 2.99.38.6.72 1.23 1.06 1.86.36.68.59 1.02 1.68 1.02h3.05c.95 0 1.31-.53 1.95-2 .64-1.47 1-2.94 1-3.5V5.25a.75.75 0 0 0-1.5 0V9a.5.5 0 0 1-1 0V3.75a.75.75 0 0 0-1.5 0V8.5a.5.5 0 0 1-1 0Z\"]);\nexport const HandLeftRegular = /*#__PURE__*/createFluentIcon('HandLeftRegular', \"1em\", [\"M16 12.02c0 1.06-.2 2.1-.6 3.08l-.6 1.42a2.55 2.55 0 0 1-1.17 1.29c-.27.14-.56.21-.86.21h-2.55c-.77 0-1.49-.41-1.87-1.08-.5-.87-1.02-1.7-1.72-2.43l-1.32-1.39c-.44-.46-.97-.84-1.49-1.23l-.59-.45a.6.6 0 0 1-.23-.47c0-.75.54-1.57 1.22-1.79A3.34 3.34 0 0 1 7 9.47V4.5a1.5 1.5 0 0 1 2.05-1.4 1.5 1.5 0 0 1 2.9 0A1.5 1.5 0 0 1 14 4.5v.09A1.5 1.5 0 0 1 16 6v6.02ZM12 4.5v4a.5.5 0 0 1-1 0v-5a.5.5 0 0 0-1 0v5a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.85.37h-.01c-.22-.22-.44-.44-.72-.58-.7-.35-2.22-.57-2.4.5l.53.4c.52.4 1.04.78 1.48 1.24l1.33 1.38c.75.79 1.31 1.7 1.85 2.63.21.36.6.58 1.01.58h2.55c.13 0 .27-.03.4-.1.32-.17.57-.44.71-.78l.59-1.42c.35-.86.53-1.78.53-2.7V6a.5.5 0 0 0-1 0v3.5a.5.5 0 0 1-1 0v-5a.5.5 0 0 0-1 0Z\"]);\nexport const HandLeftChatFilled = /*#__PURE__*/createFluentIcon('HandLeftChatFilled', \"1em\", [\"M11 8.5V2.75a.75.75 0 0 0-1.5 0V8.5a.5.5 0 0 1-1 0V3.75a.75.75 0 0 0-1.5 0v6.5a4.06 4.06 0 0 0-2-.75c-.97 0-1.79.32-1.98 1.12a.6.6 0 0 0-.02.14c0 .15.07.3.2.38l1.3.99c1.07.8 2.07 1.86 2.76 2.99.38.6.72 1.23 1.06 1.86.24.45.42.75.83.9l.34-1.1a5.48 5.48 0 0 1 4.02-7.7.5.5 0 0 1-.01-.08V3.75a.75.75 0 0 0-1.5 0V8.5a.5.5 0 0 1-1 0Zm5-3.25v3.96A5.5 5.5 0 0 0 14.5 9V5.25a.75.75 0 0 1 1.5 0Zm3 9.25a4.5 4.5 0 0 1-6.68 3.94l-1.8.54a.4.4 0 0 1-.5-.5l.54-1.8A4.5 4.5 0 1 1 19 14.5ZM12.5 13a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm-.5 2.5c0 .28.22.5.5.5h2a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5Z\"]);\nexport const HandLeftChatRegular = /*#__PURE__*/createFluentIcon('HandLeftChatRegular', \"1em\", [\"M16 6v3.2c-.32-.08-.66-.15-1-.18V6a.5.5 0 0 0-1 0v3.02c-.34.03-.68.1-1 .19V4.5a.5.5 0 0 0-1 0v4a.5.5 0 0 1-1 0v-5a.5.5 0 0 0-1 0v5a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.85.37h-.01c-.22-.22-.44-.44-.72-.58-.7-.35-2.22-.57-2.4.5l.53.4c.52.4 1.04.78 1.48 1.24l1.33 1.38c.75.79 1.31 1.7 1.85 2.63.07.12.17.23.27.32l.01.01-.3.99a2.16 2.16 0 0 1-.84-.82c-.5-.87-1.02-1.7-1.72-2.43l-1.32-1.39c-.44-.46-.97-.84-1.49-1.23l-.59-.45a.6.6 0 0 1-.23-.47c0-.75.54-1.57 1.22-1.79A3.34 3.34 0 0 1 7 9.47V4.5a1.5 1.5 0 0 1 2.05-1.4 1.5 1.5 0 0 1 2.9 0A1.5 1.5 0 0 1 14 4.5v.09A1.5 1.5 0 0 1 16 6Zm3 8.5a4.5 4.5 0 0 1-6.68 3.94l-1.8.54a.4.4 0 0 1-.5-.5l.54-1.8A4.5 4.5 0 1 1 19 14.5ZM12.5 13a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm-.5 2.5c0 .28.22.5.5.5h2a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5Z\"]);\nexport const HandOpenHeartFilled = /*#__PURE__*/createFluentIcon('HandOpenHeartFilled', \"1em\", [\"m13.4 10.52-3.36-3.67a.6.6 0 0 1-.87.01L5.28 2.97a.75.75 0 1 0-1.06 1.06l3.86 3.86a.58.58 0 1 1-.81.82L3.28 4.72a.75.75 0 0 0-1.06 1.06l4.05 4.05a.49.49 0 0 1-.69.7l-2.3-2.31a.75.75 0 0 0-1.06 1.06l3.82 3.82-.5.12c-.78.21-1.78.65-2.38 1.6A1 1 0 0 0 3.22 16c.23.3.6.48 1 .47 2.15-.01 4.77.39 6.85 1.24 1.2.5 2.69.43 3.71-.52l1.25-1.15a3 3 0 0 0 .77-3.3l-.97-2.46-.22.25a1.5 1.5 0 0 1-2.22 0Zm-3.68 3.43a.5.5 0 0 1-.44-.9c.6-.3 1.46-.43 2.3-.3.86.15 1.74.58 2.34 1.47a.5.5 0 0 1-.84.56 2.42 2.42 0 0 0-1.66-1.04c-.66-.1-1.3 0-1.7.2ZM9.34 2.92a3.4 3.4 0 0 0-.3 2.04L7.23 3.03a.75.75 0 1 1 1.06-1.06c.29.29.65.6 1.06.95ZM14.5 3l-.63-.49a2.4 2.4 0 0 0-3.24 3.5l3.5 3.83c.2.22.54.22.74 0l3.5-3.83a2.4 2.4 0 0 0-3.24-3.5l-.63.5Z\"]);\nexport const HandOpenHeartRegular = /*#__PURE__*/createFluentIcon('HandOpenHeartRegular', \"1em\", [\"m14.5 3-.63-.49a2.4 2.4 0 0 0-3.24 3.5l3.5 3.83c.2.22.54.22.74 0l3.5-3.83a2.4 2.4 0 0 0-3.24-3.5l-.63.5Zm1.38 10.09-.82-2.2c.2-.07.39-.2.55-.37l.25-.28.94 2.49A3 3 0 0 1 16 16l-1.22 1.1c-.61.54-1.4.83-2.22.82a4 4 0 0 1-1.5-.3 18.4 18.4 0 0 0-6.85-1.24 1.21 1.21 0 0 1-1.08-.6 1 1 0 0 1 0-1 4.2 4.2 0 0 1 2.75-1.7L2.42 9.63a1.56 1.56 0 0 1 .47-2.53 1.56 1.56 0 0 1 1.66-2.54 1.55 1.55 0 0 1 2.58-.63c.08-.18.19-.34.32-.48a1.58 1.58 0 0 1 1.78-.3c-.12.33-.2.67-.22 1.02L9 4.16a.6.6 0 0 0-.84.84l.7.65 1.32 1.36 1.25 1.36a.48.48 0 0 1-.13.48.48.48 0 0 1-.7 0L8.1 6.36l-.7-.7-1-1.06a.58.58 0 0 0-.8 0 .57.57 0 0 0 0 .8l2.75 2.75a.5.5 0 0 1-.7.7L5.79 7l-1.4-1.4a.56.56 0 0 0-.95.4c0 .15.05.3.16.4l1.07 1.06 2.18 2.19a.5.5 0 0 1-.7.7L5 9.21 3.96 8.17a.56.56 0 0 0-.79 0 .52.52 0 0 0-.17.39.56.56 0 0 0 .17.44l4.19 4.15A.5.5 0 0 1 7 14s-2.15 0-2.99 1.35c0 .04.08.11.2.11h.14c2.43 0 4.83.44 7.1 1.31a2.51 2.51 0 0 0 2.66-.33l1.25-1.15a2 2 0 0 0 .52-2.2Zm-6.16.86c.4-.2 1.04-.32 1.7-.2.64.1 1.26.42 1.66 1.03a.5.5 0 0 0 .84-.56 3.42 3.42 0 0 0-2.34-1.46c-.84-.14-1.7 0-2.3.3a.5.5 0 0 0 .44.89Z\"]);\nexport const HandPointFilled = /*#__PURE__*/createFluentIcon('HandPointFilled', \"1em\", [\"M10 2a2 2 0 0 0-2 2v5.67l-1.31-.69a3.53 3.53 0 0 0-4.53 1.1.88.88 0 0 0 .37 1.32c4.33 1.87 5.95 3.58 6.67 4.9.54 1 1.61 1.85 2.9 1.67l2.87-.4a2.5 2.5 0 0 0 2.08-1.86l.82-3.25a4 4 0 0 0-3.29-4.94L12 7.14V4a2 2 0 0 0-2-2Z\"]);\nexport const HandPointRegular = /*#__PURE__*/createFluentIcon('HandPointRegular', \"1em\", [\"M10 3a1 1 0 0 0-1 1v6.5a.5.5 0 0 1-.73.44L6.22 9.87a2.53 2.53 0 0 0-3.16.67c4.35 1.9 6.16 3.7 7.02 5.28.42.78 1.15 1.27 1.88 1.16l2.87-.4a1.5 1.5 0 0 0 1.25-1.11l.82-3.25a3 3 0 0 0-2.46-3.7l-3.01-.46a.5.5 0 0 1-.43-.5V4a1 1 0 0 0-1-1ZM8 4a2 2 0 1 1 4 0v3.14l2.58.38a4 4 0 0 1 3.3 4.94l-.83 3.25a2.5 2.5 0 0 1-2.08 1.87l-2.87.4c-1.29.17-2.36-.68-2.9-1.69-.72-1.3-2.34-3.02-6.67-4.9a.88.88 0 0 1-.37-1.31 3.53 3.53 0 0 1 4.53-1.1l1.31.7V4Z\"]);\nexport const HandRightFilled = /*#__PURE__*/createFluentIcon('HandRightFilled', \"1em\", [\"M9 8.5V2.75a.75.75 0 0 1 1.5 0V8.5a.5.5 0 0 0 1 0V3.75a.75.75 0 0 1 1.5 0v6.5c.66-.43 1.4-.75 2-.75.97 0 1.79.32 1.98 1.12.02.04.02.1.02.14 0 .15-.07.3-.2.38l-1.3.99c-1.07.8-2.07 1.86-2.76 2.99-.38.6-.72 1.23-1.06 1.86-.36.68-.59 1.02-1.68 1.02H6.95C6 18 5.64 17.47 5 16a11.7 11.7 0 0 1-1-3.5V5.25a.75.75 0 0 1 1.5 0V9a.5.5 0 0 0 1 0V3.75a.75.75 0 0 1 1.5 0V8.5a.5.5 0 0 0 1 0Z\"]);\nexport const HandRightRegular = /*#__PURE__*/createFluentIcon('HandRightRegular', \"1em\", [\"M4 12.02c0 1.06.2 2.1.6 3.08l.6 1.42c.22.55.64 1.01 1.17 1.29.27.14.56.21.86.21h2.55c.77 0 1.49-.41 1.87-1.08.5-.87 1.02-1.7 1.72-2.43l1.32-1.39c.44-.46.97-.84 1.49-1.23l.59-.45a.6.6 0 0 0 .23-.47c0-.75-.54-1.57-1.22-1.79a3.34 3.34 0 0 0-2.78.29V4.5a1.5 1.5 0 0 0-2.05-1.4 1.5 1.5 0 0 0-2.9 0A1.5 1.5 0 0 0 6 4.5v.09A1.5 1.5 0 0 0 4 6v6.02ZM8 4.5v4a.5.5 0 0 0 1 0v-5a.5.5 0 0 1 1 0v5a.5.5 0 0 0 1 0v-4a.5.5 0 0 1 1 0v6a.5.5 0 0 0 .85.37h.01c.22-.22.44-.44.72-.58.7-.35 2.22-.57 2.4.5l-.53.4c-.52.4-1.04.78-1.48 1.24l-1.33 1.38c-.75.79-1.31 1.7-1.85 2.63-.21.36-.6.58-1.01.58H7.23a.87.87 0 0 1-.4-.1 1.55 1.55 0 0 1-.71-.78l-.59-1.42a7.09 7.09 0 0 1-.53-2.7V6a.5.5 0 0 1 1 0v3.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 1 1 0Z\"]);\nexport const HandRightOffFilled = /*#__PURE__*/createFluentIcon('HandRightOffFilled', \"1em\", [\"M4 5.25c0-.15.05-.3.13-.42L2.15 2.85a.5.5 0 1 1 .7-.7l15 15a.5.5 0 0 1-.7.7l-3.72-3.71c-.25.31-.49.64-.7.98-.37.6-.71 1.23-1.05 1.86-.36.68-.59 1.02-1.68 1.02H6.95C6 18 5.64 17.47 5 16a11.7 11.7 0 0 1-1-3.5V5.25Zm2.5 1.96-1-1V9a.5.5 0 0 0 1 0V7.2ZM8 3.75v2.13l-1.5-1.5v-.63a.75.75 0 0 1 1.5 0Zm3.1 5.24 3.71 3.7c.22-.2.45-.39.69-.56l1.3-.99c.13-.09.2-.23.2-.38 0-.05 0-.1-.02-.14-.2-.8-1-1.12-1.98-1.12-.6 0-1.34.32-2 .75v-6.5a.75.75 0 0 0-1.5 0V8.5a.5.5 0 0 1-.4.49ZM9 6.88l1.5 1.5V2.75a.75.75 0 0 0-1.5 0v4.13Z\"]);\nexport const HandRightOffRegular = /*#__PURE__*/createFluentIcon('HandRightOffRegular', \"1em\", [\"M4 6c0-.36.13-.7.34-.95l-2.2-2.2a.5.5 0 1 1 .71-.7l15 15a.5.5 0 0 1-.7.7l-3.57-3.56-.21.22c-.7.72-1.22 1.56-1.72 2.43a2.16 2.16 0 0 1-1.87 1.08H7.23c-.3 0-.6-.07-.86-.21a2.55 2.55 0 0 1-1.18-1.3l-.58-1.41c-.4-.98-.61-2.02-.61-3.08V6Zm8.87 7.58L7 7.7V9.5a.5.5 0 0 1-1 0V6.7l-.94-.93A.5.5 0 0 0 5 6v6.02c0 .93.18 1.84.53 2.7l.59 1.42c.14.34.4.61.71.78.13.07.27.1.4.1h2.55c.42 0 .8-.22 1-.58.55-.94 1.11-1.84 1.86-2.63l.23-.23ZM10 3.5v4.38l.9.9a.5.5 0 0 0 .1-.28v-4a.5.5 0 0 1 1 0v5.38l.92.92c.2-.2.4-.38.66-.51.7-.35 2.22-.57 2.4.5l-.53.4c-.4.3-.81.61-1.18.95l.7.71c.38-.34.8-.65 1.2-.96l.6-.45a.6.6 0 0 0 .23-.47c0-.75-.54-1.57-1.22-1.79a3.34 3.34 0 0 0-2.78.29V4.5a1.5 1.5 0 0 0-2.05-1.4 1.5 1.5 0 0 0-2.9 0 1.5 1.5 0 0 0-1.96.87l.91.9V4.5a.5.5 0 0 1 1 0v1.38l1 1V3.5a.5.5 0 0 1 1 0Z\"]);\nexport const HandWaveFilled = /*#__PURE__*/createFluentIcon('HandWaveFilled', \"1em\", [\"M15.85 1.15a.5.5 0 0 0-.7 0 .5.5 0 0 0 0 .71 6.57 6.57 0 0 1 1.86 5.57.5.5 0 0 0 .42.57.5.5 0 0 0 .56-.42 7.6 7.6 0 0 0-2.14-6.43Zm-10.4.35a.75.75 0 0 0-1.4.5l2.1 5.93a.53.53 0 1 1-1 .36L3.45 3.5a.75.75 0 0 0-1.41.5l2.55 7.18c-2.12-.57-2.85.58-3.07 1.1-.06.12.02.25.15.3.82.24 3.67 1.26 6.85 4.3.6.59 1.49.79 2.26.47l2.16-.9a2 2 0 0 0 1.21-1.58l.27-2.01a8 8 0 0 0-.34-3.63L13 6h-.01l-1.15-3.49a.75.75 0 0 0-1.42.49l.96 2.93a.63.63 0 0 1-1.2.42L8.68 2a.75.75 0 1 0-1.42.5l1.5 4.34a.66.66 0 1 1-1.24.45L5.45 1.5Zm8.79 1.57a.5.5 0 0 1 .69.18l.3.5c.49.83.76 1.78.77 2.75a.5.5 0 1 1-1 0c-.01-.79-.23-1.56-.64-2.25l-.3-.49a.5.5 0 0 1 .18-.69Z\"]);\nexport const HandWaveRegular = /*#__PURE__*/createFluentIcon('HandWaveRegular', \"1em\", [\"M15.85 1.14a.5.5 0 0 0-.7 0 .5.5 0 0 0 0 .72 6.57 6.57 0 0 1 1.86 5.56.5.5 0 0 0 .42.58.5.5 0 0 0 .56-.42 7.6 7.6 0 0 0-2.14-6.44ZM4.63 3.04a1.6 1.6 0 0 1 3.04-.63 1.6 1.6 0 0 1 2.59.7l.08.27a1.6 1.6 0 0 1 2.55.73l1.07 3.23.58 1.7a8.5 8.5 0 0 1 .38 3.9l-.27 2a2.5 2.5 0 0 1-1.51 1.96l-2.16.9c-.97.4-2.07.15-2.8-.55-3.12-2.99-5.88-3.97-6.65-4.2-.35-.11-.66-.52-.47-.98.15-.35.51-.97 1.28-1.32.6-.26 1.36-.33 2.35-.06L2.77 5.1a1.61 1.61 0 0 1 1.02-2.03c.28-.09.57-.1.84-.04Zm2.15 3.64.55 1.68a.5.5 0 1 1-.95.31l-.57-1.72-.95-2.52a.6.6 0 0 0-.76-.4.61.61 0 0 0-.38.76l2.25 6.55a.5.5 0 0 1-.67.62c-1.33-.57-2.11-.49-2.55-.3-.3.14-.5.34-.62.53a18.9 18.9 0 0 1 6.74 4.33c.47.46 1.15.6 1.72.36l2.16-.9c.5-.2.84-.66.9-1.18l.28-1.99a7.5 7.5 0 0 0-.34-3.44l-.58-1.7v-.01l-1.07-3.24a.6.6 0 0 0-1.16.3l.85 2.62a.5.5 0 0 1-.95.31L9.85 5.1a1.63 1.63 0 0 1-.04-.13l-.5-1.56a.6.6 0 0 0-1.15.38l.6 1.85a.5.5 0 0 1 .03.11l.53 1.6a.5.5 0 1 1-.95.3L6.79 2.92a.6.6 0 0 0-1.13.38l1.1 3.33.02.06Zm7.46-3.61a.5.5 0 0 1 .69.17l.3.5c.5.83.76 1.78.77 2.75a.5.5 0 1 1-1 .01c0-.79-.22-1.57-.63-2.25l-.3-.5a.5.5 0 0 1 .17-.68Z\"]);\nexport const HandshakeFilled = /*#__PURE__*/createFluentIcon('HandshakeFilled', \"1em\", [\"M9.63 3.01a.5.5 0 0 0 .06 0H12a2.5 2.5 0 0 1 2 .31 3.7 3.7 0 0 1 1.71 5.1L12.5 5.18a.5.5 0 0 0-.36-.15H10.8a.5.5 0 0 0-.3.1L8.35 6.76a1.12 1.12 0 0 1-1.67-.4A1.1 1.1 0 0 1 7 5l2.63-1.99Zm-4 8.85-.01.02-.77.76v.01a.6.6 0 0 1-.84-.01.6.6 0 0 1 0-.84l.76-.76a.6.6 0 0 1 .85 0c.23.22.23.6.01.82Zm-.08 1.5a.6.6 0 0 0 .01.82.6.6 0 0 0 .85 0l.76-.76a.6.6 0 0 0-.09-.91.6.6 0 0 0-.74.06l-.01.01-.77.76v.02ZM3.75 9.8a.6.6 0 0 1 0 .84l-.77.76a.6.6 0 0 1-.84 0 .6.6 0 0 1 0-.84l.76-.76a.6.6 0 0 1 .85 0Zm4.98 4.33a.6.6 0 0 1 0 .84l-.76.76a.6.6 0 0 1-.85 0 .6.6 0 0 1-.09-.73.6.6 0 0 1 .09-.11l.76-.76a.6.6 0 0 1 .85 0ZM3.53 4.4a4.76 4.76 0 0 1 4.3-1.29L6.4 4.21A2.1 2.1 0 0 0 6 7.14c.7.92 2.03 1.1 2.95.4l2.02-1.53h.9l1.95 1.93 1.6 1.62.03.03.87.86a1.02 1.02 0 0 1-1.37 1.51l-.07-.07a.5.5 0 0 0-.06-.05l-.85-.85a.5.5 0 1 0-.7.71l.9.9.1.1.03.03a.7.7 0 0 1-.98.98l-.13-.14a.5.5 0 0 0-.85.37c0 .13.05.26.15.36l.17.17a.63.63 0 1 1-.9.9l-.08-.1a1.63 1.63 0 0 0-.1-.1l-.16-.16a.5.5 0 0 0-.7.7l.11.13a.5.5 0 0 0 .06.06l.04.05a.65.65 0 0 1-.96.86L9.11 16l.33-.32a1.58 1.58 0 0 0-1.09-2.72c0-.4-.16-.78-.47-1.08-.3-.3-.69-.46-1.08-.47A1.6 1.6 0 0 0 4.9 9.9 1.61 1.61 0 0 0 2.31 9 4.7 4.7 0 0 1 3.52 4.4Z\"]);\nexport const HandshakeRegular = /*#__PURE__*/createFluentIcon('HandshakeRegular', \"1em\", [\"M10.24 3.01a.5.5 0 0 0-.39.19l-.08.06A5.13 5.13 0 0 0 4.7 4.44a4.7 4.7 0 0 0-1.37 4.31l-.05.05-.78.75c-.64.61-.64 1.6 0 2.22.4.38.95.53 1.46.43.06.29.21.56.44.79.31.3.71.45 1.11.46.01.39.17.77.48 1.07.3.3.7.44 1.1.45.02.4.18.78.49 1.07.6.58 1.56.61 2.2.1l.43.42c.64.61 1.68.61 2.32 0 .3-.3.47-.68.48-1.07.4 0 .8-.16 1.1-.46.3-.3.47-.67.48-1.06.4-.01.78-.17 1.09-.46.24-.23.39-.52.45-.82.5.08 1.05-.06 1.44-.44.63-.61.63-1.6 0-2.22l-.72-.7.14-.54c.3-1.13.15-2.32-.42-3.34a4.8 4.8 0 0 0-4.2-2.43h-2.13Zm2.46 3.72 2.4 2.31 1.75 1.68c.24.23.24.6 0 .84a.63.63 0 0 1-.87 0l-1.32-1.27a.52.52 0 0 0-.72 0h-.01c-.2.2-.2.51 0 .7l1.03 1c.24.22.24.6 0 .83a.63.63 0 0 1-.8.05.52.52 0 0 0-.67.05.48.48 0 0 0-.04.64c.18.24.16.57-.06.78a.63.63 0 0 1-.8.05.52.52 0 0 0-.68.04.48.48 0 0 0-.05.64c.2.24.18.58-.05.8a.64.64 0 0 1-.87 0l-.44-.42.16-.16c.64-.61.64-1.6 0-2.22-.3-.3-.7-.45-1.1-.46a1.54 1.54 0 0 0-.49-1.07c-.3-.3-.7-.44-1.1-.45a1.54 1.54 0 0 0-.48-1.07c-.4-.39-.95-.53-1.46-.43a1.55 1.55 0 0 0-.45-.8c-.35-.33-.83-.48-1.29-.45a3.74 3.74 0 0 1 1.13-3.2 4.06 4.06 0 0 1 3.29-1.1L7.25 5.11a1.7 1.7 0 0 0-.33 2.44c.6.76 1.7.9 2.48.33l1.58-1.15h1.72Zm-4.86-.81 2.6-1.9h.53a2.26 2.26 0 0 1 .15 0h1.24c1.4 0 2.69.74 3.34 1.92.44.8.56 1.72.33 2.6l-2.77-2.67a.5.5 0 0 0-.35-.14h-2.1a.5.5 0 0 0-.3.1l-1.7 1.25a.8.8 0 0 1-1.1-.15.7.7 0 0 1 .13-1.01Zm.45 8.6.78-.75.01-.01a.63.63 0 0 1 .86 0c.24.24.24.6 0 .84l-.78.75a.63.63 0 0 1-.86 0 .57.57 0 0 1-.01-.83Zm.07-1.46v.01l-.78.75-.01.01a.63.63 0 0 1-.86 0 .57.57 0 0 1 0-.84l.78-.75a.63.63 0 0 1 .86 0c.24.23.24.6.01.82Zm-1.6-1.52L6 12.3v.01a.63.63 0 0 1-.86 0 .57.57 0 0 1 0-.84l.77-.75a.63.63 0 0 1 .87 0c.24.23.24.6 0 .83Zm-1.9-1.21-.78.74a.63.63 0 0 1-.86 0 .57.57 0 0 1 0-.83L4 9.5a.63.63 0 0 1 .86 0c.24.23.24.6 0 .84Z\"]);\nexport const HapticStrongFilled = /*#__PURE__*/createFluentIcon('HapticStrongFilled', \"1em\", [\"M8.93 3.23a.75.75 0 0 0-.36-1.46h-.02l-.04.02a8.25 8.25 0 0 0-.62.19c-.4.13-.93.33-1.48.6-.53.27-1.11.62-1.57 1.08A2.61 2.61 0 0 0 4 5.5c0 .78.4 1.37.86 1.8.43.42.98.77 1.46 1.06l.03.03c.52.32.95.6 1.26.89.3.28.39.5.39.72 0 .2-.09.4-.37.65-.29.26-.67.48-1.16.76l-.1.06c-.49.28-1.07.63-1.53 1.09-.47.48-.84 1.1-.84 1.94 0 .77.39 1.39.84 1.84.46.46 1.04.81 1.57 1.08a11.44 11.44 0 0 0 2.1.8h.05a.75.75 0 0 0 .37-1.45H8.9a6.57 6.57 0 0 1-.54-.17c-.35-.12-.82-.3-1.27-.52-.47-.23-.89-.5-1.18-.8-.3-.3-.41-.55-.41-.78 0-.34.13-.61.4-.88a6 6 0 0 1 1.23-.85l.13-.08c.44-.26.96-.55 1.36-.91.47-.42.88-.99.88-1.78 0-.78-.4-1.37-.86-1.8-.43-.42-.98-.77-1.46-1.06l-.03-.03c-.52-.32-.95-.6-1.26-.89-.3-.28-.39-.5-.39-.72 0-.23.11-.49.4-.78.3-.3.72-.57 1.19-.8a9.95 9.95 0 0 1 1.8-.68l.04-.01Zm6.5 0a.75.75 0 0 0-.36-1.46h-.02l-.04.02a8.22 8.22 0 0 0-.62.19c-.4.13-.93.33-1.48.6-.53.27-1.11.62-1.57 1.08a2.61 2.61 0 0 0-.84 1.84c0 .78.4 1.37.86 1.8.43.42.98.77 1.46 1.06l.03.03c.52.32.95.6 1.26.89.3.28.39.5.39.72 0 .2-.09.4-.37.65-.29.26-.67.48-1.16.76l-.1.06c-.49.28-1.07.63-1.53 1.09-.47.48-.84 1.1-.84 1.94 0 .77.39 1.39.84 1.84.46.46 1.04.81 1.57 1.08a11.44 11.44 0 0 0 2.1.8h.05a.75.75 0 0 0 .37-1.45h-.03a6.45 6.45 0 0 1-.54-.17c-.35-.12-.82-.3-1.27-.52-.47-.23-.89-.5-1.18-.8-.3-.3-.41-.55-.41-.78 0-.34.13-.61.4-.88a6 6 0 0 1 1.23-.85l.13-.08c.44-.26.96-.55 1.36-.91.47-.42.88-.99.88-1.78 0-.78-.4-1.37-.86-1.8a9.06 9.06 0 0 0-1.46-1.06l-.03-.03c-.52-.32-.95-.6-1.26-.89-.3-.28-.39-.5-.39-.72 0-.23.11-.49.4-.78.3-.3.72-.57 1.19-.8a9.95 9.95 0 0 1 1.8-.68l.04-.01Z\"]);\nexport const HapticStrongRegular = /*#__PURE__*/createFluentIcon('HapticStrongRegular', \"1em\", [\"M8.62 2.99A.5.5 0 0 0 8.38 2h-.02l-.03.02a7.93 7.93 0 0 0-.61.18c-.4.13-.92.33-1.44.6-.53.25-1.08.6-1.5 1.02-.44.43-.78 1-.78 1.67 0 .69.35 1.22.78 1.63.41.4.95.73 1.43 1.03l.03.01c.5.32.96.6 1.29.93.32.3.47.59.47.9 0 .3-.14.56-.46.84-.3.27-.7.5-1.18.78l-.11.07c-.5.28-1.05.61-1.48 1.04A2.44 2.44 0 0 0 4 14.5c0 .68.34 1.24.77 1.67.43.42.98.77 1.5 1.03a11.19 11.19 0 0 0 2.06.77l.03.01h.01a.5.5 0 0 0 .25-.96L8.57 17a7.66 7.66 0 0 1-.55-.17c-.36-.12-.83-.3-1.3-.54a4.86 4.86 0 0 1-1.25-.84c-.32-.32-.48-.64-.48-.96 0-.42.17-.75.48-1.06.32-.32.76-.6 1.27-.89l.13-.07c.45-.26.94-.55 1.33-.89.43-.39.79-.9.79-1.59 0-.69-.35-1.22-.78-1.63A8.9 8.9 0 0 0 6.8 7.34l-.03-.01c-.5-.32-.96-.6-1.29-.93-.32-.3-.47-.59-.47-.9 0-.32.16-.64.48-.96.32-.32.77-.6 1.24-.84A10.2 10.2 0 0 1 8.58 3l.03-.01h.01Zm6 0a.5.5 0 0 0-.24-.98h-.02l-.03.02a8.13 8.13 0 0 0-.61.18c-.4.13-.92.33-1.44.6-.53.25-1.08.6-1.5 1.02-.44.43-.78 1-.78 1.67 0 .69.35 1.22.78 1.63.41.4.95.73 1.43 1.03l.02.01c.52.32.97.6 1.3.93.32.3.47.59.47.9 0 .3-.14.56-.46.84-.3.27-.7.5-1.18.78l-.11.07c-.5.28-1.05.61-1.48 1.04A2.44 2.44 0 0 0 10 14.5c0 .68.34 1.24.77 1.67.43.42.98.77 1.5 1.03a11.19 11.19 0 0 0 2.06.77l.03.01h.01a.5.5 0 0 0 .25-.96l-.04-.01a7.87 7.87 0 0 1-.55-.17c-.36-.12-.83-.3-1.3-.54a4.86 4.86 0 0 1-1.25-.84c-.32-.32-.48-.64-.48-.96 0-.42.17-.75.48-1.06.32-.32.76-.6 1.27-.89l.13-.07c.45-.26.94-.55 1.33-.89.43-.39.79-.9.79-1.59 0-.69-.35-1.22-.78-1.63-.41-.4-.95-.73-1.43-1.03l-.02-.01c-.52-.32-.97-.6-1.3-.93-.32-.3-.47-.59-.47-.9 0-.32.16-.64.48-.96.32-.32.77-.6 1.24-.84a10.2 10.2 0 0 1 1.86-.7l.03-.01h.01Z\"]);\nexport const HapticWeakFilled = /*#__PURE__*/createFluentIcon('HapticWeakFilled', \"1em\", [\"M8.75 18.25c-.1 0-.2-.02-.3-.06-.1-.04-2.45-1.1-2.45-3.76 0-1.4.66-2.13 1.2-2.72.46-.52.8-.9.8-1.72s-.34-1.19-.8-1.7C6.66 7.68 6 6.95 6 5.55a4.18 4.18 0 0 1 2.46-3.75.75.75 0 0 1 .59 1.38c-.07.03-1.55.7-1.55 2.38 0 .81.34 1.19.8 1.7.54.6 1.2 1.33 1.2 2.72 0 1.4-.66 2.13-1.2 2.72-.46.52-.8.9-.8 1.72 0 1.68 1.48 2.35 1.55 2.38a.75.75 0 0 1 .4.98.75.75 0 0 1-.7.46Zm5.69-.46a.75.75 0 0 0-.4-.98c-.05-.03-1.54-.7-1.54-2.38 0-.82.34-1.2.8-1.72A3.72 3.72 0 0 0 14.5 10c0-1.4-.66-2.13-1.2-2.72-.46-.52-.8-.89-.8-1.7 0-1.69 1.48-2.35 1.54-2.38a.75.75 0 0 0 .4-.98.75.75 0 0 0-.98-.4A4.18 4.18 0 0 0 11 5.56c0 1.4.66 2.13 1.2 2.72.46.52.8.9.8 1.71 0 .82-.34 1.2-.8 1.72a3.72 3.72 0 0 0-1.2 2.72c0 2.67 2.35 3.71 2.46 3.76a.75.75 0 0 0 .98-.4Z\"]);\nexport const HapticWeakRegular = /*#__PURE__*/createFluentIcon('HapticWeakRegular', \"1em\", [\"M8.5 18a.5.5 0 0 1-.2-.04A3.94 3.94 0 0 1 6 14.43c0-1.3.6-1.97 1.13-2.55.49-.54.87-.97.87-1.89 0-.92-.38-1.34-.87-1.88C6.6 7.53 6 6.86 6 5.56a3.93 3.93 0 0 1 2.3-3.52.5.5 0 1 1 .4.92C8.6 3 7 3.73 7 5.56c0 .92.38 1.34.87 1.88C8.4 8.03 9 8.7 9 10c0 1.3-.6 1.97-1.13 2.55-.49.55-.87.97-.87 1.89 0 1.87 1.68 2.6 1.7 2.61a.5.5 0 0 1-.2.96Zm5.46-.3a.5.5 0 0 0-.26-.66c-.02 0-1.7-.75-1.7-2.61 0-.92.38-1.34.87-1.88.53-.6 1.13-1.26 1.13-2.56s-.6-1.96-1.13-2.55C12.4 6.9 12 6.48 12 5.56c0-1.83 1.61-2.56 1.7-2.6a.5.5 0 0 0-.4-.92c-.09.04-2.3 1-2.3 3.52 0 1.3.6 1.97 1.13 2.55.48.54.87.97.87 1.88 0 .92-.38 1.35-.87 1.88-.53.6-1.13 1.26-1.13 2.56 0 2.52 2.21 3.49 2.3 3.53a.5.5 0 0 0 .66-.26Z\"]);\nexport const HardDriveFilled = /*#__PURE__*/createFluentIcon('HardDriveFilled', \"1em\", [\"M4 10c-.59 0-1.14.17-1.6.46l2.25-5.25A2 2 0 0 1 6.5 4h7.1c.75 0 1.43.41 1.77 1.09.54 1.1 1.53 3.2 2.33 5.43A2.99 2.99 0 0 0 16 10H4Zm12 1a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H3.99A2 2 0 0 1 2 14v-1c0-1.1.9-2 2-2h12Zm-.5 3.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"]);\nexport const HardDriveRegular = /*#__PURE__*/createFluentIcon('HardDriveRegular', \"1em\", [\"M2 12c0-.4.08-.8.24-1.16l2.41-5.63A2 2 0 0 1 6.5 4h7.1c.75 0 1.43.41 1.77 1.09a54.93 54.93 0 0 1 2.45 5.77c.13.37.19.76.19 1.14v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2Zm11.6-7H6.48a1 1 0 0 0-.92.6l-1.9 4.43L4 10h12c.15 0 .3.02.45.05a57.18 57.18 0 0 0-2-4.52.96.96 0 0 0-.86-.53ZM16 15a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h12Zm-1.25-1.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"]);\nexport const HatGraduationFilled = /*#__PURE__*/createFluentIcon('HatGraduationFilled', \"1em\", [\"M4 14.5v-3.34l4 2.3a4 4 0 0 0 4 0l4-2.3v3.34a.5.5 0 0 1-.15.35v.01l-.03.03a3.66 3.66 0 0 1-.38.32A9.1 9.1 0 0 1 10 17a9.1 9.1 0 0 1-5.74-2.05 3.6 3.6 0 0 1-.08-.07l-.02-.03A.51.51 0 0 1 4 14.5Zm14.75-6.07-7.26 4.17a3 3 0 0 1-2.98 0L2 8.86v4.64a.5.5 0 0 1-1 0V8c0-.2.1-.36.26-.44L8.51 3.4a3 3 0 0 1 2.98 0l7.26 4.17a.5.5 0 0 1 0 .86Z\"]);\nexport const HatGraduationRegular = /*#__PURE__*/createFluentIcon('HatGraduationRegular', \"1em\", [\"M8.5 3.4a3 3 0 0 1 3 0l7.25 4.17a.5.5 0 0 1 0 .86L16 10.01v4.49a.5.5 0 0 1-.15.35v.01l-.03.03a3.61 3.61 0 0 1-.38.32A9.1 9.1 0 0 1 10 17a9.1 9.1 0 0 1-5.74-2.05 3.56 3.56 0 0 1-.08-.07.53.53 0 0 1-.18-.4v-4.48L2 8.86v4.64a.5.5 0 0 1-1 0V8c0-.19.1-.35.26-.44L8.51 3.4Zm3 9.2a3 3 0 0 1-3 0L5 10.59v3.69l.17.14A8.1 8.1 0 0 0 10 16a8.1 8.1 0 0 0 5-1.72v-3.7l-3.5 2.02ZM11 4.27a2 2 0 0 0-2 0L2.5 8 9 11.73a2 2 0 0 0 2 0L17.5 8 11 4.27Z\"]);\nexport const HatGraduationAddFilled = /*#__PURE__*/createFluentIcon('HatGraduationAddFilled', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H15V3.5Zm-3.5 9.1 2.79-1.6a5.5 5.5 0 0 1-4.7-7.97 3 3 0 0 0-1.08.37L1.26 7.56A.5.5 0 0 0 1 8v5.5a.5.5 0 1 0 1 0V8.86l6.5 3.74a3 3 0 0 0 3 0ZM4 14.5v-3.34l4 2.3a4 4 0 0 0 4 0l4-2.3v3.34a.5.5 0 0 1-.15.35v.01l-.03.03a3.88 3.88 0 0 1-.38.32A9.1 9.1 0 0 1 10 17a9.1 9.1 0 0 1-5.74-2.05 3.81 3.81 0 0 1-.08-.07l-.02-.03A.51.51 0 0 1 4 14.5Z\"]);\nexport const HatGraduationAddRegular = /*#__PURE__*/createFluentIcon('HatGraduationAddRegular', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H15V3.5Zm0 10.78v-3.3c.34-.03.68-.1 1-.19v3.71a.5.5 0 0 1-.15.35v.01l-.03.03a3.66 3.66 0 0 1-.38.32A9.09 9.09 0 0 1 10 17a9.09 9.09 0 0 1-5.74-2.05 3.6 3.6 0 0 1-.08-.07.53.53 0 0 1-.18-.39v-4.49L2 8.86v4.64a.5.5 0 0 1-1 0V8c0-.19.1-.35.26-.44L8.51 3.4a3 3 0 0 1 1.07-.37c-.18.37-.32.75-.42 1.16a2 2 0 0 0-.16.08L2.5 8 9 11.73a2 2 0 0 0 2 0l1.76-1.01c.48.16 1 .26 1.53.28l-2.8 1.6a3 3 0 0 1-2.98 0L5 10.59v3.69l.17.14A8.1 8.1 0 0 0 10 16a8.1 8.1 0 0 0 5-1.72Z\"]);\nexport const HatGraduationSparkleFilled = /*#__PURE__*/createFluentIcon('HatGraduationSparkleFilled', \"1em\", [\"m14.88.28.35 1.07a2.2 2.2 0 0 0 1.4 1.4l1.07.35h.02a.42.42 0 0 1 0 .8l-1.07.35a2.2 2.2 0 0 0-1.4 1.4l-.35 1.07a.42.42 0 0 1-.8 0l-.35-1.07a2.23 2.23 0 0 0-1.4-1.4l-1.07-.35a.42.42 0 0 1 0-.8l1.07-.35a2.2 2.2 0 0 0 1.38-1.4l.35-1.07a.42.42 0 0 1 .8 0Zm4.9 7.93-.76-.25a1.58 1.58 0 0 1-1-1l-.25-.76a.3.3 0 0 0-.57 0l-.25.77a1.58 1.58 0 0 1-.98 1l-.77.24a.3.3 0 0 0 0 .57l.77.25a1.58 1.58 0 0 1 1 1l.24.77a.3.3 0 0 0 .58 0l.24-.77a1.58 1.58 0 0 1 1-1l.77-.24a.3.3 0 0 0 0-.57h-.02ZM15.66 10c.06.02.13.06.19.11l-4.36 2.5a3 3 0 0 1-2.98 0L2 8.86v4.64a.5.5 0 1 1-1 0V8c0-.19.1-.36.26-.44L8.51 3.4a3 3 0 0 1 1.58-.4 1.42 1.42 0 0 0 .17 1.32c.17.24.41.43.71.53l1.06.35c.15.05.3.13.47.29.11.11.2.24.3.47l.35 1.1c.1.24.25.47.52.68.14.1.3.17.45.21a1.3 1.3 0 0 0 .77 1.79l.77.25ZM4 14.5v-3.34l4 2.3a4 4 0 0 0 4 0l4-2.3v3.34a.5.5 0 0 1-.15.35v.01l-.03.03a3.88 3.88 0 0 1-.38.32A9.1 9.1 0 0 1 10 17a9.1 9.1 0 0 1-5.74-2.05 3.81 3.81 0 0 1-.08-.07l-.02-.03A.51.51 0 0 1 4 14.5Z\"]);\nexport const HatGraduationSparkleRegular = /*#__PURE__*/createFluentIcon('HatGraduationSparkleRegular', \"1em\", [\"m14.88.28.35 1.07a2.2 2.2 0 0 0 1.4 1.4l1.07.35h.02a.42.42 0 0 1 0 .8l-1.07.35a2.2 2.2 0 0 0-1.4 1.4l-.35 1.07a.42.42 0 0 1-.8 0l-.35-1.07a2.23 2.23 0 0 0-1.4-1.4l-1.07-.35a.42.42 0 0 1 0-.8l1.07-.35a2.2 2.2 0 0 0 1.38-1.4l.35-1.07a.42.42 0 0 1 .8 0Zm4.9 7.93-.76-.25a1.58 1.58 0 0 1-1-1l-.25-.76a.3.3 0 0 0-.57 0l-.25.77a1.58 1.58 0 0 1-.98 1l-.77.24a.3.3 0 0 0 0 .57l.77.25a1.58 1.58 0 0 1 1 1l.24.77a.3.3 0 0 0 .58 0l.24-.77a1.58 1.58 0 0 1 1-1l.77-.24a.3.3 0 0 0 0-.57h-.02Zm-3.9 1.92c.05.05.1.11.12.18v4.19a.5.5 0 0 1-.15.35v.01l-.03.03a3.66 3.66 0 0 1-.38.32A9.1 9.1 0 0 1 10 17a9.1 9.1 0 0 1-5.74-2.05 3.6 3.6 0 0 1-.08-.07.53.53 0 0 1-.18-.39v-4.49L2 8.86v4.64a.5.5 0 0 1-1 0V8c0-.19.1-.35.26-.44L8.51 3.4a3 3 0 0 1 1.58-.4 1.42 1.42 0 0 0 0 1A2 2 0 0 0 9 4.27L2.5 8 9 11.73a2 2 0 0 0 2 0l3.66-2.1c.07.04.15.08.23.1l.77.26c.08.03.16.08.22.14Zm-4.39 2.47a3 3 0 0 1-2.98 0L5 10.59v3.69l.17.14A8.1 8.1 0 0 0 10 16a8.1 8.1 0 0 0 5-1.72v-3.7l-3.5 2.02Z\"]);\nexport const HdFilled = /*#__PURE__*/createFluentIcon('HdFilled', \"1em\", [\"M12.42 12h-.92V8h.92c.87 0 1.58.7 1.58 1.58v.84c0 .87-.7 1.58-1.58 1.58ZM6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm-.5 4c.28 0 .5.22.5.5V10h2.5V7.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0V11H6v1.5a.5.5 0 0 1-1 0v-5c0-.28.22-.5.5-.5ZM11 7h1.42A2.58 2.58 0 0 1 15 9.58v.84A2.58 2.58 0 0 1 12.42 13H11a.5.5 0 0 1-.5-.5v-5c0-.28.22-.5.5-.5Z\"]);\nexport const HdRegular = /*#__PURE__*/createFluentIcon('HdRegular', \"1em\", [\"M5.5 7c.28 0 .5.22.5.5V10h2.5V7.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0V11H6v1.5a.5.5 0 0 1-1 0v-5c0-.28.22-.5.5-.5ZM11 7a.5.5 0 0 0-.5.5v5c0 .28.22.5.5.5h1.42A2.58 2.58 0 0 0 15 10.42v-.84A2.58 2.58 0 0 0 12.42 7H11Zm1.42 5h-.92V8h.92c.87 0 1.58.7 1.58 1.58v.84c0 .87-.7 1.58-1.58 1.58ZM3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v8c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H6Z\"]);\nexport const HdOffFilled = /*#__PURE__*/createFluentIcon('HdOffFilled', \"1em\", [\"M2.15 2.15a.5.5 0 0 0 0 .7l1.4 1.41A2.99 2.99 0 0 0 3 6v8a3 3 0 0 0 3 3h8c.65 0 1.25-.2 1.74-.55l1.4 1.4a.5.5 0 1 0 .71-.7l-15-15a.5.5 0 0 0-.7 0ZM12.29 13H11a.5.5 0 0 1-.5-.5v-1.3l1.8 1.8ZM9.5 10.2v2.3a.5.5 0 0 1-1 0V11H6v1.5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 1 0V10h2.5v-.8l1 1Zm2-.82 2.1 2.1c.25-.28.4-.66.4-1.06v-.84C14 8.71 13.3 8 12.42 8h-.92v1.38Zm3.5 1.04c0 .68-.27 1.3-.7 1.76l2.6 2.6A3 3 0 0 0 17 14V6a3 3 0 0 0-3-3H6a3 3 0 0 0-.78.1l5.28 5.28V7.5c0-.28.22-.5.5-.5h1.42A2.58 2.58 0 0 1 15 9.58v.84Z\"]);\nexport const HdOffRegular = /*#__PURE__*/createFluentIcon('HdOffRegular', \"1em\", [\"M2.15 2.15a.5.5 0 0 0 0 .7l1.4 1.41A2.99 2.99 0 0 0 3 6v8a3 3 0 0 0 3 3h8c.65 0 1.25-.2 1.74-.55l1.4 1.4a.5.5 0 1 0 .71-.7l-15-15a.5.5 0 0 0-.7 0Zm12.87 13.57c-.3.18-.65.28-1.02.28H6a2 2 0 0 1-2-2V6a2 2 0 0 1 .28-1.02L8.5 9.21V10H6V7.5a.5.5 0 1 0-1 0v5a.5.5 0 0 0 1 0V11h2.5v1.5a.5.5 0 0 0 1 0v-2.3l1 1v1.3c0 .28.22.5.5.5h1.3l2.72 2.72ZM10.5 8.38V7.5c0-.28.22-.5.5-.5h1.42A2.58 2.58 0 0 1 15 9.58v.84c0 .68-.27 1.3-.7 1.76l-.7-.7c.25-.28.4-.66.4-1.06v-.84C14 8.71 13.3 8 12.42 8h-.92v1.38l-1-1Zm5.5 5.5V6a2 2 0 0 0-2-2H6.12l-.9-.9A3 3 0 0 1 6 3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-.1.78l-.9-.9Z\"]);\nexport const HdrFilled = /*#__PURE__*/createFluentIcon('HdrFilled', \"1em\", [\"M4.75 4A2.75 2.75 0 0 0 2 6.75v6.5A2.75 2.75 0 0 0 4.75 16h10.5A2.75 2.75 0 0 0 18 13.25v-6.5A2.75 2.75 0 0 0 15.25 4H4.75ZM4.5 7.5c.28 0 .5.22.5.5v1.5h2V8a.5.5 0 0 1 1 0v4a.5.5 0 0 1-1 0v-1.5H5V12a.5.5 0 0 1-1 0V8c0-.28.22-.5.5-.5ZM9 8c0-.28.22-.5.5-.5h.25c1.24 0 2.25 1 2.25 2.25v.5c0 1.24-1 2.25-2.25 2.25H9.5A.5.5 0 0 1 9 12V8Zm1 3.47c.57-.11 1-.62 1-1.22v-.5c0-.6-.43-1.1-1-1.22v2.95ZM13 8c0-.28.22-.5.5-.5h1a1.5 1.5 0 0 1 .87 2.72l.6 1.6a.5.5 0 0 1-.94.36l-.63-1.68H14V12a.5.5 0 0 1-1 0V8Zm1 1.5h.5a.5.5 0 0 0 0-1H14v1Z\"]);\nexport const HdrRegular = /*#__PURE__*/createFluentIcon('HdrRegular', \"1em\", [\"M4.75 4A2.75 2.75 0 0 0 2 6.75v6.5A2.75 2.75 0 0 0 4.75 16h10.5A2.75 2.75 0 0 0 18 13.25v-6.5A2.75 2.75 0 0 0 15.25 4H4.75ZM3 6.75C3 5.78 3.78 5 4.75 5h10.5c.97 0 1.75.78 1.75 1.75v6.5c0 .97-.78 1.75-1.75 1.75H4.75C3.78 15 3 14.22 3 13.25v-6.5Zm1.5.75c.28 0 .5.22.5.5v1.5h2V8a.5.5 0 0 1 1 0v4a.5.5 0 0 1-1 0v-1.5H5V12a.5.5 0 0 1-1 0V8c0-.28.22-.5.5-.5ZM9 8c0-.28.22-.5.5-.5h.25c1.24 0 2.25 1 2.25 2.25v.5c0 1.24-1 2.25-2.25 2.25H9.5A.5.5 0 0 1 9 12V8Zm1 3.47c.57-.11 1-.62 1-1.22v-.5c0-.6-.43-1.1-1-1.22v2.95ZM13 8c0-.28.22-.5.5-.5h1a1.5 1.5 0 0 1 .87 2.72l.6 1.6a.5.5 0 0 1-.94.36l-.63-1.68H14V12a.5.5 0 0 1-1 0V8Zm1 1.5h.5a.5.5 0 0 0 0-1H14v1Z\"]);\nexport const HdrOffFilled = /*#__PURE__*/createFluentIcon('HdrOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l1.41 1.42A2.75 2.75 0 0 0 2 6.75v6.5A2.75 2.75 0 0 0 4.75 16h10.54l1.86 1.85a.5.5 0 0 0 .7-.7l-15-15Zm8.38 9.8c-.4.34-.91.55-1.48.55H9.5A.5.5 0 0 1 9 12V9.7l1 1v.78c.2-.04.37-.13.52-.25l.71.71ZM8 8.7V12a.5.5 0 0 1-1 0v-1.5H5V12a.5.5 0 0 1-1 0V8a.5.5 0 0 1 1 0v1.5h2V8a.5.5 0 0 1 .06-.23L8 8.7Zm4 1.04v.13l1 1V8c0-.28.22-.5.5-.5h1a1.5 1.5 0 0 1 .87 2.72l.6 1.6a.5.5 0 0 1-.94.36l-.63-1.68H14v1.38l3.25 3.25c.47-.49.75-1.15.75-1.88v-6.5A2.75 2.75 0 0 0 15.25 4H6.12l3.5 3.5h.13c1.24 0 2.25 1 2.25 2.25Zm2-.25h.5a.5.5 0 0 0 0-1H14v1Z\"]);\nexport const HdrOffRegular = /*#__PURE__*/createFluentIcon('HdrOffRegular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l1.41 1.42A2.75 2.75 0 0 0 2 6.75v6.5A2.75 2.75 0 0 0 4.75 16h10.54l1.86 1.85a.5.5 0 0 0 .7-.7l-15-15ZM14.3 15H4.75C3.78 15 3 14.22 3 13.25v-6.5c0-.83.57-1.52 1.34-1.7l2.72 2.72A.5.5 0 0 0 7 8v1.5H5V8a.5.5 0 0 0-1 0v4a.5.5 0 0 0 1 0v-1.5h2V12a.5.5 0 0 0 1 0V8.7l1 1V12c0 .28.22.5.5.5h.25c.57 0 1.09-.21 1.48-.56L14.3 15ZM10 10.7l.52.53c-.15.12-.32.2-.52.24v-.76Zm-.38-3.2L12 9.88v-.13c0-1.24-1-2.25-2.25-2.25h-.13ZM13 10.88l1 1V10.5h.4l.63 1.68a.5.5 0 0 0 .94-.36l-.6-1.6a1.5 1.5 0 0 0-.87-2.72h-1a.5.5 0 0 0-.5.5v2.88Zm4 2.37c0 .45-.17.86-.45 1.18l.7.7c.47-.49.75-1.15.75-1.88v-6.5A2.75 2.75 0 0 0 15.25 4H6.12l1 1h8.13c.97 0 1.75.78 1.75 1.75v6.5ZM14 9.5v-1h.5a.5.5 0 0 1 0 1H14Z\"]);\nexport const HeadphonesColor = /*#__PURE__*/createFluentIcon('HeadphonesColor', \"1em\", [\"m3 13-1-1v-2a8 8 0 1 1 16 0v2l-1 1-1-1v-2a6 6 0 0 0-12 0v2l-1 1Z\", \"M4.5 11H2v5c0 1.1.9 2 2 2h1v-6.5a.5.5 0 0 0-.5-.5Z\", \"M17.5 11H15v7h1a2 2 0 0 0 2-2v-4.5a.5.5 0 0 0-.5-.5Z\", \"M7 11H4v7h3a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1Z\", \"M13 11h3v7h-3a1 1 0 0 1-1-1v-5a1 1 0 0 1 1-1Z\"]);\nexport const HeadphonesFilled = /*#__PURE__*/createFluentIcon('HeadphonesFilled', \"1em\", [\"M3 10a7 7 0 0 1 14 0v1h-3.5a.5.5 0 0 0-.5.5v6c0 .28.22.5.5.5H16a2 2 0 0 0 2-2v-6a8 8 0 1 0-16 0v6c0 1.1.9 2 2 2h2.5a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5H3v-1Z\"]);\nexport const HeadphonesRegular = /*#__PURE__*/createFluentIcon('HeadphonesRegular', \"1em\", [\"M3 10a7 7 0 0 1 14 0v1h-3.5a.5.5 0 0 0-.5.5v6c0 .28.22.5.5.5H16a2 2 0 0 0 2-2v-6a8 8 0 1 0-16 0v6c0 1.1.9 2 2 2h2.5a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5H3v-1Zm0 2h3v5H4a1 1 0 0 1-1-1v-4Zm14 0v4a1 1 0 0 1-1 1h-2v-5h3Z\"]);\nexport const HeadphonesSoundWaveFilled = /*#__PURE__*/createFluentIcon('HeadphonesSoundWaveFilled', \"1em\", [\"M10 3a7 7 0 0 0-7 7v1h1.5c.28 0 .5.22.5.5v6a.5.5 0 0 1-.5.5H4a2 2 0 0 1-2-2v-6a8 8 0 1 1 16 0v6a2 2 0 0 1-2 2h-.5a.5.5 0 0 1-.5-.5v-6c0-.28.22-.5.5-.5H17v-1a7 7 0 0 0-7-7Zm.5 7.5a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7Zm-3 1.5c.28 0 .5.22.5.5v4a.5.5 0 0 1-1 0v-4c0-.28.22-.5.5-.5Zm5.5.5a.5.5 0 0 0-1 0v4a.5.5 0 0 0 1 0v-4Z\"]);\nexport const HeadphonesSoundWaveRegular = /*#__PURE__*/createFluentIcon('HeadphonesSoundWaveRegular', \"1em\", [\"M10 3a7 7 0 0 0-7 7v1h1.5c.28 0 .5.22.5.5v6a.5.5 0 0 1-.5.5H4a2 2 0 0 1-2-2v-6a8 8 0 1 1 16 0v6a2 2 0 0 1-2 2h-.5a.5.5 0 0 1-.5-.5v-6c0-.28.22-.5.5-.5H17v-1a7 7 0 0 0-7-7ZM3 16a1 1 0 0 0 1 1v-5H3v4Zm14 0v-4h-1v5a1 1 0 0 0 1-1Zm-6.5-5.5a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7Zm-3 1.5c.28 0 .5.22.5.5v4a.5.5 0 0 1-1 0v-4c0-.28.22-.5.5-.5Zm5.5.5a.5.5 0 0 0-1 0v4a.5.5 0 0 0 1 0v-4Z\"]);\nexport const HeadsetColor = /*#__PURE__*/createFluentIcon('HeadsetColor', \"1em\", [\"M6 12v2a1 1 0 0 0 1 1h2v2H7a3 3 0 0 1-3-3v-2h2Z\", \"M12 16a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\", \"m14 8 1 1 1-1A6 6 0 0 0 4 8l1 1 1-1a4 4 0 1 1 8 0Z\", \"M6 8h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H6l-1-2.5L6 8Z\", \"m15 12-1 1h-1a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h1l1 1v3Z\", \"M6 8H4v5h2V8Z\", \"M16 8h-2v5a2 2 0 0 0 2-2V8Z\"]);\nexport const HeadsetFilled = /*#__PURE__*/createFluentIcon('HeadsetFilled', \"1em\", [\"M10 2a6 6 0 0 0-6 6v6a3 3 0 0 0 3 3h1.27A2 2 0 1 0 8 16H7a2 2 0 0 1-2-2v-1h2a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H5a5 5 0 0 1 10 0h-2a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h1a2 2 0 0 0 2-2V8a6 6 0 0 0-6-6Z\"]);\nexport const HeadsetRegular = /*#__PURE__*/createFluentIcon('HeadsetRegular', \"1em\", [\"M4 8a6 6 0 1 1 12 0v3a2 2 0 0 1-2 2h-1a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2A5 5 0 0 0 5 8h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5v1c0 1.1.9 2 2 2h1a2 2 0 1 1 .27 1H7a3 3 0 0 1-3-3V8Zm11 1h-2v3h1a1 1 0 0 0 1-1V9ZM5 12h2V9H5v3Zm4 4a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\"]);\nexport const HeadsetAddFilled = /*#__PURE__*/createFluentIcon('HeadsetAddFilled', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H15V3.5Zm-.5 7.5a5.5 5.5 0 0 0 1.5-.2v.2a2 2 0 0 1-2 2h-1a1 1 0 0 1-1-1v-1.6c.75.38 1.6.6 2.5.6Zm-4.25-9a5.5 5.5 0 0 0-.66 1.02A5 5 0 0 0 5 8h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5v1c0 1.1.9 2 2 2h1a2 2 0 1 1 .27 1H7a3 3 0 0 1-3-3V8a6 6 0 0 1 6.25-6Z\"]);\nexport const HeadsetAddRegular = /*#__PURE__*/createFluentIcon('HeadsetAddRegular', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H15V3.5Zm0 7.5v-.02c.34-.03.68-.1 1-.19V11a2 2 0 0 1-2 2h-1a1 1 0 0 1-1-1v-1.6c.32.16.65.3 1 .4V12h1a1 1 0 0 0 1-1Zm-4.75-9a5.5 5.5 0 0 0-.66 1.02A5 5 0 0 0 5 8h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5v1c0 1.1.9 2 2 2h1a2 2 0 1 1 .27 1H7a3 3 0 0 1-3-3V8a6 6 0 0 1 6.25-6ZM5 12h2V9H5v3Zm4 4a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\"]);\nexport const HeadsetVrFilled = /*#__PURE__*/createFluentIcon('HeadsetVrFilled', \"1em\", [\"M8 3.5c0-.28.22-.5.5-.5h3c.28 0 .5.22.5.5V5h2.75a3.25 3.25 0 0 1 3.24 3h.51c.28 0 .5.22.5.5v3a.5.5 0 0 1-.5.5H18v1.75c0 1.8-1.46 3.25-3.25 3.25h-1.61c-.86 0-1.7-.34-2.3-.95l-.6-.6a.35.35 0 0 0-.49 0l-.6.6c-.6.6-1.43.95-2.3.95h-1.6A3.25 3.25 0 0 1 2 13.75V12h-.5a.5.5 0 0 1-.5-.5v-3c0-.28.22-.5.5-.5H2c.14-1.68 1.54-3 3.25-3H8V3.5Zm2 5.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM5 10.5c0 .28.22.5.5.5h2a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5Zm7.5-.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z\"]);\nexport const HeadsetVrRegular = /*#__PURE__*/createFluentIcon('HeadsetVrRegular', \"1em\", [\"M10.75 8a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM5.5 10a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm6.5.5c0-.28.22-.5.5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM8.5 3a.5.5 0 0 0-.5.5V5H5.25a3.25 3.25 0 0 0-3.24 3H1.5a.5.5 0 0 0-.5.5v3c0 .28.22.5.5.5H2v1.75C2 15.55 3.46 17 5.25 17h1.6c.87 0 1.7-.34 2.3-.95l.6-.6a.35.35 0 0 1 .5 0l.59.6c.6.6 1.44.95 2.3.95h1.61c1.8 0 3.25-1.46 3.25-3.25V12h.5a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5H18a3.25 3.25 0 0 0-3.25-3H12V3.5a.5.5 0 0 0-.5-.5h-3ZM17 8.25v5.5c0 1.24-1 2.25-2.25 2.25h-1.61c-.6 0-1.17-.24-1.6-.66l-.59-.6a1.35 1.35 0 0 0-1.9 0l-.6.6c-.42.42-1 .66-1.6.66h-1.6C4.01 16 3 15 3 13.75v-5.5C3 7.01 4 6 5.25 6h9.5C15.99 6 17 7 17 8.25Z\"]);\nexport const HeartFilled = /*#__PURE__*/createFluentIcon('HeartFilled', \"1em\", [\"M9.39 4.29a4.3 4.3 0 0 0-6.13-.02 4.4 4.4 0 0 0 .02 6.2l6.27 6.33c.26.27.69.27.95 0l6.24-6.3a4.4 4.4 0 0 0-.02-6.19 4.3 4.3 0 0 0-6.13-.01l-.6.6-.6-.61Z\"]);\nexport const HeartRegular = /*#__PURE__*/createFluentIcon('HeartRegular', \"1em\", [\"m10.5 16.8 6.24-6.3a4.4 4.4 0 0 0-.02-6.19 4.3 4.3 0 0 0-6.13-.01l-.6.6-.6-.61a4.3 4.3 0 0 0-6.13-.02 4.4 4.4 0 0 0 .02 6.2l6.27 6.33c.26.27.69.27.95 0ZM11.3 5a3.3 3.3 0 0 1 4.71.02 3.4 3.4 0 0 1 .02 4.78l-6 6.06-6.04-6.1a3.4 3.4 0 0 1-.02-4.78 3.3 3.3 0 0 1 4.7.01l.97.97c.2.2.51.2.7 0L11.3 5Z\"]);\nexport const HeartBrokenFilled = /*#__PURE__*/createFluentIcon('HeartBrokenFilled', \"1em\", [\"M9.27 4.18a4.3 4.3 0 0 0-6 .1 4.4 4.4 0 0 0 0 6.18l6.28 6.34c.26.27.69.27.95 0l6.24-6.3a4.4 4.4 0 0 0-.02-6.19 4.3 4.3 0 0 0-6.13-.01l-.59.59-1.34 2.06 3 2.53a.5.5 0 0 1 .03.73l-2 2a.5.5 0 1 1-.71-.7l1.62-1.62-2.92-2.46a.5.5 0 0 1-.1-.66l1.7-2.6Z\"]);\nexport const HeartBrokenRegular = /*#__PURE__*/createFluentIcon('HeartBrokenRegular', \"1em\", [\"m16.74 10.5-6.24 6.3a.66.66 0 0 1-.95 0l-6.27-6.34a4.4 4.4 0 0 1-.02-6.19 4.3 4.3 0 0 1 6.13.02l.6.61.06-.06.54-.54.1-.1a4.3 4.3 0 0 1 6.03.11 4.4 4.4 0 0 1 .02 6.19Zm-5.76-5.18-.03.03-.2.2-.4.41a.5.5 0 0 1-.05.04l-1 1 2.32 2.31c.2.2.2.52 0 .71l-2 2a.5.5 0 0 1-.7-.7l1.64-1.65-2.31-2.32a.5.5 0 0 1 0-.7L9.29 5.6l-.61-.62a3.3 3.3 0 0 0-4.7-.01 3.4 3.4 0 0 0 0 4.78l6.05 6.1 6-6.06A3.4 3.4 0 0 0 16 5.02 3.3 3.3 0 0 0 11.3 5l-.32.32Z\"]);\nexport const HeartCircleFilled = /*#__PURE__*/createFluentIcon('HeartCircleFilled', \"1em\", [\"M2 10a8 8 0 1 0 16 0 8 8 0 0 0-16 0Zm7.6-2.39.39.4.4-.4a2.12 2.12 0 0 1 3.03 2.96l-3.05 3.27a.5.5 0 0 1-.74 0l-3.06-3.28A2.11 2.11 0 0 1 9.6 7.61Z\"]);\nexport const HeartCircleRegular = /*#__PURE__*/createFluentIcon('HeartCircleRegular', \"1em\", [\"m9.6 7.61.39.39.4-.4a2.12 2.12 0 0 1 3.03 2.97l-3.05 3.27a.5.5 0 0 1-.74 0l-3.06-3.28A2.11 2.11 0 0 1 9.6 7.61ZM2 10a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z\"]);\nexport const HeartCircleHintFilled = /*#__PURE__*/createFluentIcon('HeartCircleHintFilled', \"1em\", [\"M8.44 2.15a8.04 8.04 0 0 1 3.12 0 .5.5 0 0 1-.2.98 7.04 7.04 0 0 0-2.73 0 .5.5 0 0 1-.2-.98Zm-5.7 5.9a.5.5 0 0 1 .4.58 7.04 7.04 0 0 0 0 2.74.5.5 0 0 1-.99.2 8.04 8.04 0 0 1 0-3.13.5.5 0 0 1 .59-.4Zm14.52 0a.5.5 0 0 1 .59.39 8.03 8.03 0 0 1 0 3.12.5.5 0 0 1-.98-.2 7.04 7.04 0 0 0 0-2.73.5.5 0 0 1 .39-.58Zm-9.21 9.21a.5.5 0 0 1 .58-.4 7.04 7.04 0 0 0 2.74 0 .5.5 0 1 1 .2.99 8.03 8.03 0 0 1-3.13 0 .5.5 0 0 1-.4-.59Zm6.4-13.91a8.04 8.04 0 0 1 2.2 2.2.5.5 0 1 1-.83.56 7.03 7.03 0 0 0-1.93-1.93.5.5 0 0 1 .56-.83Zm-8.2.13a.5.5 0 0 1-.14.7A7.04 7.04 0 0 0 4.18 6.1a.5.5 0 0 1-.83-.56 8.04 8.04 0 0 1 2.2-2.2.5.5 0 0 1 .7.13Zm10.27 10.27c.23.16.29.47.13.7a8.03 8.03 0 0 1-2.2 2.2.5.5 0 0 1-.56-.83 7.03 7.03 0 0 0 1.93-1.93.5.5 0 0 1 .7-.14Zm-13.04 0a.5.5 0 0 1 .7.14 7.04 7.04 0 0 0 1.93 1.93.5.5 0 1 1-.56.83 8.04 8.04 0 0 1-2.2-2.2.5.5 0 0 1 .13-.7Zm9.99-6.08a2.04 2.04 0 0 0-2.95-.08l-.52.5-.52-.5a2.04 2.04 0 0 0-2.95 2.83l3.1 3.42a.5.5 0 0 0 .74 0l3.1-3.42c.7-.78.7-1.97 0-2.75Z\"]);\nexport const HeartCircleHintRegular = /*#__PURE__*/createFluentIcon('HeartCircleHintRegular', \"1em\", [\"M8.44 2.15a8.04 8.04 0 0 1 3.12 0 .5.5 0 0 1-.2.98 7.04 7.04 0 0 0-2.73 0 .5.5 0 0 1-.2-.98Zm-5.7 5.9a.5.5 0 0 1 .4.58 7.04 7.04 0 0 0 0 2.74.5.5 0 0 1-.99.2 8.04 8.04 0 0 1 0-3.13.5.5 0 0 1 .59-.4Zm14.52 0a.5.5 0 0 1 .59.39 8.03 8.03 0 0 1 0 3.12.5.5 0 0 1-.98-.2 7.04 7.04 0 0 0 0-2.73.5.5 0 0 1 .39-.58Zm-9.21 9.21a.5.5 0 0 1 .58-.4 7.04 7.04 0 0 0 2.74 0 .5.5 0 1 1 .2.99 8.03 8.03 0 0 1-3.13 0 .5.5 0 0 1-.4-.59Zm6.4-13.91a8.04 8.04 0 0 1 2.2 2.2.5.5 0 1 1-.83.56 7.03 7.03 0 0 0-1.93-1.93.5.5 0 0 1 .56-.83Zm-8.2.13a.5.5 0 0 1-.14.7A7.04 7.04 0 0 0 4.18 6.1a.5.5 0 0 1-.83-.56 8.04 8.04 0 0 1 2.2-2.2.5.5 0 0 1 .7.13Zm10.27 10.27c.23.16.29.47.13.7a8.03 8.03 0 0 1-2.2 2.2.5.5 0 0 1-.56-.83 7.03 7.03 0 0 0 1.93-1.93.5.5 0 0 1 .7-.14Zm-13.04 0a.5.5 0 0 1 .7.14 7.04 7.04 0 0 0 1.93 1.93.5.5 0 1 1-.56.83 8.04 8.04 0 0 1-2.2-2.2.5.5 0 0 1 .13-.7Zm7.74-5.45a1.04 1.04 0 0 1 1.5 1.45l-2.72 3-2.73-3a1.04 1.04 0 0 1 1.5-1.45l.88.86c.2.19.5.19.7 0l.87-.86Zm2.25-.63a2.04 2.04 0 0 0-2.95-.08l-.52.5-.52-.5a2.04 2.04 0 0 0-2.95 2.83l3.1 3.42a.5.5 0 0 0 .74 0l3.1-3.42c.7-.78.7-1.97 0-2.75Z\"]);\nexport const HeartOffFilled = /*#__PURE__*/createFluentIcon('HeartOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l1.27 1.27a4.4 4.4 0 0 0-.14 6.34l6.27 6.34c.26.27.69.27.95 0L13.28 14l3.87 3.86a.5.5 0 0 0 .7-.7l-15-15Zm13.9 8.35-2.06 2.07-9.44-9.44A4.32 4.32 0 0 1 9.4 4.3l.6.61.6-.6a4.3 4.3 0 0 1 6.13.01 4.4 4.4 0 0 1 .02 6.19Z\"]);\nexport const HeartOffRegular = /*#__PURE__*/createFluentIcon('HeartOffRegular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l1.27 1.27a4.4 4.4 0 0 0-.14 6.34l6.27 6.34c.26.27.69.27.95 0L13.28 14l3.87 3.86a.5.5 0 0 0 .7-.7l-15-15Zm9.73 11.13-2.55 2.58-6.04-6.1a3.4 3.4 0 0 1 .14-4.93l8.45 8.45Zm3.45-3.48-2.05 2.06.71.7 2.05-2.06a4.4 4.4 0 0 0-.02-6.19 4.3 4.3 0 0 0-6.13-.01l-.6.6-.6-.61a4.32 4.32 0 0 0-4.14-1.16l.88.88c.91-.06 1.84.27 2.55.98l.96.97c.2.2.51.2.7 0L11.3 5a3.3 3.3 0 0 1 4.71.02 3.4 3.4 0 0 1 .02 4.78Z\"]);\nexport const HeartPulseFilled = /*#__PURE__*/createFluentIcon('HeartPulseFilled', \"1em\", [\"M9.39 4.29a4.3 4.3 0 0 0-6.13-.02 4.4 4.4 0 0 0-.94 4.74L2.5 9h2.3l1.32-3.09a1.5 1.5 0 0 1 2.76.01l1.39 3.32.96-1.54a1.5 1.5 0 0 1 2.4-.19L14.93 9h2.57l.2.01c.61-1.57.29-3.42-.98-4.7a4.3 4.3 0 0 0-6.13-.01l-.6.6-.6-.61Zm.16 12.51L4.8 12h1c.6 0 1.15-.36 1.38-.91l.3-.72 1.14 2.7a1.5 1.5 0 0 0 2.65.22l1.43-2.28.42.48c.29.32.7.51 1.13.51h1l-4.75 4.8a.66.66 0 0 1-.95 0ZM7.96 6.3a.5.5 0 0 0-.92 0L5.47 10H2.5a.5.5 0 0 0 0 1h3.3a.5.5 0 0 0 .46-.3L7.5 7.79l2.04 4.9a.5.5 0 0 0 .88.08l2.15-3.43 1.3 1.49c.1.1.24.17.38.17h3.25a.5.5 0 0 0 0-1h-3.02l-1.6-1.83a.5.5 0 0 0-.8.06l-2 3.18-2.12-5.1Z\"]);\nexport const HeartPulseRegular = /*#__PURE__*/createFluentIcon('HeartPulseRegular', \"1em\", [\"m10.5 16.8 4.75-4.8h-1a1.5 1.5 0 0 1-.36-.04l-3.86 3.9-3.87-3.9a1.5 1.5 0 0 1-.36.04h-1l4.75 4.8c.26.27.69.27.95 0Zm6.22-12.49a4.42 4.42 0 0 1 .98 4.7L17.5 9h-.89c.67-1.28.48-2.9-.6-3.98A3.3 3.3 0 0 0 11.3 5l-.95.96a.5.5 0 0 1-.71 0L8.68 5a3.3 3.3 0 0 0-4.7-.01A3.4 3.4 0 0 0 3.41 9H2.5l-.18.01a4.4 4.4 0 0 1 .94-4.74 4.3 4.3 0 0 1 6.13.02l.6.61.6-.6.1-.1a4.3 4.3 0 0 1 6.03.11Zm-8.76 2a.5.5 0 0 0-.92 0L5.47 10H2.5a.5.5 0 0 0 0 1h3.3a.5.5 0 0 0 .46-.3L7.5 7.79l2.04 4.9a.5.5 0 0 0 .88.08l2.15-3.43 1.3 1.49c.1.1.24.17.38.17h3.25a.5.5 0 0 0 0-1h-3.02l-1.6-1.83a.5.5 0 0 0-.8.06l-2 3.18-2.12-5.1Z\"]);\nexport const HeartPulseCheckmarkFilled = /*#__PURE__*/createFluentIcon('HeartPulseCheckmarkFilled', \"1em\", [\"M9.39 4.29a4.3 4.3 0 0 0-6.13-.02 4.4 4.4 0 0 0-.94 4.74L2.5 9h2.3l1.32-3.09a1.5 1.5 0 0 1 2.76.01l1.39 3.32.96-1.54a1.5 1.5 0 0 1 2.4-.19L14.93 9h2.57l.2.01c.61-1.57.29-3.42-.98-4.7a4.3 4.3 0 0 0-6.13-.01l-.6.6-.6-.61Zm3.49 3.88.95 1.09c-.34.1-.66.25-.97.41l-.3-.33-.58.93a5.5 5.5 0 0 0-1.76 2.68.5.5 0 0 1-.68-.26L7.5 7.8l-1.24 2.9a.5.5 0 0 1-.46.31H2.5a.5.5 0 0 1 0-1h2.97l1.57-3.7a.5.5 0 0 1 .92 0l2.13 5.11 1.99-3.18a.5.5 0 0 1 .8-.06Zm-3 5.82.14.01a5.59 5.59 0 0 0 .48 2.8.66.66 0 0 1-.95 0L4.8 12h1c.6 0 1.15-.36 1.38-.91l.3-.72 1.14 2.7c.21.52.7.88 1.26.92ZM20 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.15-1.85a.5.5 0 0 0-.7 0l-2.65 2.64-.65-.64a.5.5 0 0 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0 0-.7Z\"]);\nexport const HeartPulseCheckmarkRegular = /*#__PURE__*/createFluentIcon('HeartPulseCheckmarkRegular', \"1em\", [\"m12.88 8.17.95 1.09c-.34.1-.66.25-.97.41l-.3-.33-.58.93a5.5 5.5 0 0 0-1.76 2.68.5.5 0 0 1-.68-.26L7.5 7.8l-1.24 2.9a.5.5 0 0 1-.46.31H2.5a.5.5 0 0 1 0-1h2.97l1.57-3.7a.5.5 0 0 1 .92 0l2.13 5.11 1.99-3.18a.5.5 0 0 1 .8-.06Zm3.84-3.86a4.42 4.42 0 0 1 .98 4.7L17.5 9h-.89c.67-1.28.48-2.9-.6-3.98A3.3 3.3 0 0 0 11.3 5l-.95.96a.5.5 0 0 1-.71 0L8.68 5a3.3 3.3 0 0 0-4.7-.01A3.4 3.4 0 0 0 3.41 9H2.5l-.18.01a4.4 4.4 0 0 1 .94-4.74 4.3 4.3 0 0 1 6.13.02l.6.61.6-.6.1-.1a4.3 4.3 0 0 1 6.03.11ZM4.86 12l4.78 4.85a.5.5 0 0 0 .71-.7l-4.14-4.2a1.5 1.5 0 0 1-.41.05h-.94ZM20 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.15-1.85a.5.5 0 0 0-.7 0l-2.65 2.64-.65-.64a.5.5 0 0 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0 0-.7Z\"]);\nexport const HeartPulseErrorFilled = /*#__PURE__*/createFluentIcon('HeartPulseErrorFilled', \"1em\", [\"M9.39 4.29a4.3 4.3 0 0 0-6.13-.02 4.4 4.4 0 0 0-.94 4.74L2.5 9h2.3l1.32-3.09a1.5 1.5 0 0 1 2.76.01l1.39 3.32.96-1.54a1.5 1.5 0 0 1 2.4-.19L14.93 9h2.57l.2.01c.61-1.57.29-3.42-.98-4.7a4.3 4.3 0 0 0-6.13-.01l-.6.6-.6-.61Zm3.49 3.88.95 1.09c-.34.1-.66.25-.97.41l-.3-.33-.58.93a5.5 5.5 0 0 0-1.76 2.68.5.5 0 0 1-.68-.26L7.5 7.8l-1.24 2.9a.5.5 0 0 1-.46.31H2.5a.5.5 0 0 1 0-1h2.97l1.57-3.7a.5.5 0 0 1 .92 0l2.13 5.11 1.99-3.18a.5.5 0 0 1 .8-.06Zm-3 5.82.14.01a5.59 5.59 0 0 0 .48 2.8.66.66 0 0 1-.95 0L4.8 12h1c.6 0 1.15-.36 1.38-.91l.3-.72 1.14 2.7c.21.52.7.88 1.26.92ZM20 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM15.5 12a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Zm0 5.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.24Z\"]);\nexport const HeartPulseErrorRegular = /*#__PURE__*/createFluentIcon('HeartPulseErrorRegular', \"1em\", [\"m12.88 8.17.95 1.09c-.34.1-.66.25-.97.41l-.3-.33-.58.93a5.5 5.5 0 0 0-1.76 2.68.5.5 0 0 1-.68-.26L7.5 7.8l-1.24 2.9a.5.5 0 0 1-.46.31H2.5a.5.5 0 0 1 0-1h2.97l1.57-3.7a.5.5 0 0 1 .92 0l2.13 5.11 1.99-3.18a.5.5 0 0 1 .8-.06Zm3.84-3.86a4.42 4.42 0 0 1 .98 4.7L17.5 9h-.89c.67-1.28.48-2.9-.6-3.98A3.3 3.3 0 0 0 11.3 5l-.95.96a.5.5 0 0 1-.71 0L8.68 5a3.3 3.3 0 0 0-4.7-.01A3.4 3.4 0 0 0 3.41 9H2.5l-.18.01a4.4 4.4 0 0 1 .94-4.74 4.3 4.3 0 0 1 6.13.02l.6.61.6-.6.1-.1a4.3 4.3 0 0 1 6.03.11ZM4.86 12l4.78 4.85a.5.5 0 0 0 .71-.7l-4.14-4.2a1.5 1.5 0 0 1-.41.05h-.94ZM20 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM15.5 12a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Zm0 5.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.24Z\"]);\nexport const HeartPulseWarningFilled = /*#__PURE__*/createFluentIcon('HeartPulseWarningFilled', \"1em\", [\"M3.26 4.27a4.3 4.3 0 0 1 6.13.02l.6.61.6-.6a4.3 4.3 0 0 1 6.13.01 4.42 4.42 0 0 1 .98 4.7L17.5 9h-1.26a2 2 0 0 0-2.15-.96l-.46-.53a1.5 1.5 0 0 0-2.4.2l-.96 1.53-1.39-3.32a1.5 1.5 0 0 0-2.76 0L4.81 9H2.5l-.18.01a4.4 4.4 0 0 1 .94-4.74ZM9.22 16.1l1.06-2.13a1.5 1.5 0 0 1-1.66-.9l-1.13-2.7-.3.72A1.5 1.5 0 0 1 5.8 12h-1l4.31 4.36.1-.26Zm3.5-7c.11-.23.27-.43.45-.6l-.3-.33a.5.5 0 0 0-.8.06l-1.98 3.18-2.13-5.1a.5.5 0 0 0-.92 0L5.47 10H2.5a.5.5 0 0 0 0 1h3.3a.5.5 0 0 0 .46-.3L7.5 7.79l2.04 4.9a.5.5 0 0 0 .88.08l2.15-3.43.02.02.12-.25Zm.88.45-3.5 7A1 1 0 0 0 11 18h7a1 1 0 0 0 .9-1.45l-3.5-7a1 1 0 0 0-1.8 0ZM15 11.5v3a.5.5 0 1 1-1 0v-3a.5.5 0 1 1 1 0Zm-.5 5.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z\"]);\nexport const HeartPulseWarningRegular = /*#__PURE__*/createFluentIcon('HeartPulseWarningRegular', \"1em\", [\"M12.71 9.1c.12-.23.28-.43.46-.6l-.3-.33a.5.5 0 0 0-.8.06l-1.98 3.18-2.13-5.1a.5.5 0 0 0-.92 0L5.47 10H2.5a.5.5 0 0 0 0 1h3.3a.5.5 0 0 0 .46-.3L7.5 7.79l2.04 4.9a.5.5 0 0 0 .88.08l2.15-3.43.02.02.12-.25ZM4.8 12l4.31 4.36.1-.26.36-.7-3.4-3.44a1.5 1.5 0 0 1-.37.04h-1Zm12.9-2.99c.61-1.57.29-3.42-.98-4.7a4.3 4.3 0 0 0-6.13-.01l-.6.6-.6-.61a4.3 4.3 0 0 0-6.13-.02 4.4 4.4 0 0 0-.94 4.74L2.5 9h.92a3.4 3.4 0 0 1 .55-4.02 3.3 3.3 0 0 1 4.7.01l.97.97c.2.2.51.2.7 0L11.3 5a3.3 3.3 0 0 1 4.71.02 3.41 3.41 0 0 1 .6 3.98h.89l.2.01Zm-4.1.54-3.5 7A1 1 0 0 0 11 18h7a1 1 0 0 0 .9-1.45l-3.5-7a1 1 0 0 0-1.8 0ZM15 11.5v3a.5.5 0 1 1-1 0v-3a.5.5 0 1 1 1 0Zm-.5 5.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z\"]);\nexport const HexagonFilled = /*#__PURE__*/createFluentIcon('HexagonFilled', \"1em\", [\"M6.83 3a1.5 1.5 0 0 0-1.3.75l-3.18 5.5a1.5 1.5 0 0 0 0 1.5l3.18 5.5c.26.46.76.75 1.3.75h6.35a1.5 1.5 0 0 0 1.3-.75l3.17-5.5a1.5 1.5 0 0 0 0-1.5l-3.17-5.5a1.5 1.5 0 0 0-1.3-.75H6.83Z\"]);\nexport const HexagonRegular = /*#__PURE__*/createFluentIcon('HexagonRegular', \"1em\", [\"M6.83 4a.5.5 0 0 0-.44.25l-3.17 5.5a.5.5 0 0 0 0 .5l3.17 5.5a.5.5 0 0 0 .44.25h6.35a.5.5 0 0 0 .43-.25l3.17-5.5a.5.5 0 0 0 0-.5l-3.17-5.5a.5.5 0 0 0-.43-.25H6.83Zm-1.3-.25A1.5 1.5 0 0 1 6.83 3h6.35c.53 0 1.03.29 1.3.75l3.17 5.5a1.5 1.5 0 0 1 0 1.5l-3.17 5.5a1.5 1.5 0 0 1-1.3.75H6.83a1.5 1.5 0 0 1-1.3-.75l-3.18-5.5a1.5 1.5 0 0 1 0-1.5l3.18-5.5Z\"]);\nexport const HexagonSparkleFilled = /*#__PURE__*/createFluentIcon('HexagonSparkleFilled', \"1em\", [\"m13.88.28.35 1.07a2.2 2.2 0 0 0 1.4 1.4l1.07.35h.02a.42.42 0 0 1 0 .8l-1.07.35a2.2 2.2 0 0 0-1.4 1.4l-.35 1.07a.42.42 0 0 1-.8 0l-.35-1.07a2.23 2.23 0 0 0-1.4-1.4l-1.07-.35a.42.42 0 0 1 0-.8l1.07-.35a2.2 2.2 0 0 0 1.38-1.4l.35-1.07a.42.42 0 0 1 .8 0Zm4.9 7.93-.76-.25a1.58 1.58 0 0 1-1-1l-.25-.76a.3.3 0 0 0-.57 0l-.25.77a1.58 1.58 0 0 1-.98 1l-.77.24a.3.3 0 0 0 0 .57l.77.25a1.58 1.58 0 0 1 1 1l.24.77a.3.3 0 0 0 .58 0l.24-.77a1.58 1.58 0 0 1 1-1l.77-.24a.3.3 0 0 0 0-.57h-.02ZM16.5 12c-.27 0-.53-.08-.74-.23a1.4 1.4 0 0 1-.48-.62l-.26-.8a.52.52 0 0 0-.14-.22.64.64 0 0 0-.22-.14l-.77-.25c-.27-.1-.49-.26-.65-.48a1.3 1.3 0 0 1-.12-1.3 1.32 1.32 0 0 1-.45-.22 1.51 1.51 0 0 1-.52-.69l-.36-1.09a1.27 1.27 0 0 0-.29-.47 1.3 1.3 0 0 0-.47-.3l-1.06-.34A1.41 1.41 0 0 1 9 3.5c0-.18.03-.34.09-.5H6.83a1.5 1.5 0 0 0-1.3.75l-3.18 5.5a1.5 1.5 0 0 0 0 1.5l3.18 5.5c.26.46.76.75 1.3.75h6.35a1.5 1.5 0 0 0 1.3-.75l2.49-4.32c-.15.05-.3.07-.47.07Z\"]);\nexport const HexagonSparkleRegular = /*#__PURE__*/createFluentIcon('HexagonSparkleRegular', \"1em\", [\"m13.88.28.35 1.07a2.2 2.2 0 0 0 1.4 1.4l1.07.35h.02a.42.42 0 0 1 0 .8l-1.07.35a2.2 2.2 0 0 0-1.4 1.4l-.35 1.07a.42.42 0 0 1-.8 0l-.35-1.07a2.23 2.23 0 0 0-1.4-1.4l-1.07-.35a.42.42 0 0 1 0-.8l1.07-.35a2.2 2.2 0 0 0 1.38-1.4l.35-1.07a.42.42 0 0 1 .8 0Zm4.9 7.93-.76-.25a1.58 1.58 0 0 1-1-1l-.25-.76a.3.3 0 0 0-.57 0l-.25.77a1.58 1.58 0 0 1-.98 1l-.77.24a.3.3 0 0 0 0 .57l.77.25a1.58 1.58 0 0 1 1 1l.24.77a.3.3 0 0 0 .58 0l.24-.77a1.58 1.58 0 0 1 1-1l.77-.24a.3.3 0 0 0 0-.57h-.02ZM16.5 12c-.22 0-.44-.06-.63-.16l-2.26 3.91a.5.5 0 0 1-.43.25H6.83a.5.5 0 0 1-.44-.25l-3.17-5.5a.5.5 0 0 1 0-.5l3.17-5.5A.5.5 0 0 1 6.83 4h2.26a1.42 1.42 0 0 1 0-1H6.83a1.5 1.5 0 0 0-1.3.75l-3.18 5.5a1.5 1.5 0 0 0 0 1.5l3.18 5.5c.26.46.76.75 1.3.75h6.35a1.5 1.5 0 0 0 1.3-.75l2.49-4.32c-.15.05-.3.07-.47.07Z\"]);\nexport const HexagonThreeFilled = /*#__PURE__*/createFluentIcon('HexagonThreeFilled', \"1em\", [\"M3.75 2.13c.23-.4.64-.63 1.09-.63H8c.44 0 .86.24 1.08.63l1.58 2.75c.23.38.23.86 0 1.24L9.1 8.87c-.22.4-.64.63-1.08.63H4.84c-.45 0-.86-.24-1.09-.63L2.17 6.12a1.25 1.25 0 0 1 0-1.24l1.58-2.75ZM12.6 6c-.45 0-.86.24-1.09.63L9.93 9.38c-.22.38-.22.86 0 1.24l1.58 2.75c.23.4.64.63 1.09.63h3.17c.44 0 .86-.24 1.08-.63l1.58-2.75c.23-.38.23-.86 0-1.24l-1.58-2.75A1.25 1.25 0 0 0 15.77 6H12.6Zm-8.85 5.13c.23-.4.64-.63 1.09-.63H8c.44 0 .86.24 1.08.63l1.58 2.75c.23.38.23.86 0 1.24L9.1 17.87c-.22.4-.64.63-1.08.63H4.84c-.45 0-.86-.24-1.09-.63l-1.58-2.75a1.25 1.25 0 0 1 0-1.24l1.58-2.75Z\"]);\nexport const HexagonThreeRegular = /*#__PURE__*/createFluentIcon('HexagonThreeRegular', \"1em\", [\"M4.62 2.63a.25.25 0 0 1 .22-.13H8c.09 0 .17.05.21.13l1.59 2.75c.04.07.04.17 0 .24L8.22 8.37a.25.25 0 0 1-.21.13H4.84a.25.25 0 0 1-.22-.13L3.03 5.62a.25.25 0 0 1 0-.24l1.59-2.75Zm.22-1.13c-.45 0-.86.24-1.09.63L2.17 4.88c-.23.38-.23.86 0 1.24l1.58 2.75c.23.4.64.63 1.09.63H8c.44 0 .86-.24 1.08-.63l1.58-2.75c.23-.38.23-.86 0-1.24L9.1 2.13A1.25 1.25 0 0 0 8 1.5H4.84ZM12.6 7a.25.25 0 0 0-.22.13l-1.59 2.75a.25.25 0 0 0 0 .24l1.59 2.75c.04.08.13.13.22.13h3.17c.09 0 .17-.05.21-.13l1.59-2.75a.25.25 0 0 0 0-.24l-1.59-2.75a.25.25 0 0 0-.21-.13H12.6Zm-1.09-.37c.23-.4.64-.63 1.09-.63h3.17c.44 0 .86.24 1.08.63l1.58 2.75c.23.38.23.86 0 1.24l-1.58 2.75c-.22.4-.64.63-1.08.63H12.6c-.45 0-.86-.24-1.09-.63l-1.58-2.75a1.25 1.25 0 0 1 0-1.24l1.58-2.75ZM4.84 11.5a.25.25 0 0 0-.22.13l-1.59 2.75a.25.25 0 0 0 0 .24l1.59 2.75c.04.08.13.13.22.13H8c.09 0 .17-.05.21-.13l1.59-2.75a.25.25 0 0 0 0-.24l-1.59-2.75a.25.25 0 0 0-.21-.13H4.84Zm-1.09-.37c.23-.4.64-.63 1.09-.63H8c.44 0 .86.24 1.08.63l1.58 2.75c.23.38.23.86 0 1.24L9.1 17.87c-.22.4-.64.63-1.08.63H4.84c-.45 0-.86-.24-1.09-.63l-1.58-2.75a1.25 1.25 0 0 1 0-1.24l1.58-2.75Z\"]);\nexport const HighlightFilled = /*#__PURE__*/createFluentIcon('HighlightFilled', \"1em\", [\"M4.5 2C3.67 2 3 2.67 3 3.5v3C3 7.33 3.67 8 4.5 8h11c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5h-11ZM6 11a2 2 0 0 1-2-2h12a2 2 0 0 1-2 2H6Zm0 1h8v1.07a2 2 0 0 1-1.1 1.8l-6.18 3.08A.5.5 0 0 1 6 17.5V12Z\"]);\nexport const HighlightRegular = /*#__PURE__*/createFluentIcon('HighlightRegular', \"1em\", [\"M3.5 2c.28 0 .5.22.5.5v4c0 .28.22.5.5.5h11a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 1 0v4c0 .65-.42 1.2-1 1.41V9a2 2 0 0 1-2 2v2.07a2 2 0 0 1-1.1 1.8l-6.18 3.08A.5.5 0 0 1 6 17.5V11a2 2 0 0 1-2-2V7.91c-.58-.2-1-.76-1-1.41v-4c0-.28.22-.5.5-.5ZM5 8v1a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V8H5Zm2 3v5.7l5.45-2.73a1 1 0 0 0 .55-.9V11H7Z\"]);\nexport const HighlightAccentFilled = /*#__PURE__*/createFluentIcon('HighlightAccentFilled', \"1em\", [\"M16.5 3v4a.5.5 0 0 1-.5.5H4a.5.5 0 0 1-.5-.5V3h13Zm-10 7.5v7l6.45-3.1a1 1 0 0 0 .55-.9v-3h-7Z\"]);\nexport const HighlightLinkFilled = /*#__PURE__*/createFluentIcon('HighlightLinkFilled', \"1em\", [\"M4.5 2C3.67 2 3 2.67 3 3.5v3C3 7.33 3.67 8 4.5 8h11c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5h-11ZM6 11a2 2 0 0 1-2-2h12a2 2 0 0 1-2 2H6Zm0 1h6.5a3.5 3.5 0 0 0-3.29 4.7l-2.49 1.25A.5.5 0 0 1 6 17.5V12Zm6.5 1a2.5 2.5 0 0 0 0 5h.5a.5.5 0 0 0 0-1h-.5a1.5 1.5 0 0 1 0-3h.5a.5.5 0 0 0 0-1h-.5Zm3.5 0a.5.5 0 0 0 0 1h.5a1.5 1.5 0 0 1 0 3H16a.5.5 0 0 0 0 1h.5a2.5 2.5 0 0 0 0-5H16Zm-4 2.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\"]);\nexport const HighlightLinkRegular = /*#__PURE__*/createFluentIcon('HighlightLinkRegular', \"1em\", [\"M3.5 2c.28 0 .5.22.5.5v4c0 .28.22.5.5.5h11a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 1 0v4c0 .65-.42 1.2-1 1.41V9a2 2 0 0 1-2 2v1h-1v-1H7v5.7l2-1.01c.02.35.1.7.21 1.01l-2.49 1.25A.5.5 0 0 1 6 17.5V11a2 2 0 0 1-2-2V7.91c-.58-.2-1-.76-1-1.41v-4c0-.28.22-.5.5-.5ZM5 8v1a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V8H5Zm7.5 5a2.5 2.5 0 0 0 0 5h.5a.5.5 0 0 0 0-1h-.5a1.5 1.5 0 0 1 0-3h.5a.5.5 0 0 0 0-1h-.5Zm3.5 0a.5.5 0 0 0 0 1h.5a1.5 1.5 0 0 1 0 3H16a.5.5 0 0 0 0 1h.5a2.5 2.5 0 0 0 0-5H16Zm-4 2.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\"]);\nexport const HighwayFilled = /*#__PURE__*/createFluentIcon('HighwayFilled', \"1em\", [\"M6 2.85a.75.75 0 0 0-1.5-.2l-2 14.5a.75.75 0 1 0 1.5.2l2-14.5Zm9.5-.2a.75.75 0 0 0-1.5.2l2 14.5a.75.75 0 0 0 1.5-.2l-2-14.5Zm-4.75.1a.75.75 0 0 0-1.5 0v2.5a.75.75 0 0 0 1.5 0v-2.5Zm-1.5 8.5a.75.75 0 0 0 1.5 0v-2.5a.75.75 0 0 0-1.5 0v2.5Zm0 3.5a.75.75 0 0 1 1.5 0v2.5a.75.75 0 0 1-1.5 0v-2.5Z\"]);\nexport const HighwayRegular = /*#__PURE__*/createFluentIcon('HighwayRegular', \"1em\", [\"M6 2.57a.5.5 0 0 0-1-.14l-2 15a.5.5 0 0 0 1 .14l2-15Zm9-.14a.5.5 0 0 0-1 .14l2 15a.5.5 0 0 0 1-.14l-2-15Zm-4.5.07a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0v-3Zm-1 9a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-1 0v3Zm0 3a.5.5 0 0 1 1 0v3a.5.5 0 0 1-1 0v-3Z\"]);\nexport const HistoryColor = /*#__PURE__*/createFluentIcon('HistoryColor', \"1em\", [\"M10 5.5a1 1 0 0 1 1 1V9h1.5a1 1 0 1 1 0 2H10a1 1 0 0 1-1-1V6.5a1 1 0 0 1 1-1Z\", \"M6.03 5.5A6 6 0 1 1 4 10a1 1 0 0 0-2 0 8 8 0 1 0 2.5-5.8V3a1 1 0 0 0-2 0v3c0 .83.67 1.5 1.5 1.5h3a1 1 0 0 0 0-2h-.97Z\"]);\nexport const HistoryFilled = /*#__PURE__*/createFluentIcon('HistoryFilled', \"1em\", [\"M10 4a6 6 0 1 1-6 5.78.75.75 0 1 0-1.5-.06V10A7.5 7.5 0 1 0 5 4.41V3.25a.75.75 0 0 0-1.5 0v3c0 .41.34.75.75.75h3a.75.75 0 0 0 0-1.5H6.03A5.98 5.98 0 0 1 10 4Zm.5 2.25a.75.75 0 0 0-1.5 0v4c0 .41.34.75.75.75h3a.75.75 0 0 0 0-1.5H10.5V6.25Z\"]);\nexport const HistoryRegular = /*#__PURE__*/createFluentIcon('HistoryRegular', \"1em\", [\"M10 4a6 6 0 1 1-5.98 5.54.5.5 0 1 0-1-.08A7 7 0 1 0 5 5.1V3.5a.5.5 0 0 0-1 0v3c0 .28.22.5.5.5h3a.5.5 0 0 0 0-1H5.53c1.1-1.23 2.7-2 4.47-2Zm0 2.5a.5.5 0 0 0-1 0v4c0 .28.22.5.5.5h3a.5.5 0 0 0 0-1H10V6.5Z\"]);\nexport const HistoryDismissFilled = /*#__PURE__*/createFluentIcon('HistoryDismissFilled', \"1em\", [\"M10 4a6 6 0 0 1 5.95 5.2c.55.14 1.08.38 1.55.69A7.5 7.5 0 0 0 5 4.4V3.25a.75.75 0 0 0-1.5 0v3c0 .41.34.75.75.75h3a.75.75 0 0 0 0-1.5H6.03A5.98 5.98 0 0 1 10 4Zm.26 7a5.52 5.52 0 0 1 1.95-1.5H10.5V6.25a.75.75 0 0 0-1.5 0v4c0 .41.34.75.75.75h.5Zm-.37 6.5c-.3-.47-.55-1-.7-1.55A6 6 0 0 1 4 9.78a.75.75 0 1 0-1.5-.06V10a7.5 7.5 0 0 0 7.39 7.5Zm9.11-3a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7l-1.15 1.14-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7l-1.14-1.15 1.14-1.15Z\"]);\nexport const HistoryDismissRegular = /*#__PURE__*/createFluentIcon('HistoryDismissRegular', \"1em\", [\"M10 4a6 6 0 0 1 5.95 5.2c.36.1.7.23 1.04.4A7 7 0 0 0 5 5.1V3.5a.5.5 0 0 0-1 0v3c0 .28.22.5.5.5h3a.5.5 0 0 0 0-1H5.53c1.1-1.23 2.7-2 4.47-2Zm.26 7c.31-.38.67-.72 1.08-1H10V6.5a.5.5 0 0 0-1 0v4c0 .28.22.5.5.5h.76Zm-.67 5.99c-.16-.33-.3-.68-.4-1.04a6 6 0 0 1-5.17-6.41.5.5 0 1 0-1-.08A7 7 0 0 0 9.59 17ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7l-1.15 1.14-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7l-1.14-1.15 1.14-1.15Z\"]);\nexport const HomeColor = /*#__PURE__*/createFluentIcon('HomeColor', \"1em\", [\"M7 11h6v6H7v-6Z\", \"M11 3.38a1.5 1.5 0 0 0-2 0L3.5 8.33c-.32.28-.5.69-.5 1.11v6.06c0 .82.67 1.5 1.5 1.5H8v-5.5c0-.28.22-.5.5-.5h3c.28 0 .5.22.5.5V17h3.5c.83 0 1.5-.68 1.5-1.5V9.44c0-.42-.18-.83-.5-1.11L11 3.38Z\", \"M10.64 2.24a.99.99 0 0 0-1.28 0l-7.03 6.1a.93.93 0 0 0-.09 1.34c.36.4.97.43 1.37.08L10 4.22l6.39 5.54a.98.98 0 0 0 1.37-.08c.35-.4.31-.99-.09-1.34l-7.03-6.1Z\", \"M9.36 2.24a.99.99 0 0 1 1.28 0l7.03 6.1c.4.35.44.95.09 1.34a.98.98 0 0 1-1.37.08L10 4.22 3.61 9.76a.98.98 0 0 1-1.37-.08.93.93 0 0 1 .09-1.34l7.03-6.1Z\"]);\nexport const HomeFilled = /*#__PURE__*/createFluentIcon('HomeFilled', \"1em\", [\"M11 2.39a1.5 1.5 0 0 0-2 0L3.5 7.33c-.32.28-.5.69-.5 1.12v7.05c0 .83.67 1.5 1.5 1.5h2c.83 0 1.5-.67 1.5-1.5v-4c0-.28.22-.5.5-.5h3c.28 0 .5.22.5.5v4c0 .83.67 1.5 1.5 1.5h2c.83 0 1.5-.67 1.5-1.5V8.45c0-.43-.18-.84-.5-1.12L11 2.39Z\"]);\nexport const HomeRegular = /*#__PURE__*/createFluentIcon('HomeRegular', \"1em\", [\"M9 2.39a1.5 1.5 0 0 1 2 0l5.5 4.94c.32.28.5.69.5 1.12v7.05c0 .83-.67 1.5-1.5 1.5H13a1.5 1.5 0 0 1-1.5-1.5V12a.5.5 0 0 0-.5-.5H9a.5.5 0 0 0-.5.5v3.5c0 .83-.67 1.5-1.5 1.5H4.5A1.5 1.5 0 0 1 3 15.5V8.45c0-.43.18-.84.5-1.12L9 2.39Zm1.33.74a.5.5 0 0 0-.66 0l-5.5 4.94a.5.5 0 0 0-.17.38v7.05c0 .28.22.5.5.5H7a.5.5 0 0 0 .5-.5V12c0-.83.67-1.5 1.5-1.5h2c.83 0 1.5.67 1.5 1.5v3.5c0 .28.22.5.5.5h2.5a.5.5 0 0 0 .5-.5V8.45a.5.5 0 0 0-.17-.38l-5.5-4.94Z\"]);\nexport const HomeAddFilled = /*#__PURE__*/createFluentIcon('HomeAddFilled', \"1em\", [\"M11 2.39a1.5 1.5 0 0 0-2 0L3.5 7.33c-.32.28-.5.69-.5 1.12v7.05c0 .83.67 1.5 1.5 1.5h5.1A5.5 5.5 0 0 1 17 9.6V8.45c0-.43-.18-.84-.5-1.12L11 2.39Zm8 12.11a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const HomeAddRegular = /*#__PURE__*/createFluentIcon('HomeAddRegular', \"1em\", [\"M9 2.39a1.5 1.5 0 0 1 2 0l5.5 4.94c.32.28.5.69.5 1.12V9.6c-.32-.16-.65-.3-1-.4v-.75a.5.5 0 0 0-.17-.38l-5.5-4.94a.5.5 0 0 0-.66 0l-5.5 4.94a.5.5 0 0 0-.17.38v7.05c0 .28.22.5.5.5h4.7c.1.35.24.68.4 1H4.5A1.5 1.5 0 0 1 3 15.5V8.45c0-.43.18-.84.5-1.12L9 2.39ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const HomeCheckmarkFilled = /*#__PURE__*/createFluentIcon('HomeCheckmarkFilled', \"1em\", [\"M9 2.38a1.5 1.5 0 0 1 2 0l5.5 4.95c.32.28.5.69.5 1.11v7.06c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 3 15.5V8.44c0-.42.18-.83.5-1.11L9 2.38Zm4.35 6.47a.5.5 0 0 0-.7-.7L9 11.78l-1.65-1.65a.5.5 0 1 0-.7.71l2 2c.2.2.5.2.7 0l4-4Z\"]);\nexport const HomeCheckmarkRegular = /*#__PURE__*/createFluentIcon('HomeCheckmarkRegular', \"1em\", [\"M13.35 8.85a.5.5 0 0 0-.7-.7L9 11.78l-1.65-1.65a.5.5 0 1 0-.7.71l2 2c.2.2.5.2.7 0l4-4ZM11 2.38a1.5 1.5 0 0 0-2 0L3.5 7.33c-.32.28-.5.69-.5 1.11v7.06c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V8.44c0-.42-.18-.83-.5-1.11L11 2.38Zm-1.33.75a.5.5 0 0 1 .66 0l5.5 4.94c.11.1.17.23.17.37v7.06a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V8.44a.5.5 0 0 1 .17-.37l5.5-4.94Z\"]);\nexport const HomeDatabaseFilled = /*#__PURE__*/createFluentIcon('HomeDatabaseFilled', \"1em\", [\"M9 2.39a1.5 1.5 0 0 1 2 0l5.5 4.94c.3.27.48.64.5 1.03A7.75 7.75 0 0 0 14.5 8c-1.38 0-2.68.3-3.67.86-.9.5-1.74 1.33-1.82 2.46L9 11.3v5.19c0 .17.02.34.05.5H4.5A1.5 1.5 0 0 1 3 15.5V8.45c0-.43.18-.84.5-1.12L9 2.39Zm8 7.03A7.86 7.86 0 0 0 14.5 9c-2.49 0-4.5 1.12-4.5 2.5s2.01 2.5 4.5 2.5 4.5-1.12 4.5-2.5c0-.87-.8-1.63-2-2.08Zm1.17 4.72c-1 .55-2.29.86-3.67.86s-2.68-.3-3.67-.86c-.29-.16-.58-.36-.83-.59v2.95c0 1.38 2.01 2.5 4.5 2.5s4.5-1.12 4.5-2.5a2959.09 2959.09 0 0 1 0-2.95c-.25.23-.54.43-.83.6Z\"]);\nexport const HomeDatabaseRegular = /*#__PURE__*/createFluentIcon('HomeDatabaseRegular', \"1em\", [\"M11 2.39a1.5 1.5 0 0 0-2 0L3.5 7.33c-.32.28-.5.69-.5 1.12v7.05c0 .83.67 1.5 1.5 1.5h4.55a2.44 2.44 0 0 1-.05-.5V16H4.5a.5.5 0 0 1-.5-.5V8.45a.5.5 0 0 1 .17-.38l5.5-4.94a.5.5 0 0 1 .66 0l5.5 4.94.03.03a8.34 8.34 0 0 1 1.14.26 1.5 1.5 0 0 0-.5-1.03L11 2.39Zm6 7.03A7.86 7.86 0 0 0 14.5 9c-2.49 0-4.5 1.12-4.5 2.5s2.01 2.5 4.5 2.5 4.5-1.12 4.5-2.5c0-.87-.8-1.63-2-2.08Zm1.17 4.72c-1 .55-2.29.86-3.67.86s-2.68-.3-3.67-.86c-.29-.16-.58-.36-.83-.59v2.95c0 1.38 2.01 2.5 4.5 2.5s4.5-1.12 4.5-2.5a2959.09 2959.09 0 0 1 0-2.95c-.25.23-.54.43-.83.6Z\"]);\nexport const HomeGarageFilled = /*#__PURE__*/createFluentIcon('HomeGarageFilled', \"1em\", [\"M11 2.39a1.5 1.5 0 0 0-2 0L3.5 7.35c-.32.28-.5.68-.5 1.1v7.05c0 .83.67 1.5 1.5 1.5H6v-4.5c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5V17h1.5c.83 0 1.5-.67 1.5-1.5V8.46c0-.43-.18-.83-.5-1.11L11 2.39ZM13 14v-1.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5V14h6Zm-6 1h6v2H7v-2Z\"]);\nexport const HomeGarageRegular = /*#__PURE__*/createFluentIcon('HomeGarageRegular', \"1em\", [\"m9.67 3.13-5.5 4.96a.5.5 0 0 0-.17.37v7.04c0 .28.22.5.5.5H6v-4.5c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5V16h1.5a.5.5 0 0 0 .5-.5V8.46a.5.5 0 0 0-.17-.37l-5.5-4.96a.5.5 0 0 0-.66 0ZM4.5 17A1.5 1.5 0 0 1 3 15.5V8.46c0-.43.18-.83.5-1.11L9 2.39a1.5 1.5 0 0 1 2 0l5.5 4.96c.32.28.5.68.5 1.1v7.05c0 .83-.67 1.5-1.5 1.5h-11Zm8.5-1v-2H7v2h6Zm0-4.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5V13h6v-1.5Z\"]);\nexport const HomeHeartFilled = /*#__PURE__*/createFluentIcon('HomeHeartFilled', \"1em\", [\"M11 2.39a1.5 1.5 0 0 0-2 0L3.5 7.33c-.32.28-.5.69-.5 1.12v7.05c0 .83.67 1.5 1.5 1.5h6.42l-.88-.89a3.6 3.6 0 0 1 0-5.06 3.55 3.55 0 0 1 4.46-.48 3.54 3.54 0 0 1 2.5-.53v-1.6c0-.42-.18-.83-.5-1.11L11 2.39Zm7.25 9.37a2.55 2.55 0 0 0-3.63 0l-.12.12-.12-.12a2.55 2.55 0 0 0-3.84.24 2.6 2.6 0 0 0 .21 3.41l3.43 3.46c.18.17.46.17.64 0l3.43-3.46c1-1 1-2.64 0-3.65Z\"]);\nexport const HomeHeartRegular = /*#__PURE__*/createFluentIcon('HomeHeartRegular', \"1em\", [\"M9 2.39a1.5 1.5 0 0 1 2 0l5.5 4.94c.32.28.5.69.5 1.12v1.6a3.56 3.56 0 0 0-1-.02V8.45a.5.5 0 0 0-.17-.38l-5.5-4.94a.5.5 0 0 0-.66 0l-5.5 4.94a.5.5 0 0 0-.17.38v7.05c0 .28.22.5.5.5h5.43l.11.11.88.89H4.5A1.5 1.5 0 0 1 3 15.5V8.45c0-.43.18-.84.5-1.12L9 2.39Zm9.25 9.37a2.55 2.55 0 0 0-3.63 0l-.12.12-.12-.12a2.55 2.55 0 0 0-3.84.24 2.6 2.6 0 0 0 .21 3.41l3.43 3.46c.18.17.46.17.64 0l3.43-3.46c1-1 1-2.64 0-3.65Z\"]);\nexport const HomeMoreFilled = /*#__PURE__*/createFluentIcon('HomeMoreFilled', \"1em\", [\"M11 2.38a1.5 1.5 0 0 0-2 0L3.5 7.33c-.32.28-.5.69-.5 1.11v7.06c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V8.44c0-.42-.18-.83-.5-1.11L11 2.38ZM7 11a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm-5 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const HomeMoreRegular = /*#__PURE__*/createFluentIcon('HomeMoreRegular', \"1em\", [\"M7 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-7 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM9 2.38a1.5 1.5 0 0 1 2 0l5.5 4.95c.32.28.5.69.5 1.11v7.06c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 3 15.5V8.44c0-.42.18-.83.5-1.11L9 2.38Zm1.33.75a.5.5 0 0 0-.66 0l-5.5 4.94a.5.5 0 0 0-.17.37v7.06c0 .28.22.5.5.5h11a.5.5 0 0 0 .5-.5V8.44a.5.5 0 0 0-.17-.37l-5.5-4.94Z\"]);\nexport const HomePersonFilled = /*#__PURE__*/createFluentIcon('HomePersonFilled', \"1em\", [\"M9 2.39a1.5 1.5 0 0 1 2 0l5.5 4.94c.32.28.5.69.5 1.12v.95a2.99 2.99 0 0 0-4.33 1.6H8.5a.5.5 0 0 0-.5.5v4c0 .83-.67 1.5-1.5 1.5h-2A1.5 1.5 0 0 1 3 15.5V8.45c0-.43.18-.84.5-1.12L9 2.39ZM17.5 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.24-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const HomePersonRegular = /*#__PURE__*/createFluentIcon('HomePersonRegular', \"1em\", [\"M9 2.39a1.5 1.5 0 0 1 2 0l5.5 4.94c.32.28.5.69.5 1.12v.95c-.3-.17-.64-.3-1-.36v-.6a.5.5 0 0 0-.17-.37l-5.5-4.94a.5.5 0 0 0-.66 0l-5.5 4.94a.5.5 0 0 0-.17.38v7.05c0 .28.22.5.5.5H7a.5.5 0 0 0 .5-.5V12c0-.83.67-1.5 1.5-1.5h2c.83 0 1.5.67 1.5 1.5v2.2c-.4.18-.74.46-1 .8v-3a.5.5 0 0 0-.5-.5H9a.5.5 0 0 0-.5.5v3.5c0 .83-.67 1.5-1.5 1.5H4.5A1.5 1.5 0 0 1 3 15.5V8.45c0-.43.18-.84.5-1.12L9 2.39ZM17.5 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.24-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const HomeSplitFilled = /*#__PURE__*/createFluentIcon('HomeSplitFilled', \"1em\", [\"M11 2.38a1.5 1.5 0 0 0-2 0L3.5 7.33c-.32.29-.5.7-.5 1.12v7.05c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V8.45c0-.43-.18-.83-.5-1.12L11 2.38Zm-.5 11.12v1a.5.5 0 0 1-1 0v-1a.5.5 0 1 1 1 0ZM10 9c.28 0 .5.22.5.5v1a.5.5 0 0 1-1 0v-1c0-.28.22-.5.5-.5Zm.5-3.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 1 0Z\"]);\nexport const HomeSplitRegular = /*#__PURE__*/createFluentIcon('HomeSplitRegular', \"1em\", [\"M11 2.38a1.5 1.5 0 0 0-2 0L3.5 7.33c-.32.29-.5.7-.5 1.12v7.05c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V8.45c0-.43-.18-.83-.5-1.12L11 2.38Zm-1.33.74a.5.5 0 0 1 .66 0l5.5 4.95c.11.1.17.23.17.38v7.05a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V8.45a.5.5 0 0 1 .17-.38l5.5-4.95Zm.83 10.38a.5.5 0 1 0-1 0v1a.5.5 0 0 0 1 0v-1ZM10 9c.28 0 .5.22.5.5v1a.5.5 0 0 1-1 0v-1c0-.28.22-.5.5-.5Zm.5-3.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Z\"]);\nexport const HourglassFilled = /*#__PURE__*/createFluentIcon('HourglassFilled', \"1em\", [\"M13.69 5.4c.2-.44.3-.92.31-1.4H6a3.41 3.41 0 0 0 1.22 2.56l1.82 1.52a2.48 2.48 0 0 1 .9 1.92 2.48 2.48 0 0 1-.9 1.92l-1.82 1.52A3.41 3.41 0 0 0 6 16h8c0-.48-.11-.96-.31-1.4a3.37 3.37 0 0 0-.91-1.16L11 11.91c-.28-.23-.5-.52-.65-.85a2.42 2.42 0 0 1-.29-1.06c.01-.37.11-.73.29-1.06.15-.33.37-.62.65-.85l1.78-1.53c.39-.31.7-.71.91-1.16Z\"]);\nexport const HourglassRegular = /*#__PURE__*/createFluentIcon('HourglassRegular', \"1em\", [\"M5.92 18c-.25 0-.5-.05-.72-.16-.23-.1-.44-.24-.62-.42A1.88 1.88 0 0 1 4 16.08a5.6 5.6 0 0 1 .5-2.3 5.35 5.35 0 0 1 1.44-1.88l1.82-1.52a.5.5 0 0 0 0-.77L5.94 8.1A5.34 5.34 0 0 1 4 3.92c0-.25.05-.5.16-.72.1-.23.24-.44.42-.62A1.88 1.88 0 0 1 5.92 2h8.16c.25 0 .5.05.72.16.23.1.44.24.62.42A1.88 1.88 0 0 1 16 3.92a5.3 5.3 0 0 1-1.94 4.17l-1.82 1.53a.5.5 0 0 0 0 .77l1.82 1.5A5.38 5.38 0 0 1 16 16.09c0 .25-.05.5-.16.72-.1.23-.24.44-.42.62a1.88 1.88 0 0 1-1.34.58H5.92Zm8.12-1a.96.96 0 0 0 .68-.28c.1-.1.16-.2.2-.3.04-.12.07-.24.08-.38a4.33 4.33 0 0 0-1.58-3.37l-1.82-1.52a1.53 1.53 0 0 1-.54-1.15 1.51 1.51 0 0 1 .54-1.16l1.82-1.51A4.33 4.33 0 0 0 15 3.96a.96.96 0 0 0-.28-.68.87.87 0 0 0-.3-.2c-.12-.04-.24-.07-.38-.08H5.96a.98.98 0 0 0-.37.07.87.87 0 0 0-.3.21c-.1.1-.17.2-.21.3-.05.12-.07.24-.08.38a4.49 4.49 0 0 0 .9 2.67c.2.25.42.48.68.7L8.4 8.84a1.51 1.51 0 0 1 0 2.3l-1.82 1.53A4.31 4.31 0 0 0 5 16.04c0 .13.02.26.07.37.05.12.12.22.21.3.1.1.2.16.3.21.12.05.24.07.38.08h8.08Z\"]);\nexport const HourglassHalfFilled = /*#__PURE__*/createFluentIcon('HourglassHalfFilled', \"1em\", [\"M9.94 10a2.48 2.48 0 0 1-.9 1.92l-1.82 1.52A3.41 3.41 0 0 0 6 16h8c0-.48-.11-.96-.31-1.4a3.37 3.37 0 0 0-.91-1.16L11 11.91c-.28-.23-.5-.52-.65-.85a2.42 2.42 0 0 1-.29-1.06h-.12Z\"]);\nexport const HourglassHalfRegular = /*#__PURE__*/createFluentIcon('HourglassHalfRegular', \"1em\", [\"M13.69 14.6c.2.44.3.92.31 1.4H6a3.41 3.41 0 0 1 1.22-2.56l1.82-1.52a2.48 2.48 0 0 0 .9-1.92h.12c.01.37.11.73.29 1.06.15.33.37.62.65.85l1.78 1.53c.39.31.7.71.91 1.16Zm-8.5 3.24c.23.1.48.16.73.16h8.16a1.93 1.93 0 0 0 1.76-1.2c.1-.22.16-.47.16-.72a5.32 5.32 0 0 0-.5-2.31 5.06 5.06 0 0 0-1.44-1.87l-1.82-1.52a.5.5 0 0 1 0-.77l1.82-1.52A5.3 5.3 0 0 0 16 3.92a1.93 1.93 0 0 0-1.2-1.76c-.22-.1-.47-.16-.72-.16H5.92a1.93 1.93 0 0 0-1.76 1.2c-.1.22-.16.47-.16.72A5.34 5.34 0 0 0 5.94 8.1l1.82 1.53c.06.04.1.1.13.17a.5.5 0 0 1-.13.6l-1.82 1.5a5.65 5.65 0 0 0-1.44 1.88 5.32 5.32 0 0 0-.5 2.3 1.93 1.93 0 0 0 1.2 1.77Zm9.22-.91a.96.96 0 0 1-.37.07H5.96c-.14 0-.26-.03-.37-.08-.11-.05-.21-.11-.3-.2a.87.87 0 0 1-.22-.3.98.98 0 0 1-.07-.38 4.45 4.45 0 0 1 1.58-3.37l1.82-1.52A1.53 1.53 0 0 0 8.94 10a1.51 1.51 0 0 0-.54-1.16L6.58 7.33A4.02 4.02 0 0 1 5.4 5.82 4.06 4.06 0 0 1 5 3.96c0-.14.03-.26.08-.37.04-.11.11-.21.2-.3.09-.1.2-.17.3-.22A.98.98 0 0 1 5.97 3h8.08c.14.01.26.04.37.08.11.04.21.1.3.2a.95.95 0 0 1 .29.68 4.43 4.43 0 0 1-1.58 3.37L11.6 8.84a1.51 1.51 0 0 0 0 2.3l1.82 1.53A4.37 4.37 0 0 1 15 16.04c-.01.14-.04.26-.08.37-.04.11-.1.21-.2.3-.1.1-.2.17-.31.22Z\"]);\nexport const HourglassOneQuarterFilled = /*#__PURE__*/createFluentIcon('HourglassOneQuarterFilled', \"1em\", [\"M6.68 14A3.41 3.41 0 0 0 6 16h8a3.49 3.49 0 0 0-.68-2H6.68Z\"]);\nexport const HourglassOneQuarterRegular = /*#__PURE__*/createFluentIcon('HourglassOneQuarterRegular', \"1em\", [\"M6.32 14.6c.1-.21.22-.41.36-.6h6.64c.15.19.27.39.37.6.2.44.3.92.31 1.4H6c0-.48.12-.96.32-1.4ZM5.2 17.84c.22.1.47.16.72.16h8.16a1.93 1.93 0 0 0 1.76-1.2c.1-.22.16-.47.16-.72a5.32 5.32 0 0 0-.5-2.31 5.06 5.06 0 0 0-1.44-1.87l-1.82-1.52a.5.5 0 0 1 0-.77l1.82-1.52A5.3 5.3 0 0 0 16 3.92a1.93 1.93 0 0 0-1.2-1.76c-.22-.1-.47-.16-.72-.16H5.92a1.93 1.93 0 0 0-1.76 1.2c-.1.22-.16.47-.16.72A5.34 5.34 0 0 0 5.94 8.1l1.82 1.53c.06.04.1.1.13.17a.5.5 0 0 1-.13.6l-1.82 1.5a5.65 5.65 0 0 0-1.44 1.88 5.32 5.32 0 0 0-.5 2.3 1.93 1.93 0 0 0 1.2 1.77Zm9.2-.91a.96.96 0 0 1-.36.07H5.96c-.14 0-.26-.03-.37-.08-.11-.05-.21-.11-.3-.2a.87.87 0 0 1-.22-.3.98.98 0 0 1-.07-.38 4.45 4.45 0 0 1 1.58-3.37l1.82-1.52A1.53 1.53 0 0 0 8.94 10a1.51 1.51 0 0 0-.54-1.16L6.58 7.33A4.02 4.02 0 0 1 5.4 5.82 4.06 4.06 0 0 1 5 3.96c0-.14.03-.26.08-.37.04-.11.11-.21.2-.3.09-.1.2-.17.3-.22A.98.98 0 0 1 5.97 3h8.08c.14.01.26.04.37.08.11.04.21.1.3.2a.95.95 0 0 1 .29.68 4.43 4.43 0 0 1-1.58 3.37L11.6 8.84a1.51 1.51 0 0 0 0 2.3l1.82 1.53A4.37 4.37 0 0 1 15 16.04c-.01.14-.04.26-.08.37-.04.11-.1.21-.2.3-.1.1-.2.17-.31.22Z\"]);\nexport const HourglassThreeQuarterFilled = /*#__PURE__*/createFluentIcon('HourglassThreeQuarterFilled', \"1em\", [\"M6.16 5h7.68c-.04.14-.1.27-.15.4-.21.45-.52.85-.91 1.16L11 8.09c-.28.23-.5.52-.65.85-.18.33-.28.69-.29 1.06.01.37.11.73.29 1.06.15.33.37.62.65.85l1.78 1.53c.39.31.7.71.91 1.16.2.44.3.92.31 1.4H6a3.41 3.41 0 0 1 1.22-2.56l1.82-1.52a2.48 2.48 0 0 0 .9-1.92 2.48 2.48 0 0 0-.9-1.92L7.22 6.56A3.25 3.25 0 0 1 6.16 5Z\"]);\nexport const HourglassThreeQuarterRegular = /*#__PURE__*/createFluentIcon('HourglassThreeQuarterRegular', \"1em\", [\"M13.84 5H6.16a3.4 3.4 0 0 0 1.06 1.56l1.82 1.52a2.48 2.48 0 0 1 .9 1.92 2.48 2.48 0 0 1-.9 1.92l-1.82 1.52A3.41 3.41 0 0 0 6 16h8c0-.48-.11-.96-.31-1.4a3.37 3.37 0 0 0-.91-1.16L11 11.91c-.28-.23-.5-.52-.65-.85a2.42 2.42 0 0 1-.29-1.06c.01-.37.11-.73.29-1.06.15-.33.37-.62.65-.85l1.78-1.53A3.37 3.37 0 0 0 13.84 5ZM5.2 17.84c.22.1.47.16.72.16h8.16a1.93 1.93 0 0 0 1.76-1.2c.1-.22.16-.47.16-.72a5.32 5.32 0 0 0-.5-2.31 5.06 5.06 0 0 0-1.44-1.87l-1.82-1.52a.5.5 0 0 1 0-.77l1.82-1.52A5.3 5.3 0 0 0 16 3.92a1.93 1.93 0 0 0-1.2-1.76c-.22-.1-.47-.16-.72-.16H5.92a1.93 1.93 0 0 0-1.76 1.2c-.1.22-.16.47-.16.72A5.34 5.34 0 0 0 5.94 8.1l1.82 1.53c.06.04.1.1.13.17a.5.5 0 0 1-.13.6l-1.82 1.5a5.65 5.65 0 0 0-1.44 1.88 5.32 5.32 0 0 0-.5 2.3 1.93 1.93 0 0 0 1.2 1.77Zm9.2-.91a.96.96 0 0 1-.36.07H5.96c-.14 0-.26-.03-.37-.08-.11-.05-.21-.11-.3-.2a.87.87 0 0 1-.22-.3.98.98 0 0 1-.07-.38 4.45 4.45 0 0 1 1.58-3.37l1.82-1.52A1.53 1.53 0 0 0 8.94 10a1.51 1.51 0 0 0-.54-1.16L6.58 7.33A4.02 4.02 0 0 1 5.4 5.82 4.06 4.06 0 0 1 5 3.96c0-.14.03-.26.08-.37.04-.11.11-.21.2-.3.09-.1.2-.17.3-.22A.98.98 0 0 1 5.97 3h8.08c.14.01.26.04.37.08.11.04.21.1.3.2a.95.95 0 0 1 .29.68 4.43 4.43 0 0 1-1.58 3.37L11.6 8.84a1.51 1.51 0 0 0 0 2.3l1.82 1.53A4.37 4.37 0 0 1 15 16.04c-.01.14-.04.26-.08.37-.04.11-.1.21-.2.3-.1.1-.2.17-.31.22Z\"]);\nexport const IconsFilled = /*#__PURE__*/createFluentIcon('IconsFilled', \"1em\", [\"M10 2a4 4 0 0 0-3.46 6H3.42C2.64 8 2 8.64 2 9.42 2 12.5 4.5 15 7.58 15h1.27a4.55 4.55 0 0 1-.35-1.75c0-1.2.67-2.21 1.46-2.9a5.91 5.91 0 0 1 3.99-1.4 3.01 3.01 0 0 0-.74-.57 4 4 0 0 0 .25-.38h1.7C16.19 8 17 7.18 17 6.17 17 5.52 16.48 5 15.83 5h-1.96A4 4 0 0 0 10 2Zm7.5 8.5a.5.5 0 0 1 .45.72l-.22.38-.02.02-.32.54a7.5 7.5 0 0 0-.77 1.86c-.16.56-.37 1.31-.74 1.94a2.94 2.94 0 0 1-2.63 1.54c-1.06 0-1.8-.53-2.27-1.03a4.1 4.1 0 0 1-.59-.81c-.6.6-1.06 1.3-1.44 2.06a.5.5 0 1 1-.9-.44 8.47 8.47 0 0 1 3.44-3.71c.66-.42 1.4-.79 2.2-1.1a.5.5 0 1 0-.38-.93 13.17 13.17 0 0 0-3.77 2.23 2.85 2.85 0 0 1 .9-2.62c.63-.59 1.55-1 2.75-1.15a8.52 8.52 0 0 1 3.8.37l.09.03a6.17 6.17 0 0 0 .41.1h.01Z\"]);\nexport const IconsRegular = /*#__PURE__*/createFluentIcon('IconsRegular', \"1em\", [\"M10 3a3 3 0 0 0-2.17 5.07c.1.11.17.25.17.4 0 .3-.24.53-.53.53H3.42a.42.42 0 0 0-.42.42A4.58 4.58 0 0 0 7.58 14H8.7c.05.09.12.17.18.25a8.6 8.6 0 0 0-.61.75h-.7A5.58 5.58 0 0 1 2 9.42C2 8.64 2.64 8 3.42 8h3.12a4 4 0 1 1 7.34-3h1.95c.65 0 1.17.52 1.17 1.17 0 1-.82 1.83-1.83 1.83h-1.7a4 4 0 0 1-.26.38c.37.2.68.48.93.8a9.84 9.84 0 0 0-1.34.12c-.2-.13-.42-.22-.67-.26-.2-.04-.38-.21-.38-.43 0-.13.07-.25.17-.33a3 3 0 0 0 .9-1.28h2.35c.46 0 .83-.37.83-.83 0-.1-.07-.17-.17-.17H13a3 3 0 0 0-3-3Zm5.66 8.15A7.11 7.11 0 0 0 13.3 11c-1.57.2-2.38 1.27-2.85 2.43a.5.5 0 1 1-.92-.37c.53-1.33 1.57-2.8 3.65-3.06 1-.12 1.92.02 2.67.18l.66.14.34.08c.3.07.5.1.64.1a.5.5 0 0 1 .45.72l-.22.38-.02.02-.32.54a7.5 7.5 0 0 0-.77 1.86c-.16.56-.37 1.31-.74 1.94a2.94 2.94 0 0 1-2.63 1.54 3.1 3.1 0 0 1-2.3-1.08 4.42 4.42 0 0 1-.56-.76c-.6.61-1.06 1.3-1.44 2.06a.5.5 0 1 1-.9-.44c1.06-2.13 2.67-3.71 5.8-4.75a.5.5 0 1 1 .3.94 10.2 10.2 0 0 0-2.99 1.51l.02.04a2.93 2.93 0 0 0 .5.73c.37.4.89.75 1.57.75.47 0 .82-.12 1.1-.3.27-.17.49-.43.67-.74.3-.51.46-1.09.62-1.64l.13-.47a8.5 8.5 0 0 1 .91-1.96l-.03-.01-.38-.09-.61-.14Z\"]);\nexport const ImageFilled = /*#__PURE__*/createFluentIcon('ImageFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8c0 .65.2 1.25.56 1.74l5.39-5.3a1.5 1.5 0 0 1 2.1 0l5.4 5.3c.34-.49.55-1.1.55-1.74V6a3 3 0 0 0-3-3H6Zm0 14c-.65 0-1.24-.2-1.73-.55l5.38-5.3c.2-.2.5-.2.7 0l5.38 5.3c-.49.35-1.08.55-1.73.55H6Zm6.5-8.25a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5Z\"]);\nexport const ImageRegular = /*#__PURE__*/createFluentIcon('ImageRegular', \"1em\", [\"M14 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0ZM3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v8c0 .37.1.72.28 1.02l4.67-4.59a1.5 1.5 0 0 1 2.1 0l4.67 4.59c.18-.3.28-.65.28-1.02V6a2 2 0 0 0-2-2H6Zm0 12h8a2 2 0 0 0 1.01-.27l-4.66-4.58a.5.5 0 0 0-.7 0l-4.66 4.58A2 2 0 0 0 6 16Z\"]);\nexport const ImageAddFilled = /*#__PURE__*/createFluentIcon('ImageAddFilled', \"1em\", [\"M10 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5H3.5a.5.5 0 0 0 0 1H5v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H6V3.5ZM5.5 11a5.5 5.5 0 0 0 4.9-8H14a3 3 0 0 1 3 3v8c0 .65-.2 1.25-.56 1.74l-5.39-5.3a1.5 1.5 0 0 0-2.1 0l-5.4 5.3C3.22 15.25 3 14.64 3 14v-3.6c.75.38 1.6.6 2.5.6Zm7-3a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm0 1a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm-8.23 7.45c.49.35 1.08.55 1.73.55h8c.65 0 1.24-.2 1.73-.55l-5.38-5.3a.5.5 0 0 0-.7 0l-5.38 5.3Z\"]);\nexport const ImageAddRegular = /*#__PURE__*/createFluentIcon('ImageAddRegular', \"1em\", [\"M10 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5H3.5a.5.5 0 0 0 0 1H5v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H6V3.5Zm8 .5h-3.2c-.1-.35-.24-.68-.4-1H14a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-3.6c.32.16.65.3 1 .4V14c0 .37.1.72.28 1.02l4.67-4.59a1.5 1.5 0 0 1 2.1 0l4.67 4.59c.18-.3.28-.65.28-1.02V6a2 2 0 0 0-2-2Zm0 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Zm-8.01 8.23A2 2 0 0 0 6 16h8a2 2 0 0 0 1.01-.27l-4.66-4.58a.5.5 0 0 0-.7 0l-4.66 4.58Z\"]);\nexport const ImageAltTextFilled = /*#__PURE__*/createFluentIcon('ImageAltTextFilled', \"1em\", [\"M1 3c0-1.1.9-2 2-2h5a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3Zm2 3.5c0 .28.22.5.5.5h4a.5.5 0 0 0 0-1h-4a.5.5 0 0 0-.5.5ZM3.5 3a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm9 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM3 10h5a3 3 0 0 0 3-3V3h3a3 3 0 0 1 3 3v8c0 .65-.2 1.25-.56 1.74l-5.39-5.3a1.5 1.5 0 0 0-2.1 0l-5.4 5.3C3.22 15.25 3 14.64 3 14v-4Zm9.5-1a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm-8.23 7.45c.49.35 1.08.55 1.73.55h8c.65 0 1.24-.2 1.73-.55l-5.38-5.3a.5.5 0 0 0-.7 0l-5.38 5.3Z\"]);\nexport const ImageAltTextRegular = /*#__PURE__*/createFluentIcon('ImageAltTextRegular', \"1em\", [\"M3 1a2 2 0 0 0-2 2v4c0 1.1.9 2 2 2h5a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H3Zm.5 5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1ZM3 3.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5ZM3 14v-4h1v4c0 .37.1.72.28 1.02l4.67-4.59a1.5 1.5 0 0 1 2.1 0l4.67 4.59c.18-.3.28-.65.28-1.02V6a2 2 0 0 0-2-2h-3V3h3a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3Zm3 2h8a2 2 0 0 0 1.01-.27l-4.66-4.58a.5.5 0 0 0-.7 0l-4.66 4.58A2 2 0 0 0 6 16Zm6.5-7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm.5-1.5a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Z\"]);\nexport const ImageArrowBackFilled = /*#__PURE__*/createFluentIcon('ImageArrowBackFilled', \"1em\", [\"M5.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-.9-6.4-.9.9h1.55A2.75 2.75 0 0 1 8 7.25v.25a.5.5 0 0 1-1 0v-.25c0-.97-.78-1.75-1.75-1.75H3.71l.9.9a.5.5 0 1 1-.71.7L2.14 5.35a.5.5 0 0 1 0-.7L3.9 2.9a.5.5 0 1 1 .7.7ZM11 5.5a5.5 5.5 0 0 1-8 4.9V14c0 .65.2 1.25.56 1.74l5.39-5.3a1.5 1.5 0 0 1 2.1 0l5.4 5.3c.34-.49.55-1.1.55-1.74V6a3 3 0 0 0-3-3h-3.6c.38.75.6 1.6.6 2.5ZM12.5 8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm0 1a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm-8.23 7.45c.49.35 1.08.55 1.73.55h8c.65 0 1.24-.2 1.73-.55l-5.38-5.3a.5.5 0 0 0-.7 0l-5.38 5.3Z\"]);\nexport const ImageArrowBackRegular = /*#__PURE__*/createFluentIcon('ImageArrowBackRegular', \"1em\", [\"M5.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-.9-6.4-.9.9h1.55A2.75 2.75 0 0 1 8 7.25v.25a.5.5 0 0 1-1 0v-.25c0-.97-.78-1.75-1.75-1.75H3.71l.9.9a.5.5 0 1 1-.71.7L2.14 5.35a.5.5 0 0 1 0-.7L3.9 2.9a.5.5 0 1 1 .7.7ZM3 10.4c.32.16.65.3 1 .4V14c0 .37.1.72.28 1.02l4.67-4.59a1.5 1.5 0 0 1 2.1 0l4.67 4.59c.18-.3.28-.65.28-1.02V6a2 2 0 0 0-2-2h-3.2c-.1-.35-.24-.68-.4-1H14a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-3.6Zm11-2.9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Zm-8.01 8.23A2 2 0 0 0 6 16h8a2 2 0 0 0 1.01-.27l-4.66-4.58a.5.5 0 0 0-.7 0l-4.66 4.58Z\"]);\nexport const ImageArrowCounterclockwiseFilled = /*#__PURE__*/createFluentIcon('ImageArrowCounterclockwiseFilled', \"1em\", [\"M5.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-2-5a.5.5 0 0 1-.5-.63V3a.5.5 0 0 1 1 0v.2a2.75 2.75 0 1 1-.55 4.14.5.5 0 0 1 .75-.67A1.74 1.74 0 0 0 7.25 5.5 1.75 1.75 0 0 0 4.6 4H5a.5.5 0 0 1 0 1H3.5Zm2 6c-.9 0-1.75-.22-2.5-.6V14c0 .65.2 1.25.56 1.74l5.39-5.3a1.5 1.5 0 0 1 2.1 0l5.4 5.3c.34-.49.55-1.1.55-1.74V6a3 3 0 0 0-3-3h-3.6a5.5 5.5 0 0 1-4.9 8Zm7-3a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm0 1a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm-8.23 7.45c.49.35 1.08.55 1.73.55h8c.65 0 1.24-.2 1.73-.55l-5.38-5.3a.5.5 0 0 0-.7 0l-5.38 5.3Z\"]);\nexport const ImageArrowCounterclockwiseRegular = /*#__PURE__*/createFluentIcon('ImageArrowCounterclockwiseRegular', \"1em\", [\"M5.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-2-5a.5.5 0 0 1-.5-.63V3a.5.5 0 0 1 1 0v.2a2.75 2.75 0 1 1-.55 4.14.5.5 0 0 1 .75-.67A1.74 1.74 0 0 0 7.25 5.5 1.75 1.75 0 0 0 4.6 4H5a.5.5 0 0 1 0 1H3.5ZM3 10.4c.32.16.65.3 1 .4V14c0 .37.1.72.28 1.02l4.67-4.59a1.5 1.5 0 0 1 2.1 0l4.67 4.59c.18-.3.28-.65.28-1.02V6a2 2 0 0 0-2-2h-3.2c-.1-.35-.24-.68-.4-1H14a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-3.6Zm11-2.9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Zm-8.01 8.23A2 2 0 0 0 6 16h8a2 2 0 0 0 1.01-.27l-4.66-4.58a.5.5 0 0 0-.7 0l-4.66 4.58Z\"]);\nexport const ImageArrowForwardFilled = /*#__PURE__*/createFluentIcon('ImageArrowForwardFilled', \"1em\", [\"M5.5 10a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm.9-6.4.9.9H5.74A2.75 2.75 0 0 0 3 7.25v.25a.5.5 0 0 0 1 0v-.25c0-.97.78-1.75 1.75-1.75h1.54l-.9.9a.5.5 0 1 0 .71.7l1.76-1.75a.5.5 0 0 0 0-.7L7.1 2.9a.5.5 0 1 0-.7.7ZM11 5.5a5.5 5.5 0 0 1-8 4.9V14c0 .65.2 1.25.56 1.74l5.39-5.3a1.5 1.5 0 0 1 2.1 0l5.4 5.3c.34-.49.55-1.1.55-1.74V6a3 3 0 0 0-3-3h-3.6c.38.75.6 1.6.6 2.5ZM12.5 8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm0 1a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm-8.23 7.45c.49.35 1.08.55 1.73.55h8c.65 0 1.24-.2 1.73-.55l-5.38-5.3a.5.5 0 0 0-.7 0l-5.38 5.3Z\"]);\nexport const ImageArrowForwardRegular = /*#__PURE__*/createFluentIcon('ImageArrowForwardRegular', \"1em\", [\"M5.5 10a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm.9-6.4.9.9H5.74A2.75 2.75 0 0 0 3 7.25v.25a.5.5 0 0 0 1 0v-.25c0-.97.78-1.75 1.75-1.75h1.54l-.9.9a.5.5 0 1 0 .71.7l1.76-1.75a.5.5 0 0 0 0-.7L7.1 2.9a.5.5 0 1 0-.7.7ZM3 10.4c.32.16.65.3 1 .4V14c0 .37.1.72.28 1.02l4.67-4.59a1.5 1.5 0 0 1 2.1 0l4.67 4.59c.18-.3.28-.65.28-1.02V6a2 2 0 0 0-2-2h-3.2c-.1-.35-.24-.68-.4-1H14a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-3.6Zm11-2.9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Zm-8.01 8.23A2 2 0 0 0 6 16h8a2 2 0 0 0 1.01-.27l-4.66-4.58a.5.5 0 0 0-.7 0l-4.66 4.58Z\"]);\nexport const ImageBorderFilled = /*#__PURE__*/createFluentIcon('ImageBorderFilled', \"1em\", [\"M6 6h8v7.78L11.2 11a1.7 1.7 0 0 0-2.4 0L6 13.8V6Zm5.5 1.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-1 4.2 2.3 2.3H7.2l2.3-2.3a.7.7 0 0 1 1 0ZM3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Z\"]);\nexport const ImageBorderRegular = /*#__PURE__*/createFluentIcon('ImageBorderRegular', \"1em\", [\"M11.5 7.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM6 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm0 1h8v7.78L11.2 11a1.7 1.7 0 0 0-2.4 0L6 13.8V6Zm4.5 5.7 2.3 2.3H7.2l2.3-2.3a.7.7 0 0 1 1 0ZM6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6Z\"]);\nexport const ImageCircleFilled = /*#__PURE__*/createFluentIcon('ImageCircleFilled', \"1em\", [\"M18 10c0 2.03-.75 3.88-2 5.29l-4.95-4.87a1.5 1.5 0 0 0-2.1 0L4 15.29A8 8 0 1 1 18 10Zm-7.65 1.13L15.3 16a7.97 7.97 0 0 1-10.58 0l4.94-4.87c.2-.19.5-.19.7 0Zm2.4-2.63a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\"]);\nexport const ImageCircleRegular = /*#__PURE__*/createFluentIcon('ImageCircleRegular', \"1em\", [\"M10 3a7 7 0 0 0-5.29 11.59l4.24-4.17a1.5 1.5 0 0 1 2.1 0l4.24 4.17A7 7 0 0 0 10 3Zm0 14c1.75 0 3.35-.64 4.58-1.7l-4.23-4.17a.5.5 0 0 0-.7 0L5.42 15.3A6.97 6.97 0 0 0 10 17Zm-8-7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm11-2.5a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Zm1 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]);\nexport const ImageCopyFilled = /*#__PURE__*/createFluentIcon('ImageCopyFilled', \"1em\", [\"M5 6a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v6c0 .65-.2 1.25-.55 1.74L12.2 9.5a1.71 1.71 0 0 0-2.42 0l-4.24 4.24A2.99 2.99 0 0 1 5 12V6Zm3.5 1.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3 2.7 4.24 4.25c-.5.34-1.1.55-1.74.55H8c-.65 0-1.25-.2-1.74-.55l4.24-4.24a.71.71 0 0 1 1 0Zm2.74 5.8A3 3 0 0 1 12 17H7.5A4.5 4.5 0 0 1 3 12.5V8a3 3 0 0 1 1-2.24v6.74A3.5 3.5 0 0 0 7.5 16h6.74Z\"]);\nexport const ImageCopyRegular = /*#__PURE__*/createFluentIcon('ImageCopyRegular', \"1em\", [\"M8.5 7.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM5 6a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v6c0 .37.1.72.28 1.02L9.79 9.5a1.71 1.71 0 0 1 2.42 0l3.51 3.52A2 2 0 0 0 16 12V6a2 2 0 0 0-2-2H8Zm7.02 9.72-3.52-3.51a.71.71 0 0 0-1 0l-3.52 3.51A2 2 0 0 0 8 14h6a2 2 0 0 0 1.02-.28ZM12 17a3 3 0 0 0 2.24-1H7.5A3.5 3.5 0 0 1 4 12.5V5.76A3 3 0 0 0 3 8v4.5A4.5 4.5 0 0 0 7.5 17H12Z\"]);\nexport const ImageEditFilled = /*#__PURE__*/createFluentIcon('ImageEditFilled', \"1em\", [\"M12.5 8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v3c-.7.03-1.37.31-1.9.84l-2.3 2.3-1.75-1.7a1.5 1.5 0 0 0-2.1 0l-5.4 5.3C3.22 15.24 3 14.64 3 14V6Zm9.5 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm-2.23 5.67 1.82-1.81-1.74-1.71a.5.5 0 0 0-.7 0l-5.38 5.3c.48.34 1.08.55 1.73.55h3.22l.21-.85a3.2 3.2 0 0 1 .84-1.48Zm.7.7 4.84-4.82a1.87 1.87 0 1 1 2.64 2.64l-4.83 4.83a2.2 2.2 0 0 1-1.02.58l-1.5.37a.89.89 0 0 1-1.07-1.08l.37-1.5c.1-.38.3-.73.58-1.01Z\"]);\nexport const ImageEditRegular = /*#__PURE__*/createFluentIcon('ImageEditRegular', \"1em\", [\"M14 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0ZM3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v3c-.34.02-.68.1-1 .23V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8c0 .37.1.72.28 1.02l4.67-4.59a1.5 1.5 0 0 1 2.1 0l1.75 1.72-.71.7-1.74-1.7a.5.5 0 0 0-.7 0l-4.66 4.57c.3.18.64.28 1.01.28h3.47l-.04.15-.21.85H6a3 3 0 0 1-3-3V6Zm7.98 9.38 4.83-4.83a1.87 1.87 0 1 1 2.64 2.64l-4.83 4.83a2.2 2.2 0 0 1-1.02.58l-1.5.37a.89.89 0 0 1-1.07-1.08l.37-1.5c.1-.38.3-.73.58-1.01Z\"]);\nexport const ImageGlobeFilled = /*#__PURE__*/createFluentIcon('ImageGlobeFilled', \"1em\", [\"M4.55 2.15A8.9 8.9 0 0 0 4.01 5h2.98a8.9 8.9 0 0 0-.54-2.85 2.93 2.93 0 0 0-.53-.91C5.73 1.04 5.59 1 5.5 1c-.1 0-.23.05-.42.24-.18.19-.36.5-.53.91Zm-.72-.83A9.92 9.92 0 0 0 3 5H1.03a4.5 4.5 0 0 1 2.8-3.68Zm3.34 0A9.92 9.92 0 0 1 7.99 5h1.98a4.5 4.5 0 0 0-2.8-3.68ZM9.97 6H8a9.92 9.92 0 0 1-.82 3.68A4.5 4.5 0 0 0 9.97 6ZM5.5 10c.1 0 .23-.05.42-.24.18-.19.36-.5.53-.91.3-.73.5-1.72.54-2.85H4.01a8.9 8.9 0 0 0 .54 2.85c.17.42.35.72.53.91.19.2.33.24.42.24Zm-1.67-.32A4.5 4.5 0 0 1 1.03 6H3a9.92 9.92 0 0 0 .82 3.68ZM5.5 11a5.5 5.5 0 0 0 4.9-8H14a3 3 0 0 1 3 3v8c0 .65-.2 1.25-.56 1.74l-5.39-5.3a1.5 1.5 0 0 0-2.1 0l-5.4 5.3C3.22 15.25 3 14.64 3 14v-3.6c.75.38 1.6.6 2.5.6Zm7-3a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm0 1a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm-8.23 7.45c.49.35 1.08.55 1.73.55h8c.65 0 1.24-.2 1.73-.55l-5.38-5.3a.5.5 0 0 0-.7 0l-5.38 5.3Z\"]);\nexport const ImageGlobeRegular = /*#__PURE__*/createFluentIcon('ImageGlobeRegular', \"1em\", [\"M4.55 2.15A8.9 8.9 0 0 0 4.01 5h2.98a8.9 8.9 0 0 0-.54-2.85 2.93 2.93 0 0 0-.53-.91C5.73 1.04 5.59 1 5.5 1c-.1 0-.23.05-.42.24-.18.19-.36.5-.53.91Zm-.72-.83A9.92 9.92 0 0 0 3 5H1.03a4.5 4.5 0 0 1 2.8-3.68Zm3.34 0A9.92 9.92 0 0 1 7.99 5h1.98a4.5 4.5 0 0 0-2.8-3.68ZM9.97 6H8a9.92 9.92 0 0 1-.82 3.68A4.5 4.5 0 0 0 9.97 6ZM5.5 10c.1 0 .23-.05.42-.24.18-.19.36-.5.53-.91.3-.73.5-1.72.54-2.85H4.01a8.9 8.9 0 0 0 .54 2.85c.17.42.35.72.53.91.19.2.33.24.42.24Zm-1.67-.32A4.5 4.5 0 0 1 1.03 6H3a9.92 9.92 0 0 0 .82 3.68ZM14 4h-3.2c-.1-.35-.24-.68-.4-1H14a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-3.6c.32.16.65.3 1 .4V14c0 .37.1.72.28 1.02l4.67-4.59a1.5 1.5 0 0 1 2.1 0l4.67 4.59c.18-.3.28-.65.28-1.02V6a2 2 0 0 0-2-2Zm0 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0ZM6 16h8a2 2 0 0 0 1.01-.27l-4.66-4.58a.5.5 0 0 0-.7 0l-4.66 4.58A2 2 0 0 0 6 16Z\"]);\nexport const ImageMultipleFilled = /*#__PURE__*/createFluentIcon('ImageMultipleFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v6c0 .65.2 1.25.55 1.74L7.6 9.7a2 2 0 0 1 2.82 0l4.04 4.03c.34-.5.55-1.1.55-1.74V6a3 3 0 0 0-3-3H6Zm6.5 3.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm1.24 7.95L9.7 10.4a1 1 0 0 0-1.42 0l-4.03 4.04c.5.34 1.1.55 1.74.55h6c.65 0 1.25-.2 1.74-.55ZM5.76 16A3 3 0 0 0 8 17h4.5a4.5 4.5 0 0 0 4.5-4.5V8a3 3 0 0 0-1-2.24v6.74c0 .12 0 .24-.02.36A3.5 3.5 0 0 1 12.5 16H5.76Z\"]);\nexport const ImageMultipleRegular = /*#__PURE__*/createFluentIcon('ImageMultipleRegular', \"1em\", [\"M11.5 7.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM3 6a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v6c0 .37.1.72.28 1.02l3.3-3.31a2 2 0 0 1 2.83 0l3.31 3.3A2 2 0 0 0 14 12V6a2 2 0 0 0-2-2H6Zm3.7 6.41a1 1 0 0 0-1.4 0l-3.32 3.31A2 2 0 0 0 6 14h6a2 2 0 0 0 1.02-.28l-3.31-3.3ZM8 17a3 3 0 0 1-2.24-1h6.74a3.5 3.5 0 0 0 3.5-3.5V5.76A3 3 0 0 1 17 8v4.5a4.5 4.5 0 0 1-4.5 4.5H8Z\"]);\nexport const ImageMultipleOffFilled = /*#__PURE__*/createFluentIcon('ImageMultipleOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l1.4 1.41A2.99 2.99 0 0 0 3 6v6c0 .65.2 1.25.55 1.74L7.6 9.7a2 2 0 0 1 .9-.52l6.1 6.11c-.58.44-1.3.7-2.09.7H5.76A3 3 0 0 0 8 17h4.5c1.06 0 2.04-.37 2.8-.98l1.85 1.83a.5.5 0 0 0 .7-.7l-15-15ZM15.8 13.68l.76.76c.28-.59.44-1.25.44-1.94V8a3 3 0 0 0-1-2.24v6.74a3.56 3.56 0 0 1-.2 1.18ZM5.22 3.1l9.68 9.68A3 3 0 0 0 15 12V6a3 3 0 0 0-3-3H6a3 3 0 0 0-.78.1Zm7.28 3.4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm1.24 7.95L9.7 10.4a1 1 0 0 0-1.42 0l-4.03 4.04c.5.34 1.1.55 1.74.55h6c.65 0 1.25-.2 1.74-.55Z\"]);\nexport const ImageMultipleOffRegular = /*#__PURE__*/createFluentIcon('ImageMultipleOffRegular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l1.4 1.41A2.99 2.99 0 0 0 3 6v6a3 3 0 0 0 3 3h6c.65 0 1.25-.2 1.74-.55l.86.85c-.59.44-1.31.7-2.1.7H5.76A3 3 0 0 0 8 17h4.5c1.06 0 2.04-.37 2.8-.98l1.85 1.83a.5.5 0 0 0 .7-.7l-15-15Zm5.63 7.04a2 2 0 0 0-.9.52L4.29 13A2 2 0 0 1 4 12V6a2 2 0 0 1 .28-1.02l4.2 4.2ZM14 6v5.88l.9.9A3 3 0 0 0 15 12V6a3 3 0 0 0-3-3H6a3 3 0 0 0-.78.1l.9.9H12a2 2 0 0 1 2 2Zm1.8 7.68.76.76c.28-.59.44-1.25.44-1.94V8a3 3 0 0 0-1-2.24v6.74a3.56 3.56 0 0 1-.2 1.18ZM11.5 7.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-1.8 2.91 3.32 3.31A2 2 0 0 1 12 14H6a2 2 0 0 1-1.02-.28l3.31-3.3a1 1 0 0 1 1.42 0Z\"]);\nexport const ImageOffFilled = /*#__PURE__*/createFluentIcon('ImageOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l1.4 1.41A2.99 2.99 0 0 0 3 6v8c0 .65.2 1.25.55 1.74l5.39-5.39c.12-.12.26-.22.41-.29l.98.98a.5.5 0 0 0-.68.02l-5.39 5.39c.5.34 1.1.55 1.74.55h8c.65 0 1.25-.2 1.74-.55l1.4 1.4a.5.5 0 0 0 .71-.7l-15-15ZM17 14a3 3 0 0 1-.1.78L5.22 3.1A3 3 0 0 1 6 3h8a3 3 0 0 1 3 3v8Zm-2.5-7.25a1.25 1.25 0 1 0-2.5 0 1.25 1.25 0 0 0 2.5 0Z\"]);\nexport const ImageOffRegular = /*#__PURE__*/createFluentIcon('ImageOffRegular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l1.4 1.41A2.99 2.99 0 0 0 3 6v8a3 3 0 0 0 3 3h8c.65 0 1.25-.2 1.74-.55l1.4 1.4a.5.5 0 0 0 .71-.7l-15-15Zm6.56 7.97a1.5 1.5 0 0 0-.46.31l-4.67 4.59A2 2 0 0 1 4 14V6a2 2 0 0 1 .28-1.02l5.13 5.14ZM6 16a2 2 0 0 1-1.01-.27l4.66-4.58c.2-.2.5-.2.7 0l4.66 4.58A2 2 0 0 1 14 16H6ZM16 6v7.88l.9.9A3 3 0 0 0 17 14V6a3 3 0 0 0-3-3H6a3 3 0 0 0-.78.1l.9.9H14a2 2 0 0 1 2 2Zm-2 1.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Zm-1 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"]);\nexport const ImageProhibitedFilled = /*#__PURE__*/createFluentIcon('ImageProhibitedFilled', \"1em\", [\"M5.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm0-1c-.79 0-1.51-.26-2.1-.7l4.9-4.9A3.5 3.5 0 0 1 5.5 9ZM2.7 7.6a3.5 3.5 0 0 1 4.9-4.9L2.7 7.6ZM13 7.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM5.5 11a5.5 5.5 0 0 0 4.9-8H14a3 3 0 0 1 3 3v8c0 .65-.2 1.25-.56 1.74l-5.39-5.3a1.5 1.5 0 0 0-2.1 0l-5.4 5.3C3.22 15.25 3 14.64 3 14v-3.6c.75.38 1.6.6 2.5.6ZM14 7.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0ZM6 17c-.65 0-1.24-.2-1.73-.55l5.38-5.3c.2-.2.5-.2.7 0l5.38 5.3c-.49.35-1.08.55-1.73.55H6Z\"]);\nexport const ImageProhibitedRegular = /*#__PURE__*/createFluentIcon('ImageProhibitedRegular', \"1em\", [\"M5.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm0-1c-.79 0-1.51-.26-2.1-.7l4.9-4.9A3.5 3.5 0 0 1 5.5 9Zm2.1-6.3L2.7 7.6a3.5 3.5 0 0 1 4.9-4.9ZM3 10.4c.32.16.65.3 1 .4V14c0 .37.1.72.28 1.02l4.67-4.59a1.5 1.5 0 0 1 2.1 0l4.67 4.59c.18-.3.28-.65.28-1.02V6a2 2 0 0 0-2-2h-3.2c-.1-.35-.24-.68-.4-1H14a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-3.6Zm1.99 5.33A2 2 0 0 0 6 16h8a2 2 0 0 0 1.01-.27l-4.66-4.58a.5.5 0 0 0-.7 0l-4.66 4.58ZM14 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Z\"]);\nexport const ImageReflectionFilled = /*#__PURE__*/createFluentIcon('ImageReflectionFilled', \"1em\", [\"M4 6a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v6a3 3 0 0 1-1.34 2.5A3 3 0 0 1 16 17a.5.5 0 0 1-1 0 2 2 0 0 0-2-2 .5.5 0 0 1 0-1h-2.5a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1H7a.5.5 0 0 1 0 1 2 2 0 0 0-2 2 .5.5 0 0 1-1 0 3 3 0 0 1 1.34-2.5A3 3 0 0 1 4 12V6Zm1.98 7.72 3.53-3.52a.7.7 0 0 1 .98 0l3.53 3.52c.29-.17.53-.41.7-.7L11.2 9.49a1.7 1.7 0 0 0-2.4 0l-3.52 3.53c.17.29.41.53.7.7ZM13 7a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const ImageReflectionRegular = /*#__PURE__*/createFluentIcon('ImageReflectionRegular', \"1em\", [\"M7 3a3 3 0 0 0-3 3v6a3 3 0 0 0 1.34 2.5A3 3 0 0 0 4 17a.5.5 0 0 0 1 0c0-1.1.9-2 2-2a.5.5 0 0 0 0-1 2 2 0 0 1-1.02-.28l3.53-3.52a.7.7 0 0 1 .98 0l3.53 3.52A2 2 0 0 1 13 14a.5.5 0 0 0 0 1 2 2 0 0 1 2 2 .5.5 0 0 0 1 0 3 3 0 0 0-1.34-2.5A3 3 0 0 0 16 12V6a3 3 0 0 0-3-3H7Zm1.8 6.5-3.52 3.52A2 2 0 0 1 5 12V6c0-1.1.9-2 2-2h6a2 2 0 0 1 2 2v6a2 2 0 0 1-.28 1.02L11.2 9.49a1.7 1.7 0 0 0-2.4 0Zm.7 4.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1ZM13 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const ImageSearchFilled = /*#__PURE__*/createFluentIcon('ImageSearchFilled', \"1em\", [\"M12.5 8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8c0 .65-.2 1.25-.56 1.74l-5.39-5.3a1.5 1.5 0 0 0-1.7-.28A4.5 4.5 0 0 0 3 8.76V6Zm9.5 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm-.59 8H14c.65 0 1.24-.2 1.73-.55l-5.38-5.3a.5.5 0 0 0-.58-.09 4.5 4.5 0 0 1-.2 3.38l2 2c.15.16.27.36.34.56Zm-3.6-2.4a3.5 3.5 0 1 0-.7.7l2.54 2.55a.5.5 0 0 0 .7-.7L8.3 14.6ZM5.5 15a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z\"]);\nexport const ImageSearchRegular = /*#__PURE__*/createFluentIcon('ImageSearchRegular', \"1em\", [\"M6 3a3 3 0 0 0-3 3v2.76c.3-.2.64-.38 1-.5V6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v8c0 .37-.1.72-.28 1.02l-4.67-4.59a1.5 1.5 0 0 0-1.7-.28c.16.29.3.6.41.91a.5.5 0 0 1 .59.09l4.66 4.58A2 2 0 0 1 14 16h-2.88l.44.44c.16.16.28.36.35.56H14a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm6.5 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm0-1a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm-4.2 6.6a3.5 3.5 0 1 0-.7.7l2.55 2.55a.5.5 0 0 0 .7-.7L8.3 14.6Zm-2.8.4a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z\"]);\nexport const ImageShadowFilled = /*#__PURE__*/createFluentIcon('ImageShadowFilled', \"1em\", [\"M5 2a3 3 0 0 0-3 3v6c0 .65.2 1.25.55 1.74L6.8 8.49a1.7 1.7 0 0 1 2.4 0l4.25 4.25c.34-.5.55-1.1.55-1.74V5a3 3 0 0 0-3-3H5Zm0 12c-.65 0-1.25-.2-1.74-.55L7.51 9.2a.7.7 0 0 1 .98 0l4.25 4.25c-.5.34-1.1.55-1.74.55H5Zm6-8a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-5 9a3 3 0 0 0 3 3h3a6 6 0 0 0 6-6V9a3 3 0 0 0-3-3v5a4 4 0 0 1-4 4H6Z\"]);\nexport const ImageShadowRegular = /*#__PURE__*/createFluentIcon('ImageShadowRegular', \"1em\", [\"M5 2a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h6a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM3 5c0-1.1.9-2 2-2h6a2 2 0 0 1 2 2v6a2 2 0 0 1-.28 1.02L9.2 8.49a1.7 1.7 0 0 0-2.4 0l-3.52 3.53A2 2 0 0 1 3 11V5Zm5.5 4.2 3.52 3.52A2 2 0 0 1 11 13H5a2 2 0 0 1-1.02-.28L7.51 9.2a.7.7 0 0 1 .98 0ZM11 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-5 9a3 3 0 0 0 3 3h3a6 6 0 0 0 6-6V9a3 3 0 0 0-3-3v5a4 4 0 0 1-4 4H6Z\"]);\nexport const ImageSparkleFilled = /*#__PURE__*/createFluentIcon('ImageSparkleFilled', \"1em\", [\"m5.12.28-.35 1.07a2.2 2.2 0 0 1-1.4 1.4L2.3 3.1h-.02a.42.42 0 0 0 0 .8l1.07.35a2.2 2.2 0 0 1 1.4 1.4l.35 1.07a.42.42 0 0 0 .8 0l.35-1.07a2.2 2.2 0 0 1 1.4-1.4l1.07-.35a.42.42 0 0 0 0-.8l-1.07-.35a2.2 2.2 0 0 1-1.38-1.4L5.92.28a.42.42 0 0 0-.8 0ZM.22 8.21l.76-.25a1.58 1.58 0 0 0 1-1l.25-.76a.3.3 0 0 1 .57 0l.25.77a1.58 1.58 0 0 0 .98 1l.77.24a.3.3 0 0 1 0 .57l-.77.25a1.58 1.58 0 0 0-1 1l-.24.77a.3.3 0 0 1-.58 0l-.24-.77a1.58 1.58 0 0 0-1-1L.2 8.8a.3.3 0 0 1 0-.57h.02Zm3.02 3.56c-.07.05-.15.1-.24.13V14c0 .65.2 1.25.56 1.74l5.39-5.3a1.5 1.5 0 0 1 2.1 0l5.4 5.3c.34-.49.55-1.1.55-1.74V6a3 3 0 0 0-3-3H9.91a1.42 1.42 0 0 1-.17 1.32c-.17.24-.41.43-.71.53l-1.06.35a1.3 1.3 0 0 0-.47.29c-.11.11-.2.24-.3.47l-.35 1.1c-.1.24-.25.47-.52.68-.14.1-.3.17-.45.21a1.3 1.3 0 0 1-.77 1.79l-.77.25a.64.64 0 0 0-.22.14.52.52 0 0 0-.14.22l-.26.8c-.1.25-.26.46-.48.62ZM6 17c-.65 0-1.24-.2-1.73-.55l5.38-5.3c.2-.2.5-.2.7 0l5.38 5.3c-.49.35-1.08.55-1.73.55H6Zm6.5-8.25a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5Z\"]);\nexport const ImageSparkleRegular = /*#__PURE__*/createFluentIcon('ImageSparkleRegular', \"1em\", [\"m5.12.28-.35 1.07a2.2 2.2 0 0 1-1.4 1.4L2.3 3.1h-.02a.42.42 0 0 0 0 .8l1.07.35a2.2 2.2 0 0 1 1.4 1.4l.35 1.07a.42.42 0 0 0 .8 0l.35-1.07a2.2 2.2 0 0 1 1.4-1.4l1.07-.35a.42.42 0 0 0 0-.8l-1.07-.35a2.2 2.2 0 0 1-1.38-1.4L5.92.28a.42.42 0 0 0-.8 0ZM.22 8.21l.76-.25a1.58 1.58 0 0 0 1-1l.25-.76a.3.3 0 0 1 .57 0l.25.77a1.58 1.58 0 0 0 .98 1l.77.24a.3.3 0 0 1 0 .57l-.77.25a1.58 1.58 0 0 0-1 1l-.24.77a.3.3 0 0 1-.58 0l-.24-.77a1.58 1.58 0 0 0-1-1L.2 8.8a.3.3 0 0 1 0-.57h.02ZM3 14v-2.1c.09-.03.17-.08.24-.13.22-.16.38-.37.48-.62l.26-.8.02-.04V14c0 .37.1.72.28 1.02l4.67-4.59a1.5 1.5 0 0 1 2.1 0l4.67 4.59c.18-.3.28-.65.28-1.02V6a2 2 0 0 0-2-2H9.9a1.42 1.42 0 0 0 .01-1H14a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3Zm11-6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Zm1 8.5a2 2 0 0 0 1.01-.27l-4.66-4.58a.5.5 0 0 0-.7 0l-4.66 4.58A2 2 0 0 0 6 16h8Z\"]);\nexport const ImageSplitFilled = /*#__PURE__*/createFluentIcon('ImageSplitFilled', \"1em\", [\"M10.5 2.5a.5.5 0 0 0-1 0v15a.5.5 0 0 0 1 0v-15ZM7 3.5c0-.28.22-.5.5-.5H8a.5.5 0 0 1 0 1h-.5a.5.5 0 0 1-.5-.5ZM7.5 16a.5.5 0 0 0 0 1H8a.5.5 0 0 0 0-1h-.5ZM2 6a3 3 0 0 1 3-3h.5a.5.5 0 0 1 0 1H5a2 2 0 0 0-2 2v.5a.5.5 0 0 1-1 0V6Zm3 11a3 3 0 0 1-3-3v-.5a.5.5 0 0 1 1 0v.5c0 1.1.9 2 2 2h.5a.5.5 0 0 1 0 1H5ZM2.5 8c.28 0 .5.22.5.5v3a.5.5 0 0 1-1 0v-3c0-.28.22-.5.5-.5Zm9 3.3V17H15c.65 0 1.25-.2 1.74-.55l-.1-.1-5.14-5.06Zm0-8.3v7.08c.2.07.39.19.55.35l5.3 5.22.1.09c.34-.5.55-1.1.55-1.74V6a3 3 0 0 0-3-3h-3.5ZM16 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]);\nexport const ImageSplitRegular = /*#__PURE__*/createFluentIcon('ImageSplitRegular', \"1em\", [\"M10.5 2.5a.5.5 0 0 0-1 0v15a.5.5 0 0 0 1 0v-15Zm1 14.5H15a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3h-3.5v1H15a2 2 0 0 1 2 2v8c0 .37-.1.72-.28 1.02l-4.67-4.59a1.5 1.5 0 0 0-.55-.34v1.2l4.51 4.44A2 2 0 0 1 15 16h-3.5v1Zm2-8a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm0-2a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1ZM2 6a3 3 0 0 1 3-3 .5.5 0 0 1 0 1 2 2 0 0 0-2 2v.5a.5.5 0 0 1-1 0V6Zm5-3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1H7ZM3 8.5a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0v-3ZM5 17a3 3 0 0 1-3-3v-.5a.5.5 0 0 1 1 0v.5c0 1.1.9 2 2 2a.5.5 0 0 1 0 1Zm1.5-.5c0 .28.22.5.5.5h1a.5.5 0 0 0 0-1H7a.5.5 0 0 0-.5.5Z\"]);\nexport const ImageStackFilled = /*#__PURE__*/createFluentIcon('ImageStackFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v3h3.3l2.46-2.47c.69-.68 1.8-.68 2.48 0L13.7 9H17V6a3 3 0 0 0-3-3H6Zm11 7v4a3 3 0 0 1-2.36 2.93l-3.4-3.4a1.75 1.75 0 0 0-2.48 0l-3.4 3.4A3 3 0 0 1 3 14v-4h14ZM6.7 17h6.6l-2.77-2.76a.75.75 0 0 0-1.06 0L6.71 17Zm1-8h4.6l-1.77-1.76a.75.75 0 0 0-1.06 0L7.71 9Zm7.8-3.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const ImageStackRegular = /*#__PURE__*/createFluentIcon('ImageStackRegular', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm7.7 13-2.46-2.47a1.75 1.75 0 0 0-2.48 0L6.3 16H6a2 2 0 0 1-2-2v-4h12v4a2 2 0 0 1-2 2h-.3Zm-6 0 1.77-1.76c.3-.3.77-.3 1.06 0L12.29 16H7.71ZM16 9h-2.8l-1.96-1.97a1.75 1.75 0 0 0-2.48 0L6.8 9H4V6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v3ZM8.2 9l1.27-1.26c.3-.3.77-.3 1.06 0L11.79 9H8.21ZM15 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 7.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const ImageTableFilled = /*#__PURE__*/createFluentIcon('ImageTableFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3h3V3ZM3 7v6h3V7H3Zm4-1h6V3H7v3Zm7-3v3h3a3 3 0 0 0-3-3Zm3 4h-3v6h3V7Zm0 7h-3v3a3 3 0 0 0 3-3Zm-4 3v-3H7v3h6Zm-7 0v-3H3a3 3 0 0 0 3 3ZM7 7v6h.3l1.5-1.5a1.7 1.7 0 0 1 2.4 0l1.5 1.5h.3V7H7Zm4 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm.29 5H8.71l.8-.8a.7.7 0 0 1 .98 0l.8.8Z\"]);\nexport const ImageTableRegular = /*#__PURE__*/createFluentIcon('ImageTableRegular', \"1em\", [\"M11 8a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2h2V4Zm1 0v2h6V4H7Zm7 0v2h2a2 2 0 0 0-2-2Zm2 3h-2v6h2V7Zm0 7h-2v2a2 2 0 0 0 2-2Zm-3 2v-2H7v2h6Zm-7 0v-2H4c0 1.1.9 2 2 2Zm-2-3h2V7H4v6Zm3-6v6h.3l1.5-1.5a1.7 1.7 0 0 1 2.4 0l1.5 1.5h.3V7H7Zm4.29 6-.8-.8a.7.7 0 0 0-.98 0l-.8.8h2.58Z\"]);\nexport const ImmersiveReaderFilled = /*#__PURE__*/createFluentIcon('ImmersiveReaderFilled', \"1em\", [\"M18 4.75v5.45a1.5 1.5 0 0 0-1.5 0V4.75a.25.25 0 0 0-.25-.25H12c-.69 0-1.25.56-1.25 1.25V12h-.25c-.52 0-.98.27-1.25.67V5.75c0-.69-.56-1.25-1.25-1.25H3.75a.25.25 0 0 0-.25.25v10.5c0 .14.11.25.25.25H8c.4 0 .77-.2 1-.5v.5c0 .42.18.8.46 1.08-.42.27-.92.42-1.46.42H3.75C2.78 17 2 16.22 2 15.25V4.75C2 3.78 2.78 3 3.75 3H8c.79 0 1.5.33 2 .86.5-.53 1.21-.86 2-.86h4.25c.97 0 1.75.78 1.75 1.75Zm.13 6.45c.12.16.29.45.45.87.25.68.4 1.5.4 2.43 0 .94-.15 1.75-.4 2.43-.16.42-.33.7-.45.87a.5.5 0 0 1-.84-.52l.11-.19a5.9 5.9 0 0 0 .58-2.6 5.9 5.9 0 0 0-.58-2.58l-.07-.11a.5.5 0 1 1 .8-.6Zm-4.44-.16c.19.08.31.26.31.46v6a.5.5 0 0 1-.85.35L11.29 16h-.79a.5.5 0 0 1-.5-.5v-2c0-.28.22-.5.5-.5h.8l1.85-1.85a.5.5 0 0 1 .54-.11Zm3.02 1.93c-.1-.3-.2-.55-.28-.7a.5.5 0 0 0-.9.45 4.6 4.6 0 0 1 .45 1.78 3.94 3.94 0 0 1-.37 1.6l-.07.18a.5.5 0 0 0 .89.44 5.53 5.53 0 0 0 .55-2.22c0-.5-.1-1.02-.27-1.53Z\"]);\nexport const ImmersiveReaderRegular = /*#__PURE__*/createFluentIcon('ImmersiveReaderRegular', \"1em\", [\"M18 4.5v5.7a1.5 1.5 0 0 0-1-.18V4.5a.5.5 0 0 0-.5-.5H12c-.83 0-1.5.67-1.5 1.5V12c-.38 0-.73.14-1 .38V5.5C9.5 4.67 8.83 4 8 4H3.5a.5.5 0 0 0-.5.5v11c0 .28.22.5.5.5H8c.39 0 .74-.15 1-.39.03.37.19.7.43.94-.4.28-.9.45-1.43.45H3.5A1.5 1.5 0 0 1 2 15.5v-11C2 3.67 2.67 3 3.5 3H8c.82 0 1.54.4 2 1 .46-.6 1.18-1 2-1h4.5c.83 0 1.5.67 1.5 1.5Zm-4.3 6.54c.18.08.3.26.3.46v6a.5.5 0 0 1-.85.35L11.29 16h-.79a.5.5 0 0 1-.5-.5v-2c0-.28.22-.5.5-.5h.8l1.85-1.85a.5.5 0 0 1 .54-.11Zm4.45.16c.12.16.28.45.44.87.26.68.41 1.5.41 2.43 0 .94-.15 1.75-.4 2.43-.17.42-.33.7-.45.87a.5.5 0 0 1-.85-.52l.12-.19a5.9 5.9 0 0 0 .58-2.6 5.9 5.9 0 0 0-.58-2.58l-.07-.11a.5.5 0 0 1 .8-.6Zm-1.43 1.77c-.1-.3-.2-.55-.27-.7a.5.5 0 1 0-.9.45A4.6 4.6 0 0 1 16 14.5a3.94 3.94 0 0 1-.37 1.6l-.08.18a.5.5 0 1 0 .9.44A5.5 5.5 0 0 0 17 14.5c0-.5-.1-1.02-.28-1.53Z\"]);\nexport const ImportantFilled = /*#__PURE__*/createFluentIcon('ImportantFilled', \"1em\", [\"M10 2a3 3 0 0 0-3 3c0 2.23.79 5.2 1.22 6.69.24.79.97 1.31 1.78 1.31s1.54-.52 1.78-1.31C12.2 10.2 13 7.25 13 5a3 3 0 0 0-3-3Zm0 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z\"]);\nexport const ImportantRegular = /*#__PURE__*/createFluentIcon('ImportantRegular', \"1em\", [\"M10 3a2 2 0 0 0-2 2c0 2.07.75 4.91 1.18 6.4.1.36.44.6.82.6.39 0 .71-.24.82-.6C11.25 9.94 12 7.1 12 5a2 2 0 0 0-2-2ZM7 5a3 3 0 0 1 6 0c0 2.25-.79 5.21-1.22 6.69-.24.8-.97 1.31-1.78 1.31s-1.54-.52-1.78-1.31C7.8 10.2 7 7.23 7 5Zm3 10a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z\"]);\nexport const IncognitoFilled = /*#__PURE__*/createFluentIcon('IncognitoFilled', \"1em\", [\"M4.08 8.75a34.9 34.9 0 0 1 11.86 0l1.48.24a.5.5 0 1 0 .16-.98l-1.13-.19a1.42 1.42 0 0 0-.08-.22l-1.65-3.7a1.5 1.5 0 0 0-1.37-.9h-6.7c-.6 0-1.13.35-1.37.9L3.63 7.6l-.09.23L2.42 8a.5.5 0 0 0 .16.98 90.9 90.9 0 0 1 1.5-.24ZM3 13.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM5.5 10a3.5 3.5 0 1 0 3.46 4h2.08a3.5 3.5 0 1 0 0-1H8.96a3.5 3.5 0 0 0-3.46-3Zm6.5 3.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z\"]);\nexport const IncognitoRegular = /*#__PURE__*/createFluentIcon('IncognitoRegular', \"1em\", [\"M6.17 4.28A.5.5 0 0 1 6.62 4h6.76c.2 0 .36.1.45.28l1.22 2.44a.5.5 0 1 0 .9-.44l-1.23-2.45A1.5 1.5 0 0 0 13.38 3H6.62a1.5 1.5 0 0 0-1.34.83L4.05 6.28a.5.5 0 0 0 .9.44l1.22-2.44Zm11.25 4.71C11.47 8 8.52 8 2.58 9a.5.5 0 0 1-.16-.98C8.47 7 11.52 7 17.58 8a.5.5 0 1 1-.16.98ZM5.5 11a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM2 13.5a3.5 3.5 0 0 1 6.96-.5h2.08a3.5 3.5 0 1 1 0 1H8.96A3.5 3.5 0 0 1 2 13.5ZM14.5 11a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\"]);\nexport const InfoFilled = /*#__PURE__*/createFluentIcon('InfoFilled', \"1em\", [\"M18 10a8 8 0 1 0-16 0 8 8 0 0 0 16 0ZM9.5 8.91a.5.5 0 0 1 1 0V13.6a.5.5 0 0 1-1 0V8.9Zm-.25-2.16a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0Z\"]);\nexport const InfoRegular = /*#__PURE__*/createFluentIcon('InfoRegular', \"1em\", [\"M10.5 8.91a.5.5 0 0 0-1 .09v4.6a.5.5 0 0 0 1-.1V8.91Zm.3-2.16a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0ZM18 10a8 8 0 1 0-16 0 8 8 0 0 0 16 0ZM3 10a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z\"]);\nexport const InfoShieldFilled = /*#__PURE__*/createFluentIcon('InfoShieldFilled', \"1em\", [\"M17 9a8 8 0 1 0-6.28 7.81 7.05 7.05 0 0 1-.72-2.93v-2.79c0-.75.59-1.42 1.4-1.42.9 0 1.76-.37 2.6-1.24a1.39 1.39 0 0 1 2 0 5.06 5.06 0 0 0 1 .8V9ZM8.5 7.91a.5.5 0 0 1 1 0V12.6a.5.5 0 0 1-1 0V7.9Zm-.25-2.16a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0Zm8.75 4.6a4.63 4.63 0 0 1-1-.59c-.24-.18-.48-.4-.72-.64a.39.39 0 0 0-.56 0 4.5 4.5 0 0 1-3.32 1.55.4.4 0 0 0-.4.41v2.77c.03.8.18 1.51.44 2.15A4.81 4.81 0 0 0 13 18c.52.4 1.15.73 1.87.98.09.03.17.03.26 0 2.56-.89 3.87-2.71 3.87-5.4V11a.4.4 0 0 0-.4-.33 4.24 4.24 0 0 1-1.6-.32Z\"]);\nexport const InfoShieldRegular = /*#__PURE__*/createFluentIcon('InfoShieldRegular', \"1em\", [\"M17 9a8 8 0 1 0-6.28 7.81 5.93 5.93 0 0 1-.39-.94 7 7 0 1 1 5.64-7.47c.02 0 .03.02.04.03a5.06 5.06 0 0 0 .99.8V9ZM9.05 5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5ZM9 7.5a.5.5 0 0 1 .5.41v4.59a.5.5 0 0 1-1 .1V8c0-.28.22-.5.5-.5Zm8 2.85a4.63 4.63 0 0 1-1-.59c-.24-.18-.48-.4-.72-.64a.39.39 0 0 0-.56 0 4.5 4.5 0 0 1-3.32 1.55.4.4 0 0 0-.4.41v2.77c.03.8.18 1.51.44 2.15A4.81 4.81 0 0 0 13 18c.52.4 1.15.73 1.87.98.09.03.17.03.26 0 2.56-.89 3.87-2.71 3.87-5.4V11a.4.4 0 0 0-.4-.33 4.24 4.24 0 0 1-1.6-.32Z\"]);\nexport const InkStrokeFilled = /*#__PURE__*/createFluentIcon('InkStrokeFilled', \"1em\", [\"M2.75 2.93c.04-.4.4-.71.82-.68l3.04.28c2.16.2 4.22.45 5.92.73 1.66.27 3.08.6 3.85.98.2.1.4.23.57.41.18.2.36.51.28.9-.06.36-.3.6-.48.73a3 3 0 0 1-.7.37c-1.02.4-2.95.8-5.98 1.17-1.44.18-2.5.36-3.22.52a42.44 42.44 0 0 0 4.24.57c1.02.09 2.1.23 3.02.4.46.09.9.19 1.26.3.36.1.71.23.97.4.13.1.3.23.42.45.14.25.17.56.03.85-.11.24-.3.4-.45.5-.16.1-.35.18-.54.25-.77.29-2.15.55-4.29.8-2.12.23-3.4.54-4.11.85-.3.13-.45.24-.51.3.03.04.07.1.16.17.15.14.36.3.64.45.56.32 1.29.61 1.98.84l2.64.81a.75.75 0 1 1-.44 1.44L9.2 16.9c-.75-.25-1.58-.58-2.25-.96-.34-.2-.67-.41-.93-.65a2.03 2.03 0 0 1-.62-.94c-.12-.44-.01-.88.28-1.24.26-.33.65-.58 1.1-.77.93-.4 2.4-.73 4.55-.98 1.37-.15 2.36-.31 3.04-.46l-.55-.12c-.86-.16-1.89-.29-2.86-.37a43.94 43.94 0 0 1-3.7-.46c-.53-.09-1-.2-1.4-.3-.37-.11-.75-.24-1.02-.43a1.19 1.19 0 0 1-.43-.49.93.93 0 0 1 .06-.87c.13-.22.32-.36.47-.44.17-.1.36-.18.56-.26.8-.28 2.22-.56 4.37-.83 2.7-.33 4.38-.66 5.3-.96-.64-.2-1.63-.42-2.9-.63a88.96 88.96 0 0 0-5.8-.72l-3.05-.27a.75.75 0 0 1-.68-.82Z\"]);\nexport const InkStrokeRegular = /*#__PURE__*/createFluentIcon('InkStrokeRegular', \"1em\", [\"M3 2.96a.5.5 0 0 1 .54-.46l3.05.27c2.15.2 4.21.45 5.9.73 1.67.28 3.04.6 3.77.96.19.1.37.21.51.36.14.16.27.4.22.69a.95.95 0 0 1-.4.57c-.16.13-.38.24-.63.34-.99.4-2.89.77-5.92 1.15a22.58 22.58 0 0 0-4.13.78l.3.1c.34.09.77.18 1.28.27 1 .18 2.25.33 3.59.44 1 .09 2.07.22 2.99.4.45.08.87.18 1.23.29.35.1.67.22.9.38.12.07.26.18.34.35.1.18.13.4.03.62a.97.97 0 0 1-.37.4c-.13.08-.3.16-.49.23-.74.27-2.08.53-4.22.77a16 16 0 0 0-4.2.88c-.37.16-.55.3-.63.4-.06.08-.05.11-.04.14.02.07.08.19.26.35.17.15.4.31.7.48.57.33 1.31.63 2.02.86l2.64.81a.5.5 0 0 1-.3.96l-2.65-.82c-.74-.24-1.55-.57-2.21-.94-.33-.19-.64-.4-.88-.62a1.78 1.78 0 0 1-.55-.81c-.1-.36-.01-.72.23-1.03.23-.28.58-.5 1.02-.7.88-.38 2.32-.7 4.47-.95 2.1-.24 3.33-.48 3.95-.7a11.8 11.8 0 0 0-1.44-.37 30 30 0 0 0-2.89-.38 43.66 43.66 0 0 1-3.68-.45c-.52-.1-.98-.2-1.37-.3-.37-.1-.71-.24-.95-.4a.94.94 0 0 1-.34-.38.68.68 0 0 1 .04-.64c.1-.17.25-.28.39-.36.14-.08.32-.16.52-.23a23.3 23.3 0 0 1 4.31-.82c3.05-.38 4.83-.75 5.68-1.09.1-.04.2-.08.26-.12l-.04-.01c-.57-.3-1.8-.6-3.48-.87-1.66-.27-3.7-.52-5.84-.72L3.46 3.5A.5.5 0 0 1 3 2.96Z\"]);\nexport const InkStrokeArrowDownFilled = /*#__PURE__*/createFluentIcon('InkStrokeArrowDownFilled', \"1em\", [\"M2.75 2.93c.04-.4.4-.71.82-.68l3.04.28c2.16.2 4.22.45 5.92.73 1.66.27 3.08.6 3.85.98.2.1.4.23.57.41.18.2.36.51.28.9-.06.36-.3.6-.48.73a3 3 0 0 1-.7.37c-1.02.4-2.95.8-5.98 1.17-1.44.18-2.5.36-3.22.52a42.44 42.44 0 0 0 4.24.57c1.02.09 2.1.23 3.02.4.46.09.9.19 1.26.3.36.1.71.23.97.4a1.26 1.26 0 0 1 .49.59 1.75 1.75 0 0 0-2.33 1.65v.16c-.76.15-1.74.3-2.99.44-2.12.24-3.4.55-4.11.86-.3.13-.45.24-.51.3.03.04.07.1.16.17.15.14.36.3.64.45.56.32 1.29.61 1.98.84l2.64.81a.75.75 0 1 1-.44 1.44L9.2 16.9c-.75-.25-1.58-.58-2.25-.96-.34-.2-.67-.41-.93-.65a2.03 2.03 0 0 1-.62-.94c-.12-.44-.01-.88.28-1.24.26-.33.65-.58 1.1-.77.93-.4 2.4-.73 4.55-.98 1.37-.15 2.36-.31 3.04-.46l-.55-.12c-.86-.16-1.89-.29-2.86-.37a43.94 43.94 0 0 1-3.7-.46c-.53-.09-1-.2-1.4-.3-.37-.11-.75-.24-1.02-.43a1.19 1.19 0 0 1-.43-.49.93.93 0 0 1 .06-.87c.13-.22.32-.36.47-.44.17-.1.36-.18.56-.26.8-.28 2.22-.56 4.37-.83 2.7-.33 4.38-.66 5.3-.96-.64-.2-1.63-.42-2.9-.63a88.96 88.96 0 0 0-5.8-.72l-3.05-.27a.75.75 0 0 1-.68-.82ZM17 12.25a.75.75 0 0 0-1.5 0v4.19l-.72-.72a.75.75 0 1 0-1.06 1.06l2 2c.3.3.77.3 1.06 0l2-2a.75.75 0 1 0-1.06-1.06l-.72.72v-4.19Z\"]);\nexport const InkStrokeArrowDownRegular = /*#__PURE__*/createFluentIcon('InkStrokeArrowDownRegular', \"1em\", [\"M3 2.96a.5.5 0 0 1 .54-.46l3.05.27c2.15.2 4.21.45 5.9.73 1.67.28 3.04.6 3.77.96.19.1.37.21.51.36.14.16.27.4.22.69a.95.95 0 0 1-.4.57c-.16.13-.38.24-.63.34-.99.4-2.89.77-5.92 1.15-2.15.27-3.44.53-4.1.77H5.9l.3.1c.34.1.77.2 1.28.28 1 .18 2.25.33 3.59.44 1 .09 2.07.22 2.99.4.45.08.87.18 1.23.29.35.1.67.22.9.38.12.07.26.18.34.35.08.13.1.27.09.43L16.5 11a1.5 1.5 0 0 0-1.42 1.02c-.8.2-1.96.4-3.6.58a16 16 0 0 0-4.18.88c-.38.16-.56.3-.64.4-.06.08-.05.11-.04.14.02.07.08.19.26.35.17.15.4.31.7.48.57.33 1.31.63 2.02.86l2.64.81a.5.5 0 0 1-.3.96l-2.65-.82c-.74-.24-1.55-.57-2.21-.94-.33-.19-.64-.4-.88-.62a1.78 1.78 0 0 1-.55-.81c-.1-.36-.01-.72.23-1.03.23-.28.58-.5 1.02-.7.88-.38 2.32-.7 4.47-.95 2.1-.24 3.33-.48 3.95-.7a11.8 11.8 0 0 0-1.44-.37 30 30 0 0 0-2.89-.38 43.66 43.66 0 0 1-3.68-.45c-.52-.1-.98-.2-1.37-.3-.37-.1-.71-.24-.95-.4a.94.94 0 0 1-.34-.38.68.68 0 0 1 .04-.64c.1-.17.25-.28.39-.36.14-.08.32-.16.52-.23a23.3 23.3 0 0 1 4.31-.82c3.05-.38 4.83-.75 5.68-1.09.1-.04.2-.08.26-.12l-.04-.01c-.57-.3-1.8-.6-3.48-.87-1.66-.27-3.7-.52-5.84-.72L3.46 3.5A.5.5 0 0 1 3 2.96Zm14 9.54a.5.5 0 0 0-1 0v4.8l-1.15-1.15a.5.5 0 0 0-.7.7l2 2c.2.2.5.2.7 0l2-2a.5.5 0 0 0-.7-.7L17 17.29V12.5Z\"]);\nexport const InkStrokeArrowUpDownFilled = /*#__PURE__*/createFluentIcon('InkStrokeArrowUpDownFilled', \"1em\", [\"M2.75 2.93c.04-.4.4-.71.82-.68l3.04.28c2.16.2 4.22.45 5.92.73 1.66.27 3.08.6 3.85.98.2.1.4.23.57.41.18.2.36.51.28.9-.06.36-.3.6-.48.73a3 3 0 0 1-.7.37c-1.02.4-2.95.8-5.98 1.17-1.44.18-2.5.36-3.22.52a42.44 42.44 0 0 0 4.24.57 31.21 31.21 0 0 1 3.52.5l-1.28 1.29a31.6 31.6 0 0 0-2.36-.3 43.94 43.94 0 0 1-3.7-.45c-.53-.09-1-.2-1.4-.3-.37-.11-.75-.24-1.02-.43a1.19 1.19 0 0 1-.43-.49.93.93 0 0 1 .06-.87c.13-.22.32-.36.47-.44.17-.1.36-.18.56-.26.8-.28 2.22-.56 4.37-.83 2.7-.33 4.38-.66 5.3-.96-.64-.2-1.63-.42-2.9-.63a88.96 88.96 0 0 0-5.8-.72l-3.05-.27a.75.75 0 0 1-.68-.82Zm10.13 8.23a1.75 1.75 0 0 0-.32 1.56c-.32.05-.67.09-1.05.13-2.12.24-3.4.55-4.11.86-.3.13-.45.24-.51.3.03.04.07.1.16.17.15.14.36.3.64.45.56.32 1.29.61 1.98.84l2.64.81a.75.75 0 1 1-.44 1.44L9.2 16.9c-.75-.25-1.58-.58-2.25-.96-.34-.2-.67-.41-.93-.65a2.03 2.03 0 0 1-.62-.94c-.12-.44-.01-.88.28-1.24.26-.33.65-.58 1.1-.77.93-.4 2.4-.73 4.55-.98.58-.06 1.09-.13 1.54-.2Zm3.9-1.44a.75.75 0 0 0-1.06 0l-2 2a.75.75 0 1 0 1.06 1.06l.72-.72v4.38l-.72-.72a.75.75 0 1 0-1.06 1.06l2 2c.3.3.77.3 1.06 0l2-2a.75.75 0 1 0-1.06-1.06l-.72.72v-4.38l.72.72a.75.75 0 1 0 1.06-1.06l-2-2Z\"]);\nexport const InkStrokeArrowUpDownRegular = /*#__PURE__*/createFluentIcon('InkStrokeArrowUpDownRegular', \"1em\", [\"M3 2.96a.5.5 0 0 1 .54-.46l3.05.27c2.15.2 4.21.45 5.9.73 1.67.28 3.04.6 3.77.96.19.1.37.21.51.36.14.16.27.4.22.69a.95.95 0 0 1-.4.57c-.16.13-.38.24-.63.34-.99.4-2.89.77-5.92 1.15-2.15.27-3.44.53-4.1.77H5.9l.3.1c.34.1.77.2 1.28.28 1 .18 2.25.33 3.59.44a30.96 30.96 0 0 1 4.01.63l-.83.83a30 30 0 0 0-3.27-.46 43.66 43.66 0 0 1-3.68-.45c-.52-.1-.98-.2-1.37-.3-.37-.1-.71-.24-.95-.4a.94.94 0 0 1-.34-.38.68.68 0 0 1 .04-.64c.1-.17.25-.28.39-.36.14-.08.32-.16.52-.23a23.3 23.3 0 0 1 4.31-.82c3.05-.38 4.83-.75 5.68-1.09.1-.04.2-.08.26-.12l-.04-.01c-.57-.3-1.8-.6-3.48-.87-1.66-.27-3.7-.52-5.84-.72L3.46 3.5A.5.5 0 0 1 3 2.96Zm10.44 8.48a1.5 1.5 0 0 0-.44.97l-1.51.2a16 16 0 0 0-4.2.87c-.37.16-.55.3-.63.4-.06.08-.05.11-.04.14.02.07.08.19.26.35.17.15.4.31.7.48.57.33 1.31.63 2.02.86l2.64.81a.5.5 0 0 1-.3.96l-2.65-.82c-.74-.24-1.55-.57-2.21-.94-.33-.19-.64-.4-.88-.62a1.78 1.78 0 0 1-.55-.81c-.1-.36-.01-.72.23-1.03.23-.28.58-.5 1.02-.7.88-.38 2.32-.7 4.47-.95.88-.1 1.6-.2 2.2-.3l-.13.13Zm3.41-1.3a.5.5 0 0 0-.7 0l-2 2a.5.5 0 0 0 .7.71L16 11.71v5.58l-1.15-1.14a.5.5 0 0 0-.7.7l2 2c.2.2.5.2.7 0l2-2a.5.5 0 0 0-.7-.7L17 17.29v-5.58l1.15 1.14a.5.5 0 0 0 .7-.7l-2-2Z\"]);\nexport const InkingToolFilled = /*#__PURE__*/createFluentIcon('InkingToolFilled', \"1em\", [\"M8.52 15a6.2 6.2 0 0 0-.02.5c0 .58.07 1.16.27 1.62.21.47.6.88 1.23.88s1.02-.41 1.23-.88c.2-.46.27-1.04.27-1.62 0-.17 0-.34-.02-.5H8.52ZM2.5 5.5v-3c0-.28.22-.5.5-.5h14c.28 0 .5.22.5.5v3c0 .83-.67 1.5-1.5 1.5H4a1.5 1.5 0 0 1-1.5-1.5ZM4.75 8l2.72 5.45a1 1 0 0 0 .9.55h3.26a1 1 0 0 0 .9-.55L15.25 8H4.75Z\"]);\nexport const InkingToolRegular = /*#__PURE__*/createFluentIcon('InkingToolRegular', \"1em\", [\"M3.5 2.5a.5.5 0 0 0-1 0v3C2.5 6.33 3.17 7 4 7h.2l3.58 7.17c.16.33.43.57.75.71-.05.66-.03 1.31.1 1.83.1.33.23.64.45.88.23.25.54.41.92.41s.7-.16.93-.41c.22-.24.35-.55.43-.88.14-.52.17-1.17.11-1.83.32-.14.6-.39.75-.7L15.81 7H16c.83 0 1.5-.67 1.5-1.5v-3a.5.5 0 0 0-1 0v3a.5.5 0 0 1-.5.5H4a.5.5 0 0 1-.5-.5v-3ZM5.3 7h9.4l-3.37 6.72a.5.5 0 0 1-.45.28H9.12a.5.5 0 0 1-.45-.28L5.31 7Zm4.22 8h.96c.04.58.01 1.09-.08 1.46-.06.23-.14.38-.21.45A.23.23 0 0 1 10 17a.23.23 0 0 1-.18-.09 1.09 1.09 0 0 1-.21-.45c-.1-.37-.13-.88-.09-1.46Z\"]);\nexport const InkingToolAccentFilled = /*#__PURE__*/createFluentIcon('InkingToolAccentFilled', \"1em\", [\"M17 6V3H3v3c0 .28.22.5.5.5h13A.5.5 0 0 0 17 6Zm-4.55 1-2.4 4.78a.5.5 0 1 0 .9.44L13.56 7 13 6.5l-.55.5ZM10 17.5c.55 0 1-.67 1-1.5s-.45-1.5-1-1.5-1 .67-1 1.5.45 1.5 1 1.5Z\"]);\nexport const InprivateAccountFilled = /*#__PURE__*/createFluentIcon('InprivateAccountFilled', \"1em\", [\"M10 2a4 4 0 1 0 3.12 6.5H10v-1h3.7c.14-.32.23-.65.27-1H10v-1h3.97a3.97 3.97 0 0 0-.26-1H10v-1h3.12A4 4 0 0 0 10 2Zm-5 9a2 2 0 0 0-2 2c0 1.7.83 2.97 2.13 3.8A9.14 9.14 0 0 0 10 18c1.7 0 3.28-.32 4.52-1H10v-1h5.84c.28-.3.52-.64.7-1H10v-1h6.9c.06-.32.1-.65.1-1h-7v-1h6.73A2 2 0 0 0 15 11H5Z\"]);\nexport const InprivateAccountRegular = /*#__PURE__*/createFluentIcon('InprivateAccountRegular', \"1em\", [\"M6 6a4 4 0 0 1 7.12-2.5H10V3a3 3 0 0 0 0 6v-.5h3.12A4 4 0 0 1 6 6Zm7.7 1.5H10v-1h3.97c-.04.35-.13.68-.26 1Zm.27-2a3.97 3.97 0 0 0-.26-1H10v1h3.97ZM3 13a2 2 0 0 1 2-2h10a2 2 0 0 1 1.73 1H5a1 1 0 0 0-1 1c0 1.3.62 2.28 1.67 2.95A8.16 8.16 0 0 0 10 17h4.52c-1.24.68-2.83 1-4.52 1a9.14 9.14 0 0 1-4.87-1.2A4.35 4.35 0 0 1 3 13Zm7 1v-1h7c0 .35-.04.68-.1 1H10Zm6.54 1c-.18.36-.42.7-.7 1h-1.59.01H10v-1h6.54Z\"]);\nexport const InsertFilled = /*#__PURE__*/createFluentIcon('InsertFilled', \"1em\", [\"M4 4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4Zm0 12c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v2ZM2.5 9.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const InsertRegular = /*#__PURE__*/createFluentIcon('InsertRegular', \"1em\", [\"M6 3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H6ZM4 4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4Zm2 13a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H6Zm-2-1c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v2Zm-2-6c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15A.5.5 0 0 1 2 10Z\"]);\nexport const IosChevronRightFilled = /*#__PURE__*/createFluentIcon('IosChevronRightFilled', \"1em\", [\"M12.22 6.03a.75.75 0 0 1 1.06-1.06l4.5 4.5c.3.3.3.77 0 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06L16.19 10l-3.97-3.97Z\"]);\nexport const IosChevronRightRegular = /*#__PURE__*/createFluentIcon('IosChevronRightRegular', \"1em\", [\"M12.65 5.85a.5.5 0 0 1 .7-.7l4.5 4.5c.2.2.2.5 0 .7l-4.5 4.5a.5.5 0 0 1-.7-.7L16.79 10l-4.14-4.15Z\"]);\nexport const IotFilled = /*#__PURE__*/createFluentIcon('IotFilled', \"1em\", [\"M16 4a2 2 0 0 1-2.65 1.89l-1.28 1.94A3 3 0 0 1 13 9.99l1.17.2a2 2 0 1 1-.16.99l-1.17-.2a3.01 3.01 0 0 1-1.43 1.67l.45 1.36H12a2 2 0 1 1-1.1.31l-.44-1.35a3.02 3.02 0 0 1-2.87-1.18l-1.64.78A2 2 0 0 1 4 15a2 2 0 1 1 1.5-3.32l1.64-.79A3 3 0 0 1 7.77 8l-.93-1.17a2 2 0 1 1 .77-.63l.95 1.18a2.99 2.99 0 0 1 2.68-.1l1.28-1.94A2 2 0 1 1 16 4Z\"]);\nexport const IotRegular = /*#__PURE__*/createFluentIcon('IotRegular', \"1em\", [\"M16 4a2 2 0 0 1-2.65 1.89l-1.28 1.94A3 3 0 0 1 13 9.99l1.17.2a2 2 0 1 1-.16.99l-1.17-.2a3.01 3.01 0 0 1-1.43 1.67l.45 1.36H12a2 2 0 1 1-1.1.31l-.44-1.35a3.02 3.02 0 0 1-2.87-1.18l-1.64.78A2 2 0 0 1 4 15a2 2 0 1 1 1.5-3.32l1.64-.79A3 3 0 0 1 7.77 8l-.93-1.17a2 2 0 1 1 .77-.63l.95 1.18a2.99 2.99 0 0 1 2.68-.1l1.28-1.94A2 2 0 1 1 16 4Zm-1 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0ZM6 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4 6a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-5 1a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm8 3a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm3-4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const IotAlertFilled = /*#__PURE__*/createFluentIcon('IotAlertFilled', \"1em\", [\"M16 4a2 2 0 0 1-2.65 1.88l-1.28 1.95.3.33A4 4 0 0 0 9.5 12v.96a3 3 0 0 1-1.91-1.17l-1.64.78A2 2 0 0 1 4 15a2 2 0 1 1 1.5-3.32l1.64-.79A3 3 0 0 1 7.77 8l-.93-1.17a2 2 0 1 1 .77-.63l.95 1.18a2.99 2.99 0 0 1 2.68-.1l1.28-1.94A2 2 0 1 1 16 4Zm-5.5 8a3 3 0 0 1 6 0v2l1.32 1.12a.5.5 0 0 1-.32.88h-8a.5.5 0 0 1-.32-.88L10.5 14v-2Zm3 6a1.5 1.5 0 0 1-1.42-1h2.83c-.2.58-.76 1-1.41 1Z\"]);\nexport const IotAlertRegular = /*#__PURE__*/createFluentIcon('IotAlertRegular', \"1em\", [\"M16 4a2 2 0 0 1-2.65 1.88l-1.28 1.95.3.33c-.34.1-.66.24-.96.43A2 2 0 0 0 8 10a2 2 0 0 0 1.5 1.94v1.02a3 3 0 0 1-1.91-1.17l-1.64.78A2 2 0 0 1 4 15a2 2 0 1 1 1.5-3.32l1.64-.79A3 3 0 0 1 7.77 8l-.93-1.17a2 2 0 1 1 .77-.63l.95 1.18a2.99 2.99 0 0 1 2.68-.1l1.28-1.94A2 2 0 1 1 16 4Zm-1 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0ZM6 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-1 7a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm5.5-1a3 3 0 0 1 6 0v2l1.32 1.12a.5.5 0 0 1-.32.88h-8a.5.5 0 0 1-.32-.88L10.5 14v-2Zm3 6a1.5 1.5 0 0 1-1.42-1h2.83c-.2.58-.76 1-1.41 1Z\"]);\nexport const JavascriptFilled = /*#__PURE__*/createFluentIcon('JavascriptFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm7.25 1.5a.75.75 0 0 0-.75.75v5c0 .14-.11.25-.25.25h-1a.75.75 0 0 0 0 1.5h1c.97 0 1.75-.78 1.75-1.75v-5a.75.75 0 0 0-.75-.75Zm1.25 1.75v1c0 .97.78 1.75 1.75 1.75h.5c.14 0 .25.11.25.25v1c0 .14-.11.25-.25.25h-1.5a.75.75 0 0 0 0 1.5h1.5c.97 0 1.75-.78 1.75-1.75v-1c0-.97-.78-1.75-1.75-1.75h-.5a.25.25 0 0 1-.25-.25v-1c0-.14.11-.25.25-.25h1.5a.75.75 0 0 0 0-1.5h-1.5c-.97 0-1.75.78-1.75 1.75Z\"]);\nexport const JavascriptRegular = /*#__PURE__*/createFluentIcon('JavascriptRegular', \"1em\", [\"M11.5 9.5c0-.83.67-1.5 1.5-1.5h1.5a.5.5 0 0 1 0 1H13a.5.5 0 0 0-.5.5v1c0 .28.22.5.5.5h.5c.83 0 1.5.67 1.5 1.5v1c0 .83-.67 1.5-1.5 1.5H12a.5.5 0 0 1 0-1h1.5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5H13a1.5 1.5 0 0 1-1.5-1.5v-1Zm-.5-1a.5.5 0 0 0-1 0v5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 0 0 1h1c.83 0 1.5-.67 1.5-1.5v-5ZM3 6v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3Zm3-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2Z\"]);\nexport const JoystickFilled = /*#__PURE__*/createFluentIcon('JoystickFilled', \"1em\", [\"M10.5 7.96a3 3 0 1 0-1 0V11h-2c-.83 0-1.5.67-1.5 1.5v.5h8v-.5c0-.83-.67-1.5-1.5-1.5h-2V7.96ZM3 16c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v1.5a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5V16Z\"]);\nexport const JoystickRegular = /*#__PURE__*/createFluentIcon('JoystickRegular', \"1em\", [\"M10 3a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm.5 4.96a3 3 0 1 0-1 0V11h-2c-.83 0-1.5.67-1.5 1.5v.5H5a2 2 0 0 0-2 2v2.5c0 .28.22.5.5.5h13a.5.5 0 0 0 .5-.5V15a2 2 0 0 0-2-2h-1v-.5c0-.83-.67-1.5-1.5-1.5h-2V7.96ZM7.5 12h5c.28 0 .5.22.5.5v.5H7v-.5c0-.28.22-.5.5-.5ZM5 14h10a1 1 0 0 1 1 1v2H4v-2a1 1 0 0 1 1-1Z\"]);\nexport const KeyFilled = /*#__PURE__*/createFluentIcon('KeyFilled', \"1em\", [\"M7 7.5C7 4.42 9.42 2 12.5 2S18 4.42 18 7.5 15.58 13 12.5 13c-.5 0-1-.05-1.5-.18V13a1 1 0 0 1-1 1H9v1a1 1 0 0 1-1 1H7v.5c0 .83-.67 1.5-1.5 1.5h-2A1.5 1.5 0 0 1 2 16.5v-1.59c0-.4.16-.78.44-1.06l4.54-4.54c.13-.13.2-.37.14-.64A5.62 5.62 0 0 1 7 7.5ZM15 6a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const KeyRegular = /*#__PURE__*/createFluentIcon('KeyRegular', \"1em\", [\"M15 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-2.5-4a5.45 5.45 0 0 0-5.38 6.67c.06.27 0 .5-.14.64l-4.54 4.54A1.5 1.5 0 0 0 2 14.91v1.59c0 .83.67 1.5 1.5 1.5h2c.83 0 1.5-.67 1.5-1.5V16h1a1 1 0 0 0 1-1v-1h1a1 1 0 0 0 1-1v-.18c.5.13 1 .18 1.5.18 3.08 0 5.5-2.42 5.5-5.5S15.58 2 12.5 2ZM8 7.5C8 4.98 9.98 3 12.5 3S17 4.98 17 7.5 15.02 12 12.5 12c-.66 0-1.27-.1-1.78-.35a.5.5 0 0 0-.72.45v.9H9a1 1 0 0 0-1 1v1H7a1 1 0 0 0-1 1v.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1.59a.5.5 0 0 1 .15-.35l4.54-4.54c.43-.43.52-1.04.4-1.56-.06-.3-.09-.63-.09-.96Z\"]);\nexport const KeyCommandFilled = /*#__PURE__*/createFluentIcon('KeyCommandFilled', \"1em\", [\"M5.75 4.5C6.44 4.5 7 5.06 7 5.75V7H5.75a1.25 1.25 0 1 1 0-2.5ZM8.5 7V5.75A2.75 2.75 0 1 0 5.75 8.5H7v3H5.75a2.75 2.75 0 1 0 2.75 2.75V13h3v1.25a2.75 2.75 0 1 0 2.75-2.75H13v-3h1.25a2.75 2.75 0 1 0-2.75-2.75V7h-3Zm0 1.5h3v3h-3v-3ZM13 7V5.75A1.25 1.25 0 1 1 14.25 7H13Zm0 6h1.25A1.25 1.25 0 1 1 13 14.25V13Zm-6 0v1.25A1.25 1.25 0 1 1 5.75 13H7Z\"]);\nexport const KeyCommandRegular = /*#__PURE__*/createFluentIcon('KeyCommandRegular', \"1em\", [\"M5.5 4C6.33 4 7 4.67 7 5.5V7H5.5a1.5 1.5 0 1 1 0-3ZM8 7V5.5A2.5 2.5 0 1 0 5.5 8H7v4H5.5A2.5 2.5 0 1 0 8 14.5V13h4v1.5a2.5 2.5 0 1 0 2.5-2.5H13V8h1.5A2.5 2.5 0 1 0 12 5.5V7H8Zm0 1h4v4H8V8Zm5-1V5.5A1.5 1.5 0 1 1 14.5 7H13Zm0 6h1.5a1.5 1.5 0 1 1-1.5 1.5V13Zm-6 0v1.5A1.5 1.5 0 1 1 5.5 13H7Z\"]);\nexport const KeyMultipleFilled = /*#__PURE__*/createFluentIcon('KeyMultipleFilled', \"1em\", [\"m10 2 .32.01a5.5 5.5 0 0 0-1.09 7.96l-.73.74v1.69a.6.6 0 0 1-.6.6H6v1.4a.6.6 0 0 1-.6.6H2.6a.6.6 0 0 1-.6-.6v-2.86a.6.6 0 0 1 .18-.42l3.98-3.99A4 4 0 0 1 10 2ZM9 6.5a4.5 4.5 0 1 1 7 3.74v2.05l.78.79a.6.6 0 0 1 0 .84L15.71 15l1.06 1.07a.6.6 0 0 1-.04.89l-2.36 1.88a.6.6 0 0 1-.74 0l-2.4-1.92a.6.6 0 0 1-.23-.47v-6.2A4.5 4.5 0 0 1 9 6.5Zm5.25-1a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"]);\nexport const KeyMultipleRegular = /*#__PURE__*/createFluentIcon('KeyMultipleRegular', \"1em\", [\"M10.32 2.01 10 2a4 4 0 0 0-3.84 5.13l-3.98 3.99a.6.6 0 0 0-.18.42v2.86c0 .33.27.6.6.6h2.8a.6.6 0 0 0 .6-.6V13h1.9a.6.6 0 0 0 .6-.6v-1.7l.73-.73c-.21-.26-.4-.54-.56-.84l-1 .99a.6.6 0 0 0-.17.42V12H5.6a.6.6 0 0 0-.6.6V14H3v-2.3L7.32 7.4l-.12-.3a3 3 0 0 1 1.96-3.97c.33-.42.72-.8 1.16-1.1Zm3.18 4.24a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM9 6.5a4.5 4.5 0 1 1 7 3.74v2.05l.78.79a.6.6 0 0 1 0 .84L15.71 15l1.06 1.07a.6.6 0 0 1-.04.89l-2.36 1.88a.6.6 0 0 1-.74 0l-2.4-1.92a.6.6 0 0 1-.23-.47v-6.2A4.5 4.5 0 0 1 9 6.5ZM13.5 3a3.5 3.5 0 0 0-1.75 6.53.5.5 0 0 1 .25.43v6.3l2 1.6 1.75-1.4-1.03-1.04a.6.6 0 0 1 0-.84l1.07-1.08-.61-.62a.6.6 0 0 1-.18-.42v-2.5c0-.17.1-.34.25-.43A3.5 3.5 0 0 0 13.5 3Z\"]);\nexport const KeyResetFilled = /*#__PURE__*/createFluentIcon('KeyResetFilled', \"1em\", [\"M12.5 2a5.45 5.45 0 0 0-5.38 6.67c.06.27 0 .5-.14.64l-4.54 4.54A1.5 1.5 0 0 0 2 14.91v1.59c0 .83.67 1.5 1.5 1.5h2c.83 0 1.5-.67 1.5-1.5V16h1a1 1 0 0 0 1-1v-1c0-.51.26-.96.65-1.23l-1.21-1.2a1.5 1.5 0 0 1 0-2.13l2-2A1.5 1.5 0 0 1 12.9 9H14a5 5 0 0 1 3.3 1.24A5.54 5.54 0 0 0 12.5 2ZM14 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm-2.15 3.85a.5.5 0 0 0-.7-.7l-2 2a.5.5 0 0 0 0 .7l2 2a.5.5 0 0 0 .7-.7L10.71 11H14a3 3 0 1 1-3 3 .5.5 0 1 0-1 0 4 4 0 1 0 4-4h-3.3l1.15-1.15Z\"]);\nexport const KeyResetRegular = /*#__PURE__*/createFluentIcon('KeyResetRegular', \"1em\", [\"M14 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-7 .5C7 4.42 9.42 2 12.5 2S18 4.42 18 7.5c0 1-.26 1.93-.7 2.74a4.99 4.99 0 0 0-.83-.59c.34-.63.53-1.37.53-2.15C17 4.98 15.02 3 12.5 3a4.45 4.45 0 0 0-4.4 5.46c.1.52.02 1.13-.41 1.56l-4.54 4.54a.5.5 0 0 0-.15.35v1.59c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5V16a1 1 0 0 1 1-1h1v-1a1 1 0 0 1 1-1h.38A1.5 1.5 0 0 0 9 14v1a1 1 0 0 1-1 1H7v.5c0 .83-.67 1.5-1.5 1.5h-2A1.5 1.5 0 0 1 2 16.5v-1.59c0-.4.16-.78.44-1.06l4.54-4.54c.13-.13.2-.37.14-.64A5.62 5.62 0 0 1 7 7.5Zm4.85 1.35a.5.5 0 0 0-.7-.7l-2 2a.5.5 0 0 0 0 .7l2 2a.5.5 0 0 0 .7-.7L10.71 11H14a3 3 0 1 1-3 3 .5.5 0 1 0-1 0 4 4 0 1 0 4-4h-3.3l1.15-1.15Z\"]);\nexport const Keyboard123Filled = /*#__PURE__*/createFluentIcon('Keyboard123Filled', \"1em\", [\"M4.88 3.6c.38-.44.76-.58 1.05-.6.3-.01.58.1.78.3.2.19.3.43.28.63-.01.2-.12.44-.49.65a5.8 5.8 0 0 0-2.2 1.93 2.25 2.25 0 0 0-.3.92v.12a.5.5 0 0 0 .5.45h3a.5.5 0 0 0 0-1H5.18C5.4 6.64 5.9 6.1 7 5.45c.62-.36.95-.88.99-1.45a1.84 1.84 0 0 0-.59-1.43c-.38-.36-.92-.6-1.52-.57-.61.04-1.22.34-1.76.95a.5.5 0 1 0 .76.65ZM2.76 2.07c.15.1.24.26.24.43v5a.5.5 0 0 1-1 0V3.3l-.78.4a.5.5 0 0 1-.45-.9l1.5-.75a.5.5 0 0 1 .5.02Zm8.28.93c-.33 0-.75.14-1.17.6a.5.5 0 1 1-.74-.66 2.57 2.57 0 0 1 1.9-.94c.64 0 1.2.28 1.57.7a1.5 1.5 0 0 1-.32 2.3c.27.2.47.42.6.69.26.59.08 1.2-.28 1.61-.36.42-.93.7-1.56.7-.65 0-1.33-.29-1.91-.94a.5.5 0 1 1 .74-.66c.42.46.84.6 1.17.6.34 0 .63-.15.8-.35.17-.2.2-.4.12-.55-.07-.17-.33-.44-1.07-.61a.5.5 0 0 1 0-.98c.74-.17 1-.44 1.07-.61.07-.15.05-.35-.12-.55-.17-.2-.46-.35-.8-.35ZM2 14.5V8.91a1.5 1.5 0 0 0 1.5-.3c.27.25.62.4 1 .4h3c.59 0 1.1-.35 1.34-.84.66.55 1.42.83 2.2.83.92 0 1.77-.4 2.32-1.05A2.5 2.5 0 0 0 13.64 5h2.86c.83 0 1.5.67 1.5 1.5v8c0 .83-.67 1.5-1.5 1.5h-13A1.5 1.5 0 0 1 2 14.5ZM5.5 13a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm8.25-4.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm-7.5 2.5a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm3.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm2.25-.75a.75.75 0 1 0 1.51 0 .75.75 0 0 0-1.5 0Z\"]);\nexport const Keyboard123Regular = /*#__PURE__*/createFluentIcon('Keyboard123Regular', \"1em\", [\"M4.88 3.6c.38-.44.76-.58 1.05-.6.3-.01.58.1.78.3.2.19.3.43.28.63-.01.2-.12.44-.49.65a5.8 5.8 0 0 0-2.2 1.93 2.25 2.25 0 0 0-.3.92v.12a.5.5 0 0 0 .5.45h3a.5.5 0 0 0 0-1H5.18C5.4 6.64 5.9 6.1 7 5.45c.62-.36.95-.88.99-1.45a1.84 1.84 0 0 0-.59-1.43c-.38-.36-.92-.6-1.52-.57-.61.04-1.22.34-1.76.95a.5.5 0 1 0 .76.65ZM2.76 2.07c.15.1.24.26.24.43v5a.5.5 0 0 1-1 0V3.3l-.78.4a.5.5 0 0 1-.45-.9l1.5-.75a.5.5 0 0 1 .5.02Zm8.28.93c-.33 0-.75.14-1.17.6a.5.5 0 1 1-.74-.66 2.57 2.57 0 0 1 1.9-.94c.64 0 1.2.28 1.57.7a1.5 1.5 0 0 1-.32 2.3c.27.2.47.42.6.69.26.59.08 1.2-.28 1.61-.36.42-.93.7-1.56.7-.65 0-1.33-.29-1.91-.94a.5.5 0 1 1 .74-.66c.42.46.84.6 1.17.6.34 0 .63-.15.8-.35.17-.2.2-.4.12-.55-.07-.17-.33-.44-1.07-.61a.5.5 0 0 1 0-.98c.74-.17 1-.44 1.07-.61.07-.15.05-.35-.12-.55-.17-.2-.46-.35-.8-.35ZM2 8.91v5.59c0 .83.67 1.5 1.5 1.5h13c.83 0 1.5-.67 1.5-1.5v-8c0-.83-.67-1.5-1.5-1.5h-2.86a2.51 2.51 0 0 1 .35 1h2.51c.28 0 .5.22.5.5v8a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5V8.91a1.5 1.5 0 0 1-1 0ZM5.5 13a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm9-4a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM7 11.5A.75.75 0 1 0 7 10a.75.75 0 0 0 0 1.5Zm3.75-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.26.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"]);\nexport const KeyboardFilled = /*#__PURE__*/createFluentIcon('KeyboardFilled', \"1em\", [\"M3.5 4C2.67 4 2 4.67 2 5.5v8c0 .83.67 1.5 1.5 1.5h13c.83 0 1.5-.67 1.5-1.5v-8c0-.83-.67-1.5-1.5-1.5h-13Zm2.75 3.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm6 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM5 12.5c0-.28.22-.5.5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5ZM14.5 8a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM7 10.5A.75.75 0 1 1 7 9a.75.75 0 0 1 0 1.5Zm3.75-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.26.75A.75.75 0 1 1 13 9a.75.75 0 0 1 0 1.5ZM9.25 7.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"]);\nexport const KeyboardRegular = /*#__PURE__*/createFluentIcon('KeyboardRegular', \"1em\", [\"M5 12.5c0-.28.22-.5.5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5ZM11.5 8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm3.75-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM5.5 8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm2.25 1.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25.75A.75.75 0 1 0 10 9a.75.75 0 0 0 0 1.5Zm3.76-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM8.5 8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM2 5.5C2 4.67 2.67 4 3.5 4h13c.83 0 1.5.67 1.5 1.5v8c0 .83-.67 1.5-1.5 1.5h-13A1.5 1.5 0 0 1 2 13.5v-8ZM3.5 5a.5.5 0 0 0-.5.5v8c0 .28.22.5.5.5h13a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-13Z\"]);\nexport const KeyboardDockFilled = /*#__PURE__*/createFluentIcon('KeyboardDockFilled', \"1em\", [\"M2 3.5C2 2.67 2.67 2 3.5 2h13c.83 0 1.5.67 1.5 1.5v8c0 .83-.67 1.5-1.5 1.5h-6v3.3l1.15-1.15a.5.5 0 0 1 .7.7l-2 2a.5.5 0 0 1-.7 0l-2-2a.5.5 0 0 1 .7-.7l1.15 1.14V13h-6A1.5 1.5 0 0 1 2 11.5v-8ZM5.5 6a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm6 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-6 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm8.25-4.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm-7.5 2.5a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0ZM10 8.5A.75.75 0 1 0 10 7a.75.75 0 0 0 0 1.5Zm2.25-.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0ZM8.5 6a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"]);\nexport const KeyboardDockRegular = /*#__PURE__*/createFluentIcon('KeyboardDockRegular', \"1em\", [\"M5.5 10a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm6.75-4.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM14.5 6a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-8.25-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM7 8.5A.75.75 0 1 0 7 7a.75.75 0 0 0 0 1.5Zm3.75-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.26.75A.75.75 0 1 0 13 7a.75.75 0 0 0 0 1.5ZM9.25 5.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM3.5 2C2.67 2 2 2.67 2 3.5v8c0 .83.67 1.5 1.5 1.5h6v3.3l-1.15-1.15a.5.5 0 0 0-.7.7l2 2c.2.2.5.2.7 0l2-2a.5.5 0 0 0-.7-.7l-1.15 1.14V13h6c.83 0 1.5-.67 1.5-1.5v-8c0-.83-.67-1.5-1.5-1.5h-13Zm13 10h-13a.5.5 0 0 1-.5-.5v-8c0-.28.22-.5.5-.5h13c.28 0 .5.22.5.5v8a.5.5 0 0 1-.5.5Z\"]);\nexport const KeyboardLayoutFloatFilled = /*#__PURE__*/createFluentIcon('KeyboardLayoutFloatFilled', \"1em\", [\"M2 4.5C2 3.67 2.67 3 3.5 3h13c.83 0 1.5.67 1.5 1.5v8c0 .83-.67 1.5-1.5 1.5H11a1 1 0 1 1-2 0H3.5A1.5 1.5 0 0 1 2 12.5v-8ZM5.5 7a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm6 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-6 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm8.25-4.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm-7.5 2.5a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0ZM10 9.5A.75.75 0 1 0 10 8a.75.75 0 0 0 0 1.5Zm2.25-.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0ZM8.5 7a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM2 16.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Z\"]);\nexport const KeyboardLayoutFloatRegular = /*#__PURE__*/createFluentIcon('KeyboardLayoutFloatRegular', \"1em\", [\"M5 11.5c0-.28.22-.5.5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5ZM11.5 7a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm3.75-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM5.5 7a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm2.25 1.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM10 9.5A.75.75 0 1 0 10 8a.75.75 0 0 0 0 1.5Zm3.76-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM8.5 7a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM2 4.5C2 3.67 2.67 3 3.5 3h13c.83 0 1.5.67 1.5 1.5v8c0 .83-.67 1.5-1.5 1.5H11a1 1 0 1 1-2 0H3.5A1.5 1.5 0 0 1 2 12.5v-8ZM3.5 13h13a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-13a.5.5 0 0 0-.5.5v8c0 .28.22.5.5.5ZM2 16.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Z\"]);\nexport const KeyboardLayoutOneHandedLeftFilled = /*#__PURE__*/createFluentIcon('KeyboardLayoutOneHandedLeftFilled', \"1em\", [\"M3.5 4C2.67 4 2 4.67 2 5.5v8c0 .83.67 1.5 1.5 1.5h13c.83 0 1.5-.67 1.5-1.5v-8c0-.83-.67-1.5-1.5-1.5h-13Zm2 8h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1Zm0-4.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM7.75 8a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM6 9.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Z\"]);\nexport const KeyboardLayoutOneHandedLeftRegular = /*#__PURE__*/createFluentIcon('KeyboardLayoutOneHandedLeftRegular', \"1em\", [\"M3.5 4C2.67 4 2 4.67 2 5.5v8c0 .83.67 1.5 1.5 1.5h13c.83 0 1.5-.67 1.5-1.5v-8c0-.83-.67-1.5-1.5-1.5h-13ZM3 5.5c0-.28.22-.5.5-.5h13c.28 0 .5.22.5.5v8a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-8ZM5.5 12a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm0-4.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM7.75 8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM6 9.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"]);\nexport const KeyboardLayoutResizeFilled = /*#__PURE__*/createFluentIcon('KeyboardLayoutResizeFilled', \"1em\", [\"M3 3.5c0-.28.22-.5.5-.5h7a.5.5 0 0 0 0-1h-7C2.67 2 2 2.67 2 3.5v4a.5.5 0 0 0 1 0v-4ZM3.5 9C2.67 9 2 9.67 2 10.5v6c0 .83.67 1.5 1.5 1.5h8c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5h-8Zm2 6h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1Zm0-2.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2 .75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Zm3.5-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM17.5 9c.28 0 .5.22.5.5v7c0 .83-.67 1.5-1.5 1.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 0 .5-.5v-7c0-.28.22-.5.5-.5Zm-4-7a.5.5 0 0 0 0 1h2.8l-4.15 4.15a.5.5 0 0 0 .7.7L17 3.71V6.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5h-4Z\"]);\nexport const KeyboardLayoutResizeRegular = /*#__PURE__*/createFluentIcon('KeyboardLayoutResizeRegular', \"1em\", [\"M3 3.5c0-.28.22-.5.5-.5h7a.5.5 0 0 0 0-1h-7C2.67 2 2 2.67 2 3.5v4a.5.5 0 0 0 1 0v-4ZM3.5 9C2.67 9 2 9.67 2 10.5v6c0 .83.67 1.5 1.5 1.5h8c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5h-8ZM3 10.5c0-.28.22-.5.5-.5h8c.28 0 .5.22.5.5v6a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-6ZM5.5 15a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0-2.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2 .75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm3.5-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM17.5 9c.28 0 .5.22.5.5v7c0 .83-.67 1.5-1.5 1.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 0 .5-.5v-7c0-.28.22-.5.5-.5Zm-4-7a.5.5 0 0 0 0 1h2.8l-4.15 4.15a.5.5 0 0 0 .7.7L17 3.71V6.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5h-4Z\"]);\nexport const KeyboardLayoutSplitFilled = /*#__PURE__*/createFluentIcon('KeyboardLayoutSplitFilled', \"1em\", [\"M2 5.5C2 4.67 2.67 4 3.5 4h13c.83 0 1.5.67 1.5 1.5v8c0 .83-.67 1.5-1.5 1.5h-13A1.5 1.5 0 0 1 2 13.5v-8Zm3 7c0 .28.22.5.5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5ZM4.75 8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm3.75-.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0ZM5.25 10.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM9 9.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0ZM14.5 12h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1Zm0-4.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0ZM12.25 8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM14 9.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm-2.25.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"]);\nexport const KeyboardLayoutSplitRegular = /*#__PURE__*/createFluentIcon('KeyboardLayoutSplitRegular', \"1em\", [\"M2 5.5C2 4.67 2.67 4 3.5 4h13c.83 0 1.5.67 1.5 1.5v8c0 .83-.67 1.5-1.5 1.5h-13A1.5 1.5 0 0 1 2 13.5v-8ZM3.5 5a.5.5 0 0 0-.5.5v8c0 .28.22.5.5.5h13a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-13ZM5 12.5c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM4.75 8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm3.75-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM5.25 10.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM9 9.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM14.5 12a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1h3Zm0-4.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0ZM12.25 8a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM14 9.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm-2.25.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Z\"]);\nexport const KeyboardShiftFilled = /*#__PURE__*/createFluentIcon('KeyboardShiftFilled', \"1em\", [\"M11.14 2.53a1.5 1.5 0 0 0-2.28 0l-6.62 7.8A1 1 0 0 0 3 11.98h3V17a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-5.02h3a1 1 0 0 0 .76-1.65l-6.62-7.8Z\"]);\nexport const KeyboardShiftRegular = /*#__PURE__*/createFluentIcon('KeyboardShiftRegular', \"1em\", [\"M8.86 2.53c.6-.7 1.68-.7 2.28 0l6.62 7.8a1 1 0 0 1-.76 1.65h-3V17a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-5.02H3a1 1 0 0 1-.76-1.65l6.62-7.8Zm1.52.65a.5.5 0 0 0-.76 0L3 10.98h3.5c.28 0 .5.23.5.5V17h6v-5.52c0-.27.22-.5.5-.5H17l-6.62-7.8Z\"]);\nexport const KeyboardShiftUppercaseFilled = /*#__PURE__*/createFluentIcon('KeyboardShiftUppercaseFilled', \"1em\", [\"M11.14 2.53a1.5 1.5 0 0 0-2.28 0l-6.62 7.8A1 1 0 0 0 3 11.98h3V15a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3.02h3a1 1 0 0 0 .76-1.65l-6.62-7.8ZM6.5 17a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Z\"]);\nexport const KeyboardShiftUppercaseRegular = /*#__PURE__*/createFluentIcon('KeyboardShiftUppercaseRegular', \"1em\", [\"M11.14 2.53a1.5 1.5 0 0 0-2.28 0l-6.62 7.8A1 1 0 0 0 3 11.98h3V15a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3.02h3a1 1 0 0 0 .76-1.65l-6.62-7.8Zm-1.52.65a.5.5 0 0 1 .76 0l6.62 7.8h-3.5a.5.5 0 0 0-.5.5V15H7v-3.52a.5.5 0 0 0-.5-.5H3l6.62-7.8ZM6.5 17a.5.5 0 1 0 0 1h7a.5.5 0 0 0 0-1h-7Z\"]);\nexport const KeyboardTabFilled = /*#__PURE__*/createFluentIcon('KeyboardTabFilled', \"1em\", [\"M17 4.75a.75.75 0 0 0-1.5 0v10.5a.75.75 0 0 0 1.5 0V4.75Zm-8.47-.53a.75.75 0 0 0-1.06 1.06l3.97 3.97H2.75a.75.75 0 0 0 0 1.5h8.69l-3.97 3.97a.75.75 0 1 0 1.06 1.06l5.25-5.25c.3-.3.3-.77 0-1.06L8.53 4.22Z\"]);\nexport const KeyboardTabRegular = /*#__PURE__*/createFluentIcon('KeyboardTabRegular', \"1em\", [\"M9.35 4.15a.5.5 0 1 0-.7.7l4.64 4.65H3.5a.5.5 0 0 0 0 1h9.8l-4.65 4.65a.5.5 0 0 0 .7.7l5.5-5.5a.5.5 0 0 0 0-.7l-5.5-5.5ZM17 4.5a.5.5 0 0 0-1 0v11a.5.5 0 0 0 1 0v-11Z\"]);\nexport const LaptopFilled = /*#__PURE__*/createFluentIcon('LaptopFilled', \"1em\", [\"M4.5 5C3.67 5 3 5.67 3 6.5v6c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5h-11Zm-2 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const LaptopRegular = /*#__PURE__*/createFluentIcon('LaptopRegular', \"1em\", [\"M3 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Zm2-1a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H5Zm-3 9.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Z\"]);\nexport const LaptopBriefcaseFilled = /*#__PURE__*/createFluentIcon('LaptopBriefcaseFilled', \"1em\", [\"M4.5 5C3.67 5 3 5.67 3 6.5v6c0 .83.67 1.5 1.5 1.5H9v-1.5a2.5 2.5 0 0 1 2.04-2.46A2.5 2.5 0 0 1 13.5 8h2c.56 0 1.08.19 1.5.5v-2c0-.83-.67-1.5-1.5-1.5h-11Zm-2 10H9v1H2.5a.5.5 0 0 1 0-1Zm9.5-4.5v.5h-.5c-.83 0-1.5.67-1.5 1.5v4c0 .83.67 1.5 1.5 1.5h6c.83 0 1.5-.67 1.5-1.5v-4c0-.83-.67-1.5-1.5-1.5H17v-.5c0-.83-.67-1.5-1.5-1.5h-2c-.83 0-1.5.67-1.5 1.5Zm1.5-.5h2c.28 0 .5.22.5.5v.5h-3v-.5c0-.28.22-.5.5-.5Z\"]);\nexport const LaptopBriefcaseRegular = /*#__PURE__*/createFluentIcon('LaptopBriefcaseRegular', \"1em\", [\"M3 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v1.5c-.3-.22-.63-.38-1-.45V7a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h4v1H5a2 2 0 0 1-2-2V7Zm-.5 9H9v-1H2.5a.5.5 0 0 0 0 1Zm9.5-5.5v.5h-.5c-.83 0-1.5.67-1.5 1.5v4c0 .83.67 1.5 1.5 1.5h6c.83 0 1.5-.67 1.5-1.5v-4c0-.83-.67-1.5-1.5-1.5H17v-.5c0-.83-.67-1.5-1.5-1.5h-2c-.83 0-1.5.67-1.5 1.5Zm1.5-.5h2c.28 0 .5.22.5.5v.5h-3v-.5c0-.28.22-.5.5-.5Z\"]);\nexport const LaptopDismissFilled = /*#__PURE__*/createFluentIcon('LaptopDismissFilled', \"1em\", [\"M11 5.5a5.5 5.5 0 0 1-8 4.9v2.1c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5h-4.52l.02.5Zm-9 10c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5ZM5.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm1.85-6.35c.2.2.2.5 0 .7L6.21 5.5l1.14 1.15a.5.5 0 1 1-.7.7L5.5 6.21 4.35 7.35a.5.5 0 1 1-.7-.7L4.79 5.5 3.65 4.35a.5.5 0 1 1 .7-.7L5.5 4.79l1.15-1.14c.2-.2.5-.2.7 0Z\"]);\nexport const LaptopDismissRegular = /*#__PURE__*/createFluentIcon('LaptopDismissRegular', \"1em\", [\"M10.98 6H15a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1.2c-.35-.1-.68-.24-1-.4V12c0 1.1.9 2 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4.02a5.59 5.59 0 0 1 0 1ZM2.5 15a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Zm3-5a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm1.85-6.35c.2.2.2.5 0 .7L6.21 5.5l1.14 1.15a.5.5 0 1 1-.7.7L5.5 6.21 4.35 7.35a.5.5 0 1 1-.7-.7L4.79 5.5 3.65 4.35a.5.5 0 1 1 .7-.7L5.5 4.79l1.15-1.14c.2-.2.5-.2.7 0Z\"]);\nexport const LaptopPersonFilled = /*#__PURE__*/createFluentIcon('LaptopPersonFilled', \"1em\", [\"M4.5 5C3.67 5 3 5.67 3 6.5v6c0 .83.67 1.5 1.5 1.5h7a2.5 2.5 0 0 1 1.77-.99A2.99 2.99 0 0 1 15.5 8c.55 0 1.06.15 1.5.4V6.5c0-.83-.67-1.5-1.5-1.5h-11Zm-2 10h8.55a2.51 2.51 0 0 0-.01 1H2.5a.5.5 0 0 1 0-1Zm15-4a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S12 16.75 12 15.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const LaptopPersonRegular = /*#__PURE__*/createFluentIcon('LaptopPersonRegular', \"1em\", [\"M3 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v1.4c-.3-.17-.64-.3-1-.36V7a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h8.26l.01.01a2.5 2.5 0 0 0-1.77.99H5a2 2 0 0 1-2-2V7Zm8 8.5c0-.17.02-.34.05-.5H2.5a.5.5 0 0 0 0 1h8.54a3.3 3.3 0 0 1-.04-.5Zm6.5-4.5a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S12 16.75 12 15.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const LaptopSettingsFilled = /*#__PURE__*/createFluentIcon('LaptopSettingsFilled', \"1em\", [\"M4.5 5C3.67 5 3 5.67 3 6.5v6c0 .83.67 1.5 1.5 1.5h4.52A5.5 5.5 0 0 1 17 9.6V6.5c0-.83-.67-1.5-1.5-1.5h-11Zm-2 10h6.52c.03.34.1.68.19 1H2.5a.5.5 0 0 1 0-1Zm9.56-3.56a2 2 0 0 1-1.43 2.48l-.46.12a4.74 4.74 0 0 0 .01 1.01l.35.09A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const LaptopSettingsRegular = /*#__PURE__*/createFluentIcon('LaptopSettingsRegular', \"1em\", [\"M3 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v2.6c-.32-.16-.65-.3-1-.4V7a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h4.2c-.08.32-.15.66-.18 1H5a2 2 0 0 1-2-2V7Zm6.2 9c-.08-.32-.15-.66-.18-1H2.5a.5.5 0 0 0 0 1h6.7Zm2.86-4.56a2 2 0 0 1-1.43 2.48l-.46.12a4.74 4.74 0 0 0 .01 1.01l.35.09A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const LaptopShieldFilled = /*#__PURE__*/createFluentIcon('LaptopShieldFilled', \"1em\", [\"M4.5 5C3.67 5 3 5.67 3 6.5v6c0 .83.67 1.5 1.5 1.5h6.55c-.02-.2-.04-.4-.04-.6v-2.53c0-.69.53-1.37 1.34-1.37.74 0 1.46-.3 2.17-1.07.26-.28.61-.43.98-.43s.72.15.98.43c.17.18.35.34.52.48V6.5c0-.83-.67-1.5-1.5-1.5h-11Zm-2 10h8.74c.1.35.21.68.37 1H2.5a.5.5 0 0 1 0-1Zm13 3c-.04 0-.07 0-.1-.02a5.67 5.67 0 0 1-1.77-.98c-.35-.3-.64-.63-.88-1a5.15 5.15 0 0 1-.74-2.64V10.87c0-.2.15-.37.34-.37 1.07 0 2.03-.46 2.9-1.39.07-.07.16-.11.25-.11s.18.04.25.11a3.89 3.89 0 0 0 2.9 1.39c.2 0 .35.17.35.38v2.48a5.15 5.15 0 0 1-.75 2.64c-.24.37-.53.7-.88 1a5.67 5.67 0 0 1-1.87 1Z\"]);\nexport const LaptopShieldRegular = /*#__PURE__*/createFluentIcon('LaptopShieldRegular', \"1em\", [\"M3 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v1.9c-.17-.13-.35-.29-.52-.47-.14-.15-.3-.26-.48-.33V7a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h6v.39l.05.61H5a2 2 0 0 1-2-2V7Zm8.6 9a5.73 5.73 0 0 1-.36-1H2.5a.5.5 0 0 0 0 1h9.1Zm3.9 2c-.04 0-.07 0-.1-.02a5.67 5.67 0 0 1-1.77-.98c-.35-.3-.64-.63-.88-1a5.15 5.15 0 0 1-.74-2.64V10.87c0-.2.15-.37.34-.37 1.07 0 2.03-.46 2.9-1.39.07-.07.16-.11.25-.11s.18.04.25.11a3.89 3.89 0 0 0 2.9 1.39c.2 0 .35.17.35.38v2.48a5.15 5.15 0 0 1-.75 2.64c-.24.37-.53.7-.88 1a5.67 5.67 0 0 1-1.87 1Z\"]);\nexport const LaserToolFilled = /*#__PURE__*/createFluentIcon('LaserToolFilled', \"1em\", [\"M3.5 2a.5.5 0 0 0-.5.5V5a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V2.5a.5.5 0 0 0-.5-.5h-13Z\", \"M10.5 10h4c.83 0 1.5-.67 1.5-1.5V8H4v.5c0 .83.67 1.5 1.5 1.5h4v2.5a.5.5 0 0 0 1 0V10Z\", \"M5 14.5c0-.28.22-.5.5-.5H7a.5.5 0 0 1 0 1H5.5a.5.5 0 0 1-.5-.5Z\", \"M13 14a.5.5 0 0 0 0 1h1.5a.5.5 0 0 0 0-1H13Z\", \"M10.5 14.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\", \"M10.5 16.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2Z\", \"M8.85 15.15c.2.2.2.5 0 .7l-1.5 1.5a.5.5 0 0 1-.7-.7l1.5-1.5c.2-.2.5-.2.7 0Z\", \"M11.15 15.85a.5.5 0 0 1 .7-.7l1.5 1.5a.5.5 0 0 1-.7.7l-1.5-1.5Z\"]);\nexport const LaserToolRegular = /*#__PURE__*/createFluentIcon('LaserToolRegular', \"1em\", [\"M4 2.5a.5.5 0 0 0-1 0V5a2 2 0 0 0 1 1.73v.77C4 8.33 4.67 9 5.5 9h4v3.5a.5.5 0 0 0 1 0V9h4c.83 0 1.5-.67 1.5-1.5v-.77A2 2 0 0 0 17 5V2.5a.5.5 0 0 0-1 0V5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V2.5ZM5 7h10v.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V7Z\", \"M5.5 14a.5.5 0 0 0 0 1H7a.5.5 0 0 0 0-1H5.5Z\", \"M12.5 14.5c0-.28.22-.5.5-.5h1.5a.5.5 0 0 1 0 1H13a.5.5 0 0 1-.5-.5Z\", \"M10 15a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\", \"M10 16c.28 0 .5.22.5.5v2a.5.5 0 0 1-1 0v-2c0-.28.22-.5.5-.5Z\", \"M8.85 15.85a.5.5 0 0 0-.7-.7l-1.5 1.5a.5.5 0 0 0 .7.7l1.5-1.5Z\", \"M11.15 15.15a.5.5 0 0 0 0 .7l1.5 1.5a.5.5 0 0 0 .7-.7l-1.5-1.5a.5.5 0 0 0-.7 0Z\"]);\nexport const LassoFilled = /*#__PURE__*/createFluentIcon('LassoFilled', \"1em\", [\"M8.16 2.21a8.02 8.02 0 0 1 3.68 0 .75.75 0 0 1-.35 1.46 6.52 6.52 0 0 0-2.98 0 .75.75 0 0 1-.35-1.46ZM6.83 3.44c.21.35.1.81-.25 1.03a6.54 6.54 0 0 0-2.11 2.11.75.75 0 0 1-1.28-.79 8.04 8.04 0 0 1 2.6-2.6.75.75 0 0 1 1.04.25Zm6.34 0a.75.75 0 0 1 1.04-.25 8.04 8.04 0 0 1 2.6 2.6.75.75 0 0 1-1.28.8 6.54 6.54 0 0 0-2.11-2.12.75.75 0 0 1-.25-1.03ZM3.11 7.6c.4.1.66.5.56.9a6.52 6.52 0 0 0 0 3 .75.75 0 0 1-1.46.34 8.02 8.02 0 0 1 0-3.68c.1-.4.5-.65.9-.56Zm13.78 0c.4-.1.8.16.9.56a8.02 8.02 0 0 1 0 3.68.75.75 0 0 1-1.46-.35 6.52 6.52 0 0 0 0-2.98c-.1-.4.15-.81.56-.9ZM3.44 13.17a.75.75 0 0 1 1.03.25 6.54 6.54 0 0 0 2.11 2.11.75.75 0 1 1-.79 1.28 8.04 8.04 0 0 1-2.6-2.6.75.75 0 0 1 .25-1.04Zm13.67 1.27a.75.75 0 0 0-1.22-.88l-.02.03a4.79 4.79 0 0 1-.38.46c-.24.28-.6.64-1.02 1.01a6.73 6.73 0 0 0-3.97-1.31 2.6 2.6 0 0 0-1.84.68 2.17 2.17 0 0 0 0 3.14 2.6 2.6 0 0 0 1.84.68c1.53 0 2.87-.58 3.91-1.27a9.4 9.4 0 0 1 1.1 1.31 7.02 7.02 0 0 1 .3.52l.02.02c-.15-.26 0 0 0 0a.75.75 0 0 0 1.34-.67c.19.38 0 0 0 0l-.01-.02-.02-.04a5.61 5.61 0 0 0-.4-.64 9.9 9.9 0 0 0-1.13-1.4 11.79 11.79 0 0 0 1.46-1.57l.03-.04v-.01h.01Zm-6.61.81c1.03 0 1.91.3 2.65.74a5.4 5.4 0 0 1-2.65.76c-.42 0-.67-.13-.8-.26a.67.67 0 0 1 0-.98c.13-.13.38-.26.8-.26Z\"]);\nexport const LassoRegular = /*#__PURE__*/createFluentIcon('LassoRegular', \"1em\", [\"M8.16 2.21a8.02 8.02 0 0 1 3.68 0 .5.5 0 0 1-.23.98 7.02 7.02 0 0 0-3.22 0 .5.5 0 0 1-.23-.98ZM6.48 3.36a.5.5 0 0 1-.16.68 7.04 7.04 0 0 0-2.28 2.28.5.5 0 1 1-.85-.53 8.04 8.04 0 0 1 2.6-2.6.5.5 0 0 1 .7.17Zm7.04 0a.5.5 0 0 1 .69-.17 8.04 8.04 0 0 1 2.6 2.6.5.5 0 0 1-.85.53 7.04 7.04 0 0 0-2.28-2.28.5.5 0 0 1-.16-.68ZM2.82 7.79a.5.5 0 0 1 .37.6 7.02 7.02 0 0 0 0 3.22.5.5 0 0 1-.98.23 8.02 8.02 0 0 1 0-3.68.5.5 0 0 1 .6-.37Zm14.37 0a.5.5 0 0 1 .6.37 8.03 8.03 0 0 1 0 3.68.5.5 0 0 1-.98-.23 7.02 7.02 0 0 0 0-3.22.5.5 0 0 1 .38-.6ZM3.36 13.52a.5.5 0 0 1 .68.16c.58.92 1.36 1.7 2.28 2.28a.5.5 0 1 1-.53.85 8.04 8.04 0 0 1-2.6-2.6.5.5 0 0 1 .17-.7Zm13.57.73a.5.5 0 1 0-.86-.5l-.02.03a3.6 3.6 0 0 1-.32.46 7.8 7.8 0 0 1-1.16 1.22A6.55 6.55 0 0 0 10.5 14c-1.52 0-2.49.9-2.49 2s.97 2 2.49 2a7.1 7.1 0 0 0 4.03-1.26 8.6 8.6 0 0 1 1.5 1.95l.02.03a.5.5 0 1 0 .9-.44s-.13-.24 0 0l-.01-.02a3.37 3.37 0 0 0-.1-.18 9.6 9.6 0 0 0-1.49-1.93l-.02-.03a8.8 8.8 0 0 0 1.6-1.86.9.9 0 0 1 0-.01ZM10.5 15c1.3 0 2.38.46 3.23 1.07-.85.53-1.93.93-3.23.93-1.13 0-1.49-.6-1.49-1s.36-1 1.49-1Z\"]);\nexport const LauncherSettingsFilled = /*#__PURE__*/createFluentIcon('LauncherSettingsFilled', \"1em\", [\"M1.91 7.38A8.5 8.5 0 0 1 3.7 4.3a.5.5 0 0 1 .54-.13l1.92.68a1 1 0 0 0 1.32-.76l.36-2a.5.5 0 0 1 .4-.4 8.53 8.53 0 0 1 3.55 0c.2.04.35.2.38.4l.37 2a1 1 0 0 0 1.32.76l1.92-.68a.5.5 0 0 1 .54.13 8.5 8.5 0 0 1 1.78 3.08c.06.2 0 .4-.15.54l-1.56 1.32a1 1 0 0 0 0 1.52l1.56 1.32a.5.5 0 0 1 .15.54 8.5 8.5 0 0 1-1.78 3.08.5.5 0 0 1-.54.13l-1.92-.68a1 1 0 0 0-1.32.76l-.37 2a.5.5 0 0 1-.38.4 8.53 8.53 0 0 1-3.56 0 .5.5 0 0 1-.39-.4l-.36-2a1 1 0 0 0-1.32-.76l-1.92.68a.5.5 0 0 1-.54-.13 8.5 8.5 0 0 1-1.78-3.08.5.5 0 0 1 .15-.54l1.56-1.32a1 1 0 0 0 0-1.52L2.06 7.92a.5.5 0 0 1-.15-.54Zm6.19.4-1.58 1.9a.5.5 0 0 0 0 .64l1.39 1.67c.1.12.28.12.38 0l.93-1.11a.25.25 0 0 0 0-.32L8.75 10l.6-.72-1.25-1.5ZM8.75 7l2.5 3-2.16 2.59a.25.25 0 0 0 .2.41h1.84c.08 0 .15-.03.2-.09l2.15-2.59a.5.5 0 0 0 0-.64L11.25 7h-2.5Z\"]);\nexport const LauncherSettingsRegular = /*#__PURE__*/createFluentIcon('LauncherSettingsRegular', \"1em\", [\"M1.91 7.38A8.5 8.5 0 0 1 3.7 4.3a.5.5 0 0 1 .54-.13l1.92.68a1 1 0 0 0 1.32-.76l.36-2a.5.5 0 0 1 .4-.4 8.53 8.53 0 0 1 3.55 0c.2.04.35.2.38.4l.37 2a1 1 0 0 0 1.32.76l1.92-.68a.5.5 0 0 1 .54.13 8.5 8.5 0 0 1 1.78 3.08c.06.2 0 .4-.15.54l-1.56 1.32a1 1 0 0 0 0 1.52l1.56 1.32a.5.5 0 0 1 .15.54 8.5 8.5 0 0 1-1.78 3.08.5.5 0 0 1-.54.13l-1.92-.68a1 1 0 0 0-1.32.76l-.37 2a.5.5 0 0 1-.38.4 8.53 8.53 0 0 1-3.56 0 .5.5 0 0 1-.39-.4l-.36-2a1 1 0 0 0-1.32-.76l-1.92.68a.5.5 0 0 1-.54-.13 8.5 8.5 0 0 1-1.78-3.08.5.5 0 0 1 .15-.54l1.56-1.32a1 1 0 0 0 0-1.52L2.06 7.92a.5.5 0 0 1-.15-.54Zm1.06 0 1.3 1.1a2 2 0 0 1 0 3.04l-1.3 1.1c.3.79.72 1.51 1.25 2.16l1.6-.58a2 2 0 0 1 2.63 1.53l.3 1.67a7.56 7.56 0 0 0 2.5 0l.3-1.67a2 2 0 0 1 2.64-1.53l1.6.58a7.5 7.5 0 0 0 1.24-2.16l-1.3-1.1a2 2 0 0 1 0-3.04l1.3-1.1a7.5 7.5 0 0 0-1.25-2.16l-1.6.58a2 2 0 0 1-2.63-1.53l-.3-1.67a7.55 7.55 0 0 0-2.5 0l-.3 1.67A2 2 0 0 1 5.81 5.8l-1.6-.58a7.5 7.5 0 0 0-1.24 2.16Zm5.13.4-1.58 1.9a.5.5 0 0 0 0 .64l1.39 1.67c.1.12.28.12.38 0l.93-1.11a.25.25 0 0 0 0-.32L8.75 10l.6-.72-1.25-1.5ZM8.75 7h2.5l2.23 2.68a.5.5 0 0 1 0 .64l-2.16 2.59a.25.25 0 0 1-.19.09H9.28a.25.25 0 0 1-.19-.41L11.25 10l-2.5-3Z\"]);\nexport const LayerFilled = /*#__PURE__*/createFluentIcon('LayerFilled', \"1em\", [\"M10.5 3.12a1 1 0 0 0-1 0L3.47 6.64a1 1 0 0 0 0 1.72l6.02 3.5a1 1 0 0 0 1 0l6.01-3.5a1 1 0 0 0 0-1.72l-6-3.52ZM3.07 9.65l6.44 3.62a1 1 0 0 0 .98 0l6.44-3.62a1 1 0 0 1-.42 1.26l-6 3.5a1 1 0 0 1-1.01 0l-6.01-3.5a1 1 0 0 1-.42-1.26Zm0 2.45 6.44 3.63a1 1 0 0 0 .98 0l6.44-3.63a1 1 0 0 1-.42 1.26l-6 3.5a1 1 0 0 1-1.01 0l-6.01-3.5a1 1 0 0 1-.42-1.26Z\"]);\nexport const LayerRegular = /*#__PURE__*/createFluentIcon('LayerRegular', \"1em\", [\"M10.5 3.12a1 1 0 0 0-1 0L3.47 6.64a1 1 0 0 0 0 1.72l6.02 3.5a1 1 0 0 0 1 0l6.01-3.5a1 1 0 0 0 0-1.72l-6-3.52Zm-1 1.16a1 1 0 0 1 1 0L16 7.5l-5.5 3.2a1 1 0 0 1-1 0L3.99 7.5l5.5-3.22ZM3.06 9.65l6.44 3.62a1 1 0 0 0 .98 0l6.44-3.62a1 1 0 0 1-.42 1.26l-6 3.5a1 1 0 0 1-1.01 0l-6.01-3.5a1 1 0 0 1-.42-1.26Zm0 2.45 6.44 3.63a1 1 0 0 0 .98 0l6.44-3.63a1 1 0 0 1-.42 1.26l-6 3.5a1 1 0 0 1-1.01 0l-6.01-3.5a1 1 0 0 1-.42-1.26Z\"]);\nexport const LayerDiagonalFilled = /*#__PURE__*/createFluentIcon('LayerDiagonalFilled', \"1em\", [\"M9.45 2.1a1.5 1.5 0 0 1 2.05 1.3L5.42 5.82A2.25 2.25 0 0 0 4 7.91v6c-.97.35-2-.37-2-1.41V6.76a2.5 2.5 0 0 1 1.58-2.33l5.87-2.32Zm3 2a1.5 1.5 0 0 1 2.05 1.4v.1L9.26 7.68A2 2 0 0 0 8 9.54v5.98l-.95.37A1.5 1.5 0 0 1 5 14.5V8.43a2 2 0 0 1 1.26-1.86l6.19-2.45ZM18 7.5v6.62a1.5 1.5 0 0 1-.95 1.4l-6 2.38A1.5 1.5 0 0 1 9 16.5V9.88c0-.62.38-1.17.95-1.4l6-2.37A1.5 1.5 0 0 1 18 7.5Z\"]);\nexport const LayerDiagonalRegular = /*#__PURE__*/createFluentIcon('LayerDiagonalRegular', \"1em\", [\"M10.5 3.5a.5.5 0 0 0-.68-.46L3.95 5.36A1.5 1.5 0 0 0 3 6.76v5.74c0 .35.36.6.68.46l.32-.12v1.07c-.97.35-2-.37-2-1.41V6.75a2.5 2.5 0 0 1 1.58-2.32l5.87-2.32a1.5 1.5 0 0 1 2.05 1.3l-1 .4V3.5Zm3 2a.5.5 0 0 0-.68-.46L6.63 7.49A1 1 0 0 0 6 8.4v6.09c0 .35.36.6.68.46L8 14.44v1.08l-.95.37A1.5 1.5 0 0 1 5 14.5V8.42a2 2 0 0 1 1.26-1.85l6.19-2.45a1.5 1.5 0 0 1 2.05 1.4v.1l-1 .39v-.5Zm2.82 1.54a.5.5 0 0 1 .68.46v6.62a.5.5 0 0 1-.32.47l-6 2.37a.5.5 0 0 1-.68-.46V9.88c0-.2.13-.4.32-.47l6-2.37ZM18 7.5a1.5 1.5 0 0 0-2.05-1.4l-6 2.38A1.5 1.5 0 0 0 9 9.88v6.62a1.5 1.5 0 0 0 2.05 1.4l6-2.38c.57-.23.95-.78.95-1.4V7.5Z\"]);\nexport const LayerDiagonalAddFilled = /*#__PURE__*/createFluentIcon('LayerDiagonalAddFilled', \"1em\", [\"M9.45 2.1a1.5 1.5 0 0 1 2.05 1.3L5.42 5.82A2.25 2.25 0 0 0 4 7.91v6c-.97.35-2-.37-2-1.41V6.75a2.5 2.5 0 0 1 1.58-2.32l5.87-2.32Zm3 2a1.5 1.5 0 0 1 2.05 1.4v.1L9.26 7.68A2 2 0 0 0 8 9.54v5.98l-.95.37A1.5 1.5 0 0 1 5 14.5V8.43a2 2 0 0 1 1.26-1.86l6.19-2.45ZM18 7.5v3.1a5.5 5.5 0 0 0-7.4 7.4A1.5 1.5 0 0 1 9 16.5V9.88c0-.62.38-1.17.95-1.4l6-2.37A1.5 1.5 0 0 1 18 7.5Zm2 8a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V15h-1.5a.5.5 0 0 0 0 1H15v1.5a.5.5 0 0 0 1 0V16h1.5a.5.5 0 0 0 0-1H16v-1.5Z\"]);\nexport const LayerDiagonalAddRegular = /*#__PURE__*/createFluentIcon('LayerDiagonalAddRegular', \"1em\", [\"M10.5 3.5a.5.5 0 0 0-.68-.46L3.95 5.36A1.5 1.5 0 0 0 3 6.76v5.74c0 .35.36.6.68.46l.32-.12v1.07c-.97.35-2-.37-2-1.41V6.75a2.5 2.5 0 0 1 1.58-2.32l5.87-2.32a1.5 1.5 0 0 1 2.05 1.3l-1 .4v-.3Zm3 2a.5.5 0 0 0-.68-.46L6.63 7.49a1 1 0 0 0-.63.93v6.08c0 .35.36.6.68.46L8 14.44v1.08l-.95.37A1.5 1.5 0 0 1 5 14.5V8.43a2 2 0 0 1 1.26-1.86l6.19-2.45a1.5 1.5 0 0 1 2.05 1.4v.1l-1 .39v-.5Zm2.82 1.54a.5.5 0 0 1 .68.46v2.7c.35.1.68.24 1 .4V7.5a1.5 1.5 0 0 0-2.05-1.4l-6 2.38A1.5 1.5 0 0 0 9 9.88v6.62c0 .9.77 1.55 1.6 1.5a5.47 5.47 0 0 1-.43-1.12.5.5 0 0 1-.17-.38V9.88c0-.2.13-.4.32-.47l6-2.37ZM20 15.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V15h-1.5a.5.5 0 0 0 0 1H15v1.5a.5.5 0 0 0 1 0V16h1.5a.5.5 0 0 0 0-1H16v-1.5Z\"]);\nexport const LayerDiagonalPersonFilled = /*#__PURE__*/createFluentIcon('LayerDiagonalPersonFilled', \"1em\", [\"M11.5 3.4a1.5 1.5 0 0 0-2.05-1.3L3.58 4.44A2.5 2.5 0 0 0 2 6.76v5.74a1.5 1.5 0 0 0 2 1.41v-6c0-.93.56-1.76 1.42-2.1l6.08-2.4Zm3 2.1a1.5 1.5 0 0 0-2.05-1.4L6.26 6.57A2 2 0 0 0 5 8.42v6.08a1.5 1.5 0 0 0 2.05 1.4l.95-.38V9.54a2 2 0 0 1 1.26-1.86L14.5 5.6v-.1Zm1.45.6A1.5 1.5 0 0 1 18 7.5v2.84a3 3 0 1 0-4.73 3.67A2.5 2.5 0 0 0 11 16.5c0 .44.09.89.27 1.3l-.22.1A1.5 1.5 0 0 1 9 16.5V9.88c0-.62.38-1.17.95-1.4l6-2.37ZM17.5 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const LayerDiagonalPersonRegular = /*#__PURE__*/createFluentIcon('LayerDiagonalPersonRegular', \"1em\", [\"M9.82 3.04a.5.5 0 0 1 .68.46v.3l1-.4a1.5 1.5 0 0 0-2.05-1.3L3.58 4.44A2.5 2.5 0 0 0 2 6.75v5.75a1.5 1.5 0 0 0 2 1.41v-1.07l-.32.12A.5.5 0 0 1 3 12.5V6.75c0-.61.38-1.16.95-1.39l5.87-2.32Zm3 2a.5.5 0 0 1 .68.46V6l1-.4v-.1a1.5 1.5 0 0 0-2.05-1.4L6.26 6.57A2 2 0 0 0 5 8.4v6.09a1.5 1.5 0 0 0 2.05 1.4l.95-.38v-1.08l-1.32.52A.5.5 0 0 1 6 14.5V8.4a1 1 0 0 1 .63-.92l6.19-2.45ZM17 7.5a.5.5 0 0 0-.68-.46l-6 2.37a.5.5 0 0 0-.32.47v6.62c0 .35.36.6.68.46l.34-.13c.03.33.12.66.25.98l-.22.08A1.5 1.5 0 0 1 9 16.5V9.88c0-.62.38-1.17.95-1.4l6-2.37A1.5 1.5 0 0 1 18 7.5v2.84c-.26-.38-.6-.7-1-.94V7.5Zm.5 4.5a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.24-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const LayerDiagonalSparkleFilled = /*#__PURE__*/createFluentIcon('LayerDiagonalSparkleFilled', \"1em\", [\"m14.88 1.28.35 1.07a2.2 2.2 0 0 0 1.4 1.4l1.07.35h.02a.42.42 0 0 1 0 .8l-1.07.35a2.2 2.2 0 0 0-1.4 1.4l-.35 1.07a.42.42 0 0 1-.8 0l-.35-1.07a2.23 2.23 0 0 0-1.4-1.4l-1.07-.35a.42.42 0 0 1 0-.8l1.07-.35a2.2 2.2 0 0 0 1.38-1.4l.35-1.07a.42.42 0 0 1 .8 0Zm4.9 7.93-.76-.25a1.58 1.58 0 0 1-1-1l-.25-.76a.3.3 0 0 0-.57 0l-.25.77a1.58 1.58 0 0 1-.98 1l-.77.24a.3.3 0 0 0 0 .57l.77.25a1.58 1.58 0 0 1 1 1l.24.77a.3.3 0 0 0 .58 0l.24-.77a1.58 1.58 0 0 1 1-1l.77-.24a.3.3 0 0 0 0-.57h-.02ZM17.5 13c-.27 0-.52-.08-.74-.23a1.4 1.4 0 0 1-.48-.62l-.26-.8a.52.52 0 0 0-.14-.22.64.64 0 0 0-.22-.14l-.77-.25c-.27-.1-.49-.26-.65-.48a1.3 1.3 0 0 1-.12-1.3 1.32 1.32 0 0 1-.45-.22 1.51 1.51 0 0 1-.52-.69l-.24-.74-2.96 1.17A1.5 1.5 0 0 0 9 9.88v6.62a1.5 1.5 0 0 0 2.05 1.4l6-2.38c.57-.23.95-.78.95-1.4v-1.2c-.16.06-.33.08-.5.08Zm-7.24-7.68a1.43 1.43 0 0 1-.16-.29L6.26 6.56A2 2 0 0 0 5 8.42v6.08a1.5 1.5 0 0 0 2.05 1.4l.95-.38V9.54a2 2 0 0 1 1.26-1.86l3.17-1.26a1.2 1.2 0 0 0-.4-.22l-1.06-.35c-.3-.1-.54-.3-.71-.53Zm.7-2.17.46-.15a1.5 1.5 0 0 0-1.97-.9L3.58 4.44A2.5 2.5 0 0 0 2 6.75v5.75a1.5 1.5 0 0 0 2 1.41v-6c0-.93.56-1.76 1.42-2.1l4.68-1.85a1.42 1.42 0 0 1 .85-.8Z\"]);\nexport const LayerDiagonalSparkleRegular = /*#__PURE__*/createFluentIcon('LayerDiagonalSparkleRegular', \"1em\", [\"m14.88 1.28.35 1.07a2.2 2.2 0 0 0 1.4 1.4l1.07.35h.02a.42.42 0 0 1 0 .8l-1.07.35a2.2 2.2 0 0 0-1.4 1.4l-.35 1.07a.42.42 0 0 1-.8 0l-.35-1.07a2.23 2.23 0 0 0-1.4-1.4l-1.07-.35a.42.42 0 0 1 0-.8l1.07-.35a2.2 2.2 0 0 0 1.38-1.4l.35-1.07a.42.42 0 0 1 .8 0Zm4.9 7.93-.76-.25a1.58 1.58 0 0 1-1-1l-.25-.76a.3.3 0 0 0-.57 0l-.25.77a1.58 1.58 0 0 1-.98 1l-.77.24a.3.3 0 0 0 0 .57l.77.25a1.58 1.58 0 0 1 1 1l.24.77a.3.3 0 0 0 .58 0l.24-.77a1.58 1.58 0 0 1 1-1l.77-.24a.3.3 0 0 0 0-.57h-.02ZM17.5 13c-.17 0-.34-.03-.5-.1v1.22a.5.5 0 0 1-.32.47l-6 2.37a.5.5 0 0 1-.68-.46V9.88c0-.2.13-.4.32-.47l2.92-1.16a1.4 1.4 0 0 1-.09-.2l-.24-.74-2.96 1.17A1.5 1.5 0 0 0 9 9.88v6.62a1.5 1.5 0 0 0 2.05 1.4l6-2.38c.57-.23.95-.78.95-1.4v-1.2c-.16.06-.33.08-.5.08Zm-7.24-7.68a1.43 1.43 0 0 1-.16-.29L6.26 6.56A2 2 0 0 0 5 8.42v6.08a1.5 1.5 0 0 0 2.05 1.4l.95-.38v-1.08l-1.32.52A.5.5 0 0 1 6 14.5V8.42a1 1 0 0 1 .63-.93l4.24-1.68c-.26-.1-.46-.28-.61-.5Zm.7-2.17.46-.15a1.5 1.5 0 0 0-1.97-.9L3.58 4.44A2.5 2.5 0 0 0 2 6.75v5.75a1.5 1.5 0 0 0 2 1.41v-1.07l-.32.12A.5.5 0 0 1 3 12.5V6.75c0-.61.38-1.16.95-1.39l5.87-2.32a.5.5 0 0 1 .67.38c.14-.12.3-.2.46-.27Z\"]);\nexport const LayoutCellFourFilled = /*#__PURE__*/createFluentIcon('LayoutCellFourFilled', \"1em\", [\"M14 17h-3.5v-6.5H17V14a3 3 0 0 1-3 3Zm3-7.5h-6.5V3H14a3 3 0 0 1 3 3v3.5Zm-7.5 0V3H6a3 3 0 0 0-3 3v3.5h6.5Zm-6.5 1V14a3 3 0 0 0 3 3h3.5v-6.5H3Z\"]);\nexport const LayoutCellFourRegular = /*#__PURE__*/createFluentIcon('LayoutCellFourRegular', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v3.5h5.5V4H6Zm3.5 6.5H4V14c0 1.1.9 2 2 2h3.5v-5.5Zm1 0V16H14a2 2 0 0 0 2-2v-3.5h-5.5Zm5.5-1V6a2 2 0 0 0-2-2h-3.5v5.5H16Z\"]);\nexport const LayoutCellFourFocusBottomLeftFilled = /*#__PURE__*/createFluentIcon('LayoutCellFourFocusBottomLeftFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h3.5v5.5H4V6Zm12 4.5V14a2 2 0 0 1-2 2h-3.5v-5.5H16Zm-5.5-1V4H14a2 2 0 0 1 2 2v3.5h-5.5Z\"]);\nexport const LayoutCellFourFocusBottomRightFilled = /*#__PURE__*/createFluentIcon('LayoutCellFourFocusBottomRightFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h3.5v5.5H4V6Zm0 4.5h5.5V16H6a2 2 0 0 1-2-2v-3.5Zm6.5-1V4H14a2 2 0 0 1 2 2v3.5h-5.5Z\"]);\nexport const LayoutCellFourFocusTopLeftFilled = /*#__PURE__*/createFluentIcon('LayoutCellFourFocusTopLeftFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm-2 7.5h5.5V16H6a2 2 0 0 1-2-2v-3.5Zm12 0V14a2 2 0 0 1-2 2h-3.5v-5.5H16Zm-5.5-1V4H14a2 2 0 0 1 2 2v3.5h-5.5Z\"]);\nexport const LayoutCellFourFocusTopRightFilled = /*#__PURE__*/createFluentIcon('LayoutCellFourFocusTopRightFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h3.5v5.5H4V6Zm0 4.5h5.5V16H6a2 2 0 0 1-2-2v-3.5Zm12 0V14a2 2 0 0 1-2 2h-3.5v-5.5H16Z\"]);\nexport const LayoutColumnFourFilled = /*#__PURE__*/createFluentIcon('LayoutColumnFourFilled', \"1em\", [\"M14 17a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3v14ZM13 3h-2.5v14H13V3ZM7 3h2.5v14H7V3ZM6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3V3Z\"]);\nexport const LayoutColumnFourRegular = /*#__PURE__*/createFluentIcon('LayoutColumnFourRegular', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2v12a2 2 0 0 1-2-2V6Zm6.5 10V4H13v12h-2.5Zm-1 0H7V4h2.5v12Zm6.5-2a2 2 0 0 1-2 2V4a2 2 0 0 1 2 2v8Z\"]);\nexport const LayoutColumnFourFocusCenterLeftFilled = /*#__PURE__*/createFluentIcon('LayoutColumnFourFocusCenterLeftFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v8c0 1.1.9 2 2 2h1V4H6Zm4 0v12h2.5V4H10Zm4 12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-.5v12h.5Z\"]);\nexport const LayoutColumnFourFocusCenterRightFilled = /*#__PURE__*/createFluentIcon('LayoutColumnFourFocusCenterRightFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v8c0 1.1.9 2 2 2h.5V4H6Zm4 12V4H7.5v12H10Zm3 0h1a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1v12Z\"]);\nexport const LayoutColumnFourFocusLeftFilled = /*#__PURE__*/createFluentIcon('LayoutColumnFourFocusLeftFilled', \"1em\", [\"M14 3a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h8Zm2 3a2 2 0 0 0-2-2h-.5v12h.5a2 2 0 0 0 2-2V6Zm-3.5 10V4H10v12h2.5Zm-6 0H9V4H6.5v12Z\"]);\nexport const LayoutColumnFourFocusRightFilled = /*#__PURE__*/createFluentIcon('LayoutColumnFourFocusRightFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h.5v12H6a2 2 0 0 1-2-2V6Zm3.5 10V4H10v12H7.5Zm6 0H11V4h2.5v12Z\"]);\nexport const LayoutColumnOneThirdLeftFilled = /*#__PURE__*/createFluentIcon('LayoutColumnOneThirdLeftFilled', \"1em\", [\"M8 17h6a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H8v14ZM7 3H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h1V3Z\"]);\nexport const LayoutColumnOneThirdLeftRegular = /*#__PURE__*/createFluentIcon('LayoutColumnOneThirdLeftRegular', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h1v12H6a2 2 0 0 1-2-2V6Zm4 10V4h6a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H8Z\"]);\nexport const LayoutColumnOneThirdRightFilled = /*#__PURE__*/createFluentIcon('LayoutColumnOneThirdRightFilled', \"1em\", [\"M13 17h1a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3h-1v14ZM12 3H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h6V3Z\"]);\nexport const LayoutColumnOneThirdRightRegular = /*#__PURE__*/createFluentIcon('LayoutColumnOneThirdRightRegular', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h6v12H6a2 2 0 0 1-2-2V6Zm9 10V4h1a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-1Z\"]);\nexport const LayoutColumnOneThirdRightHintFilled = /*#__PURE__*/createFluentIcon('LayoutColumnOneThirdRightHintFilled', \"1em\", [\"M3 5.5A2.5 2.5 0 0 1 5.5 3a.5.5 0 0 1 0 1C4.67 4 4 4.67 4 5.5a.5.5 0 0 1-1 0Zm5-2c0-.28.22-.5.5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM3.5 8c.28 0 .5.22.5.5v3a.5.5 0 0 1-1 0v-3c0-.28.22-.5.5-.5Zm0 6c.28 0 .5.22.5.5 0 .83.67 1.5 1.5 1.5a.5.5 0 0 1 0 1A2.5 2.5 0 0 1 3 14.5c0-.28.22-.5.5-.5ZM8 16.5c0-.28.22-.5.5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm4-13c0-.28.22-.5.5-.5H14a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-1.5a.5.5 0 0 1-.5-.5v-13Z\"]);\nexport const LayoutColumnOneThirdRightHintRegular = /*#__PURE__*/createFluentIcon('LayoutColumnOneThirdRightHintRegular', \"1em\", [\"M5.5 3A2.5 2.5 0 0 0 3 5.5a.5.5 0 0 0 1 0C4 4.67 4.67 4 5.5 4a.5.5 0 0 0 0-1Zm3 0a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM4 8.5a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0v-3Zm0 6a.5.5 0 0 0-1 0A2.5 2.5 0 0 0 5.5 17a.5.5 0 0 0 0-1A1.5 1.5 0 0 1 4 14.5ZM8.5 16a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm4-13a.5.5 0 0 0-.5.5v13c0 .28.22.5.5.5H14a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3h-1.5Zm.5 13V4h1a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-1Z\"]);\nexport const LayoutColumnThreeFilled = /*#__PURE__*/createFluentIcon('LayoutColumnThreeFilled', \"1em\", [\"M13 17h1a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3h-1v14ZM12 3H8v14h4V3ZM6 3h1v14H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3Z\"]);\nexport const LayoutColumnThreeRegular = /*#__PURE__*/createFluentIcon('LayoutColumnThreeRegular', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v8c0 1.1.9 2 2 2h1V4H6Zm6 12V4H8v12h4Zm1 0h1a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1v12Z\"]);\nexport const LayoutColumnThreeFocusCenterFilled = /*#__PURE__*/createFluentIcon('LayoutColumnThreeFocusCenterFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h2v12H6a2 2 0 0 1-2-2V6Zm8 10V4h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2Z\"]);\nexport const LayoutColumnThreeFocusLeftFilled = /*#__PURE__*/createFluentIcon('LayoutColumnThreeFocusLeftFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm9 10V4H8v12h4Zm1 0h1a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1v12Z\"]);\nexport const LayoutColumnThreeFocusRightFilled = /*#__PURE__*/createFluentIcon('LayoutColumnThreeFocusRightFilled', \"1em\", [\"M17 6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6ZM8 16V4h4v12H8Zm-1 0H6a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h1v12Z\"]);\nexport const LayoutColumnTwoFilled = /*#__PURE__*/createFluentIcon('LayoutColumnTwoFilled', \"1em\", [\"M10.5 17H14a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3h-3.5v14Zm-1-14H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h3.5V3Z\"]);\nexport const LayoutColumnTwoRegular = /*#__PURE__*/createFluentIcon('LayoutColumnTwoRegular', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h3.5v12H6a2 2 0 0 1-2-2V6Zm6.5 10V4H14a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.5Z\"]);\nexport const LayoutColumnTwoFocusLeftFilled = /*#__PURE__*/createFluentIcon('LayoutColumnTwoFocusLeftFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm4 13V4h4a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-4Z\"]);\nexport const LayoutColumnTwoFocusRightFilled = /*#__PURE__*/createFluentIcon('LayoutColumnTwoFocusRightFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h4v12H6a2 2 0 0 1-2-2V6Z\"]);\nexport const LayoutColumnTwoSplitLeftFilled = /*#__PURE__*/createFluentIcon('LayoutColumnTwoSplitLeftFilled', \"1em\", [\"M14 17h-3.5V3H14a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3ZM6 3h3.5v6.5H3V6a3 3 0 0 1 3-3Zm-3 7.5V14a3 3 0 0 0 3 3h3.5v-6.5H3Z\"]);\nexport const LayoutColumnTwoSplitLeftRegular = /*#__PURE__*/createFluentIcon('LayoutColumnTwoSplitLeftRegular', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v3.5h5.5V4H6Zm3.5 6.5H4V14c0 1.1.9 2 2 2h3.5v-5.5ZM14 16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-3.5v12H14Z\"]);\nexport const LayoutColumnTwoSplitLeftFocusBottomLeftFilled = /*#__PURE__*/createFluentIcon('LayoutColumnTwoSplitLeftFocusBottomLeftFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v4h5.5V4H6Zm8 12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-3.5v12H14Z\"]);\nexport const LayoutColumnTwoSplitLeftFocusRightFilled = /*#__PURE__*/createFluentIcon('LayoutColumnTwoSplitLeftFocusRightFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v3.5h6V4H6Zm4 12v-5.5H4V14c0 1.1.9 2 2 2h4Z\"]);\nexport const LayoutColumnTwoSplitLeftFocusTopLeftFilled = /*#__PURE__*/createFluentIcon('LayoutColumnTwoSplitLeftFocusTopLeftFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm6.5 4H4v4c0 1.1.9 2 2 2h3.5v-6Zm4.5 6a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-3.5v12H14Z\"]);\nexport const LayoutColumnTwoSplitRightFilled = /*#__PURE__*/createFluentIcon('LayoutColumnTwoSplitRightFilled', \"1em\", [\"M14 17h-3.5v-6.5H17V14a3 3 0 0 1-3 3Zm3-7.5h-6.5V3H14a3 3 0 0 1 3 3v3.5ZM6 3h3.5v14H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3Z\"]);\nexport const LayoutColumnTwoSplitRightRegular = /*#__PURE__*/createFluentIcon('LayoutColumnTwoSplitRightRegular', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v8c0 1.1.9 2 2 2h3.5V4H6Zm8 12a2 2 0 0 0 2-2v-3.5h-5.5V16H14Zm2-6.5V6a2 2 0 0 0-2-2h-3.5v5.5H16Z\"]);\nexport const LayoutColumnTwoSplitRightFocusBottomRightFilled = /*#__PURE__*/createFluentIcon('LayoutColumnTwoSplitRightFocusBottomRightFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v8c0 1.1.9 2 2 2h3.5V4H6Zm4.5 6H16V6a2 2 0 0 0-2-2h-3.5v6Z\"]);\nexport const LayoutColumnTwoSplitRightFocusLeftFilled = /*#__PURE__*/createFluentIcon('LayoutColumnTwoSplitRightFocusLeftFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm7-2v5.5h6V6a2 2 0 0 0-2-2h-4Zm0 6.5V16h4a2 2 0 0 0 2-2v-3.5h-6Z\"]);\nexport const LayoutColumnTwoSplitRightFocusTopRightFilled = /*#__PURE__*/createFluentIcon('LayoutColumnTwoSplitRightFocusTopRightFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v8c0 1.1.9 2 2 2h3.5V4H6Zm8 12a2 2 0 0 0 2-2v-4h-5.5v6H14Z\"]);\nexport const LayoutRowFourFilled = /*#__PURE__*/createFluentIcon('LayoutRowFourFilled', \"1em\", [\"M3 14a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3H3Zm14-1v-2.5H3V13h14Zm0-6v2.5H3V7h14Zm0-1a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3h14Z\"]);\nexport const LayoutRowFourRegular = /*#__PURE__*/createFluentIcon('LayoutRowFourRegular', \"1em\", [\"M17 6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6Zm-3-2a2 2 0 0 1 2 2H4c0-1.1.9-2 2-2h8ZM4 10.5h12V13H4v-2.5Zm0-1V7h12v2.5H4ZM6 16a2 2 0 0 1-2-2h12a2 2 0 0 1-2 2H6Z\"]);\nexport const LayoutRowFourFocusBottomFilled = /*#__PURE__*/createFluentIcon('LayoutRowFourFocusBottomFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v.5h12V6a2 2 0 0 0-2-2H6Zm10 3.5H4V10h12V7.5Zm0 6V11H4v2.5h12Z\"]);\nexport const LayoutRowFourFocusCenterBottomFilled = /*#__PURE__*/createFluentIcon('LayoutRowFourFocusCenterBottomFilled', \"1em\", [\"M14 17a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8Zm2-3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-1h12v1Zm0-4H4V7.5h12V10ZM4 6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v.5H4V6Z\"]);\nexport const LayoutRowFourFocusCenterTopFilled = /*#__PURE__*/createFluentIcon('LayoutRowFourFocusCenterTopFilled', \"1em\", [\"M14 3a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h8Zm2 3a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v1h12V6Zm0 4H4v2.5h12V10ZM4 14c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-.5H4v.5Z\"]);\nexport const LayoutRowFourFocusTopFilled = /*#__PURE__*/createFluentIcon('LayoutRowFourFocusTopFilled', \"1em\", [\"M3 14a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v8Zm3 2a2 2 0 0 1-2-2v-.5h12v.5a2 2 0 0 1-2 2H6Zm10-3.5H4V10h12v2.5Zm0-6V9H4V6.5h12Z\"]);\nexport const LayoutRowThreeFilled = /*#__PURE__*/createFluentIcon('LayoutRowThreeFilled', \"1em\", [\"M17 7V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v1h14ZM3 8v4h14V8H3Zm0 6v-1h14v1a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3Z\"]);\nexport const LayoutRowThreeRegular = /*#__PURE__*/createFluentIcon('LayoutRowThreeRegular', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v1h12V6a2 2 0 0 0-2-2H6Zm10 4H4v4h12V8ZM4 14c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-1H4v1Z\"]);\nexport const LayoutRowThreeFocusBottomFilled = /*#__PURE__*/createFluentIcon('LayoutRowThreeFocusBottomFilled', \"1em\", [\"M6 17a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6Zm10-9H4v4h12V8Zm0-1V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v1h12Z\"]);\nexport const LayoutRowThreeFocusCenterFilled = /*#__PURE__*/createFluentIcon('LayoutRowThreeFocusCenterFilled', \"1em\", [\"M3 14a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v8Zm3 2a2 2 0 0 1-2-2v-2h12v2a2 2 0 0 1-2 2H6Zm10-8H4V6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v2Z\"]);\nexport const LayoutRowThreeFocusTopFilled = /*#__PURE__*/createFluentIcon('LayoutRowThreeFocusTopFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm10 9H4V8h12v4Zm0 1v1a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-1h12Z\"]);\nexport const LayoutRowTwoFilled = /*#__PURE__*/createFluentIcon('LayoutRowTwoFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v3.5H3V6Zm0 4.5V14a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3v-3.5H3Z\"]);\nexport const LayoutRowTwoRegular = /*#__PURE__*/createFluentIcon('LayoutRowTwoRegular', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v3.5H4V6Zm0 4.5h12V14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3.5Z\"]);\nexport const LayoutRowTwoFocusBottomFilled = /*#__PURE__*/createFluentIcon('LayoutRowTwoFocusBottomFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v4H4V6Z\"]);\nexport const LayoutRowTwoFocusTopFilled = /*#__PURE__*/createFluentIcon('LayoutRowTwoFocusTopFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm-2 7h12v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4Z\"]);\nexport const LayoutRowTwoFocusTopSettingsFilled = /*#__PURE__*/createFluentIcon('LayoutRowTwoFocusTopSettingsFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h3.6c-.16-.32-.3-.65-.4-1H6a2 2 0 0 1-2-2v-4h7.34A5.47 5.47 0 0 1 17 9.6V6a3 3 0 0 0-3-3H6Zm6.06 8.44a2 2 0 0 1-1.43 2.48l-.46.12a4.73 4.73 0 0 0 .01 1.01l.35.09A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const LayoutRowTwoSettingsFilled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSettingsFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v3.5h-.2a5.48 5.48 0 0 0-4.6 0H3V6Zm6 8.5c0-1.58.66-3 1.73-4H3V14a3 3 0 0 0 3 3h3.6c-.38-.75-.6-1.6-.6-2.5Zm3.06-3.06a2 2 0 0 1-1.43 2.48l-.46.12a4.73 4.73 0 0 0 .01 1.01l.35.09A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const LayoutRowTwoSettingsRegular = /*#__PURE__*/createFluentIcon('LayoutRowTwoSettingsRegular', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h3.6c-.16-.32-.3-.65-.4-1H6a2 2 0 0 1-2-2v-3.5h6.73c.43-.4.93-.75 1.48-1H4V6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v3.2c.35.1.68.24 1 .4V6a3 3 0 0 0-3-3H6Zm6.06 8.44a2 2 0 0 1-1.43 2.48l-.46.12a4.73 4.73 0 0 0 .01 1.01l.35.09A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const LayoutRowTwoSplitBottomFilled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v3.5h14V6a3 3 0 0 0-3-3H6Zm11 7.5h-6.5V17H14a3 3 0 0 0 3-3v-3.5Zm-7.5 0H3V14a3 3 0 0 0 3 3h3.5v-6.5Z\"]);\nexport const LayoutRowTwoSplitBottomRegular = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomRegular', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v3.5h12V6a2 2 0 0 0-2-2H6Zm10 6.5h-5.5V16H14a2 2 0 0 0 2-2v-3.5Zm-6.5 0H4V14c0 1.1.9 2 2 2h3.5v-5.5Z\"]);\nexport const LayoutRowTwoSplitBottomFocusBottomLeftFilled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomFocusBottomLeftFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v3.5H4V6Zm6 4.5h6V14a2 2 0 0 1-2 2h-4v-5.5Z\"]);\nexport const LayoutRowTwoSplitBottomFocusBottomRightFilled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomFocusBottomRightFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v3.5H4V6Zm0 4.5h6V16H6a2 2 0 0 1-2-2v-3.5Z\"]);\nexport const LayoutRowTwoSplitBottomFocusTopFilled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitBottomFocusTopFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm13 4h-5.5v6H14a2 2 0 0 0 2-2v-4Zm-6.5 0H4v4c0 1.1.9 2 2 2h3.5v-6Z\"]);\nexport const LayoutRowTwoSplitTopFilled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopFilled', \"1em\", [\"M9.5 9.5V3H6a3 3 0 0 0-3 3v3.5h6.5Zm1 0H17V6a3 3 0 0 0-3-3h-3.5v6.5Zm6.5 1H3V14a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3v-3.5Z\"]);\nexport const LayoutRowTwoSplitTopRegular = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopRegular', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v3.5h5.5V4H6Zm4.5 5.5H16V6a2 2 0 0 0-2-2h-3.5v5.5Zm5.5 1H4V14c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-3.5Z\"]);\nexport const LayoutRowTwoSplitTopFocusBottomFilled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopFocusBottomFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-2a2 2 0 0 0-2 2v4h5.5V4H6Zm4.5 0v6H16V6a2 2 0 0 0-2-2h-3.5Z\"]);\nexport const LayoutRowTwoSplitTopFocusTopLeftFilled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopFocusTopLeftFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm4 6.5V4h4a2 2 0 0 1 2 2v3.5h-6Zm6 1V14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3.5h12Z\"]);\nexport const LayoutRowTwoSplitTopFocusTopRightFilled = /*#__PURE__*/createFluentIcon('LayoutRowTwoSplitTopFocusTopRightFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h4v5.5H4V6Zm0 4.5h12V14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3.5Z\"]);\nexport const LeafOneFilled = /*#__PURE__*/createFluentIcon('LeafOneFilled', \"1em\", [\"M11.07 2.46a1.5 1.5 0 0 0-2.14 0l-3.24 3.3a6.03 6.03 0 0 0 .06 8.5v.01a5.98 5.98 0 0 0 3.75 1.74v1.49a.5.5 0 1 0 1 0V16c1.36-.1 2.7-.68 3.74-1.73h.01l.01-.02a6.03 6.03 0 0 0 .05-8.48l-3.24-3.3ZM10.5 15c-.33.03-.67.03-1 0V9.5a.5.5 0 1 1 1 0V15Z\"]);\nexport const LeafOneRegular = /*#__PURE__*/createFluentIcon('LeafOneRegular', \"1em\", [\"m11.07 2.46 3.24 3.3A6.03 6.03 0 0 1 10.5 16v1.5a.5.5 0 1 1-1 0V16A6.03 6.03 0 0 1 5.69 5.76l3.24-3.3a1.5 1.5 0 0 1 2.14 0Zm-.57 12.53a5.03 5.03 0 0 0 3.1-8.52l-3.24-3.31a.5.5 0 0 0-.72 0L6.4 6.46A5.03 5.03 0 0 0 9.5 15v-5.5a.5.5 0 1 1 1 0V15Z\"]);\nexport const LeafThreeFilled = /*#__PURE__*/createFluentIcon('LeafThreeFilled', \"1em\", [\"M11 2a5 5 0 0 0-4 2 6 6 0 0 1 5.23 3.05c.25-.03.5-.05.77-.05h3V3.34C16 2.6 15.4 2 14.66 2H11ZM7.34 14.99 7 15a5 5 0 0 1-5-5V6.34C2 5.6 2.6 5 3.34 5H7a5 5 0 0 1 4.2 2.28 6.02 6.02 0 0 0-3.43 2.78L6.35 8.65a.5.5 0 1 0-.7.7l1.68 1.69a6 6 0 0 0 0 3.95ZM8 13a5 5 0 0 1 5-5h3.66C17.4 8 18 8.6 18 9.34V13a5 5 0 0 1-8.16 3.87l-.99.98a.5.5 0 0 1-.7-.7l.98-.99A4.98 4.98 0 0 1 8 13Zm2.55 3.16 3.3-3.3a.5.5 0 0 0-.7-.71l-3.31 3.3c.2.27.44.5.7.71Z\"]);\nexport const LeafThreeRegular = /*#__PURE__*/createFluentIcon('LeafThreeRegular', \"1em\", [\"M16 7c0 .34-.03.68-.1 1h.76C17.4 8 18 8.6 18 9.34V13a5 5 0 0 1-8.16 3.87l-.99.98a.5.5 0 0 1-.7-.7l.98-.99a5 5 0 0 1-.79-1.34A5 5 0 0 1 2 10V6.34C2 5.6 2.6 5 3.34 5h3.08A5 5 0 0 1 11 2h3.66C15.4 2 16 2.6 16 3.34V7ZM7.52 5.03a5 5 0 0 1 4.14 3.15A5 5 0 0 1 13 8h1.87A4 4 0 0 0 15 7V3.34a.34.34 0 0 0-.34-.34H11a4 4 0 0 0-3.48 2.03Zm3.03 11.13A4 4 0 0 0 17 13V9.34a.34.34 0 0 0-.34-.34H13a4 4 0 0 0-3.16 6.45l3.3-3.3a.5.5 0 0 1 .71.7l-3.3 3.31ZM8 13c0-.4.05-.79.13-1.16L5.65 9.35a.5.5 0 1 1 .7-.7l2.16 2.15a5.02 5.02 0 0 1 2.22-2.25A4 4 0 0 0 7 6H3.34a.34.34 0 0 0-.34.34V10a4 4 0 0 0 5.07 3.85A5.03 5.03 0 0 1 8 13Z\"]);\nexport const LeafTwoFilled = /*#__PURE__*/createFluentIcon('LeafTwoFilled', \"1em\", [\"M3.32 3C2.59 3 2 3.59 2 4.32V8a5 5 0 0 0 4.49 4.97 6.48 6.48 0 0 1-.05-4.82l-1.3-1.3a.5.5 0 1 1 .71-.7L6.9 7.19a6.52 6.52 0 0 1 3.51-2.85A4.98 4.98 0 0 0 7 3H3.32Zm4.95 11.02-2.13 2.14a.5.5 0 1 0 .7.7l2.14-2.13A5.5 5.5 0 0 0 18 10.5V6.4c0-.77-.63-1.4-1.4-1.4h-4.1a5.5 5.5 0 0 0-4.23 9.02Zm4.58-3.17L9.7 14.02c-.26-.21-.5-.45-.7-.71l3.16-3.16a.5.5 0 0 1 .7.7Z\"]);\nexport const LeafTwoRegular = /*#__PURE__*/createFluentIcon('LeafTwoRegular', \"1em\", [\"M2 4.32V8a5 5 0 0 0 5.58 4.97c.2.37.42.73.7 1.05l-2.14 2.14a.5.5 0 0 0 .7.7l2.14-2.13A5.5 5.5 0 0 0 18 10.5V6.4c0-.77-.63-1.4-1.4-1.4h-4.1c-.47 0-.94.06-1.38.17A5 5 0 0 0 7 3H3.32C2.59 3 2 3.59 2 4.32Zm7.7 9.7 3.15-3.17a.5.5 0 0 0-.7-.7L8.98 13.3A4.5 4.5 0 0 1 12.5 6l4.1-.01c.22 0 .4.18.4.4v4.1a4.5 4.5 0 0 1-7.3 3.52ZM7 4a4 4 0 0 1 3.15 1.53 5.52 5.52 0 0 0-2.51 2.4L5.85 6.15a.5.5 0 1 0-.7.7l2.08 2.08A5.5 5.5 0 0 0 7.2 12 4 4 0 0 1 3 8V4.32c0-.18.14-.32.32-.32H7Z\"]);\nexport const LearningAppFilled = /*#__PURE__*/createFluentIcon('LearningAppFilled', \"1em\", [\"M6 2a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h4.26a5.5 5.5 0 0 1-.66-1H6a1 1 0 0 1-1-1h4.2A5.5 5.5 0 0 1 16 9.2V4a2 2 0 0 0-2-2H6Zm.75 2.5h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.98-1.97a.45.45 0 0 0-.45-.03.49.49 0 0 0-.15.1.51.51 0 0 0-.14.36v3.08a.5.5 0 0 0 .14.35.45.45 0 0 0 .48.13.52.52 0 0 0 .13-.06l2.3-1.57c.06-.04.12-.1.16-.18a.54.54 0 0 0 0-.49.49.49 0 0 0-.17-.18l-2.3-1.5Z\"]);\nexport const LearningAppRegular = /*#__PURE__*/createFluentIcon('LearningAppRegular', \"1em\", [\"M6 3h8a1 1 0 0 1 1 1v5.02c.34.03.68.1 1 .19V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h4.26a5.5 5.5 0 0 1-.66-1H6a1 1 0 0 1-1-1h4.2c-.08-.32-.15-.66-.18-1H5V4a1 1 0 0 1 1-1Zm1 1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H7Zm6 1v1H7V5h6Zm6 9.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.98-1.97a.45.45 0 0 0-.45-.03.49.49 0 0 0-.15.1.51.51 0 0 0-.14.36v3.08a.5.5 0 0 0 .14.35.45.45 0 0 0 .48.13.52.52 0 0 0 .13-.06l2.3-1.57c.06-.04.12-.1.16-.18a.54.54 0 0 0 0-.49.49.49 0 0 0-.17-.18l-2.3-1.5Z\"]);\nexport const LibraryColor = /*#__PURE__*/createFluentIcon('LibraryColor', \"1em\", [\"M2 3.5C2 2.67 2.67 2 3.5 2h1C5.33 2 6 2.67 6 3.5v12.98c0 .83-.67 1.5-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5V3.5Z\", \"M7 3.5C7 2.67 7.67 2 8.5 2h1c.83 0 1.5.67 1.5 1.5v12.98c0 .83-.67 1.5-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5V3.5Z\", \"M15.72 6.16a1.5 1.5 0 0 0-1.87-1.1l-.75.2A1.5 1.5 0 0 0 12.04 7l2 9.8c.18.84 1.02 1.36 1.85 1.15l.98-.25c.79-.2 1.27-1 1.1-1.78l-2.25-9.76Z\", \"M6 7H2V5h4v2Z\", \"m12.32 8.36 3.73-.76.45 1.95-3.78.76-.4-1.95Z\", \"M7 7h4V5H7v2Z\"]);\nexport const LibraryFilled = /*#__PURE__*/createFluentIcon('LibraryFilled', \"1em\", [\"M3.5 2C2.67 2 2 2.67 2 3.5v12.98c0 .83.67 1.5 1.5 1.5h1c.83 0 1.5-.67 1.5-1.5V3.5C6 2.67 5.33 2 4.5 2h-1Zm5 0C7.67 2 7 2.67 7 3.5v12.98c0 .83.67 1.5 1.5 1.5h1c.83 0 1.5-.67 1.5-1.5V3.5c0-.83-.67-1.5-1.5-1.5h-1Zm7.22 4.16a1.5 1.5 0 0 0-1.87-1.1l-.75.2A1.5 1.5 0 0 0 12.04 7l2 9.8c.18.84 1.02 1.36 1.84 1.15l.99-.25c.79-.2 1.27-1 1.1-1.78l-2.25-9.76Z\"]);\nexport const LibraryRegular = /*#__PURE__*/createFluentIcon('LibraryRegular', \"1em\", [\"M2 3.5C2 2.67 2.67 2 3.5 2h1C5.33 2 6 2.67 6 3.5v12.98c0 .83-.67 1.5-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5V3.5ZM3.5 3a.5.5 0 0 0-.5.5v12.98c0 .28.22.5.5.5h1a.5.5 0 0 0 .5-.5V3.5a.5.5 0 0 0-.5-.5h-1Zm3.5.5C7 2.67 7.67 2 8.5 2h1c.83 0 1.5.67 1.5 1.5v12.98c0 .83-.67 1.5-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5V3.5ZM8.5 3a.5.5 0 0 0-.5.5v12.98c0 .28.22.5.5.5h1a.5.5 0 0 0 .5-.5V3.5a.5.5 0 0 0-.5-.5h-1Zm7.22 3.16a1.5 1.5 0 0 0-1.87-1.1l-.75.2A1.5 1.5 0 0 0 12.04 7l2 9.8c.18.84 1.02 1.36 1.84 1.15l.99-.25c.79-.2 1.27-1 1.1-1.78l-2.25-9.76ZM14.12 6a.5.5 0 0 1 .62.37L17 16.14a.5.5 0 0 1-.37.6l-.98.25a.5.5 0 0 1-.61-.39l-2-9.8a.5.5 0 0 1 .35-.58l.74-.2Z\"]);\nexport const LightbulbFilled = /*#__PURE__*/createFluentIcon('LightbulbFilled', \"1em\", [\"m13.07 15-.38 1.6a1.84 1.84 0 0 1-1.67 1.4H9.13c-.82 0-1.54-.52-1.78-1.26l-.04-.14-.38-1.6h6.14ZM10 2c3.31 0 6 2.6 6 5.8 0 1.68-.75 3.22-2.2 4.6a.6.6 0 0 0-.15.2l-.02.09L13.3 14H6.7l-.31-1.31a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10 2Z\"]);\nexport const LightbulbRegular = /*#__PURE__*/createFluentIcon('LightbulbRegular', \"1em\", [\"M10 2c3.31 0 6 2.6 6 5.8 0 1.68-.75 3.22-2.2 4.6a.6.6 0 0 0-.15.2l-.02.09-.94 3.92a1.84 1.84 0 0 1-1.67 1.38l-.15.01H9.13c-.82 0-1.54-.52-1.78-1.26l-.04-.14-.93-3.91a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10 2Zm2.04 13H7.96l.31 1.33.03.1c.1.3.38.52.71.56l.12.01h1.81a.86.86 0 0 0 .75-.53l.03-.1.32-1.37ZM10 3a4.92 4.92 0 0 0-4.98 4.41L5 7.63V8c.06 1.3.68 2.52 1.9 3.67.18.17.32.4.4.64l.05.15.37 1.54h4.57l.38-1.61.05-.16c.09-.21.22-.4.39-.56C14.38 10.47 15 9.18 15 7.8A4.9 4.9 0 0 0 10 3Z\"]);\nexport const LightbulbCheckmarkFilled = /*#__PURE__*/createFluentIcon('LightbulbCheckmarkFilled', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.15-1.85a.5.5 0 0 0-.7 0L13.5 6.29l-.65-.64a.5.5 0 1 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0 0-.7ZM14.5 11c.17 0 .34 0 .5-.02a8.2 8.2 0 0 1-1.2 1.41.6.6 0 0 0-.15.22l-.03.08-.3 1.31H6.68l-.31-1.31a.6.6 0 0 0-.18-.3A6.32 6.32 0 0 1 4 8.04V7.6A5.91 5.91 0 0 1 10.25 2a5.5 5.5 0 0 0 4.25 9Zm-1.43 4-.38 1.6a1.84 1.84 0 0 1-1.67 1.4h-1.9c-.81 0-1.53-.52-1.77-1.26l-.04-.14-.38-1.6h6.14Z\"]);\nexport const LightbulbCheckmarkRegular = /*#__PURE__*/createFluentIcon('LightbulbCheckmarkRegular', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.15-1.85a.5.5 0 0 0-.7 0L13.5 6.29l-.65-.64a.5.5 0 0 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0 0-.7Zm-1.84 7.33a8.2 8.2 0 0 1-1.21 1.41.6.6 0 0 0-.15.22l-.02.08-.94 3.92a1.84 1.84 0 0 1-1.67 1.38l-1.9.01c-.81 0-1.53-.52-1.77-1.26l-.04-.14-.93-3.91a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10.25 2a5.5 5.5 0 0 0-.66 1.02 4.9 4.9 0 0 0-4.57 4.4l-.02.2V8c.06 1.3.68 2.52 1.9 3.67.18.17.32.4.4.64l.05.15.37 1.54h4.57l.38-1.61.05-.16c.09-.21.22-.4.39-.56.25-.24.47-.48.67-.72.4.06.82.06 1.23.03ZM7.96 15l.31 1.33.03.1c.1.3.38.52.71.56l.12.01h1.81a.86.86 0 0 0 .75-.53l.03-.1.32-1.37H7.96Z\"]);\nexport const LightbulbCircleFilled = /*#__PURE__*/createFluentIcon('LightbulbCircleFilled', \"1em\", [\"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM6.5 8.5a3.5 3.5 0 1 1 5.59 2.81c-.19.14-.29.29-.31.43l-.05.26H8.27l-.05-.26c-.02-.14-.12-.3-.3-.43A3.5 3.5 0 0 1 6.5 8.5Zm2.18 5.68L8.46 13h3.08l-.22 1.18a1 1 0 0 1-.98.82h-.68a1 1 0 0 1-.98-.82Z\"]);\nexport const LightbulbCircleRegular = /*#__PURE__*/createFluentIcon('LightbulbCircleRegular', \"1em\", [\"M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8-4a2.75 2.75 0 0 0-1.69 4.92c.2.15.35.37.4.63l.08.45h2.42l.08-.45c.05-.26.2-.48.4-.63A2.74 2.74 0 0 0 10 6Zm1.02 7H8.98l.1.6c.05.23.26.4.5.4h.84a.5.5 0 0 0 .5-.4l.1-.6ZM6.25 8.75a3.75 3.75 0 1 1 6.03 2.98l-.39 2.05A1.5 1.5 0 0 1 10.42 15h-.84a1.5 1.5 0 0 1-1.47-1.22l-.39-2.04c0-.01 0-.02-.02-.03a3.74 3.74 0 0 1-1.45-2.96Z\"]);\nexport const LightbulbFilamentFilled = /*#__PURE__*/createFluentIcon('LightbulbFilamentFilled', \"1em\", [\"m13.07 15-.38 1.6a1.84 1.84 0 0 1-1.67 1.4H9.13c-.82 0-1.54-.52-1.78-1.26l-.04-.14-.38-1.6h6.14ZM10 2c3.31 0 6 2.6 6 5.8 0 1.68-.75 3.22-2.2 4.6a.6.6 0 0 0-.15.2l-.02.09L13.3 14H10.5V9.5a.5.5 0 1 0-1 0V14H6.69l-.31-1.31a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10 2Zm-.5 4.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm3.35.94a.5.5 0 0 0-.7 0l-.71.71a.5.5 0 0 0 .7.7l.71-.7a.5.5 0 0 0 0-.7Zm-5 0a.5.5 0 1 0-.7.71l.7.7a.5.5 0 1 0 .71-.7l-.7-.7Z\"]);\nexport const LightbulbFilamentRegular = /*#__PURE__*/createFluentIcon('LightbulbFilamentRegular', \"1em\", [\"M9.5 6.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm3.35.94a.5.5 0 0 0-.7 0l-.71.71a.5.5 0 0 0 .7.7l.71-.7a.5.5 0 0 0 0-.7Zm-5 0a.5.5 0 1 0-.7.71l.7.7a.5.5 0 1 0 .71-.7l-.7-.7ZM10 2c3.31 0 6 2.6 6 5.8 0 1.68-.75 3.22-2.2 4.6a.6.6 0 0 0-.15.2l-.02.09-.94 3.92a1.84 1.84 0 0 1-1.67 1.38l-.15.01H9.13c-.82 0-1.54-.52-1.78-1.26l-.04-.14-.93-3.91a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10 2ZM7.96 15l.31 1.33.03.1c.1.3.38.52.71.56l.12.01h1.81a.86.86 0 0 0 .75-.53l.03-.1.32-1.37H7.96ZM10 3a4.92 4.92 0 0 0-4.98 4.41L5 7.63V8c.06 1.3.68 2.52 1.9 3.67.18.17.32.4.4.64l.05.15.37 1.54H9.5V9.5a.5.5 0 1 1 1 0V14h1.79l.38-1.61.05-.16c.09-.21.22-.4.39-.56C14.38 10.47 15 9.18 15 7.8A4.9 4.9 0 0 0 10 3Z\"]);\nexport const LightbulbPersonFilled = /*#__PURE__*/createFluentIcon('LightbulbPersonFilled', \"1em\", [\"m12.83 16-.14.6a1.84 1.84 0 0 1-1.67 1.4H9.13c-.82 0-1.54-.52-1.78-1.26l-.04-.14-.14-.6h5.66Zm.24-1 .2-.79a4.98 4.98 0 0 0-6.53 0l.19.79h6.14ZM10 12c-1.31 0-2.53.42-3.52 1.14l-.1-.45a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10 2c3.31 0 6 2.6 6 5.8 0 1.68-.75 3.22-2.2 4.6a.6.6 0 0 0-.15.2l-.02.09-.11.45A5.97 5.97 0 0 0 10 12ZM8.5 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM10 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\"]);\nexport const LightbulbPersonRegular = /*#__PURE__*/createFluentIcon('LightbulbPersonRegular', \"1em\", [\"M10 2c3.31 0 6 2.6 6 5.8 0 1.68-.75 3.22-2.2 4.6a.6.6 0 0 0-.15.2l-.02.09-.94 3.92a1.84 1.84 0 0 1-1.67 1.38l-.15.01H9.13c-.82 0-1.54-.52-1.78-1.26l-.04-.14-.93-3.91a.6.6 0 0 0-.17-.3A6.32 6.32 0 0 1 4 8.04L4 7.8v-.2A5.91 5.91 0 0 1 10 2ZM7.96 15l.31 1.33.03.1c.1.3.38.52.71.56l.12.01h1.81a.86.86 0 0 0 .75-.53l.03-.1.32-1.37H7.96Zm4.53-1.84a4.98 4.98 0 0 0-4.97 0l.2.84h4.57l.2-.84Zm.26-1c.09-.18.2-.35.36-.5C14.38 10.47 15 9.19 15 7.8A4.9 4.9 0 0 0 10 3a4.92 4.92 0 0 0-4.98 4.41L5 7.63V8c.06 1.3.68 2.52 1.9 3.67.14.14.26.3.35.5a5.97 5.97 0 0 1 5.5 0ZM8.5 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM10 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\"]);\nexport const LikertFilled = /*#__PURE__*/createFluentIcon('LikertFilled', \"1em\", [\"M6 16v-5.5H2V13a3 3 0 0 0 3 3h1Zm1 0h8a3 3 0 0 0 3-3v-2.5H7V16Zm2-2a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Zm2.25 0a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Zm2.25 0a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Zm2.25 0a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM18 9.5V7a3 3 0 0 0-3-3H7v5.5h11ZM9.75 6.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM6 4H5a3 3 0 0 0-3 3v2.5h4V4Z\"]);\nexport const LikertRegular = /*#__PURE__*/createFluentIcon('LikertRegular', \"1em\", [\"M9.5 12.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM8.75 8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM11 8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm2.25 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm2.25 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM2 7a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7Zm3-2a2 2 0 0 0-2 2v2.5h3V5H5Zm1 5.5H3V13c0 1.1.9 2 2 2h1v-4.5Zm1 0V15h8a2 2 0 0 0 2-2v-2.5H7Zm10-1V7a2 2 0 0 0-2-2H7v4.5h10Z\"]);\nexport const LineFilled = /*#__PURE__*/createFluentIcon('LineFilled', \"1em\", [\"M17.78 2.22c.3.3.3.77 0 1.06l-14.5 14.5a.75.75 0 0 1-1.06-1.06l14.5-14.5c.3-.3.77-.3 1.06 0Z\"]);\nexport const LineRegular = /*#__PURE__*/createFluentIcon('LineRegular', \"1em\", [\"M17.85 2.15c.2.2.2.51 0 .7l-15 15a.5.5 0 0 1-.7-.7l15-15c.2-.2.5-.2.7 0Z\"]);\nexport const LineDashesFilled = /*#__PURE__*/createFluentIcon('LineDashesFilled', \"1em\", [\"M16.78 4.28a.75.75 0 0 0-1.06-1.06l-.5.5a.75.75 0 0 0 1.06 1.06l.5-.5Zm-3 1.94c.3.3.3.77 0 1.06l-.5.5a.75.75 0 1 1-1.06-1.06l.5-.5c.3-.3.77-.3 1.06 0Zm-3 3c.3.3.3.77 0 1.06l-.5.5a.75.75 0 1 1-1.06-1.06l.5-.5c.3-.3.77-.3 1.06 0Zm-3 3c.3.3.3.77 0 1.06l-.5.5a.75.75 0 0 1-1.06-1.06l.5-.5c.3-.3.77-.3 1.06 0Zm-3 4.06a.75.75 0 1 0-1.06-1.06l-.5.5a.75.75 0 1 0 1.06 1.06l.5-.5Z\"]);\nexport const LineDashesRegular = /*#__PURE__*/createFluentIcon('LineDashesRegular', \"1em\", [\"M16.85 3.85a.5.5 0 0 0-.7-.7l-1 1a.5.5 0 0 0 .7.7l1-1Zm-3 2.3c.2.2.2.5 0 .7l-1 1a.5.5 0 0 1-.7-.7l1-1c.2-.2.5-.2.7 0Zm-3 3c.2.2.2.5 0 .7l-1 1a.5.5 0 0 1-.7-.7l1-1c.2-.2.5-.2.7 0Zm-3 3c.2.2.2.5 0 .7l-1 1a.5.5 0 0 1-.7-.7l1-1c.2-.2.5-.2.7 0Zm-3 3.7a.5.5 0 0 0-.7-.7l-1 1a.5.5 0 0 0 .7.7l1-1Z\"]);\nexport const LineFlowDiagonalUpRightFilled = /*#__PURE__*/createFluentIcon('LineFlowDiagonalUpRightFilled', \"1em\", [\"M15.85 4.85a.5.5 0 0 0-.7-.7l-7.41 7.4a3 3 0 1 0 .7.7l7.41-7.4Z\"]);\nexport const LineFlowDiagonalUpRightRegular = /*#__PURE__*/createFluentIcon('LineFlowDiagonalUpRightRegular', \"1em\", [\"M15.85 4.85a.5.5 0 0 0-.7-.7l-7.41 7.4a3 3 0 1 0 .7.7l7.41-7.4ZM4 14a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z\"]);\nexport const LineHorizontal1Filled = /*#__PURE__*/createFluentIcon('LineHorizontal1Filled', \"1em\", [\"M2 9.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 9.75Z\"]);\nexport const LineHorizontal1Regular = /*#__PURE__*/createFluentIcon('LineHorizontal1Regular', \"1em\", [\"M2 9.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Z\"]);\nexport const LineHorizontal1DashDotDashFilled = /*#__PURE__*/createFluentIcon('LineHorizontal1DashDotDashFilled', \"1em\", [\"M10 11.75a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5ZM2.75 9a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5h-2.5Zm12 0a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5h-2.5Z\"]);\nexport const LineHorizontal1DashDotDashRegular = /*#__PURE__*/createFluentIcon('LineHorizontal1DashDotDashRegular', \"1em\", [\"M10 10.75a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM2 9.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm11 0c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\"]);\nexport const LineHorizontal1DashesFilled = /*#__PURE__*/createFluentIcon('LineHorizontal1DashesFilled', \"1em\", [\"M2 9.75c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5A.75.75 0 0 1 2 9.75Zm6 0c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5A.75.75 0 0 1 8 9.75Zm6 0c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z\"]);\nexport const LineHorizontal1DashesRegular = /*#__PURE__*/createFluentIcon('LineHorizontal1DashesRegular', \"1em\", [\"M2 9.5c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm6 0c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm6 0c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Z\"]);\nexport const LineHorizontal1DotFilled = /*#__PURE__*/createFluentIcon('LineHorizontal1DotFilled', \"1em\", [\"M3.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM8 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm4.5 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm6-1.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]);\nexport const LineHorizontal1DotRegular = /*#__PURE__*/createFluentIcon('LineHorizontal1DotRegular', \"1em\", [\"M3.25 10.75a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Zm4.5 0a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Zm4.5 0a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM18 9.5a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Z\"]);\nexport const LineHorizontal2DashesSolidFilled = /*#__PURE__*/createFluentIcon('LineHorizontal2DashesSolidFilled', \"1em\", [\"M2.75 6a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5h-2.5Zm6 0a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5h-2.5Zm6 0a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5h-2.5Zm-12 6a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const LineHorizontal2DashesSolidRegular = /*#__PURE__*/createFluentIcon('LineHorizontal2DashesSolidRegular', \"1em\", [\"M2.5 6a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm6 0a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm6 0a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm-12 6a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const LineHorizontal3Filled = /*#__PURE__*/createFluentIcon('LineHorizontal3Filled', \"1em\", [\"M2 4.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 4.75Zm0 5c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 9.75ZM2.75 14a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const LineHorizontal3Regular = /*#__PURE__*/createFluentIcon('LineHorizontal3Regular', \"1em\", [\"M2 4.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm0 5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm.5 4.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const LineHorizontal4Filled = /*#__PURE__*/createFluentIcon('LineHorizontal4Filled', \"1em\", [\"M2 3.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 3.75Zm0 4c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 7.75ZM2.75 11a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75ZM2 15.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75Z\"]);\nexport const LineHorizontal4Regular = /*#__PURE__*/createFluentIcon('LineHorizontal4Regular', \"1em\", [\"M2.5 3a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Zm0 4h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1 0-1ZM2 11.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm.5 3.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const LineHorizontal4SearchFilled = /*#__PURE__*/createFluentIcon('LineHorizontal4SearchFilled', \"1em\", [\"M12.5 10c.97 0 1.87-.3 2.6-.83l3.62 3.61a.75.75 0 1 0 1.06-1.06l-3.61-3.61A4.5 4.5 0 1 0 12.5 10Zm0-7.5a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm3.03 8.5 1.5 1.5H2.75a.75.75 0 0 1 0-1.5h12.78ZM2.75 3H7.6c-.24.47-.41.97-.5 1.5H2.74a.75.75 0 0 1 0-1.5Zm0 4h4.46c.15.54.38 1.04.68 1.5H2.75a.75.75 0 0 1 0-1.5ZM2 15.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75Z\"]);\nexport const LineHorizontal4SearchRegular = /*#__PURE__*/createFluentIcon('LineHorizontal4SearchRegular', \"1em\", [\"M12.5 10c1.06 0 2.04-.37 2.8-.98l3.85 3.83a.5.5 0 0 0 .7-.7L16.02 8.3A4.5 4.5 0 1 0 12.5 10Zm0-8a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm.02 9h3.36l1 1H2.5a.5.5 0 0 1 0-1h10.02ZM2.5 3h5.1c-.16.32-.3.65-.4 1H2.5a.5.5 0 0 1 0-1Zm5.1 5c-.16-.32-.3-.65-.4-1H2.5a.5.5 0 0 0 0 1h5.1ZM2 15.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Z\"]);\nexport const LineHorizontal5Filled = /*#__PURE__*/createFluentIcon('LineHorizontal5Filled', \"1em\", [\"M2 3.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 3.75Zm0 6c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 9.75ZM2.75 12a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75ZM2 6.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 6.75ZM2.75 15a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const LineHorizontal5Regular = /*#__PURE__*/createFluentIcon('LineHorizontal5Regular', \"1em\", [\"M2 3.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm0 6c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5ZM2.5 6a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15ZM2 12.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const LineHorizontal5ErrorFilled = /*#__PURE__*/createFluentIcon('LineHorizontal5ErrorFilled', \"1em\", [\"M2.75 3a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75Zm0 6a.75.75 0 0 0 0 1.5h7.14c.38-.59.87-1.1 1.45-1.5H2.75Zm0 3h6.46c-.14.48-.21.98-.21 1.5H2.75a.75.75 0 0 1 0-1.5Zm0 3h6.46c.15.54.38 1.04.68 1.5H2.75a.75.75 0 0 1 0-1.5Zm0-9a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75ZM19 13.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 11a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Zm0 5.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.24Z\"]);\nexport const LineHorizontal5ErrorRegular = /*#__PURE__*/createFluentIcon('LineHorizontal5ErrorRegular', \"1em\", [\"M2.5 3a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Zm0 6a.5.5 0 0 0 0 1h7.76c.31-.38.67-.72 1.08-1H2.5Zm0 3h6.7c-.08.32-.15.66-.18 1H2.5a.5.5 0 0 1 0-1Zm0 3h6.7c.1.35.24.68.4 1H2.5a.5.5 0 0 1 0-1Zm0-9a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15ZM19 13.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 11a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Zm0 5.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.24Z\"]);\nexport const LineStyleFilled = /*#__PURE__*/createFluentIcon('LineStyleFilled', \"1em\", [\"M2 4.75c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5A.75.75 0 0 1 2 4.75Zm6 0c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5A.75.75 0 0 1 8 4.75Zm6 0c0-.41.34-.75.75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Zm-12 5c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 9.75ZM3.25 14a1.25 1.25 0 1 0 0 2.5h13.5a1.25 1.25 0 1 0 0-2.5H3.25Z\"]);\nexport const LineStyleRegular = /*#__PURE__*/createFluentIcon('LineStyleRegular', \"1em\", [\"M2 4.5c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm6 0c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm6 0c0-.28.22-.5.5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm-12 5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5ZM3 14a1 1 0 1 0 0 2h14a1 1 0 1 0 0-2H3Z\"]);\nexport const LineStyleSketchFilled = /*#__PURE__*/createFluentIcon('LineStyleSketchFilled', \"1em\", [\"M2 4.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 4.75Zm2.9 4.29c.7-.25 1.49-.54 2.62-.54 1.13 0 1.92.29 2.62.54h.02c.68.25 1.27.46 2.13.46.76 0 1.3-.16 1.94-.35l.28-.08a6.14 6.14 0 0 1 2.86-.23.75.75 0 1 1-.24 1.48 4.66 4.66 0 0 0-2.46.27c-.64.19-1.4.41-2.38.41-1.13 0-1.93-.29-2.62-.54h-.02A5.73 5.73 0 0 0 7.52 10c-.86 0-1.45.2-2.13.46h-.02c-.7.25-1.49.54-2.62.54a.75.75 0 0 1 0-1.5c.86 0 1.44-.2 2.13-.46h.02ZM17.9 14.4a.75.75 0 0 0-1.01-.31 5.14 5.14 0 0 1-.29.14c-.18.09-.44.2-.74.32-.62.25-1.32.45-1.84.45a2.5 2.5 0 0 1-1.26-.41l-.03-.02a3.9 3.9 0 0 0-1.93-.57c-.85 0-1.5.32-1.98.56l-.03.02c-.52.25-.87.42-1.35.42a.83.83 0 0 1-.4-.07 1.1 1.1 0 0 1-.24-.21l-.02-.02c-.12-.12-.32-.31-.6-.46A2.3 2.3 0 0 0 5.1 14c-.85 0-1.58.32-2.06.6a4.94 4.94 0 0 0-.81.61.75.75 0 0 0 1.05 1.08l.12-.11c.1-.08.23-.18.4-.29.36-.2.81-.39 1.3-.39.24 0 .35.04.4.07.06.03.12.08.25.21l.01.02c.12.12.32.31.6.46.3.16.66.24 1.1.24.84 0 1.48-.32 1.97-.56l.03-.02c.51-.25.87-.42 1.35-.42.46 0 .78.16 1.25.41l.03.02a3.9 3.9 0 0 0 1.94.57c.82 0 1.73-.3 2.39-.55a13.26 13.26 0 0 0 1.18-.54c.37-.2.5-.65.31-1.01Z\"]);\nexport const LineStyleSketchRegular = /*#__PURE__*/createFluentIcon('LineStyleSketchRegular', \"1em\", [\"M2 4.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm7.75 5.48c.72.25 1.5.52 2.62.52a8.1 8.1 0 0 0 2.64-.48c.72-.2 1.41-.34 2.42-.2a.5.5 0 0 0 .14-.98c-1.2-.18-2.04 0-2.82.22l-.29.08a7.1 7.1 0 0 1-2.1.36c-.94 0-1.58-.22-2.3-.47a7.33 7.33 0 0 0-2.63-.53c-1.12 0-1.9.27-2.62.52-.72.26-1.37.48-2.31.48a.5.5 0 0 0 0 1c1.12 0 1.9-.27 2.62-.52h.01a6.39 6.39 0 0 1 2.3-.48c.95 0 1.6.22 2.3.47h.02Zm8.2 4.3a.5.5 0 0 0-.68-.22 6.17 6.17 0 0 1-.3.14c-.2.1-.48.21-.8.33-.64.25-1.4.47-2 .47-.56 0-.95-.2-1.44-.44l-.02-.02a3.86 3.86 0 0 0-1.88-.54c-.8 0-1.41.3-1.92.54h-.03c-.52.26-.95.46-1.52.46-.28 0-.44-.05-.54-.1-.1-.06-.2-.13-.33-.26v-.01c-.13-.12-.3-.3-.56-.42a2.15 2.15 0 0 0-1-.21c-.81 0-1.5.3-1.98.57a4.85 4.85 0 0 0-.8.57.5.5 0 1 0 .73.7 2.83 2.83 0 0 1 .56-.4c.4-.23.92-.44 1.5-.44.28 0 .43.05.54.1.1.06.19.13.32.26l.01.01c.13.12.3.3.56.42.27.14.58.21 1 .21.8 0 1.41-.3 1.92-.54h.03c.52-.26.95-.46 1.51-.46s.95.2 1.44.44l.02.02c.48.24 1.06.54 1.88.54.79 0 1.7-.28 2.36-.53a13.67 13.67 0 0 0 1.2-.52.5.5 0 0 0 .21-.68Z\"]);\nexport const LineThicknessFilled = /*#__PURE__*/createFluentIcon('LineThicknessFilled', \"1em\", [\"M2.75 4a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75ZM2 9.25C2 8.56 2.56 8 3.25 8h13.5a1.25 1.25 0 1 1 0 2.5H3.25C2.56 10.5 2 9.94 2 9.25Zm0 5.5c0-.97.78-1.75 1.75-1.75h12.5a1.75 1.75 0 1 1 0 3.5H3.75c-.97 0-1.75-.78-1.75-1.75Z\"]);\nexport const LineThicknessRegular = /*#__PURE__*/createFluentIcon('LineThicknessRegular', \"1em\", [\"M2 4.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm0 10c0-.83.67-1.5 1.5-1.5h13a1.5 1.5 0 0 1 0 3h-13A1.5 1.5 0 0 1 2 14.5ZM3 8a1 1 0 0 0 0 2h14a1 1 0 1 0 0-2H3Z\"]);\nexport const LinkFilled = /*#__PURE__*/createFluentIcon('LinkFilled', \"1em\", [\"M14 6a4 4 0 0 1 .2 8H12a.75.75 0 0 1-.1-1.5H14a2.5 2.5 0 0 0 .16-5H12a.75.75 0 0 1-.1-1.5H14ZM8 6a.75.75 0 0 1 .1 1.5H6a2.5 2.5 0 0 0-.16 5H8a.75.75 0 0 1 .1 1.5H6a4 4 0 0 1-.2-8H8ZM6.25 9.25h7.5a.75.75 0 0 1 .1 1.5h-7.6a.75.75 0 0 1-.1-1.5h7.6-7.5Z\"]);\nexport const LinkRegular = /*#__PURE__*/createFluentIcon('LinkRegular', \"1em\", [\"M8 6a.5.5 0 0 1 .09 1H6a3 3 0 0 0-.2 6H8a.5.5 0 0 1 .09 1H6a4 4 0 0 1-.22-8H8Zm6 0a4 4 0 0 1 .22 8H12a.5.5 0 0 1-.09-1H14a3 3 0 0 0 .2-6H12a.5.5 0 0 1-.09-1H14ZM6 9.5h8a.5.5 0 0 1 .09 1H6a.5.5 0 0 1-.09-1H14 6Z\"]);\nexport const LinkAddFilled = /*#__PURE__*/createFluentIcon('LinkAddFilled', \"1em\", [\"M18 8a4 4 0 0 0-4-4h-2.1a.75.75 0 0 0 .1 1.5h2.16a2.5 2.5 0 0 1 2 3.76c.49.15.94.37 1.36.64.3-.56.48-1.21.48-1.9ZM8.75 4.75A.75.75 0 0 0 8 4H5.8a4 4 0 0 0 .2 8h2.1a.75.75 0 0 0-.1-1.5H5.84a2.5 2.5 0 0 1 .16-5h2.1a.75.75 0 0 0 .65-.75Zm5 2.5h-7.6a.75.75 0 0 0 .1 1.5h7.6a.75.75 0 0 0-.1-1.5ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const LinkAddRegular = /*#__PURE__*/createFluentIcon('LinkAddRegular', \"1em\", [\"M8.5 4.5A.5.5 0 0 0 8 4H5.78A4 4 0 0 0 6 12h2.09A.5.5 0 0 0 8 11H5.8A3 3 0 0 1 6 5h2.09a.5.5 0 0 0 .41-.5ZM18 8a4 4 0 0 0-4-4h-2.09A.5.5 0 0 0 12 5h2.2a3 3 0 0 1 2.44 4.43c.3.13.6.29.88.47.3-.56.48-1.21.48-1.9Zm-4-.5H5.91a.5.5 0 0 0 .09 1h8.09a.5.5 0 0 0-.09-1Zm5 7a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H15v-1.5Z\"]);\nexport const LinkDismissFilled = /*#__PURE__*/createFluentIcon('LinkDismissFilled', \"1em\", [\"M14 4a4 4 0 0 1 3.52 5.9c-.42-.27-.87-.5-1.36-.64a2.5 2.5 0 0 0-2-3.75L14 5.5h-2a.75.75 0 0 1-.1-1.5H14ZM8 4a.75.75 0 0 1 .1 1.5H6a2.5 2.5 0 0 0-.16 5H8a.75.75 0 0 1 .1 1.5H6a4 4 0 0 1-.2-8H8ZM6.25 7.25h7.5a.75.75 0 0 1 .1 1.5h-7.6a.75.75 0 0 1-.1-1.5h.1ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.73-1.06a.5.5 0 0 0-.7-.7l-1.07 1.05-1.06-1.06a.5.5 0 0 0-.7.7l1.05 1.07-1.06 1.06a.5.5 0 0 0 .7.7l1.07-1.05 1.06 1.06a.5.5 0 0 0 .7-.7l-1.05-1.07 1.06-1.06Z\"]);\nexport const LinkDismissRegular = /*#__PURE__*/createFluentIcon('LinkDismissRegular', \"1em\", [\"M8 4a.5.5 0 0 1 .09 1H6a3 3 0 0 0-.2 6H8a.5.5 0 0 1 .09 1H6a4 4 0 0 1-.22-8H8Zm6 0a4 4 0 0 1 3.52 5.9 5.49 5.49 0 0 0-.88-.47 3 3 0 0 0-2.44-4.42L14 5h-2a.5.5 0 0 1-.09-1H14ZM6 7.5h8a.5.5 0 0 1 .09 1H6a.5.5 0 0 1-.09-1H6Zm13 7a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.73-1.06a.5.5 0 0 0-.7-.7l-1.07 1.05-1.06-1.06a.5.5 0 0 0-.7.7l1.05 1.07-1.06 1.06a.5.5 0 0 0 .7.7l1.07-1.05 1.06 1.06a.5.5 0 0 0 .7-.7l-1.05-1.07 1.06-1.06Z\"]);\nexport const LinkEditFilled = /*#__PURE__*/createFluentIcon('LinkEditFilled', \"1em\", [\"M18 8a4 4 0 0 0-4-4h-2.1a.75.75 0 0 0 .1 1.5h2.16A2.5 2.5 0 0 1 16.5 8v.02c.52.07 1.02.28 1.45.63.03-.21.05-.43.05-.65ZM8.75 4.75A.75.75 0 0 0 8 4H5.8a4 4 0 0 0 .2 8h2.1a.75.75 0 0 0-.1-1.5H5.84a2.5 2.5 0 0 1 .16-5h2.1a.75.75 0 0 0 .65-.75Zm5 2.5h-7.6a.75.75 0 0 0 .1 1.5h7.6a.75.75 0 0 0-.1-1.5Zm-3.77 7.13 4.83-4.83a1.87 1.87 0 0 1 2.64 2.64l-4.83 4.83a2.2 2.2 0 0 1-1.02.58l-1.5.37a.89.89 0 0 1-1.07-1.08l.37-1.5c.1-.38.3-.73.58-1.01Z\"]);\nexport const LinkEditRegular = /*#__PURE__*/createFluentIcon('LinkEditRegular', \"1em\", [\"M8.5 4.5A.5.5 0 0 0 8 4H5.78A4 4 0 0 0 6 12h2.09a.5.5 0 0 0-.1-1H5.8A3 3 0 0 1 6 5h2.09a.5.5 0 0 0 .4-.5ZM18 8a4 4 0 0 0-4-4h-2.1a.5.5 0 0 0 .1 1h2.2A3 3 0 0 1 17 8.14c.33.1.66.28.95.52.03-.21.05-.43.05-.65Zm-4-.5H5.9a.5.5 0 0 0 .09 1h8.09a.5.5 0 0 0-.1-1Zm-4.02 6.88 4.83-4.83a1.87 1.87 0 0 1 2.64 2.64l-4.83 4.83a2.2 2.2 0 0 1-1.02.58l-1.5.37a.89.89 0 0 1-1.07-1.08l.37-1.5c.1-.38.3-.73.58-1.01Z\"]);\nexport const LinkMultipleFilled = /*#__PURE__*/createFluentIcon('LinkMultipleFilled', \"1em\", [\"M1 8a4 4 0 0 1 4-4h6a4 4 0 0 1 0 8H9.75a.75.75 0 0 1 0-1.5H11a2.5 2.5 0 0 0 0-5H5a2.5 2.5 0 0 0-.74 4.89c-.15.47-.25.97-.26 1.48A4 4 0 0 1 1 8Zm15 .13c-.01.51-.1 1.01-.26 1.48A2.5 2.5 0 0 1 15 14.5H9a2.5 2.5 0 0 1 0-5h1.25a.75.75 0 0 0 0-1.5H9a4 4 0 1 0 0 8h6a4 4 0 0 0 1-7.87Z\"]);\nexport const LinkMultipleRegular = /*#__PURE__*/createFluentIcon('LinkMultipleRegular', \"1em\", [\"M1 8a4 4 0 0 1 4-4h6a4 4 0 0 1 0 8H9.5a.5.5 0 0 1 0-1H11a3 3 0 1 0 0-6H5a3 3 0 0 0-.87 5.87 5 5 0 0 0-.13 1A4 4 0 0 1 1 8Zm17 4a3 3 0 0 0-2.13-2.87c.08-.32.12-.66.13-1A4 4 0 0 1 15 16H9a4 4 0 0 1 0-8h1.5a.5.5 0 0 1 0 1H9a3 3 0 1 0 0 6h6a3 3 0 0 0 3-3Z\"]);\nexport const LinkPersonFilled = /*#__PURE__*/createFluentIcon('LinkPersonFilled', \"1em\", [\"M18 8a4 4 0 0 0-4-4h-2.1a.75.75 0 0 0 .1 1.5h2.16a2.5 2.5 0 0 1 1.89 3.93c.44.27.8.64 1.06 1.09.56-.69.89-1.57.89-2.52ZM8.75 4.75A.75.75 0 0 0 8 4H5.8a4 4 0 0 0 .2 8h2.1a.75.75 0 0 0-.1-1.5H5.84a2.5 2.5 0 0 1 .16-5h2.1a.75.75 0 0 0 .65-.75Zm5 2.5h-7.6a.75.75 0 0 0 .1 1.5h7.6a.75.75 0 0 0-.1-1.5ZM16.5 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S11 17.75 11 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const LinkPersonRegular = /*#__PURE__*/createFluentIcon('LinkPersonRegular', \"1em\", [\"M8.5 4.5A.5.5 0 0 0 8 4H5.78A4 4 0 0 0 6 12h2.09A.5.5 0 0 0 8 11H5.8A3 3 0 0 1 6 5h2.09a.5.5 0 0 0 .41-.5ZM18 8a4 4 0 0 0-4-4h-2.09A.5.5 0 0 0 12 5h2.2a3 3 0 0 1 2.26 4.72c.26.23.48.5.65.8.56-.69.89-1.57.89-2.52Zm-4-.5H5.91a.5.5 0 0 0 .09 1h8.09a.5.5 0 0 0-.09-1Zm2.5 4.5a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S11 17.75 11 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const LinkSquareFilled = /*#__PURE__*/createFluentIcon('LinkSquareFilled', \"1em\", [\"M4.75 3.5c-.69 0-1.25.56-1.25 1.25v5.5c0 .69.56 1.25 1.25 1.25H6V13H4.75A2.75 2.75 0 0 1 2 10.25v-5.5A2.75 2.75 0 0 1 4.75 2h5.5A2.75 2.75 0 0 1 13 4.75v5.5A2.75 2.75 0 0 1 10.25 13H9.5v-1.5h.75c.69 0 1.25-.56 1.25-1.25v-5.5c0-.69-.56-1.25-1.25-1.25h-5.5ZM7 9.75A2.75 2.75 0 0 1 9.75 7h1v1.5h-1c-.69 0-1.25.56-1.25 1.25v5.5c0 .69.56 1.25 1.25 1.25h5.5c.69 0 1.25-.56 1.25-1.25v-5.5c0-.69-.56-1.25-1.25-1.25h-1.5V7h1.5A2.75 2.75 0 0 1 18 9.75v5.5A2.75 2.75 0 0 1 15.25 18h-5.5A2.75 2.75 0 0 1 7 15.25v-5.5Z\"]);\nexport const LinkSquareRegular = /*#__PURE__*/createFluentIcon('LinkSquareRegular', \"1em\", [\"M4.5 3C3.67 3 3 3.67 3 4.5v6c0 .83.67 1.5 1.5 1.5H6v1H4.5A2.5 2.5 0 0 1 2 10.5v-6A2.5 2.5 0 0 1 4.5 2h6A2.5 2.5 0 0 1 13 4.5v6a2.5 2.5 0 0 1-2.5 2.5H9v-1h1.5c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5h-6Zm5 4H11v1H9.5C8.67 8 8 8.67 8 9.5v6c0 .83.67 1.5 1.5 1.5h6c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5H14V7h1.5A2.5 2.5 0 0 1 18 9.5v6a2.5 2.5 0 0 1-2.5 2.5h-6A2.5 2.5 0 0 1 7 15.5v-6A2.5 2.5 0 0 1 9.5 7Z\"]);\nexport const LinkToolboxFilled = /*#__PURE__*/createFluentIcon('LinkToolboxFilled', \"1em\", [\"M8.75 4.75A.75.75 0 0 0 8 4H5.8a4 4 0 0 0 .2 8h2.1a.75.75 0 0 0-.1-1.5H5.84a2.5 2.5 0 0 1 .16-5h2.1a.75.75 0 0 0 .65-.75ZM18 8a4 4 0 0 0-4-4h-2.1a.75.75 0 0 0 .1 1.5h2.16a2.5 2.5 0 0 1 2.08 3.61c.5.16.93.46 1.24.86.33-.58.52-1.25.52-1.97ZM6.25 7.25h7.5a.75.75 0 0 1 .1 1.5h-7.6a.75.75 0 0 1-.1-1.5h.1ZM12 12v-.5c0-.83.67-1.5 1.5-1.5h2c.83 0 1.5.67 1.5 1.5v.5h.5c.83 0 1.5.67 1.5 1.5V15h-2v-.5a.5.5 0 0 0-1 0v.5h-3v-.5a.5.5 0 0 0-1 0v.5h-2v-1.5c0-.83.67-1.5 1.5-1.5h.5Zm1-.5v.5h3v-.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5Zm4 5V16h2v1.5c0 .83-.67 1.5-1.5 1.5h-6a1.5 1.5 0 0 1-1.5-1.5V16h2v.5a.5.5 0 0 0 1 0V16h3v.5a.5.5 0 0 0 1 0Z\"]);\nexport const LinkToolboxRegular = /*#__PURE__*/createFluentIcon('LinkToolboxRegular', \"1em\", [\"M8 4a.5.5 0 0 1 .09 1H6a3 3 0 0 0-.2 6H8a.5.5 0 0 1 .09 1H6a4 4 0 0 1-.22-8H8Zm6 0a4 4 0 0 1 3.48 5.97c-.21-.27-.48-.5-.78-.66A3 3 0 0 0 14.2 5L14 5h-2a.5.5 0 0 1-.09-1H14ZM6 7.5h8a.5.5 0 0 1 .09 1H6a.5.5 0 0 1-.09-1H6Zm6 4.5v-.5c0-.83.67-1.5 1.5-1.5h2c.83 0 1.5.67 1.5 1.5v.5h.5c.83 0 1.5.67 1.5 1.5V15h-2v-.5a.5.5 0 0 0-1 0v.5h-3v-.5a.5.5 0 0 0-1 0v.5h-2v-1.5c0-.83.67-1.5 1.5-1.5h.5Zm1-.5v.5h3v-.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5Zm4 5V16h2v1.5c0 .83-.67 1.5-1.5 1.5h-6a1.5 1.5 0 0 1-1.5-1.5V16h2v.5a.5.5 0 0 0 1 0V16h3v.5a.5.5 0 0 0 1 0Z\"]);\nexport const ListFilled = /*#__PURE__*/createFluentIcon('ListFilled', \"1em\", [\"M2 4.75c0-.41.34-.75.75-.75h10.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 4.75Zm0 10c0-.41.34-.75.75-.75h9.5a.75.75 0 0 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75ZM2.75 9a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const ListRegular = /*#__PURE__*/createFluentIcon('ListRegular', \"1em\", [\"M2 4.5c0-.28.22-.5.5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm0 10c0-.28.22-.5.5-.5h10a.5.5 0 0 1 0 1h-10a.5.5 0 0 1-.5-.5ZM2.5 9a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const ListBarFilled = /*#__PURE__*/createFluentIcon('ListBarFilled', \"1em\", [\"M8 17h7.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H8v4Zm0-5h7.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H8v4ZM7 8v4H4.5A1.5 1.5 0 0 1 3 10.5v-1C3 8.67 3.67 8 4.5 8H7Zm1-1h7.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H8v4ZM7 3v4H4.5A1.5 1.5 0 0 1 3 5.5v-1C3 3.67 3.67 3 4.5 3H7Zm0 10v4H4.5A1.5 1.5 0 0 1 3 15.5v-1c0-.83.67-1.5 1.5-1.5H7Z\"]);\nexport const ListBarRegular = /*#__PURE__*/createFluentIcon('ListBarRegular', \"1em\", [\"M5 3a2 2 0 0 0-2 2v1a2 2 0 0 0 .68 1.5A2 2 0 0 0 3 9v2a2 2 0 0 0 .68 1.5A2 2 0 0 0 3 14v1c0 1.1.9 2 2 2h10a2 2 0 0 0 2-2v-1a2 2 0 0 0-.68-1.5A2 2 0 0 0 17 11V9a2 2 0 0 0-.68-1.5A2 2 0 0 0 17 6V5a2 2 0 0 0-2-2H5ZM4 14a1 1 0 0 1 1-1h2v3H5a1 1 0 0 1-1-1v-1Zm4 2v-3h7a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8Zm0-4V8h7a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H8ZM7 8v4H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2Zm0-1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h2v3Zm1 0V4h7a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8Z\"]);\nexport const ListBarTreeFilled = /*#__PURE__*/createFluentIcon('ListBarTreeFilled', \"1em\", [\"M8 7h7.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H8v4ZM7 3H4.5C3.67 3 3 3.67 3 4.5v1C3 6.33 3.67 7 4.5 7H7V3Zm3 9h5.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H10v4ZM9 8H6.5C5.67 8 5 8.67 5 9.5v1c0 .83.67 1.5 1.5 1.5H9V8Zm6.5 9H10v-4h5.5c.83 0 1.5.67 1.5 1.5v1c0 .83-.67 1.5-1.5 1.5Zm-9-4H9v4H6.5A1.5 1.5 0 0 1 5 15.5v-1c0-.83.67-1.5 1.5-1.5Z\"]);\nexport const ListBarTreeRegular = /*#__PURE__*/createFluentIcon('ListBarTreeRegular', \"1em\", [\"M5 3a2 2 0 0 0-2 2v1c0 1.1.9 2 2 2h.27A2 2 0 0 0 5 9v2a2 2 0 0 0 .68 1.5A2 2 0 0 0 5 14v1c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-1a2 2 0 0 0-.68-1.5A2 2 0 0 0 17 11V9a2 2 0 0 0-.68-1.5A2 2 0 0 0 17 6V5a2 2 0 0 0-2-2H5Zm10 9h-5V8h5a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1ZM9 8v4H7a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2Zm1 5h5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-5v-3Zm-1 0v3H7a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h2ZM8 7V4h7a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8ZM7 7H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h2v3Z\"]);\nexport const ListBarTreeOffsetFilled = /*#__PURE__*/createFluentIcon('ListBarTreeOffsetFilled', \"1em\", [\"M8 7h7.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H8v4ZM7 3H4.5C3.67 3 3 3.67 3 4.5v1C3 6.33 3.67 7 4.5 7H7V3Zm3 9h5.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H10v4ZM9 8H6.5C5.67 8 5 8.67 5 9.5v1c0 .83.67 1.5 1.5 1.5H9V8Zm6.5 9H12v-4h3.5c.83 0 1.5.67 1.5 1.5v1c0 .83-.67 1.5-1.5 1.5Zm-7-4H11v4H8.5A1.5 1.5 0 0 1 7 15.5v-1c0-.83.67-1.5 1.5-1.5Z\"]);\nexport const ListBarTreeOffsetRegular = /*#__PURE__*/createFluentIcon('ListBarTreeOffsetRegular', \"1em\", [\"M5 3a2 2 0 0 0-2 2v1c0 1.1.9 2 2 2h.27A2 2 0 0 0 5 9v2c0 1.1.9 2 2 2h.27A2 2 0 0 0 7 14v1c0 1.1.9 2 2 2h6a2 2 0 0 0 2-2v-1a2 2 0 0 0-.68-1.5A2 2 0 0 0 17 11V9a2 2 0 0 0-.68-1.5A2 2 0 0 0 17 6V5a2 2 0 0 0-2-2H5Zm10 9h-5V8h5a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1ZM9 8v4H7a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2Zm-1 6a1 1 0 0 1 1-1h2v3H9a1 1 0 0 1-1-1v-1Zm4 2v-3h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-3ZM8 7V4h7a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8ZM7 7H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h2v3Z\"]);\nexport const ListRtlFilled = /*#__PURE__*/createFluentIcon('ListRtlFilled', \"1em\", [\"M6 4.75c0-.41.34-.75.75-.75h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 4.75Zm1 10c0-.41.34-.75.75-.75h9.5a.75.75 0 0 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75ZM2.75 9a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75Z\"]);\nexport const ListRtlRegular = /*#__PURE__*/createFluentIcon('ListRtlRegular', \"1em\", [\"M6 4.5c0-.28.22-.5.5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm1 10c0-.28.22-.5.5-.5h10a.5.5 0 0 1 0 1h-10a.5.5 0 0 1-.5-.5ZM2.5 9a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\"]);\nexport const LiveFilled = /*#__PURE__*/createFluentIcon('LiveFilled', \"1em\", [\"M5.45 4.17a.73.73 0 0 0-1.02-.01 8.23 8.23 0 0 0 .17 11.86c.3.27.74.24 1.01-.03a.78.78 0 0 0-.02-1.11 6.73 6.73 0 0 1-.15-9.62c.3-.3.32-.78.01-1.1Zm1.76 1.76a.71.71 0 0 0-1-.02 5.73 5.73 0 0 0 .18 8.35c.3.27.73.23.99-.03.32-.33.26-.85-.04-1.14a4.24 4.24 0 0 1-.14-6.05c.29-.3.33-.8.01-1.11Zm5.58 0a.71.71 0 0 1 1-.02 5.73 5.73 0 0 1-.18 8.35.71.71 0 0 1-.99-.03c-.32-.33-.26-.85.04-1.14a4.24 4.24 0 0 0 .14-6.05c-.29-.3-.33-.8-.01-1.11Zm1.76-1.76a.73.73 0 0 1 1.02-.01 8.23 8.23 0 0 1-.17 11.86.73.73 0 0 1-1.01-.03.78.78 0 0 1 .02-1.11 6.73 6.73 0 0 0 .15-9.62.78.78 0 0 1-.01-1.1ZM10 8.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z\"]);\nexport const LiveRegular = /*#__PURE__*/createFluentIcon('LiveRegular', \"1em\", [\"M4.35 4.33a.48.48 0 0 1 .68.01c.2.2.19.54-.02.75a6.98 6.98 0 0 0 .15 9.97c.22.2.23.55.03.75a.48.48 0 0 1-.67.02 7.98 7.98 0 0 1-.17-11.5ZM15 5.1a.53.53 0 0 1-.02-.75c.19-.18.5-.2.68 0a7.98 7.98 0 0 1-.17 11.5.48.48 0 0 1-.67-.03.53.53 0 0 1 .03-.75 6.98 6.98 0 0 0 .15-9.97Zm-8.86 1a.46.46 0 0 1 .66.02c.2.2.19.55-.02.76a4.49 4.49 0 0 0 .14 6.4c.22.21.25.57.04.78a.46.46 0 0 1-.64.03 5.49 5.49 0 0 1-.18-7.99Zm7.1.78c-.2-.21-.23-.56-.02-.76.18-.19.48-.2.66-.02a5.48 5.48 0 0 1-.18 7.99.46.46 0 0 1-.64-.03c-.21-.21-.18-.57.04-.78a4.49 4.49 0 0 0 .14-6.4ZM10 8.75a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5Z\"]);\nexport const LiveOffFilled = /*#__PURE__*/createFluentIcon('LiveOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l1.8 1.81a8.22 8.22 0 0 0 .65 11.36c.3.27.74.24 1.01-.03a.78.78 0 0 0-.02-1.11 6.73 6.73 0 0 1-.57-9.15l.71.71a5.73 5.73 0 0 0 .66 7.82c.3.27.73.23.99-.03.32-.33.26-.85-.04-1.14a4.24 4.24 0 0 1-.54-5.58l1.85 1.84a1.5 1.5 0 0 0 2 2l6.5 6.5a.5.5 0 0 0 .7-.7l-1.8-1.81-1.07-1.07-.71-.71-1.07-1.07-1.85-1.84-2-2L7.4 6.69l-.94-.94-.82-.82L4.7 4 2.85 2.15Zm13.8 12.38a8.21 8.21 0 0 0-1.08-10.37.73.73 0 0 0-1.02 0c-.31.32-.28.8 0 1.1a6.73 6.73 0 0 1 1.01 8.18l1.09 1.09Zm-1.82-1.83a5.73 5.73 0 0 0-1.04-6.79.71.71 0 0 0-1 .02c-.32.32-.28.82.01 1.11a4.24 4.24 0 0 1 .9 4.54l1.13 1.12Z\"]);\nexport const LiveOffRegular = /*#__PURE__*/createFluentIcon('LiveOffRegular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L4 4.71a7.97 7.97 0 0 0 .52 11.12c.2.18.48.17.67-.02.2-.2.19-.55-.03-.75a6.98 6.98 0 0 1-.45-9.64l1.06 1.06a5.48 5.48 0 0 0 .54 7.6c.18.17.46.15.64-.03.21-.21.18-.57-.04-.78a4.49 4.49 0 0 1-.43-6.08l2.36 2.35a1.25 1.25 0 0 0 1.62 1.62l6.69 6.7a.5.5 0 0 0 .7-.71L16 15.29l-.7-.7-1.07-1.07-.71-.71-2.36-2.35-1.62-1.62-6.69-6.7ZM16.62 14.5a7.96 7.96 0 0 0-.97-10.17.48.48 0 0 0-.68.01c-.2.2-.19.54.02.75a6.98 6.98 0 0 1 .9 8.68l.73.73Zm-1.82-1.82a5.47 5.47 0 0 0-.93-6.59.46.46 0 0 0-.66.02c-.2.2-.19.55.02.76a4.49 4.49 0 0 1 .83 5.07l.74.74Z\"]);\nexport const LocalLanguageFilled = /*#__PURE__*/createFluentIcon('LocalLanguageFilled', \"1em\", [\"M9.74 1.99a.75.75 0 1 0 0 1.5h2.76v1.26c0 .55-.2.98-.48 1.27-.29.29-.71.48-1.27.48a.75.75 0 0 0 0 1.5c.92 0 1.74-.32 2.33-.92.6-.6.92-1.42.92-2.33v-2a.75.75 0 0 0-.75-.75l-3.5-.01ZM8.2 5.46a.75.75 0 0 0-1.38 0l-3.3 7.98-.01.03-1.44 3.5a.75.75 0 0 0 1.38.57l1.26-3.05h5.6l1.26 3.04a.75.75 0 0 0 1.38-.57L8.2 5.46ZM9.7 13H5.31L7.5 7.71 9.68 13ZM15.74 2c.42 0 .75.34.75.75V6h.76a.75.75 0 0 1 0 1.5h-.76v5.75a.75.75 0 0 1-1.5 0V2.75c0-.41.34-.75.75-.75Z\"]);\nexport const LocalLanguageRegular = /*#__PURE__*/createFluentIcon('LocalLanguageRegular', \"1em\", [\"M9.5 2a.5.5 0 0 0 0 1H13v1.86C13 6.03 11.83 7 10.5 7a.5.5 0 0 0 0 1C12.21 8 14 6.74 14 4.86V2.5a.5.5 0 0 0-.5-.5h-4ZM7.96 5.3a.5.5 0 0 0-.92 0l-5 12a.5.5 0 1 0 .92.4L4.5 14h6l1.54 3.7a.5.5 0 1 0 .92-.39l-1.66-3.99v-.02l-3.34-8Zm2.12 7.7H4.92L7.5 6.8l2.58 6.2ZM15.5 2c.28 0 .5.22.5.5V6h1.5a.5.5 0 0 1 0 1H16v6.5a.5.5 0 1 1-1 0v-11c0-.28.23-.5.5-.5Z\"]);\nexport const LocationFilled = /*#__PURE__*/createFluentIcon('LocationFilled', \"1em\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12ZM10 12a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z\"]);\nexport const LocationRegular = /*#__PURE__*/createFluentIcon('LocationRegular', \"1em\", [\"M13 9a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm-1 0a2 2 0 1 0-4 0 2 2 0 0 0 4 0Zm2.95 4.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-9.2-9.2a6 6 0 0 1 8.67 8.3l-.18.19-1.32 1.3-2.23 2.17-.09.08a1 1 0 0 1-1.2 0l-.1-.08-2.97-2.9-.58-.57-.17-.18a6 6 0 0 1 .17-8.31Z\"]);\nexport const LocationAddFilled = /*#__PURE__*/createFluentIcon('LocationAddFilled', \"1em\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9ZM10 5a.5.5 0 0 0-.5.5V8H7a.5.5 0 0 0 0 1h2.5v2.5a.5.5 0 0 0 1 0V9H13a.5.5 0 0 0 0-1h-2.5V5.5A.5.5 0 0 0 10 5Z\"]);\nexport const LocationAddRegular = /*#__PURE__*/createFluentIcon('LocationAddRegular', \"1em\", [\"M6.5 8.5c0-.28.22-.5.5-.5h2.5V5.5a.5.5 0 0 1 1 0V8H13a.5.5 0 0 1 0 1h-2.5v2.5a.5.5 0 0 1-1 0V9H7a.5.5 0 0 1-.5-.5Zm8.45 5.46a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-9.2-9.2a6 6 0 0 1 8.67 8.3l-.18.19-1.32 1.3-2.23 2.17-.09.08a1 1 0 0 1-1.2 0l-.1-.08-2.97-2.9-.58-.57-.17-.18a6 6 0 0 1 .17-8.31Z\"]);\nexport const LocationAddLeftFilled = /*#__PURE__*/createFluentIcon('LocationAddLeftFilled', \"1em\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-5.1-7.6L8.21 8H13a.5.5 0 0 1 0 1H8.2l1.65 1.65a.5.5 0 0 1-.7.7l-2.5-2.5a.5.5 0 0 1 0-.7l2.5-2.5a.5.5 0 1 1 .7.7Z\"]);\nexport const LocationAddLeftRegular = /*#__PURE__*/createFluentIcon('LocationAddLeftRegular', \"1em\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-.7.7a6 6 0 0 0-8.67 8.32l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17 1.32-1.3.18-.18a6 6 0 0 0-.18-8.31Zm-4.4 1.6a.5.5 0 0 0-.7-.7l-2.5 2.5a.5.5 0 0 0 0 .7l2.5 2.5a.5.5 0 0 0 .7-.7L8.21 9H13a.5.5 0 0 0 0-1H8.2l1.65-1.65Z\"]);\nexport const LocationAddRightFilled = /*#__PURE__*/createFluentIcon('LocationAddRightFilled', \"1em\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-4.8-7.6a.5.5 0 0 1 .7-.71l2.5 2.5a.5.5 0 0 1 0 .7l-2.5 2.5a.5.5 0 0 1-.7-.7L11.79 9H7a.5.5 0 0 1 0-1h4.8l-1.65-1.65Z\"]);\nexport const LocationAddRightRegular = /*#__PURE__*/createFluentIcon('LocationAddRightRegular', \"1em\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-.7.7a6 6 0 0 0-8.67 8.32l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17 1.32-1.3.18-.18a6 6 0 0 0-.18-8.31Zm-4.1 1.6a.5.5 0 0 1 .7-.7l2.5 2.5a.5.5 0 0 1 0 .7l-2.5 2.5a.5.5 0 0 1-.7-.7L11.79 9H7a.5.5 0 0 1 0-1h4.8l-1.65-1.65Z\"]);\nexport const LocationAddUpFilled = /*#__PURE__*/createFluentIcon('LocationAddUpFilled', \"1em\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-2.8-5.6L10.5 6.7v4.79a.5.5 0 0 1-1 0V6.7L7.85 8.36a.5.5 0 1 1-.7-.7l2.5-2.5a.5.5 0 0 1 .7 0l2.5 2.5a.5.5 0 0 1-.7.7Z\"]);\nexport const LocationAddUpRegular = /*#__PURE__*/createFluentIcon('LocationAddUpRegular', \"1em\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-.7.7a6 6 0 0 0-8.67 8.32l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17 1.32-1.3.18-.18a6 6 0 0 0-.18-8.31Zm-2.1 3.6a.5.5 0 0 0 .7-.7l-2.5-2.5a.5.5 0 0 0-.7 0l-2.5 2.5a.5.5 0 1 0 .7.7L9.5 6.71v4.79a.5.5 0 0 0 1 0V6.7l1.65 1.65Z\"]);\nexport const LocationArrowFilled = /*#__PURE__*/createFluentIcon('LocationArrowFilled', \"1em\", [\"M16.64 2.07a1 1 0 0 1 1.29 1.3l-5.38 13.99a1 1 0 0 1-1.9-.1l-1.58-5.98a.5.5 0 0 0-.35-.35L2.74 9.35a1 1 0 0 1-.1-1.9l14-5.38Z\"]);\nexport const LocationArrowRegular = /*#__PURE__*/createFluentIcon('LocationArrowRegular', \"1em\", [\"M17.93 3.36a1 1 0 0 0-1.3-1.3L2.65 7.47a1 1 0 0 0 .1 1.9l5.98 1.57a.5.5 0 0 1 .35.35l1.58 5.97a1 1 0 0 0 1.9.1l5.38-13.99ZM17 3 11.6 17l-1.57-5.97a1.5 1.5 0 0 0-1.07-1.07L3 8.39 17 3Z\"]);\nexport const LocationArrowLeftFilled = /*#__PURE__*/createFluentIcon('LocationArrowLeftFilled', \"1em\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-5.1-7.6L8.21 8H13a.5.5 0 0 1 0 1H8.2l1.65 1.65a.5.5 0 0 1-.7.7l-2.5-2.5a.5.5 0 0 1 0-.7l2.5-2.5a.5.5 0 1 1 .7.7Z\"]);\nexport const LocationArrowLeftRegular = /*#__PURE__*/createFluentIcon('LocationArrowLeftRegular', \"1em\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-.7.7a6 6 0 0 0-8.67 8.32l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17 1.32-1.3.18-.18a6 6 0 0 0-.18-8.31Zm-4.4 1.6a.5.5 0 0 0-.7-.7l-2.5 2.5a.5.5 0 0 0 0 .7l2.5 2.5a.5.5 0 0 0 .7-.7L8.21 9H13a.5.5 0 0 0 0-1H8.2l1.65-1.65Z\"]);\nexport const LocationArrowRightFilled = /*#__PURE__*/createFluentIcon('LocationArrowRightFilled', \"1em\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-4.8-7.6a.5.5 0 0 1 .7-.71l2.5 2.5a.5.5 0 0 1 0 .7l-2.5 2.5a.5.5 0 0 1-.7-.7L11.79 9H7a.5.5 0 0 1 0-1h4.8l-1.65-1.65Z\"]);\nexport const LocationArrowRightRegular = /*#__PURE__*/createFluentIcon('LocationArrowRightRegular', \"1em\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-.7.7a6 6 0 0 0-8.67 8.32l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17 1.32-1.3.18-.18a6 6 0 0 0-.18-8.31Zm-4.1 1.6a.5.5 0 0 1 .7-.7l2.5 2.5a.5.5 0 0 1 0 .7l-2.5 2.5a.5.5 0 0 1-.7-.7L11.79 9H7a.5.5 0 0 1 0-1h4.8l-1.65-1.65Z\"]);\nexport const LocationArrowUpFilled = /*#__PURE__*/createFluentIcon('LocationArrowUpFilled', \"1em\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-2.8-5.6L10.5 6.7v4.79a.5.5 0 0 1-1 0V6.7L7.85 8.36a.5.5 0 1 1-.7-.7l2.5-2.5a.5.5 0 0 1 .7 0l2.5 2.5a.5.5 0 0 1-.7.7Z\"]);\nexport const LocationArrowUpRegular = /*#__PURE__*/createFluentIcon('LocationArrowUpRegular', \"1em\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-.7.7a6 6 0 0 0-8.67 8.32l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17 1.32-1.3.18-.18a6 6 0 0 0-.18-8.31Zm-2.1 3.6a.5.5 0 0 0 .7-.7l-2.5-2.5a.5.5 0 0 0-.7 0l-2.5 2.5a.5.5 0 1 0 .7.7L9.5 6.71v4.79a.5.5 0 0 0 1 0V6.7l1.65 1.65Z\"]);\nexport const LocationDismissFilled = /*#__PURE__*/createFluentIcon('LocationDismissFilled', \"1em\", [\"M14.95 4.05a7 7 0 0 1 0 9.9l-1.13 1.12-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1 9.9-9.9Zm-7.8 2.1a.5.5 0 0 0 0 .7L9.29 9l-2.14 2.15a.5.5 0 0 0 .7.7L10 9.71l2.15 2.14a.5.5 0 0 0 .7-.7L10.71 9l2.14-2.15a.5.5 0 0 0-.7-.7L10 8.29 7.85 6.15a.5.5 0 0 0-.7 0Z\"]);\nexport const LocationDismissRegular = /*#__PURE__*/createFluentIcon('LocationDismissRegular', \"1em\", [\"M14.95 13.96a7 7 0 1 0-9.9 0l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37 1.13-1.12Zm-9.2-9.2a6 6 0 0 1 8.67 8.3l-.18.19-1.32 1.3-2.23 2.17-.09.08a1 1 0 0 1-1.2 0l-.1-.08-2.97-2.9-.58-.57-.17-.18a6 6 0 0 1 .17-8.31Zm1.4 1.39c.2-.2.5-.2.7 0L10 8.29l2.15-2.14a.5.5 0 0 1 .7.7L10.71 9l2.14 2.15a.5.5 0 0 1-.7.7L10 9.71l-2.15 2.14a.5.5 0 0 1-.7-.7L9.29 9 7.15 6.85a.5.5 0 0 1 0-.7Z\"]);\nexport const LocationLiveFilled = /*#__PURE__*/createFluentIcon('LocationLiveFilled', \"1em\", [\"M8.53 3.01 9 3a7 7 0 0 1 6.98 7.47.5.5 0 1 0 1 .07L17 10A8 8 0 0 0 8.46 2a.5.5 0 1 0 .07 1ZM8 4.98a.5.5 0 0 1 .52-.47 6.25 6.25 0 0 1 5.97 5.97.5.5 0 1 1-1 .04A5.25 5.25 0 0 0 8.49 5.5.5.5 0 0 1 8 4.98ZM6.04 16.4l1.1 1.1c.2.2.52.2.71 0L9 16.37l1.7-1.69a4.5 4.5 0 1 0-6.37 0l1.72 1.72Zm1.46-3.78a1.13 1.13 0 1 1 0-2.25 1.13 1.13 0 0 1 0 2.25Z\"]);\nexport const LocationLiveRegular = /*#__PURE__*/createFluentIcon('LocationLiveRegular', \"1em\", [\"M8.53 3.01 9 3a7 7 0 0 1 6.98 7.47.5.5 0 1 0 1 .07L17 10A8 8 0 0 0 8.46 2a.5.5 0 1 0 .07 1ZM8 4.98a.5.5 0 0 1 .52-.47 6.25 6.25 0 0 1 5.97 5.97.5.5 0 1 1-1 .04A5.25 5.25 0 0 0 8.49 5.5.5.5 0 0 1 8 4.98Zm-.5 7.64a1.13 1.13 0 1 0 0-2.25 1.13 1.13 0 0 0 0 2.25Zm-3.18 2.06 2.83 2.83a.5.5 0 0 0 .7 0l2.83-2.83a4.5 4.5 0 1 0-6.36 0Zm.7-.7a3.5 3.5 0 1 1 4.95 0L7.5 16.44l-2.47-2.48Z\"]);\nexport const LocationOffFilled = /*#__PURE__*/createFluentIcon('LocationOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l2.12 2.13a7 7 0 0 0 .78 8.98l1.52 1.5 2.04 1.98.14.12a2 2 0 0 0 2.64-.12l2.43-2.37.27-.27 3.06 3.05a.5.5 0 0 0 .7-.7l-15-15Zm8.23 9.63A2.98 2.98 0 0 1 7 9c0-.38.07-.74.2-1.07l3.87 3.86ZM12.99 9c0 .54-.14 1.05-.4 1.49l2.9 2.88a7 7 0 0 0-9.85-9.84L8.52 6.4A3 3 0 0 1 13 9Z\"]);\nexport const LocationOffRegular = /*#__PURE__*/createFluentIcon('LocationOffRegular', \"1em\", [\"M2.15 2.15c.2-.2.5-.2.7 0l15 15a.5.5 0 0 1-.7.7l-3.06-3.05-.27.27-2.43 2.37a2 2 0 0 1-2.64.12l-.14-.12-2.04-1.99-1.52-1.5a7 7 0 0 1-.78-8.97L2.15 2.85a.5.5 0 0 1 0-.7Zm8.93 9.63A2.98 2.98 0 0 1 7 9c0-.38.07-.74.2-1.07L4.99 5.7a6.01 6.01 0 0 0 .59 7.37l.17.18.58.57 2.98 2.9.09.08a1 1 0 0 0 1.2 0l.1-.08 2.22-2.17.47-.45-2.31-2.32Zm.77-2.05.75.75A3 3 0 0 0 8.52 6.4l.74.74A1.99 1.99 0 0 1 12 8.99a2 2 0 0 1-.15.74Zm-5.5-5.5a6 6 0 0 1 8.42 8.42l.71.71a7 7 0 0 0-9.84-9.84l.71.71Z\"]);\nexport const LocationRippleFilled = /*#__PURE__*/createFluentIcon('LocationRippleFilled', \"1em\", [\"M10 2a6 6 0 0 0-6 6c0 1.47.84 3 1.8 4.3a23.9 23.9 0 0 0 2.95 3.21c.71.66 1.79.66 2.5 0 .8-.72 1.96-1.89 2.94-3.2C15.16 11 16 9.47 16 8a6 6 0 0 0-6-6Zm2 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm2.42 5.64c-.24.29-.48.56-.72.82.26.08.5.15.72.24.55.21.97.45 1.23.7.27.24.35.44.35.6 0 .16-.08.36-.35.6-.26.25-.68.49-1.23.7-1.1.43-2.67.7-4.42.7s-3.31-.27-4.42-.7a3.99 3.99 0 0 1-1.23-.7c-.27-.24-.35-.44-.35-.6 0-.16.08-.36.35-.6.26-.25.68-.49 1.23-.7.22-.09.46-.16.72-.24-.24-.26-.48-.53-.72-.82l-.36.13c-.62.23-1.15.53-1.55.89C3.28 15 3 15.46 3 16c0 .53.28.99.67 1.34.4.36.93.66 1.55.9 1.25.47 2.94.76 4.78.76 1.84 0 3.53-.29 4.78-.77a4.96 4.96 0 0 0 1.55-.89c.39-.35.67-.8.67-1.34 0-.53-.28-.99-.67-1.34a4.96 4.96 0 0 0-1.91-1.02Z\"]);\nexport const LocationRippleRegular = /*#__PURE__*/createFluentIcon('LocationRippleRegular', \"1em\", [\"M10 3a5 5 0 0 0-5 5c0 1.13.67 2.44 1.61 3.71a22.92 22.92 0 0 0 2.82 3.07c.33.3.81.3 1.14 0 .77-.71 1.9-1.82 2.82-3.07C14.33 10.44 15 9.13 15 8a5 5 0 0 0-5-5ZM4 8a6 6 0 1 1 12 0c0 1.47-.84 3-1.8 4.3a23.92 23.92 0 0 1-2.95 3.21c-.71.66-1.79.66-2.5 0a23.9 23.9 0 0 1-2.94-3.2C4.84 11 4 9.47 4 8Zm6-1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM7.5 8a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm6.92 5.64c-.24.29-.48.56-.72.82.26.08.5.15.72.24.55.21.97.45 1.23.7.27.24.35.44.35.6 0 .16-.08.36-.35.6-.26.25-.68.49-1.23.7-1.1.43-2.67.7-4.42.7s-3.31-.27-4.42-.7a3.99 3.99 0 0 1-1.23-.7c-.27-.24-.35-.44-.35-.6 0-.16.08-.36.35-.6.26-.25.68-.49 1.23-.7.22-.09.46-.16.72-.24-.24-.26-.48-.53-.72-.82l-.36.13c-.62.23-1.15.53-1.55.89C3.28 15 3 15.46 3 16c0 .53.28.99.67 1.34.4.36.93.66 1.55.9 1.25.47 2.94.76 4.78.76 1.84 0 3.53-.29 4.78-.77a4.96 4.96 0 0 0 1.55-.89c.39-.35.67-.8.67-1.34 0-.53-.28-.99-.67-1.34a4.96 4.96 0 0 0-1.91-1.02Z\"]);\nexport const LocationTargetSquareFilled = /*#__PURE__*/createFluentIcon('LocationTargetSquareFilled', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm1.5 7a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm-.96.5H6a.5.5 0 0 1 0-1h.54A3.5 3.5 0 0 1 9.5 6.54V6a.5.5 0 0 1 1 0v.54a3.5 3.5 0 0 1 2.96 2.96H14a.5.5 0 0 1 0 1h-.54a3.5 3.5 0 0 1-2.96 2.96V14a.5.5 0 0 1-1 0v-.54a3.5 3.5 0 0 1-2.96-2.96Zm4.71-.5a1.25 1.25 0 1 0-2.5 0 1.25 1.25 0 0 0 2.5 0Z\"]);\nexport const LocationTargetSquareRegular = /*#__PURE__*/createFluentIcon('LocationTargetSquareRegular', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM4 6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6Zm3.5 4a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Zm-.96.5H6a.5.5 0 0 1 0-1h.54A3.5 3.5 0 0 1 9.5 6.54V6a.5.5 0 0 1 1 0v.54a3.5 3.5 0 0 1 2.96 2.96H14a.5.5 0 0 1 0 1h-.54a3.5 3.5 0 0 1-2.96 2.96V14a.5.5 0 0 1-1 0v-.54a3.5 3.5 0 0 1-2.96-2.96Zm4.71-.5a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Z\"]);\nexport const LockClosedFilled = /*#__PURE__*/createFluentIcon('LockClosedFilled', \"1em\", [\"M10 2a3 3 0 0 0-3 3v1H6a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3h-1V5a3 3 0 0 0-3-3ZM8 5a2 2 0 1 1 4 0v1H8V5Zm2 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const LockClosedRegular = /*#__PURE__*/createFluentIcon('LockClosedRegular', \"1em\", [\"M10 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM6 6h1V5a3 3 0 0 1 6 0v1h1a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3Zm4-3a2 2 0 0 0-2 2v1h4V5a2 2 0 0 0-2-2Zm6 6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V9Z\"]);\nexport const LockClosedKeyFilled = /*#__PURE__*/createFluentIcon('LockClosedKeyFilled', \"1em\", [\"M7 5a3 3 0 0 1 6 0v1h1a3 3 0 0 1 3 3v.13a4 4 0 0 0-4.96 4.42L9.59 16A2 2 0 0 0 9 17.41V18H6a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5Zm3-2a2 2 0 0 0-2 2v1h4V5a2 2 0 0 0-2-2Zm-1 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0Zm7 4a3 3 0 1 0-2.87-2.13l-2.84 2.84a1 1 0 0 0-.29.7v1.09c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5V18h.5a.5.5 0 0 0 .5-.5V17h.5a.5.5 0 0 0 .5-.5v-.67a3 3 0 0 0 1 .17Zm.75-4.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5Z\"]);\nexport const LockClosedKeyRegular = /*#__PURE__*/createFluentIcon('LockClosedKeyRegular', \"1em\", [\"M11 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM7 6H6a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h3v-.59a2 2 0 0 1 .04-.41H6a2 2 0 0 1-2-2V9c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2 4 4 0 0 1 1 .13V9a3 3 0 0 0-3-3h-1V5a3 3 0 1 0-6 0v1Zm1-1a2 2 0 1 1 4 0v1H8V5Zm8 11a3 3 0 1 0-2.87-2.13l-2.84 2.84a1 1 0 0 0-.29.7v1.09c0 .28.22.5.5.5h2a.5.5 0 0 0 .5-.5V18h.5a.5.5 0 0 0 .5-.5V17h.5a.5.5 0 0 0 .5-.5v-.67a3 3 0 0 0 1 .17Zm.75-4.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5Z\"]);\nexport const LockMultipleFilled = /*#__PURE__*/createFluentIcon('LockMultipleFilled', \"1em\", [\"M9 3a2 2 0 0 1 2 2v1H7V5c0-1.1.9-2 2-2Zm3 3V5a3 3 0 1 0-6 0v1h-.5C4.67 6 4 6.67 4 7.5v6c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5H12ZM6.09 16c.2.58.76 1 1.41 1h5a3.5 3.5 0 0 0 3.5-3.5v-4c0-.65-.42-1.2-1-1.41v5.41a2.5 2.5 0 0 1-2.5 2.5H6.1ZM10 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const LockMultipleRegular = /*#__PURE__*/createFluentIcon('LockMultipleRegular', \"1em\", [\"M9 3a2 2 0 0 1 2 2v1H7V5c0-1.1.9-2 2-2ZM6 5v1h-.5C4.67 6 4 6.67 4 7.5v6c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5H12V5a3 3 0 1 0-6 0ZM5 7.5c0-.28.22-.5.5-.5h7c.28 0 .5.22.5.5v6a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-6ZM7.5 17a1.5 1.5 0 0 1-1.41-1h6.41a2.5 2.5 0 0 0 2.5-2.5V8.09c.58.2 1 .76 1 1.41v4a3.5 3.5 0 0 1-3.5 3.5h-5ZM9 11.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const LockOpenFilled = /*#__PURE__*/createFluentIcon('LockOpenFilled', \"1em\", [\"M15 2a2 2 0 0 0-2 2v2h1a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h6V4a3 3 0 1 1 6 0v.5a.5.5 0 0 1-1 0V4a2 2 0 0 0-2-2Zm-5 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const LockOpenRegular = /*#__PURE__*/createFluentIcon('LockOpenRegular', \"1em\", [\"M10 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm5-11a2 2 0 0 0-2 2v2h1a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h6V4a3 3 0 1 1 6 0v.5a.5.5 0 0 1-1 0V4a2 2 0 0 0-2-2Zm-1 5H6a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2Z\"]);\nexport const LockShieldFilled = /*#__PURE__*/createFluentIcon('LockShieldFilled', \"1em\", [\"M10 2a3 3 0 0 0-3 3v1H6a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h5.24A5.3 5.3 0 0 1 10 14.52V13a1 1 0 1 1 .47-1.88c.23-.22.52-.35.82-.4a3.98 3.98 0 0 0 2.1-1.25c.6-.63 1.62-.63 2.21 0 .34.35.83.78 1.4 1.04V9a3 3 0 0 0-3-3h-1V5a3 3 0 0 0-3-3ZM8 5a2 2 0 1 1 4 0v1H8V5Zm6.88 5.16c.5.53 1.48 1.38 2.68 1.55a.5.5 0 0 1 .44.48v2.33c0 3.12-2.78 4.25-3.39 4.46a.34.34 0 0 1-.22 0c-.6-.2-3.39-1.34-3.39-4.46v-2.33c0-.24.2-.44.44-.48a4.95 4.95 0 0 0 2.68-1.55c.2-.21.56-.21.76 0Z\"]);\nexport const LockShieldRegular = /*#__PURE__*/createFluentIcon('LockShieldRegular', \"1em\", [\"M10 13v-.8c0-.45.19-.82.47-1.08A1 1 0 1 0 10 13Zm-4 4h4.58c.19.37.41.7.66 1H6a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5a3 3 0 0 1 6 0v1h1a3 3 0 0 1 3 3v1.5a4.32 4.32 0 0 1-1-.65V9a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2Zm4-14a2 2 0 0 0-2 2v1h4V5a2 2 0 0 0-2-2Zm4.88 7.16c.5.53 1.48 1.38 2.68 1.55a.5.5 0 0 1 .44.48v2.33c0 3.12-2.78 4.25-3.39 4.46a.34.34 0 0 1-.22 0c-.6-.2-3.39-1.34-3.39-4.46v-2.33c0-.24.2-.44.44-.48a4.95 4.95 0 0 0 2.68-1.55c.2-.21.56-.21.76 0Z\"]);\nexport const LotteryFilled = /*#__PURE__*/createFluentIcon('LotteryFilled', \"1em\", [\"M12.44 3.25c-.98.32-1.83.94-2.44 1.75a5.01 5.01 0 0 0-2.44-1.75 3 3 0 0 1 4.88 0Zm-8.81 7.97a6.5 6.5 0 0 1 5.85-5.2 4 4 0 1 0-5.85 5.2Zm12.74 0a4 4 0 1 0-5.85-5.2 6.5 6.5 0 0 1 5.85 5.2Zm-.87 1.28a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-7.5-2c0 .28.22.5.5.5h2.24l-.32.48a7.65 7.65 0 0 0-1.17 2.96.5.5 0 1 0 1 .12c.1-.9.56-1.82 1.02-2.54a11.1 11.1 0 0 1 .84-1.17l.01-.02a.5.5 0 0 0-.37-.83H8.5a.5.5 0 0 0-.5.5Z\"]);\nexport const LotteryRegular = /*#__PURE__*/createFluentIcon('LotteryRegular', \"1em\", [\"M8.5 3.67a2 2 0 0 1 3 0c.3-.17.6-.31.94-.42a3 3 0 0 0-4.88 0c.33.1.65.25.95.42ZM3 8a3 3 0 0 1 5.4-1.8c.35-.09.7-.15 1.08-.18a4 4 0 1 0-5.85 5.2c.07-.36.17-.71.3-1.05A3 3 0 0 1 3 8Zm11-4a4 4 0 0 0-3.48 2.02c.37.03.73.09 1.08.18a3 3 0 1 1 4.47 3.97c.13.34.23.69.3 1.05A4 4 0 0 0 14 4Zm-8.5 8.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM10 7a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11Zm-1.5 3a.5.5 0 0 0 0 1h2.24l-.32.48a7.65 7.65 0 0 0-1.17 2.96.5.5 0 1 0 1 .12c.1-.9.56-1.82 1.02-2.54a11.1 11.1 0 0 1 .84-1.17l.01-.02a.5.5 0 0 0-.37-.83H8.5Z\"]);\nexport const LuggageFilled = /*#__PURE__*/createFluentIcon('LuggageFilled', \"1em\", [\"M6.5 2a.5.5 0 0 0 0 1H7v1h-.5A2.5 2.5 0 0 0 4 6.5v8a2.5 2.5 0 0 0 2 2.45v.55a.5.5 0 0 0 1 0V17h6v.5a.5.5 0 0 0 1 0v-.55a2.5 2.5 0 0 0 2-2.45v-8A2.5 2.5 0 0 0 13.5 4H13V3h.5a.5.5 0 0 0 0-1h-7ZM12 3v1H8V3h4ZM6.5 8.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1H7a.5.5 0 0 1-.5-.5Z\"]);\nexport const LuggageRegular = /*#__PURE__*/createFluentIcon('LuggageRegular', \"1em\", [\"M6.5 2a.5.5 0 0 0 0 1H7v1h-.5A2.5 2.5 0 0 0 4 6.5v8a2.5 2.5 0 0 0 2 2.45v.55a.5.5 0 0 0 1 0V17h6v.5a.5.5 0 0 0 1 0v-.55a2.5 2.5 0 0 0 2-2.45v-8A2.5 2.5 0 0 0 13.5 4H13V3h.5a.5.5 0 0 0 0-1h-7ZM12 3v1H8V3h4ZM6.5 5h7c.83 0 1.5.67 1.5 1.5v8c0 .83-.67 1.5-1.5 1.5h-7A1.5 1.5 0 0 1 5 14.5v-8C5 5.67 5.67 5 6.5 5Zm0 3.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1H7a.5.5 0 0 1-.5-.5Z\"]);\nexport const MailColor = /*#__PURE__*/createFluentIcon('MailColor', \"1em\", [\"M2.76 6.07A.5.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5v-8a.5.5 0 0 0-.76-.43L10 10.42 2.76 6.07Z\", \"M2.76 6.07A.5.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5v-8a.5.5 0 0 0-.76-.43L10 10.42 2.76 6.07Z\", \"M2.76 6.07A.5.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5v-8a.5.5 0 0 0-.76-.43L10 10.42 2.76 6.07Z\", \"M2.76 6.07A.5.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5v-8a.5.5 0 0 0-.76-.43L10 10.42 2.76 6.07Z\", \"M2.76 6.07A.5.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5v-8a.5.5 0 0 0-.76-.43L10 10.42 2.76 6.07Z\", \"M4.5 4A2.5 2.5 0 0 0 2 6.5v.6c0 .18.1.34.25.43l7.5 4.4c.15.1.35.1.5 0l7.5-4.4A.5.5 0 0 0 18 7.1v-.6A2.5 2.5 0 0 0 15.5 4h-11Z\"]);\nexport const MailFilled = /*#__PURE__*/createFluentIcon('MailFilled', \"1em\", [\"M18 7.37v7.13a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0L18 7.37ZM15.5 4a2.5 2.5 0 0 1 2.48 2.22L10 10.92l-7.98-4.7A2.5 2.5 0 0 1 4.5 4h11Z\"]);\nexport const MailRegular = /*#__PURE__*/createFluentIcon('MailRegular', \"1em\", [\"M15.5 4A2.5 2.5 0 0 1 18 6.5v8a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h11ZM17 7.96l-6.75 3.97a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V7.96ZM15.5 5h-11C3.67 5 3 5.67 3 6.5v.3l7 4.12 7-4.12v-.3c0-.83-.67-1.5-1.5-1.5Z\"]);\nexport const MailAddFilled = /*#__PURE__*/createFluentIcon('MailAddFilled', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H15V3.5Zm-.5 7.5c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailAddRegular = /*#__PURE__*/createFluentIcon('MailAddRegular', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5h-1.5a.5.5 0 0 0 0 1H14v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H15V3.5Zm2 11v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Z\"]);\nexport const MailAlertFilled = /*#__PURE__*/createFluentIcon('MailAlertFilled', \"1em\", [\"M11.5 4a3 3 0 0 1 6 0v2l1.32 1.12a.5.5 0 0 1-.33.88H10.5a.5.5 0 0 1-.32-.88L11.5 6V4Zm3 6a1.5 1.5 0 0 1-1.42-1h2.83c-.2.58-.76 1-1.41 1Zm-4-4.46-.97.82A1.5 1.5 0 0 0 10.5 9h1.52l.12.33.11.27L10 10.92l-7.98-4.7A2.5 2.5 0 0 1 4.5 4h6v1.54Zm-.25 6.4 2.62-1.55a2.49 2.49 0 0 0 3.99-1.06l.11-.33H18v5.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0Z\"]);\nexport const MailAlertRegular = /*#__PURE__*/createFluentIcon('MailAlertRegular', \"1em\", [\"M11.5 4a3 3 0 0 1 6 0v2l1.32 1.12a.5.5 0 0 1-.33.88H10.5a.5.5 0 0 1-.32-.88L11.5 6V4Zm3 6a1.5 1.5 0 0 1-1.42-1h2.83c-.2.58-.76 1-1.41 1Zm-10-5h6V4h-6A2.5 2.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5V9h-1v5.5c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5V7.96l6.75 3.97.08.04c.14.05.3.04.42-.04l2.62-1.54a2.5 2.5 0 0 1-.62-.8L10 10.93 3 6.8v-.3C3 5.67 3.67 5 4.5 5Z\"]);\nexport const MailAllReadFilled = /*#__PURE__*/createFluentIcon('MailAllReadFilled', \"1em\", [\"M6.5 17a2.5 2.5 0 0 1-2-1h9a3.5 3.5 0 0 0 3.5-3.5v-6c.6.46 1 1.18 1 2v4a4.5 4.5 0 0 1-4.5 4.5h-7ZM9.24 2.06a.5.5 0 0 0-.48 0l-5.7 3.07a2 2 0 0 0-.76.71l.42.2L9 8.95l6.28-2.89.41-.22a2 2 0 0 0-.74-.7L9.24 2.06ZM16 6.8l-.26.14a.5.5 0 0 1-.03.01l-6.5 3a.5.5 0 0 1-.42 0l-6.5-3h-.01L2 6.8V12.5A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5V6.8Z\"]);\nexport const MailAllReadRegular = /*#__PURE__*/createFluentIcon('MailAllReadRegular', \"1em\", [\"M8.76 2.06a.5.5 0 0 1 .48 0l5.7 3.07A2 2 0 0 1 16 6.9v5.6a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 2 12.5V6.9a2 2 0 0 1 1.05-1.77l5.71-3.07Zm.24 1L3.53 6.03a1 1 0 0 0-.32.26L9 8.95l5.79-2.67a1 1 0 0 0-.32-.26L9 3.07Zm6 4.22L9.21 9.95a.5.5 0 0 1-.42 0L3 7.28v5.22c0 .83.67 1.5 1.5 1.5h9c.83 0 1.5-.67 1.5-1.5V7.28ZM6.5 17a2.5 2.5 0 0 1-2-1h9a3.5 3.5 0 0 0 3.5-3.5v-6c.6.46 1 1.18 1 2v4a4.5 4.5 0 0 1-4.5 4.5h-7Z\"]);\nexport const MailAllUnreadFilled = /*#__PURE__*/createFluentIcon('MailAllUnreadFilled', \"1em\", [\"M14.5 7a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm-3.16-4H4.5a2.5 2.5 0 0 0-2.48 2.22L9 8.92l3.26-1.73A3.5 3.5 0 0 1 11.34 3Zm1.97 4.8L9.25 9.92a.5.5 0 0 1-.5 0L2 6.37v6.13A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5V7.66a3.49 3.49 0 0 1-2.7.13ZM6.5 17a2.5 2.5 0 0 1-2-1h9a3.5 3.5 0 0 0 3.5-3.5v-5c.6.46 1 1.18 1 2v3a4.5 4.5 0 0 1-4.5 4.5h-7Z\"]);\nexport const MailAllUnreadRegular = /*#__PURE__*/createFluentIcon('MailAllUnreadRegular', \"1em\", [\"M14.5 7a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm-3.16-4H4.5A2.5 2.5 0 0 0 2 5.5v7A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5V7.66c-.31.15-.65.25-1 .3v4.54c0 .83-.67 1.5-1.5 1.5h-9A1.5 1.5 0 0 1 3 12.5V6.96l5.75 2.97.08.04c.14.05.3.04.42-.04l4.1-2.12a3.5 3.5 0 0 1-1.06-.6L9 8.92 3 5.8v-.3C3 4.67 3.67 4 4.5 4h6.54c.05-.35.15-.69.3-1ZM6.5 17a2.5 2.5 0 0 1-2-1h9a3.5 3.5 0 0 0 3.5-3.5v-5c.6.46 1 1.18 1 2v3a4.5 4.5 0 0 1-4.5 4.5h-7Z\"]);\nexport const MailArrowClockwiseFilled = /*#__PURE__*/createFluentIcon('MailArrowClockwiseFilled', \"1em\", [\"M18 1a.5.5 0 0 0-1 0v.76a4.5 4.5 0 1 0 2 3.74.5.5 0 0 0-1 0 3.5 3.5 0 1 1-1.7-3h-.8a.5.5 0 0 0 0 1h2A.5.5 0 0 0 18 3V1ZM9 5.5c0 1.9.97 3.59 2.44 4.57l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4h4.7c-.13.48-.2.98-.2 1.5Zm9 9V9.74a5.48 5.48 0 0 1-5.52.88l-2.23 1.31a.5.5 0 0 1-.5 0L2 7.37v7.13A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5Z\"]);\nexport const MailArrowClockwiseRegular = /*#__PURE__*/createFluentIcon('MailArrowClockwiseRegular', \"1em\", [\"M18 1a.5.5 0 0 0-1 0v.76a4.5 4.5 0 1 0 2 3.74.5.5 0 0 0-1 0 3.5 3.5 0 1 1-1.7-3h-.8a.5.5 0 0 0 0 1h2A.5.5 0 0 0 18 3V1Zm-1 9.4v4.1c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5V7.96l6.75 3.97.08.04c.14.05.3.04.42-.04l2.23-1.31a5.49 5.49 0 0 1-1.04-.55l-1.44.85L3 6.8v-.3C3 5.67 3.67 5 4.5 5h4.52c.03-.34.1-.68.19-1H4.5A2.5 2.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5V9.74c-.3.26-.64.48-1 .66Z\"]);\nexport const MailArrowDoubleBackFilled = /*#__PURE__*/createFluentIcon('MailArrowDoubleBackFilled', \"1em\", [\"M14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Zm10 6a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-1.15-6.35c.2.2.2.5 0 .7L12.21 5.5l1.14 1.15a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5c.2-.2.5-.2.7 0Zm2.5.7-.64.65H17a1 1 0 0 1 1 1v.5a.5.5 0 0 1-1 0V6h-1.8l.65.65a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5a.5.5 0 0 1 .7.7Z\"]);\nexport const MailArrowDoubleBackRegular = /*#__PURE__*/createFluentIcon('MailArrowDoubleBackRegular', \"1em\", [\"M17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5ZM14.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-1.15-6.35c.2.2.2.5 0 .7L12.21 5.5l1.14 1.15a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5c.2-.2.5-.2.7 0Zm2.5.7-.64.65H17a1 1 0 0 1 1 1v.5a.5.5 0 0 1-1 0V6h-1.8l.65.65a.5.5 0 0 1-.7.7l-1.5-1.5a.5.5 0 0 1 0-.7l1.5-1.5a.5.5 0 0 1 .7.7Z\"]);\nexport const MailArrowDownFilled = /*#__PURE__*/createFluentIcon('MailArrowDownFilled', \"1em\", [\"M14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Zm10 6a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-2.35-4.15a.5.5 0 0 1 .7-.7L14 6.29V3.5a.5.5 0 0 1 1 0v2.8l1.15-1.15a.5.5 0 0 1 .7.7l-2 2a.5.5 0 0 1-.35.15.5.5 0 0 1-.35-.14l-2-2Z\"]);\nexport const MailArrowDownRegular = /*#__PURE__*/createFluentIcon('MailArrowDownRegular', \"1em\", [\"M17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5ZM14.5 10a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm-2.35-4.15 2 2a.5.5 0 0 0 .35.15.5.5 0 0 0 .35-.15l2-2a.5.5 0 0 0-.7-.7L15 6.29V3.5a.5.5 0 0 0-1 0v2.8l-1.15-1.15a.5.5 0 0 0-.7.7Z\"]);\nexport const MailArrowForwardFilled = /*#__PURE__*/createFluentIcon('MailArrowForwardFilled', \"1em\", [\"M14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4ZM10 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm5.4-2.6c.2-.2.5-.2.7 0l1.75 1.75a.5.5 0 0 1 0 .7L16.1 7.1a.5.5 0 0 1-.7-.7l.9-.9h-1.55c-.97 0-1.75.78-1.75 1.75v.25a.5.5 0 0 1-1 0v-.25a2.75 2.75 0 0 1 2.75-2.75h1.54l-.9-.9a.5.5 0 0 1 0-.7Z\"]);\nexport const MailArrowForwardRegular = /*#__PURE__*/createFluentIcon('MailArrowForwardRegular', \"1em\", [\"M17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Zm-7-9a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm5.4-2.6c.2-.2.5-.2.7 0l1.75 1.75a.5.5 0 0 1 0 .7L16.1 7.1a.5.5 0 0 1-.7-.7l.9-.9h-1.55c-.97 0-1.75.78-1.75 1.75v.25a.5.5 0 0 1-1 0v-.25a2.75 2.75 0 0 1 2.75-2.75h1.54l-.9-.9a.5.5 0 0 1 0-.7Z\"]);\nexport const MailArrowUpFilled = /*#__PURE__*/createFluentIcon('MailArrowUpFilled', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.15-2.35A.5.5 0 0 0 14.5 3a.5.5 0 0 0-.35.15l-2 2a.5.5 0 0 0 .7.7L14 4.71V7.5a.5.5 0 1 0 1 0V4.7l1.15 1.15a.5.5 0 1 0 .7-.7l-2-2ZM14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailArrowUpRegular = /*#__PURE__*/createFluentIcon('MailArrowUpRegular', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.15-2.35A.5.5 0 0 0 14.5 3a.5.5 0 0 0-.35.15l-2 2a.5.5 0 0 0 .7.7L14 4.71V7.5a.5.5 0 1 0 1 0V4.7l1.15 1.15a.5.5 0 1 0 .7-.7l-2-2ZM17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Z\"]);\nexport const MailAttachFilled = /*#__PURE__*/createFluentIcon('MailAttachFilled', \"1em\", [\"M10.3 8.7c.2.2.44.32.7.39-.21.43-.29.91-.23 1.38l-.77.45-7.98-4.7A2.5 2.5 0 0 1 4.5 4h8.37L10.3 6.58a1.5 1.5 0 0 0 0 2.12Zm.78 2.74a2.57 2.57 0 0 0 4.04.55L18 9.12v5.38a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l.83-.49Zm4.15-6.96a1.62 1.62 0 0 1 2.3 2.3h-.02l-3.85 3.85h-.01a.56.56 0 1 1-.78-.8l3.48-3.48a.5.5 0 1 0-.7-.7l-3.5 3.49-.02.02a1.56 1.56 0 0 0 2.21 2.2l.01-.01 3.88-3.87.01-.01a2.63 2.63 0 0 0-3.72-3.7l-3.57 3.57a.5.5 0 0 0 .7.7l3.58-3.56Z\"]);\nexport const MailAttachRegular = /*#__PURE__*/createFluentIcon('MailAttachRegular', \"1em\", [\"m10.77 10.47-.77.45L3 6.8v-.3C3 5.67 3.67 5 4.5 5h7.38l1-1H4.5A2.5 2.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5V9.12l-1 1v4.38c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5V7.96l6.75 3.97.08.04c.14.05.3.04.42-.04l.83-.49c-.17-.3-.28-.63-.31-.97Zm4.46-6a1.62 1.62 0 0 1 2.3 2.3l-.02.01-3.85 3.85h-.01a.56.56 0 1 1-.78-.8l3.48-3.48a.5.5 0 1 0-.7-.7l-3.5 3.49-.02.02a1.56 1.56 0 0 0 2.21 2.2l.01-.01 3.88-3.87.01-.01a2.63 2.63 0 0 0-3.72-3.7l-3.57 3.57a.5.5 0 0 0 .7.7l3.58-3.56Z\"]);\nexport const MailCheckmarkFilled = /*#__PURE__*/createFluentIcon('MailCheckmarkFilled', \"1em\", [\"M14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Zm10 6a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm2.35-5.65-3 3a.5.5 0 0 1-.7 0l-1-1a.5.5 0 0 1 .7-.7l.65.64 2.65-2.64a.5.5 0 0 1 .7.7Z\"]);\nexport const MailCheckmarkRegular = /*#__PURE__*/createFluentIcon('MailCheckmarkRegular', \"1em\", [\"M17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5ZM14.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm2.35-5.65-3 3a.5.5 0 0 1-.7 0l-1-1a.5.5 0 0 1 .7-.7l.65.64 2.65-2.64a.5.5 0 0 1 .7.7Z\"]);\nexport const MailClockFilled = /*#__PURE__*/createFluentIcon('MailClockFilled', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 3a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5H16a.5.5 0 0 0 0-1h-1V3.5a.5.5 0 0 0-.5-.5Zm0 8c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailClockRegular = /*#__PURE__*/createFluentIcon('MailClockRegular', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 3a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5H16a.5.5 0 0 0 0-1h-1V3.5a.5.5 0 0 0-.5-.5ZM17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Z\"]);\nexport const MailCopyFilled = /*#__PURE__*/createFluentIcon('MailCopyFilled', \"1em\", [\"M4 12.5V6.37l6.75 3.56c.15.1.35.1.5 0L18 6.37v6.13a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 4 12.5Zm.02-7.28A2.5 2.5 0 0 1 6.5 3h9a2.5 2.5 0 0 1 2.48 2.22L11 8.92l-6.98-3.7ZM13.5 17c.82 0 1.54-.4 2-1h-9A3.5 3.5 0 0 1 3 12.5v-7c-.6.46-1 1.18-1 2v5A4.5 4.5 0 0 0 6.5 17h7Z\"]);\nexport const MailCopyRegular = /*#__PURE__*/createFluentIcon('MailCopyRegular', \"1em\", [\"M4 5.5A2.5 2.5 0 0 1 6.5 3h9A2.5 2.5 0 0 1 18 5.5v7a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 4 12.5v-7Zm6.75 4.43L5 6.96v5.54c0 .83.67 1.5 1.5 1.5h9c.83 0 1.5-.67 1.5-1.5V6.96l-5.75 2.97-.08.04a.5.5 0 0 1-.42-.04ZM15.5 4h-9C5.67 4 5 4.67 5 5.5v.3l6 3.12 6-3.12v-.3c0-.83-.67-1.5-1.5-1.5Zm-2 13c.82 0 1.54-.4 2-1h-9A3.5 3.5 0 0 1 3 12.5v-7c-.6.46-1 1.18-1 2v5A4.5 4.5 0 0 0 6.5 17h7Z\"]);\nexport const MailDismissFilled = /*#__PURE__*/createFluentIcon('MailDismissFilled', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7L14.5 4.79l-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7L15.21 5.5l1.14-1.15ZM14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailDismissRegular = /*#__PURE__*/createFluentIcon('MailDismissRegular', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7L14.5 4.79l-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7L15.21 5.5l1.14-1.15ZM17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Z\"]);\nexport const MailEditFilled = /*#__PURE__*/createFluentIcon('MailEditFilled', \"1em\", [\"M18 6.37v2.76a2.87 2.87 0 0 0-2.9.71l-4.83 4.83a3.2 3.2 0 0 0-.8 1.33H4.5A2.5 2.5 0 0 1 2 13.5V6.37l7.75 4.56c.15.1.35.1.5 0L18 6.37ZM15.5 3a2.5 2.5 0 0 1 2.48 2.22L10 9.92l-7.98-4.7A2.5 2.5 0 0 1 4.5 3h11Zm-4.52 12.38 4.83-4.83a1.87 1.87 0 1 1 2.64 2.64l-4.83 4.83a2.2 2.2 0 0 1-1.02.58l-1.5.37a.89.89 0 0 1-1.07-1.07l.37-1.5c.1-.39.3-.74.58-1.02Z\"]);\nexport const MailEditRegular = /*#__PURE__*/createFluentIcon('MailEditRegular', \"1em\", [\"M15.5 3A2.5 2.5 0 0 1 18 5.5v3.63c-.32-.1-.66-.14-1-.13V6.96l-6.75 3.97a.5.5 0 0 1-.42.04l-.08-.04L3 6.96v6.54c0 .83.67 1.5 1.5 1.5h5.48c-.22.3-.4.64-.5 1H4.5A2.5 2.5 0 0 1 2 13.5v-8A2.5 2.5 0 0 1 4.5 3h11Zm0 1h-11C3.67 4 3 4.67 3 5.5v.3l7 4.12 7-4.12v-.3c0-.83-.67-1.5-1.5-1.5Zm-4.52 11.38 4.83-4.83a1.87 1.87 0 1 1 2.64 2.64l-4.83 4.83a2.2 2.2 0 0 1-1.02.58l-1.5.37a.89.89 0 0 1-1.07-1.07l.37-1.5c.1-.39.3-.74.58-1.02Z\"]);\nexport const MailErrorFilled = /*#__PURE__*/createFluentIcon('MailErrorFilled', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Zm0 5.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.25Zm0 2.87c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailErrorRegular = /*#__PURE__*/createFluentIcon('MailErrorRegular', \"1em\", [\"M19 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM14.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5Zm0 5.13a.62.62 0 1 0 0-1.25.62.62 0 0 0 0 1.25ZM17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Z\"]);\nexport const MailInboxFilled = /*#__PURE__*/createFluentIcon('MailInboxFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm1 4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 10.5v-.01c0-.28.22-.5.5-.5H16V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4Zm4 .5Z\"]);\nexport const MailInboxRegular = /*#__PURE__*/createFluentIcon('MailInboxRegular', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm10 7h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 10.5v-.01a.5.5 0 0 0-.5-.5H4V6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v4ZM4 11h3.05c.05.26.14.62.32.97.18.38.47.76.9 1.06.45.29 1.02.47 1.73.47s1.28-.18 1.72-.47c.44-.3.73-.68.91-1.06.18-.35.27-.7.32-.97H16v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3Z\"]);\nexport const MailInboxAddFilled = /*#__PURE__*/createFluentIcon('MailInboxAddFilled', \"1em\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5h-1.5a.5.5 0 0 0 0 1H13v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H14V3.5Zm2 7.5v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16Z\"]);\nexport const MailInboxAddRegular = /*#__PURE__*/createFluentIcon('MailInboxAddRegular', \"1em\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V5h-1.5a.5.5 0 0 0 0 1H13v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H14V3.5ZM6 5h2.02c.03-.34.1-.68.19-1H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9.74c-.3.26-.64.48-1 .66v.6h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 11.5v-.01a.5.5 0 0 0-.5-.5H4V7c0-1.1.9-2 2-2Zm-2 7h3.05c.05.26.14.62.32.97.18.38.47.76.9 1.06.45.29 1.02.47 1.73.47s1.28-.18 1.72-.47c.44-.3.73-.68.91-1.06.18-.35.27-.7.32-.97H16v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3Z\"]);\nexport const MailInboxAllFilled = /*#__PURE__*/createFluentIcon('MailInboxAllFilled', \"1em\", [\"M6 5.5c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm0 2c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm1 4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 10.5v-.01c0-.28.22-.5.5-.5H16V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4Zm4 .5Z\"]);\nexport const MailInboxAllRegular = /*#__PURE__*/createFluentIcon('MailInboxAllRegular', \"1em\", [\"M6 5.5c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM6.5 7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7ZM6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm10 7h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 10.5v-.01a.5.5 0 0 0-.5-.5H4V6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v4ZM4 11h3.05c.05.26.14.62.32.97.18.38.47.76.9 1.06.45.29 1.02.47 1.73.47s1.28-.18 1.72-.47c.44-.3.73-.68.91-1.06.18-.35.27-.7.32-.97H16v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3Z\"]);\nexport const MailInboxArrowDownFilled = /*#__PURE__*/createFluentIcon('MailInboxArrowDownFilled', \"1em\", [\"M16 10.4v.6h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 11.5v-.01a.5.5 0 0 0-.5-.5H4V7c0-1.1.9-2 2-2h2.02c.03-.34.1-.68.19-1H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9.74c-.3.26-.64.48-1 .66Zm-2.5-.4a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-2.35-4.15a.5.5 0 0 1 .7-.7L13 6.29V3.5a.5.5 0 0 1 1 0v2.8l1.15-1.15a.5.5 0 0 1 .7.7l-2 2a.5.5 0 0 1-.35.15.5.5 0 0 1-.35-.14l-2-2Z\"]);\nexport const MailInboxArrowDownRegular = /*#__PURE__*/createFluentIcon('MailInboxArrowDownRegular', \"1em\", [\"M8.02 5H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.68 1.68 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.42 2.42 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1Zm-.97 7H4v3c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-3h-3.05c-.05.26-.14.62-.32.97a2.7 2.7 0 0 1-.9 1.06c-.45.29-1.02.47-1.73.47s-1.28-.18-1.72-.47a2.7 2.7 0 0 1-.91-1.06c-.18-.35-.27-.7-.32-.97Zm6.45-2a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-2.35-4.15a.5.5 0 0 1 .7-.7L13 6.29V3.5a.5.5 0 0 1 1 0v2.8l1.15-1.15a.5.5 0 0 1 .7.7l-2 2a.5.5 0 0 1-.35.15.5.5 0 0 1-.35-.14l-2-2Z\"]);\nexport const MailInboxArrowRightFilled = /*#__PURE__*/createFluentIcon('MailInboxArrowRightFilled', \"1em\", [\"M16 11v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16Zm2-5.5a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Zm-4.15 2.35a.5.5 0 0 1-.7-.7L14.29 6H11.5a.5.5 0 0 1 0-1h2.8l-1.15-1.15a.5.5 0 0 1 .7-.7l2 2a.5.5 0 0 1 .15.35.5.5 0 0 1-.14.35l-2 2Z\"]);\nexport const MailInboxArrowRightRegular = /*#__PURE__*/createFluentIcon('MailInboxArrowRightRegular', \"1em\", [\"M13.5 1a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9Zm2.35 4.85A.5.5 0 0 0 16 5.5a.5.5 0 0 0-.15-.35l-2-2a.5.5 0 0 0-.7.7L14.29 5H11.5a.5.5 0 0 0 0 1h2.8l-1.15 1.15a.5.5 0 0 0 .7.7l2-2ZM8.02 5H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1Zm-.97 7H4v3c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-3h-3.05c-.05.26-.14.62-.32.97a2.7 2.7 0 0 1-.9 1.06c-.45.29-1.02.47-1.73.47s-1.28-.18-1.72-.47a2.7 2.7 0 0 1-.91-1.06c-.18-.35-.27-.7-.32-.97Z\"]);\nexport const MailInboxArrowUpFilled = /*#__PURE__*/createFluentIcon('MailInboxArrowUpFilled', \"1em\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.15-2.35A.5.5 0 0 0 13.5 3a.5.5 0 0 0-.35.15l-2 2a.5.5 0 0 0 .7.7L13 4.71V7.5a.5.5 0 1 0 1 0V4.7l1.15 1.15a.5.5 0 1 0 .7-.7l-2-2ZM16 10.4v.6h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 11.5v-.01a.5.5 0 0 0-.5-.5H4V7c0-1.1.9-2 2-2h2.02c.03-.34.1-.68.19-1H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9.74c-.3.26-.64.48-1 .66Z\"]);\nexport const MailInboxArrowUpRegular = /*#__PURE__*/createFluentIcon('MailInboxArrowUpRegular', \"1em\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4.15-2.35A.5.5 0 0 0 13.5 3a.5.5 0 0 0-.35.15l-2 2a.5.5 0 0 0 .7.7L13 4.71V7.5a.5.5 0 1 0 1 0V4.7l1.15 1.15a.5.5 0 0 0 .7-.7l-2-2ZM8.02 5H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.68 1.68 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.42 2.42 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1Zm-.97 7H4v3c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-3h-3.05c-.05.26-.14.62-.32.97a2.7 2.7 0 0 1-.9 1.06c-.45.29-1.02.47-1.73.47s-1.28-.18-1.72-.47a2.7 2.7 0 0 1-.91-1.06c-.18-.35-.27-.7-.32-.97Z\"]);\nexport const MailInboxCheckmarkFilled = /*#__PURE__*/createFluentIcon('MailInboxCheckmarkFilled', \"1em\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.85-1.85L12.5 6.29l-.65-.64a.5.5 0 0 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0-.7-.7ZM16 10.4v.6h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 11.5v-.01a.5.5 0 0 0-.5-.5H4V7c0-1.1.9-2 2-2h2.02c.03-.34.1-.68.19-1H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9.74c-.3.26-.64.48-1 .66Z\"]);\nexport const MailInboxCheckmarkRegular = /*#__PURE__*/createFluentIcon('MailInboxCheckmarkRegular', \"1em\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.85-1.85L12.5 6.29l-.65-.64a.5.5 0 0 0-.7.7l1 1c.2.2.5.2.7 0l3-3a.5.5 0 0 0-.7-.7ZM8.02 5H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1Zm-.97 7H4v3c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-3h-3.05c-.05.26-.14.62-.32.97a2.7 2.7 0 0 1-.9 1.06c-.45.29-1.02.47-1.73.47s-1.28-.18-1.72-.47a2.7 2.7 0 0 1-.91-1.06c-.18-.35-.27-.7-.32-.97Z\"]);\nexport const MailInboxDismissFilled = /*#__PURE__*/createFluentIcon('MailInboxDismissFilled', \"1em\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7L13.5 4.79l-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7L14.21 5.5l1.14-1.15ZM16 11v-.6c.36-.18.7-.4 1-.66V15a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2.2c-.08.32-.15.66-.18 1H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5v.01a1.64 1.64 0 0 0 .03.3c.04.2.1.46.23.72.13.25.3.49.57.66.26.18.63.31 1.17.31.54 0 .9-.13 1.17-.3.26-.18.44-.42.57-.67A2.57 2.57 0 0 0 12 11.5v-.01c0-.28.22-.5.5-.5H16Z\"]);\nexport const MailInboxDismissRegular = /*#__PURE__*/createFluentIcon('MailInboxDismissRegular', \"1em\", [\"M18 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.65-1.15a.5.5 0 0 0-.7-.7L13.5 4.79l-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7L14.21 5.5l1.14-1.15ZM6 5h2.02c.03-.34.1-.68.19-1H6a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9.74c-.3.26-.64.48-1 .66v.6h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 11.5v-.01a.5.5 0 0 0-.5-.5H4V7c0-1.1.9-2 2-2Zm-2 7h3.05c.05.26.14.62.32.97.18.38.47.76.9 1.06.45.29 1.02.47 1.73.47s1.28-.18 1.72-.47c.44-.3.73-.68.91-1.06.18-.35.27-.7.32-.97H16v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3Z\"]);\nexport const MailInboxPersonFilled = /*#__PURE__*/createFluentIcon('MailInboxPersonFilled', \"1em\", [\"M3 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v3.4c-.3-.17-.64-.3-1-.36V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4h3.5c.28 0 .5.22.5.5.03 1.18.84 2 2 2 1.16 0 1.97-.82 2-2 0-.28.22-.5.5-.5h.76a2.99 2.99 0 0 0 .01 4.01A2.5 2.5 0 0 0 11 16.5c0 .15.03.32.09.5H6a3 3 0 0 1-3-3V6Zm14.5 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const MailInboxPersonRegular = /*#__PURE__*/createFluentIcon('MailInboxPersonRegular', \"1em\", [\"M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h5.04a3.3 3.3 0 0 1 .01-1H6a2 2 0 0 1-2-2v-3h3.05c.05.26.14.62.32.97.18.38.47.76.9 1.06.45.29 1.02.47 1.73.47s1.28-.18 1.72-.47c.35-.24.6-.53.79-.83a3.06 3.06 0 0 1 .75-2.2h-.76a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 10.5v-.01a.5.5 0 0 0-.5-.5H4V6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v3.04c.36.06.7.19 1 .36V6a3 3 0 0 0-3-3H6Zm11.5 9a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const MailLinkFilled = /*#__PURE__*/createFluentIcon('MailLinkFilled', \"1em\", [\"M12.5 3a2.5 2.5 0 0 0 0 5h.5a.5.5 0 0 0 0-1h-.5a1.5 1.5 0 0 1 0-3h.5a.5.5 0 0 0 0-1h-.5ZM16 3a.5.5 0 0 0 0 1h.5a1.5 1.5 0 0 1 0 3H16a.5.5 0 0 0 0 1h.5a2.5 2.5 0 0 0 0-5H16Zm-4 2.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm-3 0c0-.54.12-1.05.34-1.5H4.5a2.5 2.5 0 0 0-2.48 2.22l7.98 4.7L13.26 9h-.76A3.5 3.5 0 0 1 9 5.5ZM16.5 9h-1.27l-4.98 2.93a.5.5 0 0 1-.5 0L2 7.37v7.13A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5V8.66c-.45.22-.96.34-1.5.34Z\"]);\nexport const MailLinkRegular = /*#__PURE__*/createFluentIcon('MailLinkRegular', \"1em\", [\"M12.5 3a2.5 2.5 0 0 0 0 5h.5a.5.5 0 0 0 0-1h-.5a1.5 1.5 0 0 1 0-3h.5a.5.5 0 0 0 0-1h-.5ZM16 3a.5.5 0 0 0 0 1h.5a1.5 1.5 0 0 1 0 3H16a.5.5 0 0 0 0 1h.5a2.5 2.5 0 0 0 0-5H16Zm-4 2.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm-2 5.42L13.26 9h1.97l-4.98 2.93a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V8.96c.35-.05.69-.15 1-.3v5.84a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.84c-.15.31-.25.65-.3 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12Z\"]);\nexport const MailListFilled = /*#__PURE__*/createFluentIcon('MailListFilled', \"1em\", [\"M11.5 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm-7-2h5.59a1.5 1.5 0 0 0 .3 1.5A1.5 1.5 0 0 0 11.5 8h3.45L10 10.92l-7.98-4.7A2.5 2.5 0 0 1 4.5 4Zm5.75 7.93L16.93 8h.57c.18 0 .34-.03.5-.09v6.59a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0Z\"]);\nexport const MailListRegular = /*#__PURE__*/createFluentIcon('MailListRegular', \"1em\", [\"M11.5 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm-7-2h5.59a1.5 1.5 0 0 0 0 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12L14.96 8h1.97l-6.68 3.93a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V8h.5c.18 0 .34-.03.5-.09v6.59a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailMultipleColor = /*#__PURE__*/createFluentIcon('MailMultipleColor', \"1em\", [\"M4 7.5v7A2.5 2.5 0 0 0 6.5 17h7a4.5 4.5 0 0 0 4.5-4.5v-5A2.5 2.5 0 0 0 15.5 5h-9A2.5 2.5 0 0 0 4 7.5Z\", \"M2 5.5v7A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5v-7H2Z\", \"M2 5.5v7A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5v-7H2Z\", \"M2 5.5v7A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5v-7H2Z\", \"M2 5.5v7A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5v-7H2Z\", \"M2 5.5v7A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5v-7H2Z\", \"M16 5.5A2.5 2.5 0 0 0 13.5 3h-9A2.5 2.5 0 0 0 2 5.5v1l6.75 3.43.08.04c.14.05.3.04.42-.04L16 6.5v-1Z\"]);\nexport const MailMultipleFilled = /*#__PURE__*/createFluentIcon('MailMultipleFilled', \"1em\", [\"M16 12.5V6.37L9.25 9.93a.5.5 0 0 1-.5 0L2 6.37v6.13A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5Zm-.02-7.28A2.5 2.5 0 0 0 13.5 3h-9a2.5 2.5 0 0 0-2.48 2.22L9 8.92l6.98-3.7ZM6.5 17a2.5 2.5 0 0 1-2-1h9a3.5 3.5 0 0 0 3.5-3.5v-7c.6.46 1 1.18 1 2v5a4.5 4.5 0 0 1-4.5 4.5h-7Z\"]);\nexport const MailMultipleRegular = /*#__PURE__*/createFluentIcon('MailMultipleRegular', \"1em\", [\"M16 5.5A2.5 2.5 0 0 0 13.5 3h-9A2.5 2.5 0 0 0 2 5.5v7A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5v-7ZM9.25 9.93 15 6.96v5.54c0 .83-.67 1.5-1.5 1.5h-9A1.5 1.5 0 0 1 3 12.5V6.96l5.75 2.97.08.04c.14.05.3.04.42-.04ZM4.5 4h9c.83 0 1.5.67 1.5 1.5v.3L9 8.92 3 5.8v-.3C3 4.67 3.67 4 4.5 4Zm2 13a2.5 2.5 0 0 1-2-1h9a3.5 3.5 0 0 0 3.5-3.5v-7c.6.46 1 1.18 1 2v5a4.5 4.5 0 0 1-4.5 4.5h-7Z\"]);\nexport const MailOffFilled = /*#__PURE__*/createFluentIcon('MailOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L3.5 4.21a2.5 2.5 0 0 0-1.48 2.01l7.98 4.7.13-.08.73.73-.6.36a.5.5 0 0 1-.51 0L2 7.37v7.13A2.5 2.5 0 0 0 4.5 17h11c.24 0 .47-.03.7-.1l.95.95a.5.5 0 0 0 .7-.7l-15-15Zm9.8 8.37 5.09 5.1c.17-.34.26-.72.26-1.12V7.37l-5.35 3.15ZM6.12 4l5.8 5.8 6.06-3.58A2.5 2.5 0 0 0 15.5 4H6.12Z\"]);\nexport const MailOffRegular = /*#__PURE__*/createFluentIcon('MailOffRegular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L3.5 4.21A2.5 2.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11c.24 0 .47-.03.7-.1l.95.95a.5.5 0 0 0 .7-.7l-15-15ZM15.3 16H4.5A1.5 1.5 0 0 1 3 14.5V7.96l6.75 3.97.08.04c.14.05.3.04.42-.04l.61-.36L15.3 16Zm-5.16-5.16-.13.08L3 6.8v-.3c0-.76.57-1.4 1.3-1.49l5.83 5.83ZM17 6.8l-5.09 3 .73.72L17 7.96v6.54c0 .12-.01.23-.04.34l.78.78c.17-.34.26-.72.26-1.12v-8A2.5 2.5 0 0 0 15.5 4H6.12l1 1h8.38c.83 0 1.5.67 1.5 1.5v.3Z\"]);\nexport const MailOpenPersonFilled = /*#__PURE__*/createFluentIcon('MailOpenPersonFilled', \"1em\", [\"M9.74 2.07a.5.5 0 0 1 .52 0l6.77 4.06a2 2 0 0 1 .7.71L10 10.94l-7.73-4.1a2 2 0 0 1 .7-.7l6.77-4.07Zm3.14 8.47-2.65 1.4a.5.5 0 0 1-.46 0L2 7.83v5.67A2.5 2.5 0 0 0 4.5 16h6.55a2.5 2.5 0 0 1 2.22-1.99 2.99 2.99 0 0 1-.4-3.47ZM17.5 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const MailOpenPersonRegular = /*#__PURE__*/createFluentIcon('MailOpenPersonRegular', \"1em\", [\"M10 3.08 3.49 7 3.47 7 10 10.92 16.53 7 10 3.08ZM9.98 12a.5.5 0 0 1-.24-.07L3 7.88v5.62c0 .83.67 1.5 1.5 1.5h7c-.22.3-.38.63-.45 1H4.5A2.5 2.5 0 0 1 2 13.5V7.85a2 2 0 0 1 .97-1.72l6.76-4.05a.5.5 0 0 1 .53 0l6.93 4.15a.9.9 0 0 1 0 1.54l-2.1 1.26a3 3 0 0 0-2.02 1.21l-2.81 1.69a.5.5 0 0 1-.28.07Zm7.52 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm1.5 4.5c0 1.25-1 2.5-3.5 2.5S12 17.75 12 16.5c0-.83.67-1.5 1.5-1.5h4c.83 0 1.5.67 1.5 1.5Z\"]);\nexport const MailPauseFilled = /*#__PURE__*/createFluentIcon('MailPauseFilled', \"1em\", [\"M14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Zm10 6a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-1-6.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0Zm3 0v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0Z\"]);\nexport const MailPauseRegular = /*#__PURE__*/createFluentIcon('MailPauseRegular', \"1em\", [\"M17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5ZM14.5 10a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-1-6.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0Zm3 0v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0Z\"]);\nexport const MailProhibitedFilled = /*#__PURE__*/createFluentIcon('MailProhibitedFilled', \"1em\", [\"M10 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm1 0a3.5 3.5 0 0 1 5.6-2.8l-4.9 4.9a3.48 3.48 0 0 1-.7-2.1ZM14.5 9c-.79 0-1.51-.26-2.1-.7l4.9-4.9A3.5 3.5 0 0 1 14.5 9Zm0 2c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailProhibitedRegular = /*#__PURE__*/createFluentIcon('MailProhibitedRegular', \"1em\", [\"M10 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm1 0a3.5 3.5 0 0 1 5.6-2.8l-4.9 4.9a3.48 3.48 0 0 1-.7-2.1ZM14.5 9c-.79 0-1.51-.26-2.1-.7l4.9-4.9A3.5 3.5 0 0 1 14.5 9Zm2.5 5.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Z\"]);\nexport const MailReadFilled = /*#__PURE__*/createFluentIcon('MailReadFilled', \"1em\", [\"M10.26 1.07a.5.5 0 0 0-.52 0L2.97 5.13a2 2 0 0 0-.4.32L10 9.92l7.43-4.46a2 2 0 0 0-.4-.33l-6.77-4.06Zm7.67 5.26-7.67 4.6a.5.5 0 0 1-.52 0l-7.67-4.6a2 2 0 0 0-.07.52v6.65A2.5 2.5 0 0 0 4.5 16h11a2.5 2.5 0 0 0 2.5-2.5V6.85a2 2 0 0 0-.07-.52Z\"]);\nexport const MailReadRegular = /*#__PURE__*/createFluentIcon('MailReadRegular', \"1em\", [\"M9.74 2.07a.5.5 0 0 1 .52 0l6.77 4.06A2 2 0 0 1 18 7.85v6.65a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.85a2 2 0 0 1 .97-1.72l6.77-4.06ZM10 3.08 3.49 7 3.47 7 10 10.92 16.53 7h-.02L10 3.07Zm7 4.8-6.74 4.05a.5.5 0 0 1-.52 0L3 7.88v6.62c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V7.88Z\"]);\nexport const MailReadBriefcaseFilled = /*#__PURE__*/createFluentIcon('MailReadBriefcaseFilled', \"1em\", [\"M10.26 2.07a.5.5 0 0 0-.52 0L2.97 6.13a2 2 0 0 0-.4.32l7.15 4.3a2.5 2.5 0 0 1 1.32-.7A2.5 2.5 0 0 1 13.5 8h1.36l2.57-1.54a2 2 0 0 0-.4-.33l-6.77-4.06ZM2.07 7.32l7.1 4.27c-.1.28-.17.59-.17.91v4c0 .17.02.34.05.5H4.5A2.5 2.5 0 0 1 2 14.5V7.85a2 2 0 0 1 .07-.53ZM18 7.85v2.2h-.04a2.5 2.5 0 0 0-1.48-1.85l1.45-.87a2 2 0 0 1 .07.52Zm-6 2.65v.5h-.5c-.83 0-1.5.67-1.5 1.5v4c0 .83.67 1.5 1.5 1.5h6c.83 0 1.5-.67 1.5-1.5v-4c0-.83-.67-1.5-1.5-1.5H17v-.5c0-.83-.67-1.5-1.5-1.5h-2c-.83 0-1.5.67-1.5 1.5Zm1.5-.5h2c.28 0 .5.22.5.5v.5h-3v-.5c0-.28.22-.5.5-.5Z\"]);\nexport const MailReadBriefcaseRegular = /*#__PURE__*/createFluentIcon('MailReadBriefcaseRegular', \"1em\", [\"M9.74 2.07a.5.5 0 0 1 .52 0l6.77 4.06A2 2 0 0 1 18 7.85v2.2h-.04A2.5 2.5 0 0 0 17 8.5v-.62l-.52.32a2.5 2.5 0 0 0-.98-.2h-.64l1.67-1h-.02L10 3.07 3.49 7 3.47 7l6.25 3.75a2.5 2.5 0 0 0-.55.84L3 7.89v6.61c0 .83.67 1.5 1.5 1.5H9v.5c0 .17.02.34.05.5H4.5A2.5 2.5 0 0 1 2 14.5V7.85a2 2 0 0 1 .97-1.72l6.77-4.06ZM12 10.5v.5h-.5c-.83 0-1.5.67-1.5 1.5v4c0 .83.67 1.5 1.5 1.5h6c.83 0 1.5-.67 1.5-1.5v-4c0-.83-.67-1.5-1.5-1.5H17v-.5c0-.83-.67-1.5-1.5-1.5h-2c-.83 0-1.5.67-1.5 1.5Zm1.5-.5h2c.28 0 .5.22.5.5v.5h-3v-.5c0-.28.22-.5.5-.5Z\"]);\nexport const MailReadMultipleFilled = /*#__PURE__*/createFluentIcon('MailReadMultipleFilled', \"1em\", [\"M8.74 2.07a.5.5 0 0 1 .52 0l6.03 3.71.2.14-6.49 4-6.48-4c.06-.05.12-.1.2-.14l6.02-3.7Zm7.24 4.72.02.27v5.44a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 2 12.5V7.06c0-.1 0-.18.02-.27l6.72 4.14c.16.1.36.1.52 0l6.72-4.14ZM4.5 16c.46.6 1.18 1 2 1H14a4 4 0 0 0 4-4V8.06c0-.52-.27-1-.71-1.28l-.34-.2c.03.15.05.32.05.48V13a3 3 0 0 1-3 3H4.5Z\"]);\nexport const MailReadMultipleRegular = /*#__PURE__*/createFluentIcon('MailReadMultipleRegular', \"1em\", [\"M9.26 2.07a.5.5 0 0 0-.52 0L2.7 5.78A1.5 1.5 0 0 0 2 7.06v5.44A2.5 2.5 0 0 0 4.5 15h9a2.5 2.5 0 0 0 2.5-2.5V7.06c0-.52-.27-1-.71-1.28l-6.03-3.7ZM3.46 6.5 9 3.09l5.55 3.41L9 9.91 3.45 6.5ZM3 7.4l5.74 3.53c.16.1.36.1.52 0L15 7.39v5.11c0 .83-.67 1.5-1.5 1.5h-9A1.5 1.5 0 0 1 3 12.5V7.4ZM6.5 17a2.5 2.5 0 0 1-2-1H14a3 3 0 0 0 3-3V7.06c0-.16-.02-.33-.05-.48l.34.2c.44.27.71.76.71 1.28V13a4 4 0 0 1-4 4H6.5Z\"]);\nexport const MailRewindFilled = /*#__PURE__*/createFluentIcon('MailRewindFilled', \"1em\", [\"M16 8V6.8l2.36 1.97A1 1 0 0 0 20 8V3a1 1 0 0 0-1.64-.77L16 4.2V3a1 1 0 0 0-1.64-.77l-3 2.5a1 1 0 0 0 0 1.54l3 2.5A1 1 0 0 0 16 8Zm.84.8a2 2 0 0 1-2.85.93l-3.74 2.2a.5.5 0 0 1-.5 0L2 7.37v7.13A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5V9.73c-.1-.05-.2-.12-.28-.2l-.88-.73ZM4.5 4h6.18a2 2 0 0 0 .04 3.04l2.43 2.02L10 10.92l-7.98-4.7A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailRewindRegular = /*#__PURE__*/createFluentIcon('MailRewindRegular', \"1em\", [\"M16 8V6.8l2.36 1.97A1 1 0 0 0 20 8V3a1 1 0 0 0-1.64-.77L16 4.2V3a1 1 0 0 0-1.64-.77l-3 2.5a1 1 0 0 0 0 1.54l3 2.5A1 1 0 0 0 16 8Zm-2.28 1.54.27.19-3.74 2.2a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V8.94l.72.6.28.2v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h6.18c-.32.28-.52.63-.62 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 3.15-1.86.57.48Z\"]);\nexport const MailSettingsFilled = /*#__PURE__*/createFluentIcon('MailSettingsFilled', \"1em\", [\"M14.5 11c1.33 0 2.55-.47 3.5-1.26v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.23-1.31c.63.24 1.3.38 2.02.38Zm-10-7h4.7a5.5 5.5 0 0 0 2.24 6.07l-1.44.85-7.98-4.7A2.5 2.5 0 0 1 4.5 4Zm6.14.92a2 2 0 0 0 1.43-2.48l-.16-.55c.25-.2.53-.37.82-.5l.34.36a2 2 0 0 0 2.9 0l.33-.35c.3.14.58.32.84.52l-.13.42a2 2 0 0 0 1.46 2.52l.35.09a4.7 4.7 0 0 1 0 1.01l-.45.12a2 2 0 0 0-1.43 2.48l.15.55c-.25.2-.53.37-.82.5l-.34-.36a2 2 0 0 0-2.9 0l-.33.35c-.3-.14-.58-.32-.84-.52l.13-.42a2 2 0 0 0-1.46-2.52l-.35-.09a4.71 4.71 0 0 1 0-1.01l.46-.12Zm4.86.58a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const MailSettingsRegular = /*#__PURE__*/createFluentIcon('MailSettingsRegular', \"1em\", [\"M17 14.5v-4.1c.36-.18.7-.4 1-.66v4.76a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4h4.7c-.08.32-.15.66-.18 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12 1.44-.85c.33.22.68.4 1.04.55l-2.23 1.31a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5Zm-6.36-9.58a2 2 0 0 0 1.43-2.48l-.16-.55c.25-.2.53-.37.82-.5l.34.36a2 2 0 0 0 2.9 0l.33-.35c.3.14.58.32.84.52l-.13.42a2 2 0 0 0 1.46 2.52l.35.09a4.7 4.7 0 0 1 0 1.01l-.45.12a2 2 0 0 0-1.43 2.48l.15.55c-.25.2-.53.37-.82.5l-.34-.36a2 2 0 0 0-2.9 0l-.33.35c-.3-.14-.58-.32-.84-.52l.13-.42a2 2 0 0 0-1.46-2.52l-.35-.09a4.71 4.71 0 0 1 0-1.01l.46-.12Zm4.86.58a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const MailShieldFilled = /*#__PURE__*/createFluentIcon('MailShieldFilled', \"1em\", [\"M18 2.62a4.06 4.06 0 0 1-1-.27 5.16 5.16 0 0 1-1.72-1.23.39.39 0 0 0-.56 0 4.5 4.5 0 0 1-3.32 1.55.4.4 0 0 0-.4.41v2.77A5.5 5.5 0 0 0 12.01 9c.27.37.6.7.99 1 .52.4 1.15.73 1.87.98.09.03.17.03.26 0 2.56-.89 3.87-2.71 3.87-5.4V3a.4.4 0 0 0-.4-.33c-.2 0-.4-.02-.6-.05Zm-5.7 8.1.1.07c.61.48 1.34.85 2.15 1.13.29.1.61.1.9 0A7.36 7.36 0 0 0 18 10.47v4.03a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5V7.37l7.75 4.56c.15.1.35.1.5 0l2.05-1.2ZM10 4V5.88a6.49 6.49 0 0 0 1.54 4.13l-1.54.91-7.98-4.7A2.5 2.5 0 0 1 4.5 4H10Z\"]);\nexport const MailShieldRegular = /*#__PURE__*/createFluentIcon('MailShieldRegular', \"1em\", [\"M18 2.62a4.06 4.06 0 0 1-1-.27 5.16 5.16 0 0 1-1.72-1.23.39.39 0 0 0-.56 0 4.5 4.5 0 0 1-3.32 1.55.4.4 0 0 0-.4.41v2.77A5.5 5.5 0 0 0 12.01 9c.27.37.6.7.99 1 .52.4 1.15.73 1.87.98.09.03.17.03.26 0 2.56-.89 3.87-2.71 3.87-5.4V3a.4.4 0 0 0-.4-.33c-.2 0-.4-.02-.6-.05ZM10 4H4.5A2.5 2.5 0 0 0 2 6.5v8A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5v-4.03c-.3.27-.64.52-1 .74v3.29c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5V7.96l6.75 3.97.08.04c.14.05.3.04.42-.04l2.05-1.2a6.05 6.05 0 0 1-.76-.72l-1.54.91L3 6.8v-.3C3 5.67 3.67 5 4.5 5H10V4Z\"]);\nexport const MailTemplateFilled = /*#__PURE__*/createFluentIcon('MailTemplateFilled', \"1em\", [\"M4.5 2A2.5 2.5 0 0 0 2 4.5v9A2.5 2.5 0 0 0 4.5 16h1.54a3.53 3.53 0 0 1-.04-.5v-4A3.5 3.5 0 0 1 9.5 8h6c.17 0 .34.01.5.04V4.5A2.5 2.5 0 0 0 13.5 2h-9ZM5 4.5c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm2 2c0-.28.22-.5.5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm5.5 7.2-5.3-3.17A2.5 2.5 0 0 1 9.5 9h6a2.5 2.5 0 0 1 2.3 1.53l-5.3 3.17Zm.26 1L18 11.59v3.92a2.5 2.5 0 0 1-2.5 2.5h-6A2.5 2.5 0 0 1 7 15.5v-3.92l5.24 3.13c.16.1.36.1.52 0Z\"]);\nexport const MailTemplateRegular = /*#__PURE__*/createFluentIcon('MailTemplateRegular', \"1em\", [\"M2 4.5A2.5 2.5 0 0 1 4.5 2h9A2.5 2.5 0 0 1 16 4.5v3.54a3.53 3.53 0 0 0-.5-.04H15V4.5c0-.83-.67-1.5-1.5-1.5h-9C3.67 3 3 3.67 3 4.5v9c0 .83.67 1.5 1.5 1.5H6v.5c0 .17.01.34.04.5H4.5A2.5 2.5 0 0 1 2 13.5v-9Zm11 3a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1 0-1h5c.28 0 .5.22.5.5Zm-8-2c0-.28.22-.5.5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm2 6A2.5 2.5 0 0 1 9.5 9h6a2.5 2.5 0 0 1 2.5 2.5v4a2.5 2.5 0 0 1-2.5 2.5h-6A2.5 2.5 0 0 1 7 15.5v-4ZM9.5 10a1.5 1.5 0 0 0-1.48 1.23l4.48 2.69 4.48-2.69A1.5 1.5 0 0 0 15.5 10h-6ZM8 15.5c0 .83.67 1.5 1.5 1.5h6c.83 0 1.5-.67 1.5-1.5v-3.12l-4.24 2.55a.5.5 0 0 1-.52 0L8 12.38v3.12Z\"]);\nexport const MailUnreadFilled = /*#__PURE__*/createFluentIcon('MailUnreadFilled', \"1em\", [\"M17.5 6a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm-13-3h9.54a3.5 3.5 0 0 0 1.72 3.53L10 9.92l-7.98-4.7A2.5 2.5 0 0 1 4.5 3Zm5.75 7.93L17 6.96a3.53 3.53 0 0 0 1 0v6.54a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 13.5V6.37l7.75 4.56c.15.1.35.1.5 0Z\"]);\nexport const MailUnreadRegular = /*#__PURE__*/createFluentIcon('MailUnreadRegular', \"1em\", [\"M18 5.95a2.5 2.5 0 1 0-1-4.9 2.5 2.5 0 0 0 1 4.9ZM4.5 3h9.54a3.54 3.54 0 0 0 0 1H4.5C3.67 4 3 4.67 3 5.5v.3l7 4.12 5.75-3.39c.38.22.8.37 1.25.43l-6.75 3.97a.5.5 0 0 1-.42.04l-.08-.04L3 6.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V6.96a3.53 3.53 0 0 0 1 0v6.54a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 13.5v-8A2.5 2.5 0 0 1 4.5 3Z\"]);\nexport const MailWarningFilled = /*#__PURE__*/createFluentIcon('MailWarningFilled', \"1em\", [\"m13.6 1.55-3.5 7A1 1 0 0 0 11 10h7a1 1 0 0 0 .9-1.45l-3.5-7a1 1 0 0 0-1.8 0ZM15 3.5v3a.5.5 0 1 1-1 0v-3a.5.5 0 1 1 1 0ZM14.5 9a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm3.5 2h-6.16l-1.59.93a.5.5 0 0 1-.5 0L2 7.37v7.13A2.5 2.5 0 0 0 4.5 17h11a2.5 2.5 0 0 0 2.5-2.5V11ZM9.22 8.1 11.27 4H4.5a2.5 2.5 0 0 0-2.48 2.22l7.98 4.7.17-.1a2 2 0 0 1-.95-2.72Z\"]);\nexport const MailWarningRegular = /*#__PURE__*/createFluentIcon('MailWarningRegular', \"1em\", [\"m13.6 1.55-3.5 7A1 1 0 0 0 11 10h7a1 1 0 0 0 .9-1.45l-3.5-7a1 1 0 0 0-1.8 0ZM15 3.5v3a.5.5 0 1 1-1 0v-3a.5.5 0 1 1 1 0ZM14.5 9a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm-10-5h6.77l-.5 1H4.5C3.67 5 3 5.67 3 6.5v.3l7 4.12.17-.1a2 2 0 0 0 .84.18h.83l-1.59.93a.5.5 0 0 1-.42.04l-.08-.04L3 7.96v6.54c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5V11h1v3.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 2 14.5v-8A2.5 2.5 0 0 1 4.5 4Z\"]);\nexport const MailboxFilled = /*#__PURE__*/createFluentIcon('MailboxFilled', \"1em\", [\"M3 2.5c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5V8h3.67A4.5 4.5 0 0 0 10 11.5V17c0 .36.1.7.27 1H3a1 1 0 0 1-1-1v-5.5A3.5 3.5 0 0 1 5.5 8H6v3.5a.5.5 0 0 0 1 0V5H3.5a.5.5 0 0 1-.5-.5v-2ZM14.5 8a3.5 3.5 0 0 0-3.5 3.5V17a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-5.5A3.5 3.5 0 0 0 14.5 8Zm-1.25 3.5c0-.28.22-.5.5-.5h1.5a.5.5 0 0 1 0 1h-1.5a.5.5 0 0 1-.5-.5Z\"]);\nexport const MailboxRegular = /*#__PURE__*/createFluentIcon('MailboxRegular', \"1em\", [\"M3.5 2a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5H7v3H5.5A3.5 3.5 0 0 0 2 11.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-5.5A3.5 3.5 0 0 0 14.5 8H8V2.5a.5.5 0 0 0-.5-.5h-4ZM7 9v2.5a.5.5 0 0 0 1 0V9h4.05A3.49 3.49 0 0 0 11 11.5V17H3v-5.5A2.5 2.5 0 0 1 5.5 9H7Zm10 2.5V17h-5v-5.5a2.5 2.5 0 0 1 5 0Zm-3-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z\"]);\nexport const MapFilled = /*#__PURE__*/createFluentIcon('MapFilled', \"1em\", [\"m12 6.04-4-2.8v10.72l4 2.8V6.04Zm1 10.72 4.79-3.35A.5.5 0 0 0 18 13V3.5a.5.5 0 0 0-.79-.41L13 6.04v10.72ZM2.21 6.59 7 3.24v10.72l-4.21 2.95A.5.5 0 0 1 2 16.5V7a.5.5 0 0 1 .21-.41Z\"]);\nexport const MapRegular = /*#__PURE__*/createFluentIcon('MapRegular', \"1em\", [\"M17.73 3.06a.5.5 0 0 1 .27.44V13a.5.5 0 0 1-.21.41l-5 3.5a.5.5 0 0 1-.58 0l-4.71-3.3-4.71 3.3A.5.5 0 0 1 2 16.5V7a.5.5 0 0 1 .21-.41l5-3.5a.5.5 0 0 1 .58 0l4.71 3.3 4.71-3.3a.5.5 0 0 1 .52-.03ZM12 7.26l-4-2.8v8.28l4 2.8V7.26Zm1 8.28 4-2.8V4.46l-4 2.8v8.28Zm-6-2.8V4.46l-4 2.8v8.28l4-2.8Z\"]);\nexport const MapDriveFilled = /*#__PURE__*/createFluentIcon('MapDriveFilled', \"1em\", [\"M2 5c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v3.5a.5.5 0 0 1-.5.5h-7v2h1c.28 0 .5.22.5.5V13h1.5c.27 0 .5.22.5.5v1h3.5a.5.5 0 0 1 0 1H14v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1H2.5a.5.5 0 0 1 0-1H6v-1c0-.28.23-.5.5-.5H8v-1.5a.5.5 0 0 1 .5-.5h1V9h-7a.5.5 0 0 1-.5-.5V5Zm12.75 1.74a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"]);\nexport const MapDriveRegular = /*#__PURE__*/createFluentIcon('MapDriveRegular', \"1em\", [\"M14.75 6.74a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM2 5c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v3.5a.5.5 0 0 1-.5.5h-7v2h1c.28 0 .5.22.5.5V13h1.5c.27 0 .5.22.5.5v1h3.5a.5.5 0 0 1 0 1H14v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1H2.5a.5.5 0 0 1 0-1H6v-1c0-.28.23-.5.5-.5H8v-1.5a.5.5 0 0 1 .5-.5h1V9h-7a.5.5 0 0 1-.5-.5V5Zm2-1a1 1 0 0 0-1 1v3h14V5a1 1 0 0 0-1-1H4Zm7.47 12H13v-2h-1.5a.5.5 0 0 1-.5-.5V12H9v1.5a.5.5 0 0 1-.5.5H7v2h4.47Z\"]);\nexport const MarkdownFilled = /*#__PURE__*/createFluentIcon('MarkdownFilled', \"1em\", [\"M2.5 4.05c.29-.11.62-.03.82.21L7 8.6l3.68-4.33a.75.75 0 0 1 1.32.49v9.5a.75.75 0 0 1-1.5 0V6.79l-2.93 3.45a.75.75 0 0 1-1.14 0L3.5 6.79v7.46a.75.75 0 0 1-1.5 0v-9.5c0-.31.2-.6.5-.7Zm10.72 7.67c.3-.3.77-.3 1.06 0l.72.72V4.75a.75.75 0 0 1 1.5 0v7.69l.72-.72a.75.75 0 1 1 1.06 1.06l-2 2c-.3.3-.77.3-1.06 0l-2-2a.75.75 0 0 1 0-1.06Z\"]);\nexport const MarkdownRegular = /*#__PURE__*/createFluentIcon('MarkdownRegular', \"1em\", [\"M16 4.5a.5.5 0 0 0-1 0v8.8l-1.15-1.15a.5.5 0 0 0-.7.7l2 2c.2.2.5.2.7 0l2-2a.5.5 0 0 0-.7-.7L16 13.29V4.5ZM2.32 4.03a.5.5 0 0 1 .55.14L7 8.75l4.13-4.58a.5.5 0 0 1 .87.33v10a.5.5 0 1 1-1 0V5.8L7.37 9.83a.5.5 0 0 1-.74 0L3 5.8v8.7a.5.5 0 1 1-1 0v-10c0-.2.13-.4.32-.47Z\"]);\nexport const MatchAppLayoutFilled = /*#__PURE__*/createFluentIcon('MatchAppLayoutFilled', \"1em\", [\"M3.5 7C2.67 7 2 7.67 2 8.5v3c0 .83.67 1.5 1.5 1.5h4c.83 0 1.5-.67 1.5-1.5v-3C9 7.67 8.33 7 7.5 7h-4Zm9 0c-.83 0-1.5.67-1.5 1.5v3c0 .83.67 1.5 1.5 1.5h4c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5h-4Z\"]);\nexport const MatchAppLayoutRegular = /*#__PURE__*/createFluentIcon('MatchAppLayoutRegular', \"1em\", [\"M3.5 7C2.67 7 2 7.67 2 8.5v3c0 .83.67 1.5 1.5 1.5h4c.83 0 1.5-.67 1.5-1.5v-3C9 7.67 8.33 7 7.5 7h-4ZM3 8.5c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5v3a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-3ZM12.5 7c-.83 0-1.5.67-1.5 1.5v3c0 .83.67 1.5 1.5 1.5h4c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5h-4ZM12 8.5c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5v3a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-3Z\"]);\nexport const MathFormatLinearFilled = /*#__PURE__*/createFluentIcon('MathFormatLinearFilled', \"1em\", [\"M9.01 3.18c.28-.24.7-.24.98 0l1.75 1.5a.75.75 0 1 1-.98 1.14L9.5 4.74 8.24 5.82a.75.75 0 0 1-.98-1.14l1.75-1.5Zm2.3 5.7c.36-.4.54-.38.56-.38.05 0 .15.05.26.2l1.32 2.05-3.21 2.98a.75.75 0 1 0 1.02 1.1l3-2.8 1.36 2.1v.02a1.92 1.92 0 0 0 3.27.01.75.75 0 1 0-1.28-.77.42.42 0 0 1-.51.14.59.59 0 0 1-.22-.21L15.38 11l2.88-2.67a.75.75 0 0 0-1.02-1.1L14.56 9.7l-1.18-1.84A1.93 1.93 0 0 0 12.02 7c-.67-.07-1.3.27-1.84.9a.75.75 0 1 0 1.14.98ZM7.68 7.86a2.11 2.11 0 0 0-1.52-.83c-.6-.07-1.26.03-1.92.3-1.33.56-2.6 1.86-3.12 4.08-.23.97-.1 1.84.35 2.54A3.32 3.32 0 0 0 3.3 15.3a4.5 4.5 0 0 0 4.47-1.09.75.75 0 1 0-1.07-1.04 3 3 0 0 1-2.95.7c-.47-.15-.82-.4-1.02-.73a1.5 1.5 0 0 1-.23-.7c2.13.26 3.63-.3 4.54-1.22.5-.52.8-1.12.91-1.7.1-.57.04-1.2-.28-1.67Zm-1.7 2.31c-.49.5-1.46.99-3.17.8a3.77 3.77 0 0 1 2-2.26c.45-.18.86-.23 1.17-.19.32.04.44.16.46.18.04.06.1.25.05.55-.06.29-.21.62-.5.92Z\"]);\nexport const MathFormatLinearRegular = /*#__PURE__*/createFluentIcon('MathFormatLinearRegular', \"1em\", [\"M9.36 3.65a.5.5 0 0 0-.71 0l-1.5 1.5a.5.5 0 0 0 .7.7L9 4.72l1.15 1.15a.5.5 0 1 0 .7-.71l-1.5-1.5ZM7.74 7.78a1.79 1.79 0 0 0-1.27-.75 3.26 3.26 0 0 0-1.74.24c-1.24.52-2.45 1.78-3.06 4.06a3.7 3.7 0 0 0 .14 2.6c.35.72.96 1.2 1.67 1.42 1.42.45 3.21-.12 4.42-1.73a.5.5 0 0 0-.8-.6c-1 1.33-2.37 1.68-3.32 1.38a1.74 1.74 0 0 1-1.07-.9 2.48 2.48 0 0 1-.16-1.51c2.16.12 3.64-.47 4.51-1.32.9-.87 1.18-2.1.68-2.89ZM6.36 9.95c-.6.59-1.71 1.1-3.55 1.05.58-1.64 1.5-2.47 2.3-2.8.46-.2.88-.23 1.2-.18.34.05.52.19.58.29.16.26.17.96-.53 1.64Zm11.5-2.8c.19.2.19.5 0 .7l-3.09 3.08 1.64 2.76c.07.1.25.25.47.3.17.03.42.02.74-.35a.5.5 0 1 1 .76.66c-.53.6-1.15.78-1.7.67-.51-.1-.9-.44-1.1-.72-.12-.18-.8-1.34-1.54-2.59l-3.19 3.2a.5.5 0 0 1-.7-.71l3.37-3.38a981.7 981.7 0 0 1-1.46-2.5.59.59 0 0 0-.41-.27c-.15-.01-.42.02-.75.47a.5.5 0 0 1-.8-.59c.49-.67 1.08-.94 1.66-.87.54.06.96.4 1.16.75l1.33 2.28 2.9-2.9c.2-.19.5-.19.7 0Z\"]);\nexport const MathFormatProfessionalFilled = /*#__PURE__*/createFluentIcon('MathFormatProfessionalFilled', \"1em\", [\"M10.25 3.6c.44-.33 1-.65 1.65-.65l.12.01c.43.07.77.23 1.06.5.25.23.44.52.62.78l1.07-1.07a.75.75 0 1 1 1.06 1.06L14.5 5.57l.38.7c.08.16.18.24.38.3h.19l.1-.07.23-.23a.75.75 0 0 1 1.06 1.06l-.03.03c-.17.17-.4.4-.69.55a1.78 1.78 0 0 1-1.2.12 2.02 2.02 0 0 1-1.38-1.1l-.14-.26-1.06 1.06a.75.75 0 1 1-1.06-1.06l1.35-1.35a3.01 3.01 0 0 0-.14-.2 3.34 3.34 0 0 0-.42-.56.42.42 0 0 0-.22-.1c-.15.01-.37.1-.7.34a.75.75 0 0 1-.9-1.2ZM5.4 16.3H6c1.4-.1 2.8-.7 3.9-2 .3-.4.2-.8-.1-1.1-.3-.2-.8-.2-1.2.1-.9.7-1.9 1.4-3.1 1.4-.6 0-1.2-.5-1.3-1.1-.1-.5 0-1.1.2-1.6 1.6.1 3.8-.1 4.8-1.3.8-.9 1-2.4 0-3.3-.4-.4-.9-.5-1.4-.5-.9 0-1.8.5-2.6 1.3-1.3 1.3-2.6 3.5-2.4 5.6.1 1.5 1.4 2.4 2.6 2.5Zm.8-7.1c.6-.5 1.1-.8 1.6-.8.2 0 .5.1.6.3.2.3 0 .8-.2 1-.5.5-1.8.8-3 .8.3-.5.6-.9 1-1.3Z\"]);\nexport const MathFormatProfessionalRegular = /*#__PURE__*/createFluentIcon('MathFormatProfessionalRegular', \"1em\", [\"M10.85 4.35c.2-.19.25-.24.35-.3a.9.9 0 0 1 .92.17c.07.04.13.1.2.21l.1.17.01.03.14.22.3.54v.03l-1.72 1.73a.5.5 0 0 0 .7.7l1.56-1.55.17.28.18.29.11.18c.1.16.23.36.38.5a1.6 1.6 0 0 0 2 .28c.26-.13.4-.28.59-.46l.01-.02a.5.5 0 1 0-.7-.7 1.28 1.28 0 0 1-.43.33c-.13.1-.46.17-.77-.13a8.08 8.08 0 0 1-.81-1.28l1.71-1.72a.5.5 0 0 0-.7-.7L13.6 4.68a7.66 7.66 0 0 1-.2-.36 3.42 3.42 0 0 1-.11-.2l-.02-.02a5.29 5.29 0 0 0-.12-.2c-.1-.17-.25-.36-.47-.5a1.9 1.9 0 0 0-1.91-.25c-.28.14-.43.29-.62.48l-.01.02a.5.5 0 0 0 .7.7ZM8.31 7c.46 0 .88.23 1.18.54.3.32.5.75.5 1.24.07.77-.2 1.4-.67 1.86-.45.46-1.07.76-1.7.96-1.17.37-2.52.44-3.42.41a3.54 3.54 0 0 0-.2 1.6 1.46 1.46 0 0 0 .52.94c.27.27.6.35 1.1.46 1.34.16 2.64-.61 3.46-1.72a.5.5 0 0 1 .8.6c-.95 1.3-2.6 2.34-4.4 2.1H5.4c-.46-.1-1.08-.23-1.58-.73-.42-.38-.7-.87-.8-1.49a4.56 4.56 0 0 1 .25-2.13l.13-.35a.5.5 0 0 1 .02-.04v-.02c.07-.2.44-1.23 1.2-2.23.75-1 1.96-2.05 3.69-2Zm-3.72 4.02c.8 0 1.84-.1 2.72-.37.55-.18 1-.41 1.3-.71A1.32 1.32 0 0 0 9 8.8c0-.2-.1-.41-.24-.57A.67.67 0 0 0 8.3 8h-.02c-1.26-.04-2.2.71-2.87 1.6-.38.5-.65 1.04-.82 1.42Z\"]);\nexport const MathFormulaFilled = /*#__PURE__*/createFluentIcon('MathFormulaFilled', \"1em\", [\"M8.91 3.54c.3-.04.48-.03.62 0 .14.02.28.08.48.2a.75.75 0 1 0 .78-1.28c-.3-.18-.6-.32-.97-.4a3.3 3.3 0 0 0-1.13 0h-.01c-.8.13-1.43.55-1.86 1.16a4.23 4.23 0 0 0-.67 2.18v.03a8.55 8.55 0 0 1-.02.36c0 .22-.02.52-.04.87v.09H4.8a.75.75 0 0 0 0 1.5H6a864.51 864.51 0 0 1-.35 5.49c-.1 1.28-.22 2.14-1.03 2.61-.4.23-1.01.21-1.68-.12a.75.75 0 1 0-.68 1.34c.93.46 2.11.65 3.11.08 1.54-.9 1.68-2.55 1.77-3.67v-.12c.07-.77.23-3.46.36-5.61h1.8a.75.75 0 1 0 0-1.5H7.58l.07-1.32c.04-.6.2-1.05.4-1.35.2-.28.47-.47.86-.54Zm7.87 6.74a.75.75 0 0 0-1.06-1.06l-2.58 2.58a36.22 36.22 0 0 1-.76-1.36l-.07-.11c-.15-.25-.38-.61-.66-.87a1.6 1.6 0 0 0-.74-.4 1.55 1.55 0 0 0-1.1.18l-.03.02c-.08.06-.18.13-.28.23l-.13.15-.02.03-.17.19a.75.75 0 0 0 1.14.98l.17-.2.02-.03.07-.07.01-.01.04.03a7.8 7.8 0 0 1 .47.66c.12.24.49.9.94 1.67l-2.82 2.83a.75.75 0 1 0 1.06 1.06l2.66-2.66a38.47 38.47 0 0 1 .87 1.54c.13.22.35.6.64.87.18.17.42.34.73.42a1.6 1.6 0 0 0 1.06-.1c.35-.17.57-.4.8-.77a.75.75 0 0 0-1.28-.79.95.95 0 0 1-.13.18l-.03.02-.03.01-.03-.01a.38.38 0 0 1-.06-.05 6.01 6.01 0 0 1-.36-.52l-.06-.1c-.12-.23-.53-.96-1.02-1.8l2.74-2.74Zm-6.18.24Zm0 0Z\"]);\nexport const MathFormulaRegular = /*#__PURE__*/createFluentIcon('MathFormulaRegular', \"1em\", [\"M9.68 3.09c-.18-.04-.4-.04-.7 0-.52.08-.87.33-1.12.68-.26.37-.41.87-.46 1.45 0 .2-.04.87-.09 1.78H9.5a.5.5 0 0 1 0 1H7.26c-.13 2.25-.3 5.15-.36 5.94v.07c-.05.57-.11 1.25-.31 1.88-.21.67-.6 1.3-1.33 1.74-1.02.63-2.13.34-2.98-.08a.5.5 0 1 1 .44-.9c.75.38 1.44.49 2.02.13v-.01c.47-.27.73-.68.9-1.18.16-.52.2-1.1.26-1.7v-.03c.06-.8.23-3.64.36-5.86H4.5a.5.5 0 1 1 0-1h1.81a75.96 75.96 0 0 0 .1-1.84c.05-.7.24-1.4.63-1.96.4-.57 1-.97 1.78-1.1.4-.05.73-.05 1.05.01.33.06.6.2.89.36a.5.5 0 0 1-.52.86c-.22-.13-.39-.2-.56-.24Zm7.17 6.06c.2.2.2.5 0 .7l-3.22 3.22a162.5 162.5 0 0 0 1.4 2.47l.04.07c.06.12.11.2.15.25.06.09.12.15.25.22.21.03.28-.01.3-.03a3.56 3.56 0 0 0 .23-.27l.1-.13a.5.5 0 0 1 .8.6l-.06.08c-.11.16-.28.39-.5.54-.31.22-.69.27-1.14.17a1.69 1.69 0 0 1-.79-.6c-.08-.1-.14-.22-.2-.33l-.05-.08-.19-.32-1.07-1.9-3.05 3.04a.5.5 0 0 1-.7-.7l3.24-3.25a149.94 149.94 0 0 0-1.47-2.57 1.14 1.14 0 0 0-.32-.32c-.07-.02-.12-.01-.21.04-.12.08-.25.21-.39.4a.5.5 0 1 1-.8-.6c.16-.2.38-.47.66-.65a1.21 1.21 0 0 1 1.16-.1c.3.16.53.4.7.63a131.74 131.74 0 0 1 1.4 2.44l3.03-3.02c.2-.2.5-.2.7 0Z\"]);\nexport const MathSymbolsFilled = /*#__PURE__*/createFluentIcon('MathSymbolsFilled', \"1em\", [\"M4.75 5.25v2a.75.75 0 0 0 1.5 0v-2h2a.75.75 0 0 0 0-1.5h-2v-2a.75.75 0 0 0-1.5 0v2h-2a.75.75 0 0 0 0 1.5h2ZM11 4.5c0-.41.34-.75.75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5A.75.75 0 0 1 11 4.5Zm-8.78 6.78 2.22 2.22-2.22 2.22a.75.75 0 1 0 1.06 1.06l2.22-2.22 2.22 2.22a.75.75 0 0 0 1.06-1.06L6.56 13.5l2.22-2.22a.75.75 0 1 0-1.06-1.06L5.5 12.44l-2.22-2.22a.75.75 0 1 0-1.06 1.06Zm9.53 1.47a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5h-5.5ZM15.5 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const MathSymbolsRegular = /*#__PURE__*/createFluentIcon('MathSymbolsRegular', \"1em\", [\"M5 5v2.5a.5.5 0 0 0 1 0V5h2.5a.5.5 0 0 0 0-1H6V1.5a.5.5 0 0 0-1 0V4H2.5a.5.5 0 0 0 0 1H5Zm6-.5c0-.28.22-.5.5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM8.85 16.15 6.21 13.5l2.64-2.65a.5.5 0 0 0-.7-.7L5.5 12.79l-2.65-2.64a.5.5 0 0 0-.7.7l2.64 2.65-2.64 2.65a.5.5 0 0 0 .7.7l2.65-2.64 2.65 2.64a.5.5 0 0 0 .7-.7ZM11.5 13a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm4-2a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]);\nexport const MaximizeFilled = /*#__PURE__*/createFluentIcon('MaximizeFilled', \"1em\", [\"M3 5.25C3 4.01 4 3 5.25 3h9.5C15.99 3 17 4 17 5.25v9.5c0 1.24-1 2.25-2.25 2.25h-9.5C4.01 17 3 16 3 14.75v-9.5Zm2.25-.75a.75.75 0 0 0-.75.75v9.5c0 .41.34.75.75.75h9.5c.41 0 .75-.34.75-.75v-9.5a.75.75 0 0 0-.75-.75h-9.5Z\"]);\nexport const MaximizeRegular = /*#__PURE__*/createFluentIcon('MaximizeRegular', \"1em\", [\"M3 5c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm2-1a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Z\"]);\nexport const MeetNowFilled = /*#__PURE__*/createFluentIcon('MeetNowFilled', \"1em\", [\"M6.9 2.03a7.07 7.07 0 0 0-1.15.54h-.02v.01L6 3l-.28-.42a.5.5 0 0 0 .56.84 1.87 1.87 0 0 1 .22-.13A8.1 8.1 0 0 1 10 2.5a8.1 8.1 0 0 1 3.5.79 3.69 3.69 0 0 1 .22.12l.26-.39-.26.4a.5.5 0 1 0 .56-.84L14 3l.28-.42h-.01l-.02-.01a2.83 2.83 0 0 0-.3-.17A9.1 9.1 0 0 0 10 1.5a9.1 9.1 0 0 0-3.1.53Zm-.62 1.39Zm7.44 0ZM6.9 17.97c.73.27 1.8.53 3.11.53a9.1 9.1 0 0 0 3.96-.9 4.63 4.63 0 0 0 .29-.17h.02v-.01L14 17l.28.42a.5.5 0 0 0-.56-.84l.26.4-.26-.4a1.74 1.74 0 0 1-.22.13 8.1 8.1 0 0 1-3.5.79 8.1 8.1 0 0 1-3.5-.79 3.66 3.66 0 0 1-.22-.12.5.5 0 0 0-.56.83L6 17l-.28.42h.01l.02.01a2.64 2.64 0 0 0 .3.17c.19.1.48.24.84.37Zm-.61-1.39Zm7.44 0ZM2.5 7v6c0 1.1.9 2 2 2h6a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-6a2 2 0 0 0-2 2Zm11 4.55 2.78 2.26a.75.75 0 0 0 1.22-.59V6.78a.75.75 0 0 0-1.22-.59L13.5 8.45v3.1Z\"]);\nexport const MeetNowRegular = /*#__PURE__*/createFluentIcon('MeetNowRegular', \"1em\", [\"M5 5a2 2 0 0 0-2 2v6c0 1.1.9 2 2 2h6a2 2 0 0 0 2-2v-1.03l2.84 1.85a.75.75 0 0 0 1.16-.63V6.8c0-.6-.66-.95-1.16-.63L13 8.03V7a2 2 0 0 0-2-2H5Zm8 4.22 3-1.95v5.46l-3-1.95V9.22ZM12 7v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1ZM6.9 2.03a7.07 7.07 0 0 0-1.15.54h-.02v.01L6 3l-.28-.42a.5.5 0 0 0 .56.84 1.87 1.87 0 0 1 .22-.13A8.1 8.1 0 0 1 10 2.5a8.1 8.1 0 0 1 3.5.79 3.69 3.69 0 0 1 .22.12l.26-.39-.26.4a.5.5 0 1 0 .56-.84L14 3l.28-.42h-.01l-.02-.01a2.83 2.83 0 0 0-.3-.17A9.1 9.1 0 0 0 10 1.5a9.1 9.1 0 0 0-3.1.53Zm-.62 1.39Zm7.44 0ZM6.9 17.97c.73.27 1.8.53 3.11.53a9.1 9.1 0 0 0 3.96-.9 4.63 4.63 0 0 0 .29-.17h.02v-.01L14 17l.28.42a.5.5 0 0 0-.56-.84l.26.4-.26-.4a1.74 1.74 0 0 1-.22.13 8.1 8.1 0 0 1-3.5.79 8.1 8.1 0 0 1-3.5-.79 3.66 3.66 0 0 1-.22-.12.5.5 0 0 0-.56.83L6 17l-.28.42h.01l.02.01a2.64 2.64 0 0 0 .3.17c.19.1.48.24.84.37Zm-.61-1.39Zm7.44 0Z\"]);\nexport const MegaphoneFilled = /*#__PURE__*/createFluentIcon('MegaphoneFilled', \"1em\", [\"M16.11 3.35A1.5 1.5 0 0 1 18 4.8v10.31c0 1.03-1 1.75-1.97 1.43l-4.76-1.59A3.25 3.25 0 0 1 5 13.75v-.89l-1.97-.66A1.5 1.5 0 0 1 2 10.78V8.27c0-.68.46-1.28 1.11-1.45l13-3.47ZM6 13.2v.56a2.25 2.25 0 0 0 4.32.88L6 13.2Z\"]);\nexport const MegaphoneRegular = /*#__PURE__*/createFluentIcon('MegaphoneRegular', \"1em\", [\"M18 4.8c0-.98-.93-1.7-1.89-1.45l-13 3.47A1.5 1.5 0 0 0 2 8.27v2.5c0 .65.41 1.23 1.03 1.43l1.97.66v.89a3.25 3.25 0 0 0 6.27 1.2l4.76 1.59A1.5 1.5 0 0 0 18 15.1V4.81Zm-7.68 9.83A2.25 2.25 0 0 1 6 13.75v-.56l4.32 1.44Zm6.05-10.31a.5.5 0 0 1 .63.48v10.31a.5.5 0 0 1-.66.48l-13-4.34a.5.5 0 0 1-.34-.47V8.27a.5.5 0 0 1 .37-.48l13-3.47Z\"]);\nexport const MegaphoneCircleFilled = /*#__PURE__*/createFluentIcon('MegaphoneCircleFilled', \"1em\", [\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16ZM7 12.02l-1.17-.42c-.5-.17-.83-.64-.83-1.17v-.85c0-.53.33-1 .83-1.18l6.5-2.33c.81-.29 1.67.32 1.67 1.18v5.5c0 .87-.86 1.47-1.67 1.18l-1.38-.5A2 2 0 0 1 7 13v-.98Zm3 1.07A1 1 0 0 1 8 13v-.62l2 .71Z\"]);\nexport const MegaphoneCircleRegular = /*#__PURE__*/createFluentIcon('MegaphoneCircleRegular', \"1em\", [\"M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm5 2.02-1.17-.42c-.5-.17-.83-.64-.83-1.17v-.85c0-.53.33-1 .83-1.18l6.5-2.33c.81-.29 1.67.32 1.67 1.18v5.5c0 .87-.86 1.47-1.67 1.18l-1.38-.5A2 2 0 0 1 7 13v-.98Zm3 1.07-2-.7V13a1 1 0 0 0 2 .1Zm2.67-6.07-6.5 2.32a.25.25 0 0 0-.17.24v.85c0 .1.07.2.17.23l6.5 2.33c.16.06.33-.06.33-.24v-5.5c0-.17-.17-.3-.33-.23Z\"]);\nexport const MegaphoneLoudFilled = /*#__PURE__*/createFluentIcon('MegaphoneLoudFilled', \"1em\", [\"M14.16 1.03c.26.08.4.37.31.63l-.5 1.5a.5.5 0 0 1-.94-.32l.5-1.5a.5.5 0 0 1 .63-.31Zm3.7 1.82a.5.5 0 1 0-.71-.7l-2 2a.5.5 0 0 0 .7.7l2-2Zm-10.25.3a2 2 0 0 1 3.26-.52l6.58 6.98a2 2 0 0 1-.64 3.2l-3.94 1.74a3.5 3.5 0 0 1-6.34 2.8l-1.2.52a1.5 1.5 0 0 1-1.67-.3l-1.22-1.22a1.5 1.5 0 0 1-.3-1.7l5.47-11.5Zm-.16 13.78a2.5 2.5 0 0 0 4.5-1.97l-4.5 1.97ZM17 6a.5.5 0 0 0 0 1h1.5a.5.5 0 1 0 0-1H17Z\"]);\nexport const MegaphoneLoudRegular = /*#__PURE__*/createFluentIcon('MegaphoneLoudRegular', \"1em\", [\"M14.16 1.03c.26.08.4.37.31.63l-.5 1.5a.5.5 0 0 1-.94-.32l.5-1.5a.5.5 0 0 1 .63-.31Zm3.7 1.82a.5.5 0 1 0-.71-.7l-2 2a.5.5 0 0 0 .7.7l2-2Zm-10.25.3a2 2 0 0 1 3.26-.52l6.58 6.98a2 2 0 0 1-.64 3.2l-3.94 1.74a3.5 3.5 0 0 1-6.34 2.8l-1.2.52a1.5 1.5 0 0 1-1.67-.3l-1.22-1.22a1.5 1.5 0 0 1-.3-1.7l5.47-11.5Zm-.16 13.78a2.5 2.5 0 0 0 4.5-1.97l-4.5 1.97Zm2.7-13.61a1 1 0 0 0-1.64.25l-5.46 11.5a.5.5 0 0 0 .1.57l1.22 1.21a.5.5 0 0 0 .55.1L16.4 11.9a1 1 0 0 0 .33-1.6l-6.59-6.98ZM17 6a.5.5 0 0 0 0 1h1.5a.5.5 0 1 0 0-1H17Z\"]);\nexport const MegaphoneOffFilled = /*#__PURE__*/createFluentIcon('MegaphoneOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L5.48 6.2l-2.37.63A1.5 1.5 0 0 0 2 8.27v2.5c0 .65.41 1.23 1.03 1.43l1.97.66v.89a3.25 3.25 0 0 0 6.27 1.2l4.46 1.49 1.42 1.41a.5.5 0 0 0 .7-.7l-15-15ZM6 13.19l4.32 1.44A2.25 2.25 0 0 1 6 13.75v-.56Zm12 1.92c0 .23-.05.44-.14.63L7.71 5.6l8.4-2.24A1.5 1.5 0 0 1 18 4.8v10.31Z\"]);\nexport const MegaphoneOffRegular = /*#__PURE__*/createFluentIcon('MegaphoneOffRegular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L5.48 6.2l-2.37.63A1.5 1.5 0 0 0 2 8.27v2.5c0 .65.41 1.23 1.03 1.43l1.97.66v.89a3.25 3.25 0 0 0 6.27 1.2l4.46 1.49 1.42 1.41a.5.5 0 0 0 .7-.7l-15-15Zm11.3 12.7-10.8-3.6a.5.5 0 0 1-.35-.47V8.27a.5.5 0 0 1 .37-.48L6.3 7l7.85 7.86Zm-3.83-.22A2.25 2.25 0 0 1 6 13.75v-.56l4.32 1.44ZM17 4.8v10.08l.86.86c.1-.19.14-.4.14-.63V4.81c0-1-.93-1.71-1.89-1.46L7.71 5.6l.82.82 7.84-2.1a.5.5 0 0 1 .63.5Z\"]);\nexport const MentionFilled = /*#__PURE__*/createFluentIcon('MentionFilled', \"1em\", [\"M10 1.75c4.56 0 8.25 3.7 8.25 8.25 0 2.83-1.22 4.75-3.25 4.75-1.2 0-2.12-.68-2.67-1.82a3.5 3.5 0 0 1-2.83 1.32c-2.3 0-3.75-1.82-3.75-4.25 0-2.46 1.41-4.25 3.75-4.25.9 0 1.66.26 2.25.72a.75.75 0 0 1 1.49-.08l.01.11V10c0 2.1.73 3.25 1.75 3.25s1.75-1.15 1.75-3.25a6.75 6.75 0 1 0-4.45 6.35.75.75 0 0 1 .5 1.4A8.23 8.23 0 0 1 1.76 10c0-4.56 3.7-8.25 8.25-8.25Zm-.5 5.5C8.08 7.25 7.25 8.3 7.25 10c0 1.67.87 2.75 2.25 2.75s2.25-1.08 2.25-2.75c0-1.7-.83-2.75-2.25-2.75Z\"]);\nexport const MentionRegular = /*#__PURE__*/createFluentIcon('MentionRegular', \"1em\", [\"M10 2a8 8 0 0 1 8 8c0 2.7-1.14 4.5-3 4.5-1.23 0-2.14-.78-2.62-2.09-.6.98-1.6 1.59-2.88 1.59C7.36 14 6 12.3 6 10c0-2.34 1.31-4 3.5-4 1.05 0 1.9.38 2.5 1.04V6.5a.5.5 0 0 1 1-.09V10c0 2.22.81 3.5 2 3.5s2-1.28 2-3.5a7 7 0 1 0-4.62 6.58.5.5 0 0 1 .34.94A7.99 7.99 0 0 1 2 10a8 8 0 0 1 8-8Zm-.5 5C7.92 7 7 8.17 7 10c0 1.8.97 3 2.5 3s2.5-1.2 2.5-3c0-1.83-.92-3-2.5-3Z\"]);\nexport const MentionArrowDownFilled = /*#__PURE__*/createFluentIcon('MentionArrowDownFilled', \"1em\", [\"M10 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM5.15 7.85A.5.5 0 0 0 5.5 8a.5.5 0 0 0 .35-.15l2-2a.5.5 0 1 0-.7-.7L6 6.29V3.5a.5.5 0 0 0-1 0v2.8L3.85 5.14a.5.5 0 1 0-.7.7l2 2Zm7.6-.38a3.51 3.51 0 0 0-1.9-.7 5.46 5.46 0 0 1-.6 1.5c.09-.02.17-.02.25-.02 1.42 0 2.25 1.05 2.25 2.75 0 1.67-.87 2.75-2.25 2.75S8.25 12.67 8.25 11c0-.28.02-.53.06-.77-.47.28-1 .5-1.56.63V11c0 2.43 1.46 4.25 3.75 4.25 1.2 0 2.17-.5 2.83-1.32.55 1.14 1.47 1.82 2.67 1.82 2.03 0 3.25-1.92 3.25-4.75a8.25 8.25 0 0 0-8.97-8.22c.26.45.46.95.58 1.47H11A6.75 6.75 0 0 1 17.75 11c0 2.1-.73 3.25-1.75 3.25S14.25 13.1 14.25 11V7.4a.75.75 0 0 0-1.5.07Zm-9.97 2.81c.45.26.95.46 1.47.58V11a6.75 6.75 0 0 0 9.05 6.35.75.75 0 0 1 .5 1.4A8.23 8.23 0 0 1 2.76 11l.03-.72Z\"]);\nexport const MentionArrowDownRegular = /*#__PURE__*/createFluentIcon('MentionArrowDownRegular', \"1em\", [\"M10 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM5.15 7.85A.5.5 0 0 0 5.5 8a.5.5 0 0 0 .35-.15l2-2a.5.5 0 1 0-.7-.7L6 6.29V3.5a.5.5 0 0 0-1 0v2.8L3.85 5.14a.5.5 0 1 0-.7.7l2 2Zm7.85.2A3.2 3.2 0 0 0 10.79 7c-.1.35-.23.68-.4 1L10.5 8c1.58 0 2.5 1.17 2.5 3 0 1.8-.97 3-2.5 3S8 12.8 8 11c0-.22.01-.42.04-.62-.33.17-.68.3-1.04.41V11c0 2.3 1.36 4 3.5 4 1.28 0 2.28-.6 2.88-1.59.48 1.3 1.4 2.09 2.62 2.09 1.86 0 3-1.8 3-4.5a8 8 0 0 0-8.59-7.98c.16.31.29.64.38.98H11a7 7 0 0 1 7 7c0 2.22-.81 3.5-2 3.5s-2-1.28-2-3.5V7.41a.5.5 0 0 0-1 .09v.54ZM3.02 10.4c.31.16.64.29.98.38V11a7 7 0 0 0 9.38 6.58.5.5 0 0 1 .34.94 7.99 7.99 0 0 1-10.7-8.1Z\"]);\nexport const MentionBracketsFilled = /*#__PURE__*/createFluentIcon('MentionBracketsFilled', \"1em\", [\"M4.75 2A2.75 2.75 0 0 0 2 4.75v10.5A2.75 2.75 0 0 0 4.75 18h1.5a.75.75 0 0 0 0-1.5h-1.5c-.69 0-1.25-.56-1.25-1.25V4.75c0-.69.56-1.25 1.25-1.25h1.5a.75.75 0 0 0 0-1.5h-1.5Zm7 5.25c.41 0 .75.34.75.75v2.75a.75.75 0 0 0 1.5 0V10a4 4 0 1 0-4.24 4 4.1 4.1 0 0 0 1.29-.13c.35-.1.75.05.89.39.17.43-.03.93-.47 1.05A5.5 5.5 0 1 1 15.5 10v.74c0 .46-.14.88-.37 1.24l-.13.3v-.13a2.25 2.25 0 0 1-3.58-.1 2.5 2.5 0 1 1-.37-4.33c.1-.28.38-.48.7-.48ZM10 9a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm8-4.25A2.75 2.75 0 0 0 15.25 2h-1.5a.75.75 0 0 0 0 1.5h1.5c.69 0 1.25.56 1.25 1.25v10.5c0 .69-.56 1.25-1.25 1.25h-1.5a.75.75 0 0 0 0 1.5h1.5A2.75 2.75 0 0 0 18 15.25V4.75Z\"]);\nexport const MentionBracketsRegular = /*#__PURE__*/createFluentIcon('MentionBracketsRegular', \"1em\", [\"M4.5 3C3.67 3 3 3.67 3 4.5v11c0 .83.67 1.5 1.5 1.5h2a.5.5 0 0 1 0 1h-2A2.5 2.5 0 0 1 2 15.5v-11A2.5 2.5 0 0 1 4.5 2h2a.5.5 0 0 1 0 1h-2Zm11 14c.83 0 1.5-.67 1.5-1.5v-11c0-.83-.67-1.5-1.5-1.5h-2a.5.5 0 0 1 0-1h2A2.5 2.5 0 0 1 18 4.5v11a2.5 2.5 0 0 1-2.5 2.5h-2a.5.5 0 0 1 0-1h2Zm-4-7a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0ZM10 7.5c.56 0 1.08.19 1.5.5a.5.5 0 0 1 1 0v2.75a.75.75 0 0 0 1.5 0V10a4 4 0 1 0-4.24 4h.02a3.99 3.99 0 0 0 1.58-.23c.3-.1.64.11.64.43 0 .23-.14.45-.36.53A5 5 0 1 1 15 10v.75a1.75 1.75 0 0 1-3.2.98A2.5 2.5 0 0 1 7.5 10 2.5 2.5 0 0 1 10 7.5Z\"]);\nexport const MergeFilled = /*#__PURE__*/createFluentIcon('MergeFilled', \"1em\", [\"M3 5.75c0-.41.34-.75.75-.75h1.76c1 0 1.95.4 2.65 1.1l2.5 2.5c.41.41.99.65 1.58.65h3.2l-2.97-2.97a.75.75 0 0 1 1.06-1.06l4.25 4.25c.3.3.3.77 0 1.06l-4.25 4.25a.75.75 0 1 1-1.06-1.06l2.97-2.97h-3.2c-.6 0-1.17.24-1.59.66l-2.5 2.5C7.46 14.6 6.5 15 5.52 15H3.75a.75.75 0 0 1 0-1.5h1.76c.6 0 1.17-.24 1.59-.66l2.5-2.5c.12-.12.25-.23.4-.34-.15-.1-.28-.22-.4-.35l-2.5-2.5c-.42-.41-1-.65-1.6-.65H3.76A.75.75 0 0 1 3 5.75Z\"]);\nexport const MergeRegular = /*#__PURE__*/createFluentIcon('MergeRegular', \"1em\", [\"M3 5.5c0-.28.22-.5.5-.5h1.65c1 0 1.95.43 2.62 1.17l2.2 2.5a2.5 2.5 0 0 0 1.88.83h4.44l-3.64-3.65a.5.5 0 0 1 .7-.7l4.5 4.5c.2.2.2.5 0 .7l-4.5 4.5a.5.5 0 0 1-.7-.7l3.64-3.65h-4.44c-.72 0-1.4.3-1.87.84l-2.21 2.49A3.5 3.5 0 0 1 5.15 15H3.5a.5.5 0 0 1 0-1h1.65c.72 0 1.4-.3 1.87-.84l2.21-2.49c.24-.26.51-.49.81-.67a3.5 3.5 0 0 1-.8-.67l-2.22-2.5A2.5 2.5 0 0 0 5.15 6H3.5a.5.5 0 0 1-.5-.5Z\"]);\nexport const MicColor = /*#__PURE__*/createFluentIcon('MicColor', \"1em\", [\"M4 10a1 1 0 1 1 2 0 4 4 0 0 0 8 0 1 1 0 1 1 2 0 6 6 0 0 1-5 5.92v1.58a1 1 0 1 1-2 0v-1.58A6 6 0 0 1 4 10Z\", \"M7 5a3 3 0 0 1 6 0v5a3 3 0 1 1-6 0V5Z\"]);\nexport const MicFilled = /*#__PURE__*/createFluentIcon('MicFilled', \"1em\", [\"M5.5 10a.5.5 0 0 0-1 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0v-2.02c2.8-.26 5-2.61 5-5.48a.5.5 0 0 0-1 0 4.5 4.5 0 1 1-9 0Zm7.5 0a3 3 0 0 1-6 0V5a3 3 0 0 1 6 0v5Z\"]);\nexport const MicRegular = /*#__PURE__*/createFluentIcon('MicRegular', \"1em\", [\"M10 13a3 3 0 0 0 3-3V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm0-1a2 2 0 0 1-2-2V5a2 2 0 1 1 4 0v5a2 2 0 0 1-2 2ZM5 9.5c.28 0 .5.22.5.5a4.5 4.5 0 1 0 9 0 .5.5 0 0 1 1 0 5.5 5.5 0 0 1-5 5.48v2.02a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48c0-.28.22-.5.5-.5Z\"]);\nexport const MicLinkFilled = /*#__PURE__*/createFluentIcon('MicLinkFilled', \"1em\", [\"M4.5 10a.5.5 0 0 0-1 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0v-.2a3.48 3.48 0 0 1-.35-2.8H9A4.5 4.5 0 0 1 4.5 10Zm10 0c0 .7-.13 1.38-.37 2h-1.1c.3-.6.47-1.28.47-2a.5.5 0 0 1 1 0ZM12 10a3 3 0 0 1-6 0V5a3 3 0 0 1 6 0v5Zm.5 3a2.5 2.5 0 0 0 0 5h.5a.5.5 0 0 0 0-1h-.5a1.5 1.5 0 0 1 0-3h.5a.5.5 0 0 0 0-1h-.5Zm3.5 0a.5.5 0 0 0 0 1h.5a1.5 1.5 0 0 1 0 3H16a.5.5 0 0 0 0 1h.5a2.5 2.5 0 0 0 0-5H16Zm-4 2.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\"]);\nexport const MicLinkRegular = /*#__PURE__*/createFluentIcon('MicLinkRegular', \"1em\", [\"M9 13a3 3 0 0 0 3-3V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm0-1a2 2 0 0 1-2-2V5a2 2 0 1 1 4 0v5a2 2 0 0 1-2 2ZM4 9.5c.28 0 .5.22.5.5a4.5 4.5 0 0 0 4.65 4.5 3.5 3.5 0 0 0 .35 2.8v.2a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48c0-.28.22-.5.5-.5ZM14.13 12h-1.1c.3-.6.47-1.28.47-2a.5.5 0 0 1 1 0c0 .7-.13 1.38-.37 2Zm-1.63 1a2.5 2.5 0 0 0 0 5h.5a.5.5 0 0 0 0-1h-.5a1.5 1.5 0 0 1 0-3h.5a.5.5 0 0 0 0-1h-.5Zm3.5 0a.5.5 0 0 0 0 1h.5a1.5 1.5 0 0 1 0 3H16a.5.5 0 0 0 0 1h.5a2.5 2.5 0 0 0 0-5H16Zm-4 2.5c0-.28.22-.5.5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\"]);\nexport const MicOffFilled = /*#__PURE__*/createFluentIcon('MicOffFilled', \"1em\", [\"M13 10a3 3 0 0 1-.1.78L7 4.88A3 3 0 0 1 13 5v5ZM7 7.7V10a3 3 0 0 0 4.74 2.45l1.07 1.07A4.5 4.5 0 0 1 5.5 10a.5.5 0 0 0-1.01 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0v-2.02a5.48 5.48 0 0 0 3.02-1.25l3.63 3.62a.5.5 0 0 0 .7-.7l-15-15a.5.5 0 1 0-.7.7L7 7.71Zm7.8 4.98c.45-.8.7-1.7.7-2.68a.5.5 0 0 0-1 0c0 .7-.16 1.35-.44 1.94l.74.74Z\"]);\nexport const MicOffRegular = /*#__PURE__*/createFluentIcon('MicOffRegular', \"1em\", [\"M12 5v4.88l.9.9A3 3 0 0 0 13 10V5a3 3 0 0 0-6-.12l1 1V5a2 2 0 1 1 4 0ZM7 7.7 2.15 2.86a.5.5 0 1 1 .7-.7l15 15a.5.5 0 0 1-.7.7l-3.63-3.62a5.48 5.48 0 0 1-3.02 1.25v2.02a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0 4.5 4.5 0 0 0 7.3 3.52l-1.06-1.07A3 3 0 0 1 7 10V7.7Zm4.02 4.02L8 8.71V10a2 2 0 0 0 3.02 1.72Zm3.78.96-.74-.74c.28-.59.44-1.25.44-1.94a.5.5 0 0 1 1 0c0 .97-.25 1.89-.7 2.68Z\"]);\nexport const MicProhibitedFilled = /*#__PURE__*/createFluentIcon('MicProhibitedFilled', \"1em\", [\"M9.2 13A5.51 5.51 0 0 1 12 9.6V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3.2 3Zm.3 4.5v-.7c-.32-.7-.5-1.48-.5-2.3A4.5 4.5 0 0 1 4.5 10a.5.5 0 0 0-1 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0Zm5 1.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm0-8a3.5 3.5 0 0 0-2.8 5.6l4.9-4.9a3.48 3.48 0 0 0-2.1-.7Zm-2.1 6.3a3.5 3.5 0 0 0 4.9-4.9l-4.9 4.9Z\"]);\nexport const MicProhibitedRegular = /*#__PURE__*/createFluentIcon('MicProhibitedRegular', \"1em\", [\"M9 13h.2c.12-.4.27-.76.46-1.11A2 2 0 0 1 7 10V5a2 2 0 1 1 4 0v5c0 .1 0 .18-.02.27.31-.26.66-.48 1.02-.67V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm-4.5-3A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0Zm10 9a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm0-8a3.5 3.5 0 0 0-2.8 5.6l4.9-4.9a3.48 3.48 0 0 0-2.1-.7Zm-2.1 6.3a3.5 3.5 0 0 0 4.9-4.9l-4.9 4.9Z\"]);\nexport const MicPulseFilled = /*#__PURE__*/createFluentIcon('MicPulseFilled', \"1em\", [\"M4.5 10a.5.5 0 0 0-1 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0v-.7c-.32-.7-.5-1.48-.5-2.3A4.5 4.5 0 0 1 4.5 10ZM12 5v4.6A5.51 5.51 0 0 0 9.2 13 3.02 3.02 0 0 1 6 10V5a3 3 0 0 1 6 0Zm7 9.5a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Zm-5.56-2c.21 0 .39.14.46.33l.63 1.76.58-1.44a.5.5 0 0 1 .9-.05l.58 1.07H17a.5.5 0 1 1 0 1h-.71a.5.5 0 0 1-.44-.27l-.21-.39-.68 1.68a.5.5 0 0 1-.93-.02l-.64-1.8-.22.5a.5.5 0 0 1-.46.3H12a.5.5 0 0 1 0-1h.38l.59-1.37a.5.5 0 0 1 .47-.3Z\"]);\nexport const MicPulseRegular = /*#__PURE__*/createFluentIcon('MicPulseRegular', \"1em\", [\"M9 13h.2c.12-.4.27-.76.46-1.11A2 2 0 0 1 7 10V5a2 2 0 1 1 4 0v5c0 .1 0 .18-.02.27.31-.26.66-.48 1.02-.67V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm-4.5-3A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0ZM19 14.5a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Zm-5.56-2c.21 0 .39.14.46.33l.63 1.76.58-1.44a.5.5 0 0 1 .9-.05l.58 1.07H17a.5.5 0 1 1 0 1h-.71a.5.5 0 0 1-.44-.27l-.21-.39-.68 1.68a.5.5 0 0 1-.93-.02l-.64-1.8-.22.5a.5.5 0 0 1-.46.3H12a.5.5 0 0 1 0-1h.38l.59-1.37a.5.5 0 0 1 .47-.3Z\"]);\nexport const MicPulseOffFilled = /*#__PURE__*/createFluentIcon('MicPulseOffFilled', \"1em\", [\"M6 6.7V10a3 3 0 0 0 3.2 3c.22-.76.59-1.44 1.07-2.02l.71.71a4.5 4.5 0 0 0 6.37 6.29.5.5 0 0 0 .5-.83l-15-15a.5.5 0 1 0-.7.7L6 6.71Zm9.11 9.12-.15.37a.5.5 0 0 1-.93-.02l-.64-1.8-.22.5a.5.5 0 0 1-.46.3H12a.5.5 0 0 1 0-1h.38l.33-.76 2.4 2.4Zm3.45.62a4.5 4.5 0 0 0-6-6l6 6ZM6.16 4.04l5.66 5.66.18-.1V5a3 3 0 0 0-5.84-.96ZM4.5 10a.5.5 0 0 0-1 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0v-.7c-.32-.7-.5-1.48-.5-2.3A4.5 4.5 0 0 1 4.5 10Z\"]);\nexport const MicPulseOffRegular = /*#__PURE__*/createFluentIcon('MicPulseOffRegular', \"1em\", [\"M6 6.7V10a3 3 0 0 0 3.2 3c.12-.4.27-.76.46-1.11A2 2 0 0 1 7 10V7.7l3.98 4a4.5 4.5 0 0 0 6.37 6.29.5.5 0 0 0 .5-.84l-15-15a.5.5 0 1 0-.7.7L6 6.71Zm9.11 9.12-.15.37a.5.5 0 0 1-.93-.02l-.64-1.8-.22.5a.5.5 0 0 1-.46.3H12a.5.5 0 0 1 0-1h.38l.33-.76 2.4 2.4ZM11 5v3.88l.82.82.18-.1V5a3 3 0 0 0-5.84-.96l.84.84A2 2 0 0 1 11 5Zm7.56 11.44a4.5 4.5 0 0 0-6-6l6 6ZM4.5 10A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0Z\"]);\nexport const MicRecordFilled = /*#__PURE__*/createFluentIcon('MicRecordFilled', \"1em\", [\"M4.5 10a.5.5 0 0 0-1 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0v-.7c-.32-.7-.5-1.48-.5-2.3A4.5 4.5 0 0 1 4.5 10ZM12 5v4.6A5.51 5.51 0 0 0 9.2 13 3.02 3.02 0 0 1 6 10V5a3 3 0 0 1 6 0Zm5 9.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm2 0a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-8 0a3.5 3.5 0 1 0 7 0 3.5 3.5 0 0 0-7 0Z\"]);\nexport const MicRecordRegular = /*#__PURE__*/createFluentIcon('MicRecordRegular', \"1em\", [\"M9 13h.2c.12-.4.27-.76.46-1.11A2 2 0 0 1 7 10V5a2 2 0 1 1 4 0v5c0 .1 0 .18-.02.27.31-.26.66-.48 1.02-.67V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm-4.5-3A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0ZM17 14.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm2 0a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-8 0a3.5 3.5 0 1 0 7 0 3.5 3.5 0 0 0-7 0Z\"]);\nexport const MicSettingsFilled = /*#__PURE__*/createFluentIcon('MicSettingsFilled', \"1em\", [\"M9 13h.2A5.51 5.51 0 0 1 12 9.6V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm-4.5-3A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0Zm7.56 1.44a2 2 0 0 1-1.43 2.48l-.46.12a4.74 4.74 0 0 0 .01 1.01l.35.09A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const MicSettingsRegular = /*#__PURE__*/createFluentIcon('MicSettingsRegular', \"1em\", [\"M9 13h.2c.12-.4.27-.76.46-1.11A2 2 0 0 1 7 10V5a2 2 0 1 1 4 0v5c0 .1 0 .18-.02.27.31-.26.66-.48 1.02-.67V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm-4.5-3A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0Zm7.56 1.44a2 2 0 0 1-1.43 2.48l-.46.12a4.74 4.74 0 0 0 .01 1.01l.35.09A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const MicSparkleFilled = /*#__PURE__*/createFluentIcon('MicSparkleFilled', \"1em\", [\"M5 9.5c.28 0 .5.22.5.5a4.5 4.5 0 0 0 5.78 4.31 1.42 1.42 0 0 0 1.04.68c-.56.26-1.18.43-1.82.49v2.02a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48c0-.28.22-.5.5-.5Zm7.1 4.22a.42.42 0 0 0 .8 0l.35-1.07a2.2 2.2 0 0 1 1.4-1.4l1.07-.35a.42.42 0 0 0 0-.8h-.02l-1.08-.35a2.2 2.2 0 0 1-1.4-1.4l-.34-1.07a.42.42 0 0 0-.8 0l-.35 1.07a2.2 2.2 0 0 1-1.38 1.4l-1.07.35a.42.42 0 0 0 0 .8l1.07.34a2.2 2.2 0 0 1 1.4 1.4l.35 1.08ZM12.48 6c.18 0 .35.03.52.1V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3.78 2.9 1.2 1.2 0 0 0-.74-.7l-1.08-.36h-.01a1.42 1.42 0 0 1 0-2.68h.01l1.08-.36a1.2 1.2 0 0 0 .74-.76l.35-1.08v-.01A1.42 1.42 0 0 1 12.49 6Zm5.54 8.96.76.25h.02a.3.3 0 0 1 .14.47.3.3 0 0 1-.14.1l-.77.26a1.58 1.58 0 0 0-1 1l-.24.76a.3.3 0 0 1-.58 0l-.24-.77a1.57 1.57 0 0 0-1-1l-.77-.25a.3.3 0 0 1-.14-.46.3.3 0 0 1 .14-.1l.77-.26a1.58 1.58 0 0 0 .98-1l.25-.76a.3.3 0 0 1 .57 0l.25.77a1.58 1.58 0 0 0 1 1Z\"]);\nexport const MicSparkleRegular = /*#__PURE__*/createFluentIcon('MicSparkleRegular', \"1em\", [\"m13.23 8.35-.35-1.07a.42.42 0 0 0-.8 0l-.35 1.07a2.2 2.2 0 0 1-1.38 1.4l-1.07.35a.42.42 0 0 0 0 .8l1.07.34a2.2 2.2 0 0 1 1.4 1.4l.35 1.08a.42.42 0 0 0 .8 0l.35-1.07a2.2 2.2 0 0 1 1.4-1.4l1.07-.35a.42.42 0 0 0 0-.8h-.02l-1.08-.35a2.2 2.2 0 0 1-1.4-1.4ZM10 14.5c.45 0 .88-.06 1.28-.19a1.42 1.42 0 0 0 1.04.68c-.56.26-1.18.43-1.82.49v2.02a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0 4.5 4.5 0 0 0 4.5 4.5Zm0-1.5a3 3 0 0 0 .78-.1 1.2 1.2 0 0 0-.74-.7l-1.08-.36h-.01a1.42 1.42 0 0 1-.93-1.57A2.02 2.02 0 0 1 8 10V5a2 2 0 1 1 4 0v1.08a1.42 1.42 0 0 1 1 .02V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm8.02 1.96.76.25h.02a.3.3 0 0 1 0 .58l-.77.25a1.58 1.58 0 0 0-1 1l-.24.76a.3.3 0 0 1-.58 0l-.24-.77a1.58 1.58 0 0 0-1-1l-.77-.25a.3.3 0 0 1 0-.57l.77-.25a1.58 1.58 0 0 0 .98-1l.25-.76a.3.3 0 0 1 .57 0l.25.77a1.58 1.58 0 0 0 1 1Z\"]);\nexport const MicSyncFilled = /*#__PURE__*/createFluentIcon('MicSyncFilled', \"1em\", [\"M4.5 10a.5.5 0 0 0-1 0 5.5 5.5 0 0 0 5 5.48v2.02a.5.5 0 0 0 1 0v-.7c-.32-.7-.5-1.48-.5-2.3A4.5 4.5 0 0 1 4.5 10ZM12 5v4.6A5.51 5.51 0 0 0 9.2 13 3.02 3.02 0 0 1 6 10V5a3 3 0 0 1 6 0Zm-2 9.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm6.5-3c.28 0 .5.22.5.5v1.5a.5.5 0 0 1-.5.5H15a.5.5 0 0 1 0-1h.47a1.97 1.97 0 0 0-.94-.25 2 2 0 0 0-1.44.59.5.5 0 0 1-.71-.71 3 3 0 0 1 3.62-.48V12c0-.28.22-.5.5-.5Zm-.88 5.53a3 3 0 0 1-2.62-.18V17a.5.5 0 0 1-1 0v-1.5c0-.28.22-.5.5-.5H14a.5.5 0 0 1 0 1h-.47a1.97 1.97 0 0 0 .94.25 2 2 0 0 0 1.44-.59.5.5 0 0 1 .71.71 3 3 0 0 1-1 .66Z\"]);\nexport const MicSyncRegular = /*#__PURE__*/createFluentIcon('MicSyncRegular', \"1em\", [\"M9 13h.2c.12-.4.27-.76.46-1.11A2 2 0 0 1 7 10V5a2 2 0 1 1 4 0v5c0 .1 0 .18-.02.27.31-.26.66-.48 1.02-.67V5a3 3 0 1 0-6 0v5a3 3 0 0 0 3 3Zm-4.5-3A4.5 4.5 0 0 0 9 14.5c0 .82.18 1.6.5 2.3v.7a.5.5 0 0 1-1 0v-2.02a5.5 5.5 0 0 1-5-5.48.5.5 0 0 1 1 0Zm5.5 4.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm6.5-3c.28 0 .5.22.5.5v1.5a.5.5 0 0 1-.5.5H15a.5.5 0 0 1 0-1h.47a1.97 1.97 0 0 0-.94-.25 2 2 0 0 0-1.44.59.5.5 0 0 1-.71-.71 3 3 0 0 1 3.62-.48V12c0-.28.22-.5.5-.5Zm-.88 5.53a3 3 0 0 1-2.62-.18V17a.5.5 0 0 1-1 0v-1.5c0-.28.22-.5.5-.5H14a.5.5 0 0 1 0 1h-.47a1.97 1.97 0 0 0 .94.25 2 2 0 0 0 1.44-.59.5.5 0 0 1 .71.71 3 3 0 0 1-1 .66Z\"]);\nexport const MicroscopeFilled = /*#__PURE__*/createFluentIcon('MicroscopeFilled', \"1em\", [\"M7 2.5c0-.28.22-.5.5-.5h2c.28 0 .5.22.5.5V3h.5c.28 0 .5.22.5.5v1.53A6.5 6.5 0 0 1 13.96 17h2.54a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1h7A5.5 5.5 0 0 0 11 6.02v5.48a.5.5 0 0 1-.5.5H10v.5a1.5 1.5 0 0 1-3 0V12h-.5a.5.5 0 0 1-.5-.5v-8c0-.28.22-.5.5-.5H7v-.5ZM8 12v.5a.5.5 0 0 0 1 0V12H8Zm-2.5 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z\"]);\nexport const MicroscopeRegular = /*#__PURE__*/createFluentIcon('MicroscopeRegular', \"1em\", [\"M7 2.5c0-.28.22-.5.5-.5h2c.28 0 .5.22.5.5V3h.5c.28 0 .5.22.5.5v1.53A6.5 6.5 0 0 1 13.96 17h2.54a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1h7A5.5 5.5 0 0 0 11 6.02v5.48a.5.5 0 0 1-.5.5H10v.5a1.5 1.5 0 0 1-3 0V12h-.5a.5.5 0 0 1-.5-.5v-8c0-.28.22-.5.5-.5H7v-.5ZM8 12v.5a.5.5 0 0 0 1 0V12H8Zm-1-1h3V4H7v7Zm-1.5 4a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z\"]);\nexport const MidiFilled = /*#__PURE__*/createFluentIcon('MidiFilled', \"1em\", [\"M2.5 4a.5.5 0 0 0-.5.5v11c0 .28.22.5.5.5h15a.5.5 0 0 0 .5-.5v-11a.5.5 0 0 0-.5-.5h-15Zm.5 6h2v3.5a.5.5 0 0 0 1 0V10h2v3.5a.5.5 0 0 0 1 0V10h2v3.5a.5.5 0 0 0 1 0V10h2v3.5a.5.5 0 0 0 1 0V10h2v5H3v-5Zm2.75-2.5a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Zm6.25-1c0-.28.22-.5.5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm-3 .25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"]);\nexport const MidiRegular = /*#__PURE__*/createFluentIcon('MidiRegular', \"1em\", [\"M12.5 6a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM5.75 7.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM9 6.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM2 4.5c0-.28.22-.5.5-.5h15c.28 0 .5.22.5.5v11a.5.5 0 0 1-.5.5h-15a.5.5 0 0 1-.5-.5v-11ZM3 5v4h14V5H3Zm5 5H6v3.5a.5.5 0 0 1-1 0V10H3v5h14v-5h-2v3.5a.5.5 0 0 1-1 0V10h-2v3.5a.5.5 0 0 1-1 0V10H9v3.5a.5.5 0 0 1-1 0V10Z\"]);\nexport const MobileOptimizedFilled = /*#__PURE__*/createFluentIcon('MobileOptimizedFilled', \"1em\", [\"M4.5 2c.28 0 .5.22.5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1H4V2.5c0-.28.22-.5.5-.5Zm11 0c.28 0 .5.22.5.5V4h1.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5v-2c0-.28.22-.5.5-.5Zm-11 16a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0 0 1H4v1.5c0 .28.22.5.5.5Zm11 0a.5.5 0 0 0 .5-.5V16h1.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5ZM6 6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V6Zm2 2.5c0 .28.22.5.5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Zm0 2c0 .28.22.5.5.5h2a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5Z\"]);\nexport const MobileOptimizedRegular = /*#__PURE__*/createFluentIcon('MobileOptimizedRegular', \"1em\", [\"M5 2.5a.5.5 0 0 0-1 0V4H2.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5v-2Zm11 0a.5.5 0 0 0-1 0v2c0 .28.22.5.5.5h2a.5.5 0 0 0 0-1H16V2.5ZM7 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H7Zm0 1h6v8H7V6ZM4.5 18a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0 0 1H4v1.5c0 .28.22.5.5.5Zm11 0a.5.5 0 0 0 .5-.5V16h1.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5v2c0 .28.22.5.5.5Zm-7-10a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm0 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z\"]);\nexport const MoldFilled = /*#__PURE__*/createFluentIcon('MoldFilled', \"1em\", [\"M13 1c.28 0 .5.22.5.5v1.51a3.8 3.8 0 0 1 2 .78l1.65-1.64a.5.5 0 0 1 .7.7L16.21 4.5c.46.6.72 1.3.78 2.01h1.51a.5.5 0 0 1 0 1h-1.56a3.8 3.8 0 0 1-1.06 2l-1.33 1.34 1.3 1.3a.5.5 0 0 1-.7.71l-1.31-1.3-2.3 2.29 1.31 1.3a.5.5 0 0 1-.7.71l-1.31-1.3-1.34 1.33a3.8 3.8 0 0 1-2 1.06v1.56a.5.5 0 0 1-1 0v-1.51a3.8 3.8 0 0 1-2-.78l-1.65 1.65a.5.5 0 0 1-.7-.71l1.64-1.64A3.8 3.8 0 0 1 3 13.5H1.5a.5.5 0 0 1 0-1h1.56a3.8 3.8 0 0 1 1.06-2l1.33-1.34-1.3-1.3a.5.5 0 1 1 .7-.71l1.31 1.3 2.3-2.29-1.31-1.3a.5.5 0 1 1 .7-.71l1.31 1.3 1.34-1.33a3.8 3.8 0 0 1 2-1.06V1.5c0-.28.22-.5.5-.5ZM6.75 14a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM14 6.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"]);\nexport const MoldRegular = /*#__PURE__*/createFluentIcon('MoldRegular', \"1em\", [\"M13.5 1.5a.5.5 0 0 0-1 0v1.56a3.8 3.8 0 0 0-2 1.06L9.16 5.45l-1.3-1.3a.5.5 0 1 0-.71.7l1.3 1.31-2.29 2.3-1.3-1.31a.5.5 0 1 0-.71.7l1.3 1.31-1.33 1.34a3.8 3.8 0 0 0-1.06 2H1.5a.5.5 0 0 0 0 1h1.51c.06.71.32 1.41.78 2l-1.65 1.65a.5.5 0 1 0 .71.7l1.64-1.64c.6.46 1.3.72 2.01.78v1.51a.5.5 0 0 0 1 0v-1.56a3.8 3.8 0 0 0 2-1.06l1.34-1.33 1.3 1.3a.5.5 0 0 0 .71-.7l-1.3-1.31 2.29-2.3 1.3 1.31a.5.5 0 0 0 .71-.7l-1.3-1.31 1.33-1.34a3.8 3.8 0 0 0 1.06-2h1.56a.5.5 0 0 0 0-1h-1.51a3.8 3.8 0 0 0-.78-2l1.64-1.65a.5.5 0 0 0-.7-.7L15.5 3.79A3.8 3.8 0 0 0 13.5 3V1.5ZM4 13.24v-.1c.01-.7.29-1.4.82-1.94l6.38-6.38a2.8 2.8 0 0 1 3.98 3.98l-6.39 6.38A2.8 2.8 0 0 1 4 13.24Zm2.75.76a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM14 6.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"]);\nexport const MoleculeFilled = /*#__PURE__*/createFluentIcon('MoleculeFilled', \"1em\", [\"M17 6a4 4 0 0 1-7.33 2.22l-1.66.84a3.49 3.49 0 0 1 .82 3.5l2.7 1.4a2.5 2.5 0 1 1-.44.89l-2.7-1.38A3.5 3.5 0 1 1 7.1 8.39l2.13-1.06A4 4 0 1 1 17 6Z\"]);\nexport const MoleculeRegular = /*#__PURE__*/createFluentIcon('MoleculeRegular', \"1em\", [\"M13 10a4 4 0 1 0-3.77-2.67L7.1 8.39a3.5 3.5 0 1 0 1.3 5.08l2.69 1.38a2.5 2.5 0 1 0 .44-.9l-2.7-1.38a3.5 3.5 0 0 0-.82-3.51l1.66-.84A4 4 0 0 0 13 10Zm0-1a3 3 0 1 1 0-6 3 3 0 0 1 0 6Zm-7.5 5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Zm9.5 1.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]);\nexport const MoneyFilled = /*#__PURE__*/createFluentIcon('MoneyFilled', \"1em\", [\"M3.5 4C2.67 4 2 4.67 2 5.5v7c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5h-11ZM6 5v1a2 2 0 0 1-2 2H3V7h1a1 1 0 0 0 1-1V5h1Zm3 5.75a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5ZM3 11v-1h1a2 2 0 0 1 2 2v1H5v-1a1 1 0 0 0-1-1H3Zm11 0a1 1 0 0 0-1 1v1h-1v-1c0-1.1.9-2 2-2h1v1h-1Zm0-4h1v1h-1a2 2 0 0 1-2-2V5h1v1a1 1 0 0 0 1 1Zm3 5.5a2.5 2.5 0 0 1-2.5 2.5H4.09c.2.58.76 1 1.41 1h9a3.5 3.5 0 0 0 3.5-3.5v-5c0-.65-.42-1.2-1-1.41v6.41Z\"]);\nexport const MoneyRegular = /*#__PURE__*/createFluentIcon('MoneyRegular', \"1em\", [\"M7 9a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM3.5 4C2.67 4 2 4.67 2 5.5v7c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5h-11ZM3 5.5c0-.28.22-.5.5-.5H5v1a1 1 0 0 1-1 1H3V5.5ZM3 8h1a2 2 0 0 0 2-2V5h6v1c0 1.1.9 2 2 2h1v2h-1a2 2 0 0 0-2 2v1H6v-1a2 2 0 0 0-2-2H3V8Zm10-3h1.5c.28 0 .5.22.5.5V7h-1a1 1 0 0 1-1-1V5Zm2 6v1.5a.5.5 0 0 1-.5.5H13v-1a1 1 0 0 1 1-1h1ZM5 13H3.5a.5.5 0 0 1-.5-.5V11h1a1 1 0 0 1 1 1v1Zm12-.5a2.5 2.5 0 0 1-2.5 2.5H4.09c.2.58.76 1 1.41 1h9a3.5 3.5 0 0 0 3.5-3.5v-5c0-.65-.42-1.2-1-1.41v6.41Z\"]);\nexport const MoneyCalculatorFilled = /*#__PURE__*/createFluentIcon('MoneyCalculatorFilled', \"1em\", [\"M2 4.5C2 3.67 2.67 3 3.5 3h11c.83 0 1.5.67 1.5 1.5V8h-3a2 2 0 0 0-2 2v3H3.5A1.5 1.5 0 0 1 2 11.5v-7ZM4 7a2 2 0 0 0 2-2V4H5v1a1 1 0 0 1-1 1H3v1h1Zm3.25 1a1.75 1.75 0 1 0 3.5 0 1.75 1.75 0 0 0-3.5 0ZM3 9v1h1a1 1 0 0 1 1 1v1h1v-1a2 2 0 0 0-2-2H3Zm12-2V6h-1a1 1 0 0 1-1-1V4h-1v1c0 1.1.9 2 2 2h1Zm2 1V5.09c.58.2 1 .76 1 1.41V8h-1Zm-6 6v1H5.5a1.5 1.5 0 0 1-1.41-1H11Zm2.5-5c-.83 0-1.5.67-1.5 1.5v7c0 .83.67 1.5 1.5 1.5h4c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5h-4Zm0 4h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm-3 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm-3 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1ZM13 10.5c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5v1a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-1Z\"]);\nexport const MoneyCalculatorRegular = /*#__PURE__*/createFluentIcon('MoneyCalculatorRegular', \"1em\", [\"M9 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM8 8a1 1 0 1 1 2 0 1 1 0 0 1-2 0ZM2 4.5C2 3.67 2.67 3 3.5 3h11c.83 0 1.5.67 1.5 1.5V8h-1V7h-1a2 2 0 0 1-2-2V4H6v1a2 2 0 0 1-2 2H3v2h1a2 2 0 0 1 2 2v1h5v1H3.5A1.5 1.5 0 0 1 2 11.5v-7ZM3.5 4a.5.5 0 0 0-.5.5V6h1a1 1 0 0 0 1-1V4H3.5Zm11 0H13v1a1 1 0 0 0 1 1h1V4.5a.5.5 0 0 0-.5-.5Zm-11 8H5v-1a1 1 0 0 0-1-1H3v1.5c0 .28.22.5.5.5ZM17 8V5.09c.58.2 1 .76 1 1.41V8h-1Zm-6 6v1H5.5a1.5 1.5 0 0 1-1.41-1H11Zm2.5-5c-.83 0-1.5.67-1.5 1.5v7c0 .83.67 1.5 1.5 1.5h4c.83 0 1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5h-4Zm0 4h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm-3 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm-3 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Zm3 0h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1ZM13 10.5c0-.28.22-.5.5-.5h4c.28 0 .5.22.5.5v1a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-1Z\"]);\nexport const MoneyDismissFilled = /*#__PURE__*/createFluentIcon('MoneyDismissFilled', \"1em\", [\"M3.5 4C2.67 4 2 4.67 2 5.5v7c0 .83.67 1.5 1.5 1.5h5.52A5.5 5.5 0 0 1 16 9.2V5.5c0-.83-.67-1.5-1.5-1.5h-11ZM6 6a2 2 0 0 1-2 2H3V7h1a1 1 0 0 0 1-1V5h1v1Zm3 4.75a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5ZM3 11v-1h1a2 2 0 0 1 2 2v1H5v-1a1 1 0 0 0-1-1H3Zm10-5a1 1 0 0 0 1 1h1v1h-1a2 2 0 0 1-2-2V5h1v1Zm-8.91 9h4.93c.03.34.1.68.19 1H5.5a1.5 1.5 0 0 1-1.41-1ZM18 7.5v2.76a5.5 5.5 0 0 0-1-.66V6.09c.58.2 1 .76 1 1.41Zm1 7a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-3.8 0 1.15-1.15a.5.5 0 0 0-.7-.7l-1.15 1.14-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7l-1.14-1.15Z\"]);\nexport const MoneyDismissRegular = /*#__PURE__*/createFluentIcon('MoneyDismissRegular', \"1em\", [\"M7 9a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM3.5 4C2.67 4 2 4.67 2 5.5v7c0 .83.67 1.5 1.5 1.5h5.52c.03-.34.1-.68.19-1H6v-1a2 2 0 0 0-2-2H3V8h1a2 2 0 0 0 2-2V5h6v1c0 1.1.9 2 2 2h1v1.02c.34.03.68.1 1 .19V5.5c0-.83-.67-1.5-1.5-1.5h-11ZM3 5.5c0-.28.22-.5.5-.5H5v1a1 1 0 0 1-1 1H3V5.5ZM13 5h1.5c.28 0 .5.22.5.5V7h-1a1 1 0 0 1-1-1V5Zm-8 8H3.5a.5.5 0 0 1-.5-.5V11h1a1 1 0 0 1 1 1v1Zm-.91 2h4.93c.03.34.1.68.19 1H5.5a1.5 1.5 0 0 1-1.41-1ZM18 7.5v2.76a5.5 5.5 0 0 0-1-.66V6.09c.58.2 1 .76 1 1.41Zm1 7a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-3.8 0 1.15-1.15a.5.5 0 0 0-.7-.7l-1.15 1.14-1.15-1.14a.5.5 0 0 0-.7.7l1.14 1.15-1.14 1.15a.5.5 0 0 0 .7.7l1.15-1.14 1.15 1.14a.5.5 0 0 0 .7-.7l-1.14-1.15Z\"]);\nexport const MoneyHandFilled = /*#__PURE__*/createFluentIcon('MoneyHandFilled', \"1em\", [\"M3 3.5C3 2.67 3.67 2 4.5 2h7c.83 0 1.5.67 1.5 1.5v1.8l3.27 3.26c.47.47.73 1.1.73 1.77v7.17a.5.5 0 0 1-1 0v-7.17c0-.4-.16-.78-.44-1.06L13 6.7v3.08l.85.86a.5.5 0 0 1-.7.7l-3-3c-.43-.42-.66-.4-.76-.38-.18.05-.33.19-.54.4-.1.09-.15.18-.13.32.03.18.17.49.63.96.98.97 1.1 1.1 1.22 1.2l.28.3c.1.09.15.22.15.35 0 .77 0 1.55.22 2.14.1.28.24.49.42.62.18.14.45.24.86.24.28 0 .5.22.5.5v1.5c0 .83-.67 1.5-1.5 1.5h-7A1.5 1.5 0 0 1 3 16.5v-13Zm5 4a2.5 2.5 0 1 0 1.9 4.12l-.04-.05-1.21-1.22a2.85 2.85 0 0 1-.91-1.51c-.08-.52.13-.93.41-1.2l.04-.04.1-.08L8 7.5Zm2 9v.5h1v-.5c0-.28.22-.5.5-.5h.5v-.54c-.37-.06-.68-.2-.95-.4-.6.2-1.05.77-1.05 1.44ZM4 5h.5C5.33 5 6 4.33 6 3.5V3H5v.5a.5.5 0 0 1-.5.5H4v1Zm6-1.5c0 .83.67 1.5 1.5 1.5h.5V4h-.5a.5.5 0 0 1-.5-.5V3h-1v.5Zm-4 13c0-.83-.67-1.5-1.5-1.5H4v1h.5c.28 0 .5.22.5.5v.5h1v-.5Z\"]);\nexport const MoneyHandRegular = /*#__PURE__*/createFluentIcon('MoneyHandRegular', \"1em\", [\"M4.5 2C3.67 2 3 2.67 3 3.5v13c0 .83.67 1.5 1.5 1.5h7c.83 0 1.5-.67 1.5-1.5V15a.5.5 0 0 0-.5-.5c-.41 0-.68-.1-.86-.24a1.3 1.3 0 0 1-.42-.62A6.69 6.69 0 0 1 11 11.5a.5.5 0 0 0-.15-.35l-.28-.3-1.22-1.2c-.46-.47-.6-.78-.63-.96-.02-.14.03-.23.13-.33.21-.2.36-.34.54-.39.1-.02.33-.04.76.38l3 3a.5.5 0 0 0 .7-.7L13 9.79V6.71l2.56 2.56c.28.28.44.66.44 1.06v7.17a.5.5 0 0 0 1 0v-7.17c0-.66-.26-1.3-.73-1.77L13 5.3V3.5c0-.83-.67-1.5-1.5-1.5h-7ZM12 5.5v3.3l-1.15-1.15c-.57-.58-1.15-.78-1.7-.65-.11.03-.22.07-.31.12A3 3 0 1 0 10 12.23c.01.58.07 1.21.27 1.75.15.41.38.8.76 1.08h.01c-.6.2-1.05.77-1.05 1.44v.5H6v-.5c0-.83-.67-1.5-1.5-1.5H4V5h.5C5.33 5 6 4.33 6 3.5V3h4v.5c0 .83.67 1.5 1.5 1.5h.5v.5Zm0 11a.5.5 0 0 1-.5.5H11v-.5c0-.28.22-.5.5-.5h.5v.5ZM6 10a2 2 0 0 1 1.87-2c-.12.23-.18.51-.13.84.07.48.37.98.9 1.51l.91.91A2 2 0 0 1 6 10ZM5 3v.5a.5.5 0 0 1-.5.5H4v-.5c0-.28.22-.5.5-.5H5ZM4 16h.5c.28 0 .5.22.5.5v.5h-.5a.5.5 0 0 1-.5-.5V16Zm8-12h-.5a.5.5 0 0 1-.5-.5V3h.5c.28 0 .5.22.5.5V4Z\"]);\nexport const MoneyOffFilled = /*#__PURE__*/createFluentIcon('MoneyOffFilled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L3.3 4.01C2.57 4.11 2 4.74 2 5.5v7c0 .83.67 1.5 1.5 1.5h9.8l1 1H4.08c.2.58.76 1 1.41 1h9c.25 0 .49-.03.72-.07l1.93 1.92a.5.5 0 0 0 .7-.7l-15-15Zm6.98 8.39a1.75 1.75 0 0 1-2.37-2.37l2.37 2.37ZM5.9 6.61A2 2 0 0 1 4 8H3V7h1a1 1 0 0 0 1-1v-.3l.9.91ZM3 11v-1h1a2 2 0 0 1 2 2v1H5v-1a1 1 0 0 0-1-1H3Zm6.42-3.7 1.28 1.28 1.95 1.95A2 2 0 0 1 14 10h1v1h-1a1 1 0 0 0-.65.24l2.27 2.26c.24-.27.38-.62.38-1v-7c0-.83-.67-1.5-1.5-1.5H6.12l3.3 3.3ZM15 7v1h-1a2 2 0 0 1-2-2V5h1v1a1 1 0 0 0 1 1h1Zm1.33 7.2.7.72c.6-.63.97-1.48.97-2.42v-5c0-.65-.42-1.2-1-1.41v6.41a2.5 2.5 0 0 1-.67 1.7Z\"]);\nexport const MoneyOffRegular = /*#__PURE__*/createFluentIcon('MoneyOffRegular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L3.3 4.01C2.57 4.11 2 4.74 2 5.5v7c0 .83.67 1.5 1.5 1.5h9.8l1 1H4.08c.2.58.76 1 1.41 1h9c.25 0 .49-.03.72-.07l1.93 1.92a.5.5 0 0 0 .7-.7l-15-15ZM12 12.7V13H6v-1a2 2 0 0 0-2-2H3V8h1a2 2 0 0 0 1.9-1.39l1.38 1.37a2 2 0 0 0 2.74 2.74L12 12.71ZM4.3 5l.7.7V6a1 1 0 0 1-1 1H3V5.5c0-.28.22-.5.5-.5h.8Zm3.73 3.74 1.23 1.23a1 1 0 0 1-1.23-1.23ZM3.5 13a.5.5 0 0 1-.5-.5V11h1a1 1 0 0 1 1 1v1H3.5ZM14 10a2 2 0 0 0-1.35.53l.7.7A1 1 0 0 1 14 11h1v1.5c0 .1-.03.2-.1.29l.72.71c.24-.27.38-.62.38-1v-7c0-.83-.67-1.5-1.5-1.5H6.12l1 1H12v1c0 1.1.9 2 2 2h1v2h-1Zm.5-5c.28 0 .5.22.5.5V7h-1a1 1 0 0 1-1-1V5h1.5Zm1.83 9.2.7.72c.6-.63.97-1.48.97-2.42v-5c0-.65-.42-1.2-1-1.41v6.41a2.5 2.5 0 0 1-.67 1.7Z\"]);\nexport const MoneySettingsFilled = /*#__PURE__*/createFluentIcon('MoneySettingsFilled', \"1em\", [\"M3.5 4C2.67 4 2 4.67 2 5.5v7c0 .83.67 1.5 1.5 1.5h5.52A5.5 5.5 0 0 1 16 9.2V5.5c0-.83-.67-1.5-1.5-1.5h-11ZM6 6a2 2 0 0 1-2 2H3V7h1a1 1 0 0 0 1-1V5h1v1Zm3 4.75a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5ZM3 11v-1h1a2 2 0 0 1 2 2v1H5v-1a1 1 0 0 0-1-1H3Zm10-5a1 1 0 0 0 1 1h1v1h-1a2 2 0 0 1-2-2V5h1v1Zm-8.91 9h4.93c.03.34.1.68.19 1H5.5a1.5 1.5 0 0 1-1.41-1ZM18 7.5v2.76a5.5 5.5 0 0 0-1-.66V6.09c.58.2 1 .76 1 1.41Zm-5.94 3.94a2 2 0 0 1-1.43 2.48l-.46.12a4.73 4.73 0 0 0 .01 1.02l.35.08A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const MoneySettingsRegular = /*#__PURE__*/createFluentIcon('MoneySettingsRegular', \"1em\", [\"M7 9a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM3.5 4C2.67 4 2 4.67 2 5.5v7c0 .83.67 1.5 1.5 1.5h5.52c.03-.34.1-.68.19-1H6v-1a2 2 0 0 0-2-2H3V8h1a2 2 0 0 0 2-2V5h6v1c0 1.1.9 2 2 2h1v1.02c.34.03.68.1 1 .19V5.5c0-.83-.67-1.5-1.5-1.5h-11ZM3 5.5c0-.28.22-.5.5-.5H5v1a1 1 0 0 1-1 1H3V5.5ZM13 5h1.5c.28 0 .5.22.5.5V7h-1a1 1 0 0 1-1-1V5Zm-8 8H3.5a.5.5 0 0 1-.5-.5V11h1a1 1 0 0 1 1 1v1Zm-.91 2h4.93c.03.34.1.68.19 1H5.5a1.5 1.5 0 0 1-1.41-1ZM18 7.5v2.76a5.5 5.5 0 0 0-1-.66V6.09c.58.2 1 .76 1 1.41Zm-5.94 3.94a2 2 0 0 1-1.43 2.48l-.46.12a4.73 4.73 0 0 0 .01 1.02l.35.08A2 2 0 0 1 12 17.66l-.13.42c.26.2.54.38.84.52l.32-.35a2 2 0 0 1 2.91 0l.34.36c.3-.13.57-.3.82-.5l-.16-.55a2 2 0 0 1 1.44-2.48l.46-.12a4.7 4.7 0 0 0-.01-1.01l-.35-.09A2 2 0 0 1 17 11.34l.13-.42c-.26-.2-.54-.38-.84-.52l-.32.35a2 2 0 0 1-2.91 0l-.34-.36c-.3.13-.57.3-.82.5l.15.55Zm2.44 4.06a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"]);\nexport const MoreCircleFilled = /*#__PURE__*/createFluentIcon('MoreCircleFilled', \"1em\", [\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-3 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]);\nexport const MoreCircleRegular = /*#__PURE__*/createFluentIcon('MoreCircleRegular', \"1em\", [\"M7 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-5-8a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-7 8a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z\"]);\nexport const MoreHorizontalFilled = /*#__PURE__*/createFluentIcon('MoreHorizontalFilled', \"1em\", [\"M6.75 10a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0Zm5 0a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0ZM15 11.75a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5Z\"]);\nexport const MoreHorizontalRegular = /*#__PURE__*/createFluentIcon('MoreHorizontalRegular', \"1em\", [\"M6.25 10a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm5 0a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM15 11.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\"]);\nexport const MoreVerticalFilled = /*#__PURE__*/createFluentIcon('MoreVerticalFilled', \"1em\", [\"M10 6.5A1.75 1.75 0 1 1 10 3a1.75 1.75 0 0 1 0 3.5ZM10 17a1.75 1.75 0 1 1 0-3.5 1.75 1.75 0 0 1 0 3.5Zm-1.75-7a1.75 1.75 0 1 0 3.5 0 1.75 1.75 0 0 0-3.5 0Z\"]);\nexport const MoreVerticalRegular = /*#__PURE__*/createFluentIcon('MoreVerticalRegular', \"1em\", [\"M10 6a1.25 1.25 0 1 1 0-2.5A1.25 1.25 0 0 1 10 6Zm0 5.25a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5Zm-1.25 4a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 0 0-2.5 0Z\"]);\nexport const MountainLocationBottomFilled = /*#__PURE__*/createFluentIcon('MountainLocationBottomFilled', \"1em\", [\"M8.19 2.78a2.5 2.5 0 0 1 3.62 0l5.37 5.65A3 3 0 0 1 18 10.5V15a2 2 0 0 1-2 2h-4.32c.27-.4.56-.85.8-1.3.24-.47.52-1.1.52-1.7a3 3 0 1 0-6 0c0 .6.28 1.23.53 1.7.23.45.52.9.79 1.3H4a2 2 0 0 1-2-2v-4.5a3 3 0 0 1 .82-2.07L8.2 2.78Zm2.9.7a1.5 1.5 0 0 0-2.18 0l-3.23 3.4c.77.5 1.4.7 1.96.74.66.04 1.26-.13 1.92-.4l.7-.3c.9-.4 1.93-.88 3.2-.95l-2.37-2.5Zm-2.7 11.7c.25.49.57 1 .87 1.42a.9.9 0 0 0 1.48 0c.3-.42.62-.93.87-1.41.23-.45.39-.88.39-1.19a2 2 0 1 0-4 0c0 .31.16.74.4 1.19Zm2.37-.53a1 1 0 1 1-1.52-1.3 1 1 0 0 1 1.52 1.3Z\"]);\nexport const MountainLocationBottomRegular = /*#__PURE__*/createFluentIcon('MountainLocationBottomRegular', \"1em\", [\"M4.99 7.6 3.55 9.13A2 2 0 0 0 3 10.5V15a1 1 0 0 0 1 1h3.7c.2.35.41.7.62 1H4a2 2 0 0 1-2-2v-4.5a3 3 0 0 1 .82-2.07L8.2 2.78a2.5 2.5 0 0 1 3.62 0l5.37 5.65A3 3 0 0 1 18 10.5V15a2 2 0 0 1-2 2h-4.32c.2-.3.43-.65.63-1H16a1 1 0 0 0 1-1v-4.5a2 2 0 0 0-.55-1.38L14.43 7c-1.48-.19-2.55.3-3.68.8-.27.12-.53.24-.81.35-.72.3-1.49.53-2.37.47A5.18 5.18 0 0 1 5 7.6ZM8.9 3.48l-3.23 3.4c.77.5 1.4.7 1.96.75.66.05 1.26-.13 1.92-.4l.7-.3c.9-.4 1.93-.88 3.2-.95l-2.37-2.5a1.5 1.5 0 0 0-2.18 0Zm.35 13.13-.4-.6A4.79 4.79 0 0 1 8 14a2 2 0 1 1 4 0c0 .5-.41 1.29-.86 2l-.4.6a.9.9 0 0 1-1.48 0ZM11 14a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"]);\nexport const MountainLocationTopFilled = /*#__PURE__*/createFluentIcon('MountainLocationTopFilled', \"1em\", [\"m10.99 5.24-.25.36a.9.9 0 0 1-1.5-.04c-.09-.1-.16-.23-.24-.35C8.5 4.45 8 3.55 8 3a2 2 0 1 1 4 0c0 .55-.5 1.45-1 2.21l-.01.03ZM11 3a1 1 0 1 0-2 0 1 1 0 0 0 2 0ZM8.43 6.17l-.25-.38-5.36 5.64A3 3 0 0 0 2 13.5V15c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2v-1.5a3 3 0 0 0-.82-2.07L11.82 5.8l-.25.38c-.11.16-.24.3-.38.4l2.27 2.4c-1.27.07-2.3.54-3.2.95l-.7.3c-.66.27-1.26.44-1.92.4a4.07 4.07 0 0 1-1.96-.75l3.13-3.3a1.95 1.95 0 0 1-.38-.4Z\"]);\nexport const MountainLocationTopRegular = /*#__PURE__*/createFluentIcon('MountainLocationTopRegular', \"1em\", [\"m10.99 5.24-.25.36a.9.9 0 0 1-1.5-.04c-.09-.1-.16-.23-.24-.35C8.5 4.45 8 3.55 8 3a2 2 0 1 1 4 0c0 .55-.5 1.45-1 2.21l-.01.03ZM11 3a1 1 0 1 0-2 0 1 1 0 0 0 2 0ZM8.43 6.17l-.25-.38-5.36 5.64A3 3 0 0 0 2 13.5V15c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2v-1.5a3 3 0 0 0-.82-2.07L11.82 5.8l-.25.38c-.11.16-.24.3-.38.4l2.27 2.4c-1.27.07-2.3.54-3.2.95l-.7.3c-.66.27-1.26.44-1.92.4a4.07 4.07 0 0 1-1.96-.75l3.13-3.3a1.95 1.95 0 0 1-.38-.4ZM5 10.61c.94.65 1.78.95 2.58 1 .88.07 1.65-.17 2.37-.46.28-.11.54-.23.8-.35 1.14-.5 2.21-.99 3.7-.8l2.01 2.12A2 2 0 0 1 17 13.5V15a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-1.5c0-.51.2-1 .55-1.38l1.44-1.51Z\"]);\nexport const MountainTrailFilled = /*#__PURE__*/createFluentIcon('MountainTrailFilled', \"1em\", [\"m6.72 4.33-3.9 4.1A3 3 0 0 0 2 10.5V15c0 1.1.9 2 2 2h7.59l-1.74-.52A28.3 28.3 0 0 1 6 14.99c-.54-.26-1-.54-1.35-.84C4.32 13.86 4 13.48 4 13c0-.98.77-1.54 1.58-1.86.82-.34 1.9-.52 2.92-.68l.63-.1c.82-.12 1.6-.23 2.22-.4.4-.1.7-.2.9-.32.2-.12.25-.21.26-.26.02-.06.02-.16-.12-.34-.14-.2-.38-.41-.71-.66-.44-.32-.96-.64-1.51-.97l-1-.62a7.08 7.08 0 0 1-2.22-1.95c-.1-.16-.18-.33-.23-.5ZM15.56 17l-.07-.02a54.15 54.15 0 0 1-1.58-.39c-1.03-.26-2.4-.63-3.76-1.07a27.36 27.36 0 0 1-3.7-1.42c-.5-.25-.9-.49-1.15-.71-.27-.24-.3-.37-.3-.39 0-.33.23-.65.95-.94.7-.28 1.66-.45 2.7-.61l.6-.1c.83-.11 1.67-.24 2.35-.41.43-.11.83-.25 1.16-.44.32-.19.62-.47.73-.88a1.4 1.4 0 0 0-.29-1.17c-.23-.32-.57-.61-.93-.88-.47-.34-1.06-.7-1.64-1.06l-.92-.57a6.22 6.22 0 0 1-1.9-1.63.99.99 0 0 1-.18-.66c.02-.15.1-.33.25-.55l.3-.32a2.5 2.5 0 0 1 3.63 0l5.37 5.65A3 3 0 0 1 18 10.5V15a2 2 0 0 1-2 2h-.44Z\"]);\nexport const MountainTrailRegular = /*#__PURE__*/createFluentIcon('MountainTrailRegular', \"1em\", [\"M15.48 17H4a2 2 0 0 1-2-2v-4.5a3 3 0 0 1 .82-2.07L8.2 2.78a2.5 2.5 0 0 1 3.62 0l5.37 5.65A3 3 0 0 1 18 10.5V15a2 2 0 0 1-2 2h-.52ZM9.1 3.31a1.75 1.75 0 0 0-.56.86c-.04.2-.01.4.1.6.23.46.8.92 1.56 1.43l.8.5c.5.32 1.03.64 1.43.96.33.24.63.52.83.83.22.32.34.7.24 1.13-.1.41-.41.7-.73.88-.33.2-.73.33-1.16.44-.68.17-1.52.3-2.35.42l-.6.09c-1.04.16-2 .33-2.7.61-.72.3-.95.6-.95.94 0 .01.01.12.28.33.25.2.63.4 1.13.6.99.4 2.33.77 3.7 1.08a67.33 67.33 0 0 0 5.34.98l.08.01H16a1 1 0 0 0 1-1v-4.5a2 2 0 0 0-.55-1.38L11.1 3.47a1.5 1.5 0 0 0-2-.16ZM7.6 4.87 3.55 9.12A2 2 0 0 0 3 10.5V15a1 1 0 0 0 1 1h5.94l-.05-.01c-1.38-.32-2.8-.7-3.86-1.14a5.99 5.99 0 0 1-1.36-.73C4.33 13.86 4 13.49 4 13c0-.98.77-1.54 1.58-1.86.82-.34 1.9-.52 2.92-.68l.63-.1c.82-.12 1.6-.23 2.22-.4.4-.1.7-.2.9-.32.2-.12.25-.21.26-.26.02-.08.02-.18-.09-.34a2.7 2.7 0 0 0-.6-.6c-.38-.28-.82-.55-1.3-.85l-.88-.56a5.45 5.45 0 0 1-1.9-1.8 2.1 2.1 0 0 1-.15-.36Z\"]);\nexport const MoviesAndTvFilled = /*#__PURE__*/createFluentIcon('MoviesAndTvFilled', \"1em\", [\"M16.13 5.38 7.03 8h9.47c.28 0 .5.22.5.5v7a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 3 15.5V8.57l-.26-.9a2.5 2.5 0 0 1 1.71-3.09L13.1 2.1a2.5 2.5 0 0 1 3.1 1.7l.27.97a.5.5 0 0 1-.34.62ZM3.84 7.88l.6-.17L5.9 5.2l-1.16.33A1.5 1.5 0 0 0 3.7 7.4l.14.48Zm2-.57 2.11-.61L9.4 4.2l-2.13.61-.02.04-1.42 2.46Zm5.62-1.63 1.44-2.5-2.12.62-.03.05L9.34 6.3l2.12-.62Zm2.68-2.65c0 .02 0 .03-.02.04l-1.27 2.22 2.52-.73-.14-.48a1.5 1.5 0 0 0-1.09-1.05Z\"]);\nexport const MoviesAndTvRegular = /*#__PURE__*/createFluentIcon('MoviesAndTvRegular', \"1em\", [\"M16.13 5.38 7.03 8h9.47c.28 0 .5.22.5.5v7a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 3 15.5V8.57l-.26-.9a2.5 2.5 0 0 1 1.71-3.09L13.1 2.1a2.5 2.5 0 0 1 3.1 1.7l.27.97a.5.5 0 0 1-.34.62ZM3.84 7.88l.6-.17L5.9 5.2l-1.16.33A1.5 1.5 0 0 0 3.7 7.4l.14.48Zm2-.57 2.11-.61L9.4 4.2l-2.13.61-.02.04-1.42 2.46Zm5.62-1.63 1.44-2.5-2.12.62-.03.05L9.34 6.3l2.12-.62Zm2.68-2.65c0 .02 0 .03-.02.04l-1.27 2.22 2.52-.73-.14-.48a1.5 1.5 0 0 0-1.09-1.05ZM4 9v6.5c0 .83.67 1.5 1.5 1.5h9c.83 0 1.5-.67 1.5-1.5V9H4Z\"]);\nexport const Multiplier12XFilled = /*#__PURE__*/createFluentIcon('Multiplier12XFilled', \"1em\", [\"M8.7 8.75a.75.75 0 0 0 .8-.7l.02-.1c.02-.08.06-.19.13-.3.1-.16.34-.4.95-.4.58 0 .86.19 1 .38.16.22.27.61.16 1.24a.78.78 0 0 1-.4.6c-.2.13-.42.2-.72.31l-.43.17c-.47.18-1.06.45-1.5 1-.47.55-.71 1.3-.71 2.3a.75.75 0 0 0 .75.75h3.75a.75.75 0 0 0 0-1.5H9.58c.07-.28.17-.47.28-.6.2-.24.48-.4.9-.56l.27-.1c.34-.12.77-.28 1.12-.5.52-.32.95-.82 1.09-1.61.15-.87.06-1.73-.43-2.38-.5-.69-1.29-1-2.21-1-1.14 0-1.83.5-2.21 1.1A2.53 2.53 0 0 0 8 7.92v.01c0 .01-.02.36 0 .01-.03.41.29.77.7.8Zm6.58 1.47a.75.75 0 1 0-1.06 1.06l.72.72-.72.72a.75.75 0 1 0 1.06 1.06l.72-.72.72.72a.75.75 0 1 0 1.06-1.06l-.72-.72.72-.72a.75.75 0 1 0-1.06-1.06l-.72.72-.72-.72ZM7 13.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM4.46 6.03c.32.1.54.39.54.72v6.5a.75.75 0 0 1-1.5 0V8.8c-.24.2-.52.39-.86.6a.75.75 0 0 1-.78-1.3c.58-.34.9-.61 1.13-.86.22-.24.36-.47.58-.81l.04-.08a.75.75 0 0 1 .85-.32Z\"]);\nexport const Multiplier12XRegular = /*#__PURE__*/createFluentIcon('Multiplier12XRegular', \"1em\", [\"M4.66 6.03c.2.06.34.26.34.47v7a.5.5 0 0 1-1 0V7.96a6 6 0 0 1-1.24.97.5.5 0 0 1-.52-.86c.94-.56 1.31-1.1 1.64-1.57l.22-.3a.5.5 0 0 1 .56-.17Zm4.33 2.06v-.03l.05-.12c.04-.11.1-.25.2-.39.2-.26.55-.55 1.26-.55.64 0 1.04.2 1.27.5.23.3.35.76.24 1.42-.07.38-.26.61-.57.8-.24.16-.52.28-.85.41a22 22 0 0 0-.43.18c-.5.21-1.05.5-1.47 1A3.27 3.27 0 0 0 8 13.5a.5.5 0 0 0 .5.5h4a.5.5 0 1 0 0-1H9.03c.07-.49.23-.81.43-1.05.26-.32.64-.52 1.1-.72.1-.05.2-.1.32-.14.36-.14.77-.3 1.1-.52.49-.31.89-.76 1.01-1.49.15-.84.02-1.62-.44-2.2C12.1 6.29 11.36 6 10.5 6a2.44 2.44 0 0 0-2.47 1.81L8 7.88v.03L8 7.99v-.06a.5.5 0 0 0 1 .17Zm5.86 2.06a.5.5 0 0 0-.7.7L15.29 12l-1.14 1.15a.5.5 0 0 0 .7.7L16 12.71l1.15 1.14a.5.5 0 0 0 .7-.7L16.71 12l1.14-1.15a.5.5 0 0 0-.7-.7L16 11.29l-1.15-1.14ZM7 13.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"]);\nexport const Multiplier15XFilled = /*#__PURE__*/createFluentIcon('Multiplier15XFilled', \"1em\", [\"M4.46 6.03c.32.1.54.39.54.72v6.5a.75.75 0 0 1-1.5 0V8.81c-.24.19-.52.38-.86.58a.75.75 0 0 1-.78-1.28c.58-.35.9-.62 1.13-.87.22-.24.36-.47.58-.81l.04-.08a.75.75 0 0 1 .85-.32ZM9 6c-.39 0-.71.3-.75.68L8 9.43a.75.75 0 0 0 .85.81l1.37-.18a1.35 1.35 0 1 1 .16 2.69c-.36 0-.72-.15-.97-.4l-.38-.38a.75.75 0 0 0-1.06 1.06l.38.38a2.86 2.86 0 0 0 4.9-2.01 2.85 2.85 0 0 0-3.23-2.83l-.44.06.1-1.13h2.57a.75.75 0 0 0 0-1.5H9Zm-2.5 8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm7.72-3.78c.3-.3.77-.3 1.06 0l.72.72.72-.72a.75.75 0 1 1 1.06 1.06l-.72.72.72.72a.75.75 0 1 1-1.06 1.06l-.72-.72-.72.72a.75.75 0 1 1-1.06-1.06l.72-.72-.72-.72a.75.75 0 0 1 0-1.06Z\"]);\nexport const Multiplier15XRegular = /*#__PURE__*/createFluentIcon('Multiplier15XRegular', \"1em\", [\"M4.66 6.03c.2.06.34.26.34.47v7a.5.5 0 0 1-1 0V7.96a6 6 0 0 1-1.24.97.5.5 0 0 1-.52-.86c.94-.56 1.31-1.1 1.64-1.57l.22-.3a.5.5 0 0 1 .56-.17Zm3.84.43A.5.5 0 0 1 9 6h3.5a.5.5 0 0 1 0 1H9.46L9.3 8.93l1.28-.15a2.62 2.62 0 1 1 .3 5.22h-.35c-.8 0-1.55-.31-2.1-.87l-.28-.28a.5.5 0 1 1 .7-.7l.28.27c.37.37.87.58 1.4.58h.35a1.62 1.62 0 1 0-.19-3.23L8.81 10a.5.5 0 0 1-.56-.54l.25-3Zm6.35 3.69a.5.5 0 0 0-.7.7L15.29 12l-1.14 1.15a.5.5 0 0 0 .7.7L16 12.71l1.15 1.14a.5.5 0 0 0 .7-.7L16.71 12l1.14-1.15a.5.5 0 0 0-.7-.7L16 11.29l-1.15-1.14ZM6.5 14a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\"]);\nexport const Multiplier18XFilled = /*#__PURE__*/createFluentIcon('Multiplier18XFilled', \"1em\", [\"M4.46 6.03c.32.1.54.39.54.72v6.5a.75.75 0 0 1-1.5 0V8.81c-.24.19-.52.38-.86.58a.75.75 0 0 1-.78-1.28c.58-.35.9-.62 1.13-.87.22-.24.36-.47.58-.81l.04-.08a.75.75 0 0 1 .85-.32Zm8.79 2.22c0 .58-.23 1.07-.59 1.45.51.44.84 1.07.84 1.8 0 1.47-1.33 2.5-2.75 2.5S8 12.97 8 11.5c0-.73.33-1.36.84-1.8a2.08 2.08 0 0 1-.59-1.45C8.25 6.9 9.48 6 10.75 6s2.5.9 2.5 2.25Zm-2.5-.75c-.66 0-1 .44-1 .75s.34.75 1 .75c.66 0 1-.44 1-.75s-.34-.75-1-.75Zm-1.25 4c0 .46.46 1 1.25 1s1.25-.54 1.25-1c0-.46-.46-1-1.25-1s-1.25.54-1.25 1Zm4.72-1.28c.3-.3.77-.3 1.06 0l.72.72.72-.72a.75.75 0 1 1 1.06 1.06l-.72.72.72.72a.75.75 0 1 1-1.06 1.06l-.72-.72-.72.72a.75.75 0 1 1-1.06-1.06l.72-.72-.72-.72a.75.75 0 0 1 0-1.06ZM7 13.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"]);\nexport const Multiplier18XRegular = /*#__PURE__*/createFluentIcon('Multiplier18XRegular', \"1em\", [\"M4.66 6.03c.2.06.34.26.34.47v7a.5.5 0 0 1-1 0V7.96a6 6 0 0 1-1.24.97.5.5 0 0 1-.52-.86c.94-.56 1.31-1.1 1.64-1.57l.22-.3a.5.5 0 0 1 .56-.17ZM13 8c0 .59-.27 1.09-.69 1.44.7.44 1.19 1.18 1.19 2.06 0 1.43-1.29 2.5-2.75 2.5S8 12.93 8 11.5c0-.88.48-1.62 1.19-2.06A1.87 1.87 0 0 1 8.5 8c0-1.17 1.08-2 2.25-2S13 6.83 13 8Zm-2.25-1c-.77 0-1.25.52-1.25 1s.48 1 1.25 1S12 8.48 12 8s-.48-1-1.25-1ZM9 11.5c0 .77.73 1.5 1.75 1.5s1.75-.73 1.75-1.5-.73-1.5-1.75-1.5S9 10.73 9 11.5Zm5.15-1.35c.2-.2.5-.2.7 0L16 11.29l1.15-1.14a.5.5 0 0 1 .7.7L16.71 12l1.14 1.15a.5.5 0 0 1-.7.7L16 12.71l-1.15 1.14a.5.5 0 0 1-.7-.7L15.29 12l-1.14-1.15a.5.5 0 0 1 0-.7ZM7 13.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"]);\nexport const Multiplier1XFilled = /*#__PURE__*/createFluentIcon('Multiplier1XFilled', \"1em\", [\"M8.5 6.75a.75.75 0 0 0-1.39-.4l-.04.08a5.3 5.3 0 0 1-.58.8 4.8 4.8 0 0 1-1.13.88.75.75 0 1 0 .78 1.28c.34-.2.62-.4.86-.58v4.44a.75.75 0 0 0 1.5 0v-6.5Zm2.78 3.47a.75.75 0 1 0-1.06 1.06l.72.72-.72.72a.75.75 0 1 0 1.06 1.06l.72-.72.72.72a.75.75 0 1 0 1.06-1.06l-.72-.72.72-.72a.75.75 0 0 0-1.06-1.06l-.72.72-.72-.72Z\"]);\nexport const Multiplier1XRegular = /*#__PURE__*/createFluentIcon('Multiplier1XRegular', \"1em\", [\"M8 6.5a.5.5 0 0 0-.9-.3l-.22.3c-.33.48-.7 1-1.64 1.57a.5.5 0 1 0 .52.86A6 6 0 0 0 7 7.96v5.54a.5.5 0 1 0 1 0v-7Zm2.85 3.65a.5.5 0 0 0-.7.7L11.29 12l-1.14 1.15a.5.5 0 0 0 .7.7L12 12.71l1.15 1.14a.5.5 0 0 0 .7-.7L12.71 12l1.14-1.15a.5.5 0 0 0-.7-.7L12 11.29l-1.15-1.14Z\"]);\nexport const Multiplier2XFilled = /*#__PURE__*/createFluentIcon('Multiplier2XFilled', \"1em\", [\"M5.7 8.75a.75.75 0 0 0 .8-.7l.02-.1c.02-.08.06-.19.13-.3.1-.16.34-.4.95-.4.58 0 .86.19 1 .38.16.22.27.61.16 1.24a.78.78 0 0 1-.4.6c-.2.13-.42.2-.72.31l-.43.17c-.47.18-1.06.45-1.5 1-.46.55-.7 1.3-.7 2.3a.75.75 0 0 0 .74.75H9.5a.75.75 0 0 0 0-1.5H6.58c.07-.28.17-.47.28-.6.2-.24.48-.4.9-.56l.27-.1c.34-.12.77-.28 1.12-.5.52-.32.95-.82 1.09-1.61a3.1 3.1 0 0 0-.42-2.38c-.5-.69-1.3-1-2.22-1-1.13 0-1.83.5-2.2 1.1A2.53 2.53 0 0 0 5 7.92v.02c-.02.41.29.77.7.8Zm6.58 1.47a.75.75 0 1 0-1.06 1.06l.72.72-.72.72a.75.75 0 0 0 1.06 1.06l.72-.72.72.72a.75.75 0 1 0 1.06-1.06l-.72-.72.72-.72a.75.75 0 0 0-1.06-1.06l-.72.72-.72-.72Z\"]);\nexport const Multiplier2XRegular = /*#__PURE__*/createFluentIcon('Multiplier2XRegular', \"1em\", [\"m6 8.09.01-.03.04-.12c.04-.11.1-.25.2-.39.2-.26.56-.55 1.26-.55.64 0 1.04.2 1.26.5.24.3.36.76.25 1.42-.07.38-.26.61-.57.8-.24.16-.52.28-.85.41l-.43.18c-.5.21-1.05.5-1.47 1a3.27 3.27 0 0 0-.69 2.19.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1H6.04c.07-.49.23-.81.43-1.05.26-.32.64-.52 1.1-.72.1-.05.2-.1.32-.14.36-.14.77-.3 1.1-.52.48-.31.89-.76 1.01-1.49.14-.84.02-1.62-.44-2.2C9.1 6.29 8.37 6 7.5 6a2.44 2.44 0 0 0-2.48 1.88v.03h-.01c0 .03-.04.27 0 0A.5.5 0 0 0 6 8.1Zm5.86 2.06a.5.5 0 1 0-.7.7L12.3 12l-1.15 1.15a.5.5 0 0 0 .7.7L13 12.71l1.15 1.14a.5.5 0 1 0 .7-.7L13.71 12l1.14-1.15a.5.5 0 0 0-.7-.7L13 11.29l-1.14-1.14Z\"]);\nexport const Multiplier5XFilled = /*#__PURE__*/createFluentIcon('Multiplier5XFilled', \"1em\", [\"M6.25 6.68A.75.75 0 0 1 7 6h3.25a.75.75 0 0 1 0 1.5H7.68l-.1 1.13.44-.06a2.85 2.85 0 1 1 .36 5.68c-.75 0-1.5-.3-2.03-.84l-.38-.38a.75.75 0 1 1 1.06-1.06l.38.38a1.36 1.36 0 0 0 2.34-.95c0-.82-.72-1.45-1.53-1.34l-1.37.18a.75.75 0 0 1-.85-.8l.25-2.76ZM5 13.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm8.28-3.28a.75.75 0 1 0-1.06 1.06l.72.72-.72.72a.75.75 0 1 0 1.06 1.06l.72-.72.72.72a.75.75 0 1 0 1.06-1.06l-.72-.72.72-.72a.75.75 0 1 0-1.06-1.06l-.72.72-.72-.72Z\"]);\nexport const Multiplier5XRegular = /*#__PURE__*/createFluentIcon('Multiplier5XRegular', \"1em\", [\"M7 6a.5.5 0 0 0-.5.46l-.25 3a.5.5 0 0 0 .56.54l1.88-.23A1.62 1.62 0 1 1 8.9 13h-.36c-.53 0-1.03-.2-1.4-.58l-.28-.27a.5.5 0 0 0-.7.7l.27.28c.56.56 1.32.87 2.1.87h.36a2.62 2.62 0 1 0-.3-5.22l-1.28.15L7.46 7h3.04a.5.5 0 0 0 0-1H7Zm5.15 4.15c.2-.2.5-.2.7 0L14 11.29l1.15-1.14a.5.5 0 0 1 .7.7L14.71 12l1.14 1.15a.5.5 0 0 1-.7.7L14 12.71l-1.15 1.14a.5.5 0 0 1-.7-.7L13.29 12l-1.14-1.15a.5.5 0 0 1 0-.7ZM5 13.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\"]);\nexport const MultiselectLtrFilled = /*#__PURE__*/createFluentIcon('MultiselectLtrFilled', \"1em\", [\"M6.25 3.2c.31.27.33.74.06 1.05l-2.25 2.5a.75.75 0 0 1-1.09.03L1.72 5.53a.75.75 0 0 1 1.06-1.06l.7.7 1.71-1.92a.75.75 0 0 1 1.06-.06ZM8 5.24c0-.41.34-.75.75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 8 5.25Zm0 5c0-.41.34-.75.75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75Zm.75 4.25a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5h-8.5Zm-2.44-.25a.75.75 0 1 0-1.12-1l-1.72 1.91-.69-.69a.75.75 0 0 0-1.06 1.06l1.25 1.25a.75.75 0 0 0 1.09-.03l2.25-2.5Z\"]);\nexport const MultiselectLtrRegular = /*#__PURE__*/createFluentIcon('MultiselectLtrRegular', \"1em\", [\"M5.85 4.35a.5.5 0 1 0-.7-.7L3.5 5.29l-.65-.64a.5.5 0 1 0-.7.7l1 1c.2.2.5.2.7 0l2-2ZM8 5.5c0-.28.22-.5.5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 5c0-.28.22-.5.5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm.5 4.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm-2.65-.85c.2.2.2.5 0 .7l-2 2a.5.5 0 0 1-.7 0l-1-1a.5.5 0 0 1 .7-.7l.65.64 1.65-1.64c.2-.2.5-.2.7 0Z\"]);\nexport const MultiselectRtlFilled = /*#__PURE__*/createFluentIcon('MultiselectRtlFilled', \"1em\", [\"M2 5.25c0-.41.34-.75.75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 2 5.25Zm0 5c0-.41.34-.75.75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75Zm.75 4.25a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5h-8.5ZM18.31 4.25a.75.75 0 1 0-1.12-1l-1.72 1.91-.69-.69a.75.75 0 1 0-1.06 1.06l1.25 1.25a.75.75 0 0 0 1.09-.03l2.25-2.5Zm-.06 8.94c.31.28.33.75.06 1.06l-2.25 2.5a.75.75 0 0 1-1.09.03l-1.25-1.25a.75.75 0 1 1 1.06-1.06l.7.7 1.71-1.92a.75.75 0 0 1 1.06-.06Z\"]);\nexport const MultiselectRtlRegular = /*#__PURE__*/createFluentIcon('MultiselectRtlRegular', \"1em\", [\"M17.85 4.35a.5.5 0 0 0-.7-.7L15.5 5.29l-.65-.64a.5.5 0 0 0-.7.7l1 1c.2.2.5.2.7 0l2-2Zm0 9.8c.2.2.2.5 0 .7l-2 2a.5.5 0 0 1-.7 0l-1-1a.5.5 0 0 1 .7-.7l.65.64 1.65-1.64c.2-.2.5-.2.7 0ZM2.5 5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm0 5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9ZM2 15.5c0-.28.22-.5.5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Z\"]);\nexport const MusicNote1Filled = /*#__PURE__*/createFluentIcon('MusicNote1Filled', \"1em\", [\"M10.15 2.02a.5.5 0 0 0-.65.48v9.9A3.24 3.24 0 0 0 4 14.75a3.25 3.25 0 1 0 6.5-.25V7.18l5.85 1.8A.5.5 0 0 0 17 8.5V5.98a2.5 2.5 0 0 0-1.76-2.4l-5.1-1.56Z\"]);\nexport const MusicNote1Regular = /*#__PURE__*/createFluentIcon('MusicNote1Regular', \"1em\", [\"M10.15 2.02a.5.5 0 0 0-.65.48v9.9A3.24 3.24 0 0 0 4 14.75a3.25 3.25 0 1 0 6.5-.25V7.18l5.85 1.8A.5.5 0 0 0 17 8.5V5.98a2.5 2.5 0 0 0-1.76-2.4l-5.1-1.56ZM16 7.82l-5.5-1.69V3.18l4.44 1.36c.63.2 1.06.78 1.06 1.44v1.84ZM5 14.75a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0Z\"]);\nexport const MusicNote2Filled = /*#__PURE__*/createFluentIcon('MusicNote2Filled', \"1em\", [\"M15.99 3.02a1 1 0 0 0-1.29-.8l-7 2.2a1 1 0 0 0-.7.95v8.13a2.5 2.5 0 1 0 1 2V8.37l7-2.19v5.32a2.5 2.5 0 1 0 1 2V3.18l-.01-.16Z\"]);\nexport const MusicNote2Regular = /*#__PURE__*/createFluentIcon('MusicNote2Regular', \"1em\", [\"M14.7 2.23a1 1 0 0 1 1.3.95V13.5a2.5 2.5 0 1 1-1-2V6.18L8 8.37v7.13a2.5 2.5 0 1 1-1-2V5.37a1 1 0 0 1 .7-.96l7-2.18ZM8 7.32l7-2.19V3.18L8 5.37v1.95ZM5.5 14a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm6.5-.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0Z\"]);\nexport const MusicNote2PlayFilled = /*#__PURE__*/createFluentIcon('MusicNote2PlayFilled', \"1em\", [\"M15.99 3.02a1 1 0 0 0-1.29-.8l-7 2.2a1 1 0 0 0-.7.95v8.13a2.5 2.5 0 1 0 1 2V8.37l7-2.19v2.84c.34.03.68.1 1 .19V3.18l-.01-.16ZM19 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.26-.44-3-1.65a.5.5 0 0 0-.74.44v3.3c0 .38.4.62.74.44l3-1.65a.5.5 0 0 0 0-.88Z\"]);\nexport const MusicNote2PlayRegular = /*#__PURE__*/createFluentIcon('MusicNote2PlayRegular', \"1em\", [\"M14.7 2.23a1 1 0 0 1 1.3.95v6.03c-.32-.1-.66-.16-1-.19V6.18L8 8.37v7.13a2.5 2.5 0 1 1-1-2V5.37a1 1 0 0 1 .7-.96l7-2.18ZM8 7.32l7-2.19V3.18L8 5.37v1.95ZM5.5 14a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm13.5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-2.26-.44-3-1.65a.5.5 0 0 0-.74.44v3.3c0 .38.4.62.74.44l3-1.65a.5.5 0 0 0 0-.88Z\"]);\nexport const MusicNoteOff1Filled = /*#__PURE__*/createFluentIcon('MusicNoteOff1Filled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l7.35 7.36v2.2A3.24 3.24 0 0 0 4 14.74a3.25 3.25 0 1 0 6.5-.25v-3.3l6.65 6.65a.5.5 0 0 0 .7-.7l-15-15Zm7.65 5.03v1.2l-1-1V2.5a.5.5 0 0 1 .65-.48l5.09 1.57A2.5 2.5 0 0 1 17 5.98V8.5a.5.5 0 0 1-.65.48l-5.85-1.8Z\"]);\nexport const MusicNoteOff1Regular = /*#__PURE__*/createFluentIcon('MusicNoteOff1Regular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7l7.35 7.36v2.2A3.24 3.24 0 0 0 4 14.74a3.25 3.25 0 1 0 6.5-.25v-3.3l6.65 6.65a.5.5 0 0 0 .7-.7l-15-15ZM5 14.75a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0Zm5.5-7.57v1.2l-1-1V2.5a.5.5 0 0 1 .65-.48l5.09 1.57A2.5 2.5 0 0 1 17 5.98V8.5a.5.5 0 0 1-.65.48l-5.85-1.8Zm5.5.64V5.98a1.5 1.5 0 0 0-1.06-1.44L10.5 3.18v2.95l5.5 1.7Z\"]);\nexport const MusicNoteOff2Filled = /*#__PURE__*/createFluentIcon('MusicNoteOff2Filled', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L7 7.71v5.79a2.5 2.5 0 1 0 1 2V8.7l3.41 3.42a2.5 2.5 0 0 0 3.46 3.46l2.28 2.27a.5.5 0 0 0 .7-.7l-15-15ZM13.5 11c-.12 0-.24 0-.35.02l2.83 2.83.02-.35V3.18l-.01-.16a1 1 0 0 0-1.29-.8l-7 2.2a1 1 0 0 0-.61.54l2.8 2.82L15 6.18v5.32c-.42-.31-.94-.5-1.5-.5Z\"]);\nexport const MusicNoteOff2Regular = /*#__PURE__*/createFluentIcon('MusicNoteOff2Regular', \"1em\", [\"M2.85 2.15a.5.5 0 1 0-.7.7L7 7.71v5.79a2.5 2.5 0 1 0 1 2V8.7l3.41 3.42a2.5 2.5 0 0 0 3.46 3.46l2.28 2.27a.5.5 0 0 0 .7-.7l-15-15Zm11.3 12.7a1.5 1.5 0 0 1-2-2l2 2ZM5.5 14a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Zm8-3c-.12 0-.24 0-.35.02l2.83 2.83.02-.35V3.18a1 1 0 0 0-1.3-.95l-7 2.18a1 1 0 0 0-.61.55l.91.92v-.51l7-2.19v1.95L9.1 6.98l.8.8 5.1-1.6v5.32c-.42-.31-.94-.5-1.5-.5Z\"]);\nexport const MyLocationFilled = /*#__PURE__*/createFluentIcon('MyLocationFilled', \"1em\", [\"M10 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm.75-10.25a.75.75 0 0 0-1.5 0v1.3a6 6 0 0 0-5.2 5.2h-1.3a.75.75 0 0 0 0 1.5h1.3a6 6 0 0 0 5.2 5.2v1.3a.75.75 0 0 0 1.5 0v-1.3a6 6 0 0 0 5.2-5.2h1.3a.75.75 0 0 0 0-1.5h-1.3a6 6 0 0 0-5.2-5.2v-1.3ZM10 14.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Z\"]);\nexport const MyLocationRegular = /*#__PURE__*/createFluentIcon('MyLocationRegular', \"1em\", [\"M10 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm.5-10.5a.5.5 0 0 0-1 0v1.52A6 6 0 0 0 4.02 9.5H2.5a.5.5 0 0 0 0 1h1.52a6 6 0 0 0 5.48 5.48v1.52a.5.5 0 0 0 1 0v-1.52a6 6 0 0 0 5.48-5.48h1.52a.5.5 0 0 0 0-1h-1.52a6 6 0 0 0-5.48-5.48V2.5ZM10 15a5 5 0 1 1 0-10 5 5 0 0 1 0 10Z\"]);\nexport const NavigationFilled = /*#__PURE__*/createFluentIcon('NavigationFilled', \"1em\", [\"M2 4.75c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 4.75Zm0 5c0-.41.34-.75.75-.75h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 9.75ZM2.75 14a.75.75 0 0 0 0 1.5h14.5a.75.75 0 0 0 0-1.5H2.75Z\"]);","export const iconFilledClassName = \"fui-Icon-filled\";\nexport const iconRegularClassName = \"fui-Icon-regular\";\nexport const iconLightClassName = \"fui-Icon-light\";\nexport const fontIconClassName = \"fui-Icon-font\";","import * as React from \"react\";\nimport { iconFilledClassName, iconRegularClassName } from \"./constants\";\nimport { __styles, mergeClasses } from \"@griffel/react\";\nconst useBundledIconStyles = __styles({\n  \"root\": {\n    \"mc9l5x\": \"fjseox\"\n  },\n  \"visible\": {\n    \"mc9l5x\": \"f1w7gpdv\"\n  }\n}, {\n  \"d\": [\".fjseox{display:none;}\", \".f1w7gpdv{display:inline;}\"]\n});\nconst bundleIcon = (FilledIcon, RegularIcon) => {\n  const Component = props => {\n    const {\n      className,\n      filled,\n      ...rest\n    } = props;\n    const styles = useBundledIconStyles();\n    return React.createElement(React.Fragment, null, React.createElement(FilledIcon, Object.assign({}, rest, {\n      className: mergeClasses(styles.root, filled && styles.visible, iconFilledClassName, className)\n    })), React.createElement(RegularIcon, Object.assign({}, rest, {\n      className: mergeClasses(styles.root, !filled && styles.visible, iconRegularClassName, className)\n    })));\n  };\n  Component.displayName = \"CompoundIcon\";\n  return Component;\n};\nexport default bundleIcon;","/**\n * Creates a virtual element based on the position of a click event\n * Can be used as a target for popper in scenarios such as context menus\n */ export function createVirtualElementFromClick(nativeEvent) {\n    const left = nativeEvent.clientX;\n    const top = nativeEvent.clientY;\n    const right = left + 1;\n    const bottom = top + 1;\n    function getBoundingClientRect() {\n        return {\n            left,\n            top,\n            right,\n            bottom,\n            x: left,\n            y: top,\n            height: 1,\n            width: 1\n        };\n    }\n    return {\n        getBoundingClientRect\n    };\n}\n","/**\n * Generally when adding an arrow to popper, it's necessary to offset the position of the popper by the\n * height of the arrow. A simple utility to merge a provided offset with an arrow height to return the final offset\n *\n * @internal\n * @param userOffset - The offset provided by the user\n * @param arrowHeight - The height of the arrow in px\n * @returns User offset augmented with arrow height\n */ export function mergeArrowOffset(userOffset, arrowHeight) {\n    if (typeof userOffset === 'number') {\n        return addArrowOffset(userOffset, arrowHeight);\n    }\n    if (typeof userOffset === 'object' && userOffset !== null) {\n        return addArrowOffset(userOffset, arrowHeight);\n    }\n    if (typeof userOffset === 'function') {\n        return (offsetParams)=>{\n            const offset = userOffset(offsetParams);\n            return addArrowOffset(offset, arrowHeight);\n        };\n    }\n    return {\n        mainAxis: arrowHeight\n    };\n}\nconst addArrowOffset = (offset, arrowHeight)=>{\n    if (typeof offset === 'number') {\n        return {\n            mainAxis: offset + arrowHeight\n        };\n    }\n    var _offset_mainAxis;\n    return {\n        ...offset,\n        mainAxis: ((_offset_mainAxis = offset.mainAxis) !== null && _offset_mainAxis !== void 0 ? _offset_mainAxis : 0) + arrowHeight\n    };\n};\n","import * as React from 'react';\nimport { createVirtualElementFromClick } from './createVirtualElementFromClick';\n/**\n * @internal\n * A state hook that manages a popper virtual element from mouseevents.\n * Useful for scenarios where a component needs to be positioned by mouse click (e.g. contextmenu)\n * React synthetic events are not persisted by this hook\n *\n * @param initialState - initializes a user provided state similare to useState\n * @returns state and dispatcher for a Popper virtual element that uses native/synthetic mouse events\n */ export const usePositioningMouseTarget = (initialState)=>{\n    const [virtualElement, setVirtualElement] = React.useState(initialState);\n    const setVirtualMouseTarget = (event)=>{\n        if (event === undefined || event === null) {\n            setVirtualElement(undefined);\n            return;\n        }\n        let mouseevent;\n        if (!(event instanceof MouseEvent)) {\n            mouseevent = event.nativeEvent;\n        } else {\n            mouseevent = event;\n        }\n        if (!(mouseevent instanceof MouseEvent) && process.env.NODE_ENV !== 'production') {\n            // eslint-disable-next-line no-console\n            console.error('usePositioningMouseTarget should only be used with MouseEvent');\n        }\n        const contextTarget = createVirtualElementFromClick(mouseevent);\n        setVirtualElement(contextTarget);\n    };\n    return [\n        virtualElement,\n        setVirtualMouseTarget\n    ];\n};\n","/**\n * The height of the tooltip's arrow in pixels.\n */ export const arrowHeight = 6;\n/**\n * The default value of the tooltip's border radius (borderRadiusMedium).\n *\n * Unfortunately, Popper requires it to be specified as a variable instead of using CSS.\n * While we could use getComputedStyle, that adds a performance penalty for something that\n * will likely never change.\n */ export const tooltipBorderRadius = 4;\n","import * as React from 'react';\nimport { mergeArrowOffset, resolvePositioningShorthand, usePositioning } from '@fluentui/react-positioning';\nimport { useTooltipVisibility_unstable as useTooltipVisibility, useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { KEYBORG_FOCUSIN, useIsNavigatingWithKeyboard } from '@fluentui/react-tabster';\nimport { applyTriggerPropsToChildren, useControllableState, useId, useIsomorphicLayoutEffect, useIsSSR, useMergedRefs, useTimeout, getTriggerChild, mergeCallbacks, useEventCallback, slot } from '@fluentui/react-utilities';\nimport { arrowHeight, tooltipBorderRadius } from './private/constants';\nimport { Escape } from '@fluentui/keyboard-keys';\n/**\n * Create the state required to render Tooltip.\n *\n * The returned state can be modified with hooks such as useTooltipStyles_unstable,\n * before being passed to renderTooltip_unstable.\n *\n * @param props - props from this instance of Tooltip\n */ export const useTooltip_unstable = (props)=>{\n    'use no memo';\n    var _child_props, _child_props1, _child_props2, _child_props3, _child_props4, _child_props5;\n    const context = useTooltipVisibility();\n    const isServerSideRender = useIsSSR();\n    const { targetDocument } = useFluent();\n    const [setDelayTimeout, clearDelayTimeout] = useTimeout();\n    const { appearance = 'normal', children, content, withArrow = false, positioning = 'above', onVisibleChange, relationship, showDelay = 250, hideDelay = 250, mountNode } = props;\n    const [visible, setVisibleInternal] = useControllableState({\n        state: props.visible,\n        initialState: false\n    });\n    const setVisible = React.useCallback((ev, data)=>{\n        clearDelayTimeout();\n        setVisibleInternal((oldVisible)=>{\n            if (data.visible !== oldVisible) {\n                onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(ev, data);\n            }\n            return data.visible;\n        });\n    }, [\n        clearDelayTimeout,\n        setVisibleInternal,\n        onVisibleChange\n    ]);\n    const state = {\n        withArrow,\n        positioning,\n        showDelay,\n        hideDelay,\n        relationship,\n        visible,\n        shouldRenderTooltip: visible,\n        appearance,\n        mountNode,\n        // Slots\n        components: {\n            content: 'div'\n        },\n        content: slot.always(content, {\n            defaultProps: {\n                role: 'tooltip'\n            },\n            elementType: 'div'\n        })\n    };\n    state.content.id = useId('tooltip-', state.content.id);\n    const positioningOptions = {\n        enabled: state.visible,\n        arrowPadding: 2 * tooltipBorderRadius,\n        position: 'above',\n        align: 'center',\n        offset: 4,\n        ...resolvePositioningShorthand(state.positioning)\n    };\n    if (state.withArrow) {\n        positioningOptions.offset = mergeArrowOffset(positioningOptions.offset, arrowHeight);\n    }\n    const { targetRef, containerRef, arrowRef } = usePositioning(positioningOptions);\n    state.content.ref = useMergedRefs(state.content.ref, containerRef);\n    state.arrowRef = arrowRef;\n    // When this tooltip is visible, hide any other tooltips, and register it\n    // as the visibleTooltip with the TooltipContext.\n    // Also add a listener on document to hide the tooltip if Escape is pressed\n    useIsomorphicLayoutEffect(()=>{\n        if (visible) {\n            var _context_visibleTooltip;\n            const thisTooltip = {\n                hide: (ev)=>setVisible(undefined, {\n                        visible: false,\n                        documentKeyboardEvent: ev\n                    })\n            };\n            (_context_visibleTooltip = context.visibleTooltip) === null || _context_visibleTooltip === void 0 ? void 0 : _context_visibleTooltip.hide();\n            context.visibleTooltip = thisTooltip;\n            const onDocumentKeyDown = (ev)=>{\n                if (ev.key === Escape && !ev.defaultPrevented) {\n                    thisTooltip.hide(ev);\n                    // stop propagation to avoid conflicting with other elements that listen for `Escape`\n                    // e,g: Dialog, Popover, Menu and Tooltip\n                    ev.preventDefault();\n                }\n            };\n            targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('keydown', onDocumentKeyDown, {\n                // As this event is added at targeted document,\n                // we need to capture the event to be sure keydown handling from tooltip happens first\n                capture: true\n            });\n            return ()=>{\n                if (context.visibleTooltip === thisTooltip) {\n                    context.visibleTooltip = undefined;\n                }\n                targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('keydown', onDocumentKeyDown, {\n                    capture: true\n                });\n            };\n        }\n    }, [\n        context,\n        targetDocument,\n        visible,\n        setVisible\n    ]);\n    // Used to skip showing the tooltip  in certain situations when the trigger is focused.\n    // See comments where this is set for more info.\n    const ignoreNextFocusEventRef = React.useRef(false);\n    // Listener for onPointerEnter and onFocus on the trigger element\n    const onEnterTrigger = React.useCallback((ev)=>{\n        if (ev.type === 'focus' && ignoreNextFocusEventRef.current) {\n            ignoreNextFocusEventRef.current = false;\n            return;\n        }\n        // Show immediately if another tooltip is already visible\n        const delay = context.visibleTooltip ? 0 : state.showDelay;\n        setDelayTimeout(()=>{\n            setVisible(ev, {\n                visible: true\n            });\n        }, delay);\n        ev.persist(); // Persist the event since the setVisible call will happen asynchronously\n    }, [\n        setDelayTimeout,\n        setVisible,\n        state.showDelay,\n        context\n    ]);\n    const isNavigatingWithKeyboard = useIsNavigatingWithKeyboard()();\n    // Callback ref that attaches a keyborg:focusin event listener.\n    const [keyborgListenerCallbackRef] = React.useState(()=>{\n        const onKeyborgFocusIn = (ev)=>{\n            var _ev_detail;\n            // Skip showing the tooltip if focus moved programmatically.\n            // For example, we don't want to show the tooltip when a dialog is closed\n            // and Tabster programmatically restores focus to the trigger button.\n            // See https://github.com/microsoft/fluentui/issues/27576\n            if (((_ev_detail = ev.detail) === null || _ev_detail === void 0 ? void 0 : _ev_detail.isFocusedProgrammatically) && !isNavigatingWithKeyboard) {\n                ignoreNextFocusEventRef.current = true;\n            }\n        };\n        // Save the current element to remove the listener when the ref changes\n        let current = null;\n        // Callback ref that attaches the listener to the element\n        return (element)=>{\n            current === null || current === void 0 ? void 0 : current.removeEventListener(KEYBORG_FOCUSIN, onKeyborgFocusIn);\n            element === null || element === void 0 ? void 0 : element.addEventListener(KEYBORG_FOCUSIN, onKeyborgFocusIn);\n            current = element;\n        };\n    });\n    // Listener for onPointerLeave and onBlur on the trigger element\n    const onLeaveTrigger = React.useCallback((ev)=>{\n        let delay = state.hideDelay;\n        if (ev.type === 'blur') {\n            // Hide immediately when losing focus\n            delay = 0;\n            // The focused element gets a blur event when the document loses focus\n            // (e.g. switching tabs in the browser), but we don't want to show the\n            // tooltip again when the document gets focus back. Handle this case by\n            // checking if the blurred element is still the document's activeElement.\n            // See https://github.com/microsoft/fluentui/issues/13541\n            ignoreNextFocusEventRef.current = (targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement) === ev.target;\n        }\n        setDelayTimeout(()=>{\n            setVisible(ev, {\n                visible: false\n            });\n        }, delay);\n        ev.persist(); // Persist the event since the setVisible call will happen asynchronously\n    }, [\n        setDelayTimeout,\n        setVisible,\n        state.hideDelay,\n        targetDocument\n    ]);\n    // Cancel the hide timer when the mouse or focus enters the tooltip, and restart it when the mouse or focus leaves.\n    // This keeps the tooltip visible when the mouse is moved over it, or it has focus within.\n    state.content.onPointerEnter = mergeCallbacks(state.content.onPointerEnter, clearDelayTimeout);\n    state.content.onPointerLeave = mergeCallbacks(state.content.onPointerLeave, onLeaveTrigger);\n    state.content.onFocus = mergeCallbacks(state.content.onFocus, clearDelayTimeout);\n    state.content.onBlur = mergeCallbacks(state.content.onBlur, onLeaveTrigger);\n    const child = getTriggerChild(children);\n    const triggerAriaProps = {};\n    const isMenuTrigger = (child === null || child === void 0 ? void 0 : (_child_props = child.props) === null || _child_props === void 0 ? void 0 : _child_props['aria-haspopup']) === 'menu' && (child === null || child === void 0 ? void 0 : (_child_props1 = child.props) === null || _child_props1 === void 0 ? void 0 : _child_props1['aria-expanded']);\n    if (relationship === 'label') {\n        // aria-label only works if the content is a string. Otherwise, need to use aria-labelledby.\n        if (typeof state.content.children === 'string') {\n            triggerAriaProps['aria-label'] = state.content.children;\n        } else {\n            triggerAriaProps['aria-labelledby'] = state.content.id;\n            // Always render the tooltip even if hidden, so that aria-labelledby refers to a valid element\n            state.shouldRenderTooltip = true;\n        }\n    } else if (relationship === 'description') {\n        triggerAriaProps['aria-describedby'] = state.content.id;\n        // Always render the tooltip even if hidden, so that aria-describedby refers to a valid element\n        state.shouldRenderTooltip = true;\n    }\n    // Case 1: Don't render the Tooltip in SSR to avoid hydration errors\n    // Case 2: Don't render the Tooltip, if it triggers Menu and it's already opened\n    if (isServerSideRender || isMenuTrigger) {\n        state.shouldRenderTooltip = false;\n    }\n    // Apply the trigger props to the child, either by calling the render function, or cloning with the new props\n    state.children = applyTriggerPropsToChildren(children, {\n        ...triggerAriaProps,\n        ...child === null || child === void 0 ? void 0 : child.props,\n        ref: useMergedRefs(child === null || child === void 0 ? void 0 : child.ref, keyborgListenerCallbackRef, // If the target prop is not provided, attach targetRef to the trigger element's ref prop\n        positioningOptions.target === undefined ? targetRef : undefined),\n        onPointerEnter: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : (_child_props2 = child.props) === null || _child_props2 === void 0 ? void 0 : _child_props2.onPointerEnter, onEnterTrigger)),\n        onPointerLeave: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : (_child_props3 = child.props) === null || _child_props3 === void 0 ? void 0 : _child_props3.onPointerLeave, onLeaveTrigger)),\n        onFocus: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : (_child_props4 = child.props) === null || _child_props4 === void 0 ? void 0 : _child_props4.onFocus, onEnterTrigger)),\n        onBlur: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : (_child_props5 = child.props) === null || _child_props5 === void 0 ? void 0 : _child_props5.onBlur, onLeaveTrigger))\n    });\n    return state;\n};\n","  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { Portal } from '@fluentui/react-portal';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of Tooltip\n */ export const renderTooltip_unstable = (state)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsxs(_Fragment, {\n        children: [\n            state.children,\n            state.shouldRenderTooltip && /*#__PURE__*/ _jsx(Portal, {\n                mountNode: state.mountNode,\n                children: /*#__PURE__*/ _jsxs(state.content, {\n                    children: [\n                        state.withArrow && /*#__PURE__*/ _jsx(\"div\", {\n                            ref: state.arrowRef,\n                            className: state.arrowClassName\n                        }),\n                        state.content.children\n                    ]\n                })\n            })\n        ]\n    });\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { createArrowStyles } from '@fluentui/react-positioning';\nimport { tokens } from '@fluentui/react-theme';\nimport { arrowHeight } from './private/constants';\nexport const tooltipClassNames = {\n  content: 'fui-Tooltip__content'\n};\n/**\n * Styles for the tooltip\n */\nconst useStyles = /*#__PURE__*/__styles({\n  root: {\n    mc9l5x: \"fjseox\",\n    B7ck84d: \"f1ewtqcl\",\n    B2u0y6b: \"f132xexn\",\n    Bceei9c: \"f158kwzp\",\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fy9rknc\",\n    Bg96gwp: \"fwrc4pm\",\n    Btd35i7: \"fokg9q4\",\n    Beyfa6y: 0,\n    Bbmb7ep: 0,\n    Btl43ni: 0,\n    B7oj6ja: 0,\n    Dimara: \"ft85np5\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"f9ggezi\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f1bzqsji\",\n    De3pzq: \"fxugw4r\",\n    sj55zd: \"f19n0e5\",\n    Bhu2qc9: \"fxeb0a7\"\n  },\n  visible: {\n    mc9l5x: \"ftgm304\"\n  },\n  inverted: {\n    De3pzq: \"fg3r6xk\",\n    sj55zd: \"fonrgv7\"\n  },\n  arrow: {\n    B7ck84d: \"f1ewtqcl\",\n    qhf8xq: \"f1euv43f\",\n    Bj3rh1h: \"f1bsuimh\",\n    rhnwrx: \"f1s3jn22\",\n    Bdy53xb: \"fv40uqz\",\n    De3pzq: \"f1u2r49w\",\n    B2eet1l: \"fqhgnl\",\n    Beyfa6y: \"f17bz04i\",\n    Bz10aip: \"f36o3x3\",\n    Bqenvij: \"fzofk8q\",\n    a9b677: \"f1wbx1ie\",\n    Ftih45: \"f1wl9k8s\",\n    Br0sdwz: \"f1aocrix\",\n    cmx5o7: \"f1ljr5q2\",\n    susq4k: 0,\n    Biibvgv: 0,\n    Bicfajf: 0,\n    qehafq: 0,\n    Brs5u8j: \"f155f1qt\",\n    Ccq8qp: \"f9mhzq7\",\n    Baz25je: \"fr6rhvx\",\n    Bcgcnre: 0,\n    Bqjgrrk: 0,\n    qa3bma: 0,\n    y0oebl: 0,\n    Biqmznv: 0,\n    Bm6vgfq: 0,\n    Bbv0w2i: 0,\n    uvfttm: 0,\n    eqrjj: 0,\n    Bk5zm6e: 0,\n    m598lv: 0,\n    B4f6apu: 0,\n    ydt019: 0,\n    Bq4z7u6: 0,\n    Bdkvgpv: 0,\n    B0qfbqy: 0,\n    kj8mxx: \"f1kc0wz4\",\n    r59vdv: \"fgq90dz\",\n    Bkw5xw4: \"fq0y47f\",\n    hl6cv3: \"f1pwrbz6\",\n    aea9ga: \"f1hxxcvm\",\n    yayu3t: \"fw8rgyo\",\n    Bhsv975: \"f1wnzycx\",\n    rhl9o9: \"f1730wal\",\n    B7gxrvb: \"f1fy4ixr\",\n    B6q6orb: \"fobkauc\",\n    B0lu1f8: \"f16bqv1l\"\n  }\n}, {\n  d: [\".fjseox{display:none;}\", \".f1ewtqcl{box-sizing:border-box;}\", \".f132xexn{max-width:240px;}\", \".f158kwzp{cursor:default;}\", \".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".fwrc4pm{line-height:var(--lineHeightBase200);}\", \".fokg9q4{overflow-wrap:break-word;}\", [\".ft85np5{border-radius:var(--borderRadiusMedium);}\", {\n    p: -1\n  }], [\".f9ggezi{border:1px solid var(--colorTransparentStroke);}\", {\n    p: -2\n  }], [\".f1bzqsji{padding:4px 11px 6px 11px;}\", {\n    p: -1\n  }], \".fxugw4r{background-color:var(--colorNeutralBackground1);}\", \".f19n0e5{color:var(--colorNeutralForeground1);}\", \".fxeb0a7{filter:drop-shadow(0 0 2px var(--colorNeutralShadowAmbient)) drop-shadow(0 4px 8px var(--colorNeutralShadowKey));}\", \".ftgm304{display:block;}\", \".fg3r6xk{background-color:var(--colorNeutralBackgroundStatic);}\", \".fonrgv7{color:var(--colorNeutralForegroundStaticInverted);}\", \".f1euv43f{position:absolute;}\", \".f1bsuimh{z-index:-1;}\", \".f1s3jn22{--fui-positioning-arrow-height:8.484px;}\", \".fv40uqz{--fui-positioning-arrow-offset:-4.242px;}\", \".f1u2r49w{background-color:inherit;}\", \".fqhgnl{background-clip:content-box;}\", \".f17bz04i{border-bottom-left-radius:var(--borderRadiusSmall);}\", \".f36o3x3{transform:rotate(var(--fui-positioning-arrow-angle));}\", \".fzofk8q{height:var(--fui-positioning-arrow-height);}\", \".f1wbx1ie{width:var(--fui-positioning-arrow-height);}\", \".f1wl9k8s::before{content:\\\"\\\";}\", \".f1aocrix::before{display:block;}\", \".f1ljr5q2::before{background-color:inherit;}\", [\".f155f1qt::before{margin:-1px;}\", {\n    p: -1\n  }], \".f9mhzq7::before{width:100%;}\", \".fr6rhvx::before{height:100%;}\", [\".f1kc0wz4::before{border:1px solid var(--colorTransparentStroke);}\", {\n    p: -2\n  }], \".fgq90dz::before{border-bottom-left-radius:var(--borderRadiusSmall);}\", \".fq0y47f::before{clip-path:polygon(0% 0%, 100% 100%, 0% 100%);}\", \"[data-popper-placement^=\\\"top\\\"] .f1pwrbz6{bottom:var(--fui-positioning-arrow-offset);}\", \"[data-popper-placement^=\\\"top\\\"] .f1hxxcvm{--fui-positioning-arrow-angle:-45deg;}\", \"[data-popper-placement^=\\\"right\\\"] .fw8rgyo{left:var(--fui-positioning-arrow-offset);}\", \"[data-popper-placement^=\\\"right\\\"] .f1wnzycx{--fui-positioning-arrow-angle:45deg;}\", \"[data-popper-placement^=\\\"bottom\\\"] .f1730wal{top:var(--fui-positioning-arrow-offset);}\", \"[data-popper-placement^=\\\"bottom\\\"] .f1fy4ixr{--fui-positioning-arrow-angle:135deg;}\", \"[data-popper-placement^=\\\"left\\\"] .fobkauc{right:var(--fui-positioning-arrow-offset);}\", \"[data-popper-placement^=\\\"left\\\"] .f16bqv1l{--fui-positioning-arrow-angle:225deg;}\"]\n});\n/**\n * Apply styling to the Tooltip slots based on the state\n */\nexport const useTooltipStyles_unstable = state => {\n  'use no memo';\n\n  const styles = useStyles();\n  state.content.className = mergeClasses(tooltipClassNames.content, styles.root, state.appearance === 'inverted' && styles.inverted, state.visible && styles.visible, state.content.className);\n  state.arrowClassName = styles.arrow;\n  return state;\n};","import * as React from 'react';\nimport { useTooltip_unstable } from './useTooltip';\nimport { renderTooltip_unstable } from './renderTooltip';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useTooltipStyles_unstable } from './useTooltipStyles.styles';\n/**\n * A tooltip provides light weight contextual information on top of its target element.\n */ export const Tooltip = (props)=>{\n    const state = useTooltip_unstable(props);\n    useTooltipStyles_unstable(state);\n    useCustomStyleHook_unstable('useTooltipStyles_unstable')(state);\n    return renderTooltip_unstable(state);\n};\nTooltip.displayName = 'Tooltip';\n// type casting here is required to ensure internal type FluentTriggerComponent is not leaked\nTooltip.isFluentTriggerComponent = true;\n","import { createContext } from '@fluentui/react-context-selector';\n/**\n * @deprecated - use ListboxContext instead\n * @see ListboxContext\n */ // eslint-disable-next-line @fluentui/no-context-default-value\nexport const ComboboxContext = createContext({\n    activeOption: undefined,\n    appearance: 'outline',\n    focusVisible: false,\n    open: false,\n    registerOption () {\n        return ()=>undefined;\n    },\n    selectedOptions: [],\n    selectOption () {\n    // noop\n    },\n    setActiveOption () {\n    // noop\n    },\n    setOpen () {\n    // noop\n    },\n    size: 'medium'\n});\n/**\n * @deprecated - render ListboxProvider instead\n * @see ListboxProvider\n * @see useListboxContext_unstable\n */ // eslint-disable-next-line deprecation/deprecation\nexport const ComboboxProvider = ComboboxContext.Provider;\n","import * as React from 'react';\nexport function useComboboxContextValues(state) {\n    const { appearance, open, getOptionById, getOptionsMatchingValue, registerOption, selectedOptions, selectOption, setOpen, size, activeDescendantController, onOptionClick, onActiveDescendantChange } = state;\n    const combobox = {\n        activeOption: undefined,\n        appearance,\n        focusVisible: false,\n        open,\n        registerOption,\n        selectedOptions,\n        selectOption,\n        setActiveOption: ()=>null,\n        setOpen,\n        size\n    };\n    const listbox = {\n        activeOption: undefined,\n        focusVisible: false,\n        getOptionById,\n        getOptionsMatchingValue,\n        registerOption,\n        selectedOptions,\n        selectOption,\n        setActiveOption: ()=>null,\n        onOptionClick,\n        onActiveDescendantChange\n    };\n    const activeDescendant = React.useMemo(()=>({\n            controller: activeDescendantController\n        }), [\n        activeDescendantController\n    ]);\n    return {\n        combobox,\n        activeDescendant,\n        listbox\n    };\n}\n","  import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of Option\n */ export const renderOption_unstable = (state)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsxs(state.root, {\n        children: [\n            state.checkIcon && /*#__PURE__*/ _jsx(state.checkIcon, {}),\n            state.root.children\n        ]\n    });\n};\n","import * as React from 'react';\nimport { useOption_unstable } from './useOption';\nimport { renderOption_unstable } from './renderOption';\nimport { useOptionStyles_unstable } from './useOptionStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Option component: a styled child option of a Combobox\n */ export const Option = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useOption_unstable(props, ref);\n    useOptionStyles_unstable(state);\n    useCustomStyleHook_unstable('useOptionStyles_unstable')(state);\n    return renderOption_unstable(state);\n});\nOption.displayName = 'Option';\n","import { resolvePositioningShorthand, usePositioning } from '@fluentui/react-positioning';\nimport * as React from 'react';\nexport function useComboboxPositioning(props) {\n    const { positioning } = props;\n    // Set a default set of fallback positions to try if the dropdown does not fit on screen\n    const fallbackPositions = [\n        'above',\n        'after',\n        'after-top',\n        'before',\n        'before-top'\n    ];\n    // popper options\n    const popperOptions = {\n        position: 'below',\n        align: 'start',\n        offset: {\n            crossAxis: 0,\n            mainAxis: 2\n        },\n        fallbackPositions,\n        matchTargetSize: 'width',\n        autoSize: true,\n        ...resolvePositioningShorthand(positioning)\n    };\n    const { targetRef, containerRef } = usePositioning(popperOptions);\n    return [\n        containerRef,\n        targetRef\n    ];\n}\n","import * as React from 'react';\nimport { useSetKeyboardNavigation } from '@fluentui/react-tabster';\nimport { mergeCallbacks, slot, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { getDropdownActionFromKey } from '../utils/dropdownKeyActions';\n/**\n * Shared trigger behaviour for combobox and dropdown\n * @returns trigger slot with desired behaviour and props\n */ export function useTriggerSlot(triggerSlotFromProp, ref, options) {\n    const { state: { open, setOpen, setHasFocus }, defaultProps, elementType, activeDescendantController } = options;\n    const trigger = slot.always(triggerSlotFromProp, {\n        defaultProps: {\n            type: 'text',\n            'aria-expanded': open,\n            role: 'combobox',\n            ...typeof defaultProps === 'object' && defaultProps\n        },\n        elementType\n    });\n    // handle trigger focus/blur\n    const triggerRef = React.useRef(null);\n    trigger.ref = useMergedRefs(triggerRef, trigger.ref, ref);\n    // the trigger should open/close the popup on click or blur\n    trigger.onBlur = mergeCallbacks((event)=>{\n        setOpen(event, false);\n        setHasFocus(false);\n    }, trigger.onBlur);\n    trigger.onFocus = mergeCallbacks((event)=>{\n        if (event.target === event.currentTarget) {\n            setHasFocus(true);\n        }\n    }, trigger.onFocus);\n    trigger.onClick = mergeCallbacks((event)=>{\n        setOpen(event, !open);\n    }, trigger.onClick);\n    // handle combobox keyboard interaction\n    trigger.onKeyDown = mergeCallbacks(useTriggerKeydown({\n        activeDescendantController,\n        ...options.state\n    }), trigger.onKeyDown);\n    return trigger;\n}\nfunction useTriggerKeydown(options) {\n    const { activeDescendantController, getOptionById, setOpen, selectOption, multiselect, open } = options;\n    const getActiveOption = React.useCallback(()=>{\n        const activeOptionId = activeDescendantController.active();\n        return activeOptionId ? getOptionById(activeOptionId) : undefined;\n    }, [\n        activeDescendantController,\n        getOptionById\n    ]);\n    const first = ()=>{\n        activeDescendantController.first();\n    };\n    const last = ()=>{\n        activeDescendantController.last();\n    };\n    const next = (activeOption)=>{\n        if (activeOption) {\n            activeDescendantController.next();\n        } else {\n            activeDescendantController.first();\n        }\n    };\n    const previous = (activeOption)=>{\n        if (activeOption) {\n            activeDescendantController.prev();\n        } else {\n            activeDescendantController.first();\n        }\n    };\n    const pageUp = ()=>{\n        for(let i = 0; i < 10; i++){\n            activeDescendantController.prev();\n        }\n    };\n    const pageDown = ()=>{\n        for(let i = 0; i < 10; i++){\n            activeDescendantController.next();\n        }\n    };\n    const setKeyboardNavigation = useSetKeyboardNavigation();\n    return useEventCallback((e)=>{\n        const action = getDropdownActionFromKey(e, {\n            open,\n            multiselect\n        });\n        const activeOption = getActiveOption();\n        switch(action){\n            case 'First':\n            case 'Last':\n            case 'Next':\n            case 'Previous':\n            case 'PageDown':\n            case 'PageUp':\n            case 'Open':\n            case 'Close':\n            case 'CloseSelect':\n            case 'Select':\n                e.preventDefault();\n                break;\n        }\n        setKeyboardNavigation(true);\n        switch(action){\n            case 'First':\n                first();\n                break;\n            case 'Last':\n                last();\n                break;\n            case 'Next':\n                next(activeOption);\n                break;\n            case 'Previous':\n                previous(activeOption);\n                break;\n            case 'PageDown':\n                pageDown();\n                break;\n            case 'PageUp':\n                pageUp();\n                break;\n            case 'Open':\n                setOpen(e, true);\n                break;\n            case 'Close':\n                // stop propagation for escape key to avoid dismissing any parent popups\n                e.stopPropagation();\n                setOpen(e, false);\n                break;\n            case 'CloseSelect':\n                !multiselect && !(activeOption === null || activeOption === void 0 ? void 0 : activeOption.disabled) && setOpen(e, false);\n            // fallthrough\n            case 'Select':\n                activeOption && selectOption(e, activeOption);\n                break;\n            case 'Tab':\n                !multiselect && activeOption && selectOption(e, activeOption);\n                break;\n        }\n    });\n}\n","import * as React from 'react';\nimport { useTimeout, mergeCallbacks } from '@fluentui/react-utilities';\nimport { useTriggerSlot } from '../../utils/useTriggerSlot';\nimport { getDropdownActionFromKey } from '../../utils/dropdownKeyActions';\n/**\n * @internal\n * useButtonTriggerSlot returns a tuple of trigger/listbox shorthand,\n * with the semantics and event handlers needed for the Combobox and Dropdown components.\n * The element type of the ref should always match the element type used in the trigger shorthand.\n */ export function useButtonTriggerSlot(triggerFromProps, ref, options) {\n    'use no memo';\n    const { state: { open, setOpen, getOptionById }, defaultProps, activeDescendantController } = options;\n    // jump to matching option based on typing\n    const searchString = React.useRef('');\n    const [setKeyTimeout, clearKeyTimeout] = useTimeout();\n    const moveToNextMatchingOption = (matcher, opt = {\n        startFromNext: false\n    })=>{\n        const { startFromNext } = opt;\n        const activeOptionId = activeDescendantController.active();\n        const nextInOrder = activeDescendantController.find((id)=>{\n            const option = getOptionById(id);\n            return !!option && matcher(option.text);\n        }, {\n            startFrom: startFromNext ? activeDescendantController.next({\n                passive: true\n            }) : activeOptionId\n        });\n        if (nextInOrder) {\n            return nextInOrder;\n        }\n        // Cycle back to first match\n        return activeDescendantController.find((id)=>{\n            const option = getOptionById(id);\n            return !!option && matcher(option.text);\n        });\n    };\n    const moveToNextMatchingOptionWithSameCharacterHandling = ()=>{\n        if (moveToNextMatchingOption((optionText)=>{\n            return optionText.toLocaleLowerCase().indexOf(searchString.current) === 0;\n        }, {\n            // Slowly pressing the same key will cycle through options\n            startFromNext: searchString.current.length === 1\n        })) {\n            return;\n        }\n        // if there are no direct matches, check if the search is all the same letter, e.g. \"aaa\"\n        if (allCharactersSame(searchString.current) && moveToNextMatchingOption((optionText)=>{\n            return optionText.toLocaleLowerCase().indexOf(searchString.current[0]) === 0;\n        }, {\n            // if the search is all the same letter, cycle through options starting with that letter\n            startFromNext: true\n        })) {\n            return;\n        }\n        activeDescendantController.blur();\n    };\n    const onTriggerKeyDown = (ev)=>{\n        // clear timeout, if it exists\n        clearKeyTimeout();\n        // if the key was a char key, update search string\n        if (getDropdownActionFromKey(ev) === 'Type') {\n            // update search string\n            searchString.current += ev.key.toLowerCase();\n            setKeyTimeout(()=>{\n                searchString.current = '';\n            }, 500);\n            if (open) {\n                moveToNextMatchingOptionWithSameCharacterHandling();\n            }\n            // update state\n            !open && setOpen(ev, true);\n        }\n    };\n    const trigger = useTriggerSlot(triggerFromProps, ref, {\n        state: options.state,\n        defaultProps,\n        elementType: 'button',\n        activeDescendantController\n    });\n    trigger.onKeyDown = mergeCallbacks(onTriggerKeyDown, trigger.onKeyDown);\n    return trigger;\n}\n/**\n * @returns - whether every character in the string is the same\n */ function allCharactersSame(str) {\n    for(let i = 1; i < str.length; i++){\n        if (str[i] !== str[i - 1]) {\n            return false;\n        }\n    }\n    return true;\n}\n","import * as React from 'react';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport { useActiveDescendant } from '@fluentui/react-aria';\nimport { ChevronDownRegular as ChevronDownIcon, DismissRegular as DismissIcon } from '@fluentui/react-icons';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { getPartitionedNativeProps, mergeCallbacks, useMergedRefs, slot, useEventCallback, useOnClickOutside } from '@fluentui/react-utilities';\nimport { useComboboxBaseState } from '../../utils/useComboboxBaseState';\nimport { useComboboxPositioning } from '../../utils/useComboboxPositioning';\nimport { Listbox } from '../Listbox/Listbox';\nimport { useListboxSlot } from '../../utils/useListboxSlot';\nimport { useButtonTriggerSlot } from './useButtonTriggerSlot';\nimport { optionClassNames } from '../Option/useOptionStyles.styles';\n/**\n * Create the state required to render Dropdown.\n *\n * The returned state can be modified with hooks such as useDropdownStyles_unstable,\n * before being passed to renderDropdown_unstable.\n *\n * @param props - props from this instance of Dropdown\n * @param ref - reference to root HTMLElement of Dropdown\n */ export const useDropdown_unstable = (props, ref)=>{\n    'use no memo';\n    var _state_clearButton;\n    // Merge props from surrounding <Field>, if any\n    props = useFieldControlProps_unstable(props, {\n        supportsLabelFor: true,\n        supportsSize: true\n    });\n    const { listboxRef: activeDescendantListboxRef, activeParentRef, controller: activeDescendantController } = useActiveDescendant({\n        matchOption: (el)=>el.classList.contains(optionClassNames.root)\n    });\n    const baseState = useComboboxBaseState({\n        ...props,\n        activeDescendantController,\n        freeform: false\n    });\n    const { clearable, clearSelection, disabled, hasFocus, multiselect, open, selectedOptions, setOpen } = baseState;\n    const { primary: triggerNativeProps, root: rootNativeProps } = getPartitionedNativeProps({\n        props,\n        primarySlotTagName: 'button',\n        excludedPropNames: [\n            'children'\n        ]\n    });\n    const [comboboxPopupRef, comboboxTargetRef] = useComboboxPositioning(props);\n    const triggerRef = React.useRef(null);\n    const listbox = useListboxSlot(props.listbox, useMergedRefs(comboboxPopupRef, activeDescendantListboxRef), {\n        state: baseState,\n        triggerRef,\n        defaultProps: {\n            children: props.children\n        }\n    });\n    const { targetDocument } = useFluent();\n    useOnClickOutside({\n        element: targetDocument,\n        callback: (event)=>setOpen(event, false),\n        refs: [\n            triggerRef,\n            comboboxPopupRef,\n            comboboxTargetRef\n        ],\n        disabled: !open\n    });\n    var _props_button;\n    const trigger = useButtonTriggerSlot((_props_button = props.button) !== null && _props_button !== void 0 ? _props_button : {}, useMergedRefs(triggerRef, activeParentRef, ref), {\n        state: baseState,\n        defaultProps: {\n            type: 'button',\n            // tabster navigation breaks if the button is disabled and tabIndex is 0\n            tabIndex: triggerNativeProps.disabled ? undefined : 0,\n            children: baseState.value || props.placeholder,\n            'aria-controls': open ? listbox === null || listbox === void 0 ? void 0 : listbox.id : undefined,\n            ...triggerNativeProps\n        },\n        activeDescendantController\n    });\n    const rootSlot = slot.always(props.root, {\n        defaultProps: {\n            'aria-owns': !props.inlinePopup && open ? listbox === null || listbox === void 0 ? void 0 : listbox.id : undefined,\n            children: props.children,\n            ...rootNativeProps\n        },\n        elementType: 'div'\n    });\n    rootSlot.ref = useMergedRefs(rootSlot.ref, comboboxTargetRef);\n    const showClearButton = selectedOptions.length > 0 && !disabled && clearable && !multiselect;\n    const state = {\n        components: {\n            root: 'div',\n            button: 'button',\n            clearButton: 'button',\n            expandIcon: 'span',\n            listbox: Listbox\n        },\n        root: rootSlot,\n        button: trigger,\n        listbox: open || hasFocus ? listbox : undefined,\n        clearButton: slot.optional(props.clearButton, {\n            defaultProps: {\n                'aria-label': 'Clear selection',\n                children: /*#__PURE__*/ React.createElement(DismissIcon, null),\n                // Safari doesn't allow to focus an element with this\n                // when the element is not visible (display: none) we need to remove it to avoid tabster issues\n                tabIndex: showClearButton ? 0 : undefined,\n                type: 'button'\n            },\n            elementType: 'button',\n            renderByDefault: true\n        }),\n        expandIcon: slot.optional(props.expandIcon, {\n            renderByDefault: true,\n            defaultProps: {\n                children: /*#__PURE__*/ React.createElement(ChevronDownIcon, null)\n            },\n            elementType: 'span'\n        }),\n        placeholderVisible: !baseState.value && !!props.placeholder,\n        showClearButton,\n        activeDescendantController,\n        ...baseState\n    };\n    const onClearButtonClick = useEventCallback(mergeCallbacks((_state_clearButton = state.clearButton) === null || _state_clearButton === void 0 ? void 0 : _state_clearButton.onClick, (ev)=>{\n        var _triggerRef_current;\n        clearSelection(ev);\n        (_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.focus();\n    }));\n    if (state.clearButton) {\n        state.clearButton.onClick = onClearButtonClick;\n    }\n    // Heads up! We don't support \"clearable\" in multiselect mode, so we should never display a slot\n    if (multiselect) {\n        state.clearButton = undefined;\n    }\n    if (process.env.NODE_ENV !== 'production') {\n        // eslint-disable-next-line react-hooks/rules-of-hooks -- \"process.env\" does not change in runtime\n        React.useEffect(()=>{\n            if (clearable && multiselect) {\n                // eslint-disable-next-line no-console\n                console.error(`[@fluentui/react-combobox] \"clearable\" prop is not supported in multiselect mode.`);\n            }\n        }, [\n            clearable,\n            multiselect\n        ]);\n    }\n    return state;\n};\n","  import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { Portal } from '@fluentui/react-portal';\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { ActiveDescendantContextProvider } from '@fluentui/react-aria';\nimport { ComboboxContext } from '../../contexts/ComboboxContext';\nimport { ListboxContext } from '../../contexts/ListboxContext';\n/**\n * Render the final JSX of Dropdown\n */ export const renderDropdown_unstable = (state, contextValues)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsx(state.root, {\n        children: /*#__PURE__*/ _jsx(ActiveDescendantContextProvider, {\n            value: contextValues.activeDescendant,\n            children: /*#__PURE__*/ _jsx(ListboxContext.Provider, {\n                value: contextValues.listbox,\n                children: /*#__PURE__*/ _jsxs(ComboboxContext.Provider, {\n                    value: contextValues.combobox,\n                    children: [\n                        /*#__PURE__*/ _jsxs(state.button, {\n                            children: [\n                                state.button.children,\n                                state.expandIcon && /*#__PURE__*/ _jsx(state.expandIcon, {})\n                            ]\n                        }),\n                        state.clearButton && /*#__PURE__*/ _jsx(state.clearButton, {}),\n                        state.listbox && (state.inlinePopup ? /*#__PURE__*/ _jsx(state.listbox, {}) : /*#__PURE__*/ _jsx(Portal, {\n                            mountNode: state.mountNode,\n                            children: /*#__PURE__*/ _jsx(state.listbox, {})\n                        }))\n                    ]\n                })\n            })\n        })\n    });\n};\n","import { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { __resetStyles, __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { iconSizes } from '../../utils/internalTokens';\nexport const dropdownClassNames = {\n  root: 'fui-Dropdown',\n  button: 'fui-Dropdown__button',\n  clearButton: 'fui-Dropdown__clearButton',\n  expandIcon: 'fui-Dropdown__expandIcon',\n  listbox: 'fui-Dropdown__listbox'\n};\n/**\n * Styles for Dropdown\n */\nconst useStyles = /*#__PURE__*/__styles({\n  root: {\n    Beyfa6y: 0,\n    Bbmb7ep: 0,\n    Btl43ni: 0,\n    B7oj6ja: 0,\n    Dimara: \"ft85np5\",\n    B7ck84d: \"f1ewtqcl\",\n    mc9l5x: \"ftuwxu6\",\n    Bf4jedk: \"f1exfvgq\",\n    qhf8xq: \"f10pi13n\",\n    ha4doy: \"fmrv4ls\",\n    Bbr2w1p: \"f14a1fxs\",\n    Bduesf4: \"f3e99gv\",\n    Bpq79vn: \"fhljsf7\",\n    li1rpt: \"f1gw3sf2\",\n    Bsft5z2: \"f13zj6fq\",\n    E3zdtr: \"f1mdlcz9\",\n    Eqx8gd: [\"f1a7op3\", \"f1cjjd47\"],\n    By385i5: \"f1gboi2j\",\n    B1piin3: [\"f1cjjd47\", \"f1a7op3\"],\n    Dlnsje: \"ffyw7fx\",\n    d9w3h3: [\"f1kp91vd\", \"f1ibwz09\"],\n    B3778ie: [\"f1ibwz09\", \"f1kp91vd\"],\n    B1q35kw: 0,\n    Bw17bha: 0,\n    Bcgy8vk: 0,\n    Bjuhk93: \"f1mnjydx\",\n    Gjdm7m: \"f13evtba\",\n    b1kco5: \"f1yk9hq\",\n    Ba2ppi3: \"fhwpy7i\",\n    F2fol1: \"f14ee0xe\",\n    lck23g: \"f1xhbsuh\",\n    df92cz: \"fv8e3ye\",\n    I188md: \"ftb5wc6\",\n    umuwi5: \"fjw5xc1\",\n    Blcqepd: \"f1xdyd5c\",\n    nplu4u: \"fatpbeo\",\n    Bioka5o: \"fb7uyps\",\n    H713fs: \"f1cmft4k\",\n    B9ooomg: \"f1x58t8o\",\n    Bercvud: \"f1ibeo51\",\n    Bz04dq9: \"f132nw8t\",\n    Budl3uf: \"f1htdosj\"\n  },\n  listbox: {\n    B7ck84d: \"f1ewtqcl\",\n    E5pizo: \"f1hg901r\",\n    Beyfa6y: 0,\n    Bbmb7ep: 0,\n    Btl43ni: 0,\n    B7oj6ja: 0,\n    Dimara: \"ft85np5\",\n    Bxyxcbc: \"fmmk62d\"\n  },\n  listboxCollapsed: {\n    mc9l5x: \"fjseox\"\n  },\n  inlineListbox: {\n    Bj3rh1h: \"f19g0ac\"\n  },\n  button: {\n    Bt984gj: \"f122n59\",\n    De3pzq: \"f1c21dwh\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"f3bhgqh\",\n    B7ck84d: \"f1ewtqcl\",\n    sj55zd: \"f19n0e5\",\n    i8kkvl: \"f14mj54c\",\n    Bceei9c: \"f1k6fduh\",\n    mc9l5x: \"f13qh94s\",\n    Bahqtrf: \"fk6fouc\",\n    Budl1dq: \"f12nh0o2\",\n    Brf1p80: \"f1869bpl\",\n    fsow6f: [\"f1o700av\", \"fes3tcz\"],\n    a9b677: \"fly5x3f\",\n    Brovlpu: \"ftqa4ok\"\n  },\n  placeholder: {\n    sj55zd: \"fxc4j92\"\n  },\n  small: {\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fy9rknc\",\n    Bhrd7zp: \"figsok6\",\n    Bg96gwp: \"fwrc4pm\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: [\"fye6m5k\", \"f3cq2dl\"]\n  },\n  medium: {\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fkhj508\",\n    Bhrd7zp: \"figsok6\",\n    Bg96gwp: \"f1i3iumi\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: [\"f14ev680\", \"f58uxzw\"]\n  },\n  large: {\n    i8kkvl: \"f1rjii52\",\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fod5ikn\",\n    Bhrd7zp: \"figsok6\",\n    Bg96gwp: \"faaz57k\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: [\"f139mn7i\", \"f1v3q0m\"]\n  },\n  outline: {\n    De3pzq: \"fxugw4r\",\n    Bgfg5da: 0,\n    B9xav0g: \"f1c1zstj\",\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"fhz96rm\"\n  },\n  outlineInteractive: {\n    Bgoe8wy: \"fvcxoqz\",\n    Bwzppfd: [\"f1ub3y4t\", \"f1m52nbi\"],\n    oetu4i: \"flmw63s\",\n    gg5e9n: [\"f1m52nbi\", \"f1ub3y4t\"],\n    B6oc9vd: \"fvs00aa\",\n    ak43y8: [\"f1assf6x\", \"f4ruux4\"],\n    wmxk5l: \"fqhmt4z\",\n    B50zh58: [\"f4ruux4\", \"f1assf6x\"]\n  },\n  underline: {\n    De3pzq: \"f1c21dwh\",\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    Bgfg5da: \"f9ez7ne\",\n    Beyfa6y: 0,\n    Bbmb7ep: 0,\n    Btl43ni: 0,\n    B7oj6ja: 0,\n    Dimara: \"fokr779\"\n  },\n  \"filled-lighter\": {\n    De3pzq: \"fxugw4r\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"fs2rfia\"\n  },\n  \"filled-darker\": {\n    De3pzq: \"f16xq7d1\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"fs2rfia\"\n  },\n  invalid: {\n    tvckwq: \"fs4k3qj\",\n    gk2u95: [\"fcee079\", \"fmyw78r\"],\n    hhx65j: \"f1fgmyf4\",\n    Bxowmz0: [\"fmyw78r\", \"fcee079\"]\n  },\n  invalidUnderline: {\n    hhx65j: \"f1fgmyf4\"\n  },\n  disabled: {\n    Bceei9c: \"fdrzuqr\",\n    De3pzq: \"f1c21dwh\",\n    g2u3we: \"f1jj8ep1\",\n    h3c5rm: [\"f15xbau\", \"fy0fskl\"],\n    B9xav0g: \"f4ikngz\",\n    zhjwy3: [\"fy0fskl\", \"f15xbau\"],\n    Bjwas2f: \"fg455y9\",\n    Bn1d65q: [\"f1rvyvqg\", \"f14g86mu\"],\n    Bxeuatn: \"f1cwzwz\",\n    n51gp8: [\"f14g86mu\", \"f1rvyvqg\"]\n  },\n  disabledText: {\n    sj55zd: \"f1s2aq7o\",\n    Bceei9c: \"fdrzuqr\"\n  },\n  hidden: {\n    mc9l5x: \"fjseox\"\n  }\n}, {\n  d: [[\".ft85np5{border-radius:var(--borderRadiusMedium);}\", {\n    p: -1\n  }], \".f1ewtqcl{box-sizing:border-box;}\", \".ftuwxu6{display:inline-flex;}\", \".f1exfvgq{min-width:250px;}\", \".f10pi13n{position:relative;}\", \".fmrv4ls{vertical-align:middle;}\", \".f1gw3sf2::after{box-sizing:border-box;}\", \".f13zj6fq::after{content:\\\"\\\";}\", \".f1mdlcz9::after{position:absolute;}\", \".f1a7op3::after{left:-1px;}\", \".f1cjjd47::after{right:-1px;}\", \".f1gboi2j::after{bottom:-1px;}\", \".ffyw7fx::after{height:max(var(--strokeWidthThick), var(--borderRadiusMedium));}\", \".f1kp91vd::after{border-bottom-left-radius:var(--borderRadiusMedium);}\", \".f1ibwz09::after{border-bottom-right-radius:var(--borderRadiusMedium);}\", [\".f1mnjydx::after{border-bottom:var(--strokeWidthThick) solid var(--colorCompoundBrandStroke);}\", {\n    p: -1\n  }], \".f13evtba::after{clip-path:inset(calc(100% - 2px) 0 0 0);}\", \".f1yk9hq::after{transform:scaleX(0);}\", \".fhwpy7i::after{transition-property:transform;}\", \".f14ee0xe::after{transition-duration:var(--durationUltraFast);}\", \".f1xhbsuh::after{transition-delay:var(--curveAccelerateMid);}\", \".f1hg901r{box-shadow:var(--shadow16);}\", [\".ft85np5{border-radius:var(--borderRadiusMedium);}\", {\n    p: -1\n  }], \".fmmk62d{max-height:80vh;}\", \".fjseox{display:none;}\", \".f19g0ac{z-index:1;}\", \".f122n59{align-items:center;}\", \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", [\".f3bhgqh{border:none;}\", {\n    p: -2\n  }], \".f19n0e5{color:var(--colorNeutralForeground1);}\", \".f14mj54c{column-gap:var(--spacingHorizontalXXS);}\", \".f1k6fduh{cursor:pointer;}\", \".f13qh94s{display:grid;}\", \".fk6fouc{font-family:var(--fontFamilyBase);}\", \".f12nh0o2{grid-template-columns:[content] 1fr [icon] auto [end];}\", \".f1869bpl{justify-content:space-between;}\", \".f1o700av{text-align:left;}\", \".fes3tcz{text-align:right;}\", \".fly5x3f{width:100%;}\", \".fxc4j92{color:var(--colorNeutralForeground4);}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".fwrc4pm{line-height:var(--lineHeightBase200);}\", [\".fye6m5k{padding:3px var(--spacingHorizontalSNudge) 3px calc(var(--spacingHorizontalSNudge) + var(--spacingHorizontalXXS));}\", {\n    p: -1\n  }], [\".f3cq2dl{padding:3px calc(var(--spacingHorizontalSNudge) + var(--spacingHorizontalXXS)) 3px var(--spacingHorizontalSNudge);}\", {\n    p: -1\n  }], \".fkhj508{font-size:var(--fontSizeBase300);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\", [\".f14ev680{padding:5px var(--spacingHorizontalMNudge) 5px calc(var(--spacingHorizontalMNudge) + var(--spacingHorizontalXXS));}\", {\n    p: -1\n  }], [\".f58uxzw{padding:5px calc(var(--spacingHorizontalMNudge) + var(--spacingHorizontalXXS)) 5px var(--spacingHorizontalMNudge);}\", {\n    p: -1\n  }], \".f1rjii52{column-gap:var(--spacingHorizontalSNudge);}\", \".fod5ikn{font-size:var(--fontSizeBase400);}\", \".faaz57k{line-height:var(--lineHeightBase400);}\", [\".f139mn7i{padding:7px var(--spacingHorizontalM) 7px calc(var(--spacingHorizontalM) + var(--spacingHorizontalSNudge));}\", {\n    p: -1\n  }], [\".f1v3q0m{padding:7px calc(var(--spacingHorizontalM) + var(--spacingHorizontalSNudge)) 7px var(--spacingHorizontalM);}\", {\n    p: -1\n  }], \".fxugw4r{background-color:var(--colorNeutralBackground1);}\", [\".fhz96rm{border:var(--strokeWidthThin) solid var(--colorNeutralStroke1);}\", {\n    p: -2\n  }], \".f1c1zstj{border-bottom-color:var(--colorNeutralStrokeAccessible);}\", [\".f9ez7ne{border-bottom:var(--strokeWidthThin) solid var(--colorNeutralStrokeAccessible);}\", {\n    p: -1\n  }], [\".fokr779{border-radius:0;}\", {\n    p: -1\n  }], [\".fs2rfia{border:var(--strokeWidthThin) solid transparent;}\", {\n    p: -2\n  }], \".f16xq7d1{background-color:var(--colorNeutralBackground3);}\", [\".fs2rfia{border:var(--strokeWidthThin) solid transparent;}\", {\n    p: -2\n  }], \".fs4k3qj:not(:focus-within),.fs4k3qj:hover:not(:focus-within){border-top-color:var(--colorPaletteRedBorder2);}\", \".fcee079:not(:focus-within),.fcee079:hover:not(:focus-within){border-right-color:var(--colorPaletteRedBorder2);}\", \".fmyw78r:not(:focus-within),.fmyw78r:hover:not(:focus-within){border-left-color:var(--colorPaletteRedBorder2);}\", \".f1fgmyf4:not(:focus-within),.f1fgmyf4:hover:not(:focus-within){border-bottom-color:var(--colorPaletteRedBorder2);}\", \".fdrzuqr{cursor:not-allowed;}\", \".f1jj8ep1{border-top-color:var(--colorNeutralStrokeDisabled);}\", \".f15xbau{border-right-color:var(--colorNeutralStrokeDisabled);}\", \".fy0fskl{border-left-color:var(--colorNeutralStrokeDisabled);}\", \".f4ikngz{border-bottom-color:var(--colorNeutralStrokeDisabled);}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\"],\n  w: [\".f14a1fxs:focus-within{outline-width:2px;}\", \".f3e99gv:focus-within{outline-style:solid;}\", \".fhljsf7:focus-within{outline-color:transparent;}\", \".fjw5xc1:focus-within::after{transform:scaleX(1);}\", \".f1xdyd5c:focus-within::after{transition-property:transform;}\", \".fatpbeo:focus-within::after{transition-duration:var(--durationNormal);}\", \".fb7uyps:focus-within::after{transition-delay:var(--curveDecelerateMid);}\", \".f1ibeo51:focus-within:active::after{border-bottom-color:var(--colorCompoundBrandStrokePressed);}\"],\n  m: [[\"@media screen and (prefers-reduced-motion: reduce){.fv8e3ye::after{transition-duration:0.01ms;}}\", {\n    m: \"screen and (prefers-reduced-motion: reduce)\"\n  }], [\"@media screen and (prefers-reduced-motion: reduce){.ftb5wc6::after{transition-delay:0.01ms;}}\", {\n    m: \"screen and (prefers-reduced-motion: reduce)\"\n  }], [\"@media screen and (prefers-reduced-motion: reduce){.f1cmft4k:focus-within::after{transition-duration:0.01ms;}}\", {\n    m: \"screen and (prefers-reduced-motion: reduce)\"\n  }], [\"@media screen and (prefers-reduced-motion: reduce){.f1x58t8o:focus-within::after{transition-delay:0.01ms;}}\", {\n    m: \"screen and (prefers-reduced-motion: reduce)\"\n  }], [\"@media (forced-colors: active){.fg455y9{border-top-color:GrayText;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media (forced-colors: active){.f14g86mu{border-left-color:GrayText;}.f1rvyvqg{border-right-color:GrayText;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media (forced-colors: active){.f1cwzwz{border-bottom-color:GrayText;}}\", {\n    m: \"(forced-colors: active)\"\n  }]],\n  t: [\"@supports selector(:has(*)){.f132nw8t:has(.fui-Dropdown__clearButton:focus)::after{border-bottom-color:initial;}}\", \"@supports selector(:has(*)){.f1htdosj:has(.fui-Dropdown__clearButton:focus)::after{transform:scaleX(0);}}\"],\n  f: [\".ftqa4ok:focus{outline-style:none;}\"],\n  h: [\".fvcxoqz:hover{border-top-color:var(--colorNeutralStroke1Hover);}\", \".f1ub3y4t:hover{border-right-color:var(--colorNeutralStroke1Hover);}\", \".f1m52nbi:hover{border-left-color:var(--colorNeutralStroke1Hover);}\", \".flmw63s:hover{border-bottom-color:var(--colorNeutralStrokeAccessible);}\"],\n  a: [\".fvs00aa:active{border-top-color:var(--colorNeutralStroke1Pressed);}\", \".f1assf6x:active{border-right-color:var(--colorNeutralStroke1Pressed);}\", \".f4ruux4:active{border-left-color:var(--colorNeutralStroke1Pressed);}\", \".fqhmt4z:active{border-bottom-color:var(--colorNeutralStrokeAccessible);}\"]\n});\nconst useIconStyles = /*#__PURE__*/__styles({\n  icon: {\n    B7ck84d: \"f1ewtqcl\",\n    sj55zd: \"fxkbij4\",\n    mc9l5x: \"ftgm304\",\n    Be2twd7: \"f1pp30po\",\n    Br312pm: \"f12w6cgp\",\n    Bw0ie65: \"f8bv1bt\",\n    Bo70h7d: \"fvc9v3g\"\n  },\n  small: {\n    Be2twd7: \"f4ybsrx\",\n    Frg6f3: [\"f1h9en5y\", \"f1xk557c\"]\n  },\n  medium: {\n    Be2twd7: \"fe5j1ua\",\n    Frg6f3: [\"f1h9en5y\", \"f1xk557c\"]\n  },\n  large: {\n    Be2twd7: \"f1rt2boy\",\n    Frg6f3: [\"f1t5qyk5\", \"f1ikr372\"]\n  },\n  disabled: {\n    sj55zd: \"f1s2aq7o\"\n  }\n}, {\n  d: [\".f1ewtqcl{box-sizing:border-box;}\", \".fxkbij4{color:var(--colorNeutralStrokeAccessible);}\", \".ftgm304{display:block;}\", \".f1pp30po{font-size:var(--fontSizeBase500);}\", \".f12w6cgp{grid-column-start:icon;}\", \".f8bv1bt{grid-column-end:end;}\", \".fvc9v3g svg{display:block;}\", \".f4ybsrx{font-size:16px;}\", \".f1h9en5y{margin-left:var(--spacingHorizontalXXS);}\", \".f1xk557c{margin-right:var(--spacingHorizontalXXS);}\", \".fe5j1ua{font-size:20px;}\", \".f1rt2boy{font-size:24px;}\", \".f1t5qyk5{margin-left:var(--spacingHorizontalSNudge);}\", \".f1ikr372{margin-right:var(--spacingHorizontalSNudge);}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\"]\n});\nconst useBaseClearButtonStyle = /*#__PURE__*/__resetStyles(\"rticfuj\", \"r1vp6jef\", {\n  r: [\".rticfuj{align-self:center;background-color:var(--colorTransparentBackground);border:none;cursor:pointer;height:fit-content;margin:0;margin-right:var(--spacingHorizontalMNudge);padding:0;position:relative;}\", \".rticfuj:focus{outline-style:none;}\", \".rticfuj:focus-visible{outline-style:none;}\", \".rticfuj[data-fui-focus-visible]{border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;}\", \".rticfuj[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);right:calc(2px * -1);bottom:calc(2px * -1);left:calc(2px * -1);}\", \".r1vp6jef{align-self:center;background-color:var(--colorTransparentBackground);border:none;cursor:pointer;height:fit-content;margin:0;margin-left:var(--spacingHorizontalMNudge);padding:0;position:relative;}\", \".r1vp6jef:focus{outline-style:none;}\", \".r1vp6jef:focus-visible{outline-style:none;}\", \".r1vp6jef[data-fui-focus-visible]{border-top-color:transparent;border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;}\", \".r1vp6jef[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);left:calc(2px * -1);bottom:calc(2px * -1);right:calc(2px * -1);}\"],\n  s: [\"@media (forced-colors: active){.rticfuj[data-fui-focus-visible]::after{border-top-color:Highlight;border-right-color:Highlight;border-bottom-color:Highlight;border-left-color:Highlight;}}\", \"@media (forced-colors: active){.r1vp6jef[data-fui-focus-visible]::after{border-top-color:Highlight;border-left-color:Highlight;border-bottom-color:Highlight;border-right-color:Highlight;}}\"]\n});\n/**\n * Apply styling to the Dropdown slots based on the state\n */\nexport const useDropdownStyles_unstable = state => {\n  'use no memo';\n\n  const {\n    appearance,\n    open,\n    placeholderVisible,\n    showClearButton,\n    size\n  } = state;\n  const invalid = `${state.button['aria-invalid']}` === 'true';\n  const disabled = state.button.disabled;\n  const styles = useStyles();\n  const iconStyles = useIconStyles();\n  const clearButtonStyle = useBaseClearButtonStyle();\n  state.root.className = mergeClasses(dropdownClassNames.root, styles.root, styles[appearance], !disabled && appearance === 'outline' && styles.outlineInteractive, invalid && appearance !== 'underline' && styles.invalid, invalid && appearance === 'underline' && styles.invalidUnderline, disabled && styles.disabled, state.root.className);\n  state.button.className = mergeClasses(dropdownClassNames.button, styles.button, styles[size], placeholderVisible && styles.placeholder, disabled && styles.disabledText, state.button.className);\n  if (state.listbox) {\n    state.listbox.className = mergeClasses(dropdownClassNames.listbox, styles.listbox, state.inlinePopup && styles.inlineListbox, !open && styles.listboxCollapsed, state.listbox.className);\n  }\n  if (state.expandIcon) {\n    state.expandIcon.className = mergeClasses(dropdownClassNames.expandIcon, iconStyles.icon, iconStyles[size], disabled && iconStyles.disabled, showClearButton && styles.hidden, state.expandIcon.className);\n  }\n  if (state.clearButton) {\n    state.clearButton.className = mergeClasses(dropdownClassNames.clearButton, clearButtonStyle, iconStyles.icon, iconStyles[size], disabled && iconStyles.disabled, !showClearButton && styles.hidden, state.clearButton.className);\n  }\n  return state;\n};","import * as React from 'react';\nimport { useDropdown_unstable } from './useDropdown';\nimport { renderDropdown_unstable } from './renderDropdown';\nimport { useDropdownStyles_unstable } from './useDropdownStyles.styles';\nimport { useComboboxContextValues } from '../../contexts/useComboboxContextValues';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Dropdown component: a selection control that allows users to choose from a set of possible options\n */ export const Dropdown = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useDropdown_unstable(props, ref);\n    const contextValues = useComboboxContextValues(state);\n    useDropdownStyles_unstable(state);\n    useCustomStyleHook_unstable('useDropdownStyles_unstable')(state);\n    return renderDropdown_unstable(state, contextValues);\n});\nDropdown.displayName = 'Dropdown';\n","import * as React from 'react';\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\nexport const MenuContext = createContext(undefined);\nconst menuContextDefaultValue = {\n    open: false,\n    setOpen: ()=>false,\n    checkedValues: {},\n    onCheckedValueChange: ()=>null,\n    isSubmenu: false,\n    triggerRef: {\n        current: null\n    },\n    menuPopoverRef: {\n        current: null\n    },\n    mountNode: null,\n    triggerId: '',\n    openOnContext: false,\n    openOnHover: false,\n    hasIcons: false,\n    hasCheckmarks: false,\n    inline: false,\n    persistOnItemClick: false\n};\nexport const MenuProvider = MenuContext.Provider;\nexport const useMenuContext_unstable = (selector)=>useContextSelector(MenuContext, (ctx = menuContextDefaultValue)=>selector(ctx));\n","import * as React from 'react';\n/**\n * Context used communicate with a child menu item that it is a trigger for a submenu\n */ const MenuTriggerContext = React.createContext(undefined);\nconst menuTriggerContextDefaultValue = false;\nexport const MenuTriggerContextProvider = MenuTriggerContext.Provider;\nexport const useMenuTriggerContext_unstable = ()=>{\n    var _React_useContext;\n    return (_React_useContext = React.useContext(MenuTriggerContext)) !== null && _React_useContext !== void 0 ? _React_useContext : menuTriggerContextDefaultValue;\n};\n","import * as React from 'react';\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\nexport const MenuListContext = createContext(undefined);\nconst menuListContextDefaultValue = {\n    checkedValues: {},\n    setFocusByFirstCharacter: ()=>null,\n    toggleCheckbox: ()=>null,\n    selectRadio: ()=>null,\n    hasIcons: false,\n    hasCheckmarks: false\n};\nexport const MenuListProvider = MenuListContext.Provider;\nexport const useMenuListContext_unstable = (selector)=>useContextSelector(MenuListContext, (ctx = menuListContextDefaultValue)=>selector(ctx));\n","import * as React from 'react';\nimport { useEventCallback, elementContains } from '@fluentui/react-utilities';\n/**\n * Name of the custom event\n */ export const MENU_ENTER_EVENT = 'fuimenuenter';\n/**\n * This hook works similarly to @see useOnClickOutside\n *\n * Problem: Trying to behave the same as system menus:\n * When the mouse leaves a stack of nested menus the stack should not dismiss.\n * However if the mouse leaves a stack of menus and enters a parent menu all its children menu should dismiss.\n *\n * We don't use the native mouseenter event because it would trigger too many times in the document\n * Instead, dispatch custom DOM event from the menu so that it can bubble\n * Each nested menu can use the listener to check if the event is from a child or parent menu\n */ export const useOnMenuMouseEnter = (options)=>{\n    const { refs, callback, element, disabled } = options;\n    // Keep mouse event here because this is essentially a custom 'mouseenter' event\n    const listener = useEventCallback((ev)=>{\n        const popoverRef = refs[0];\n        const someMenuPopover = ev.target;\n        var _popoverRef_current;\n        // someMenu is a child -> will always be contained because of vParents\n        // someMenu is a parent -> will always not be contained because no vParent\n        // someMenu is the current popover -> it will contain itself\n        const isOutsidePopover = !elementContains((_popoverRef_current = popoverRef.current) !== null && _popoverRef_current !== void 0 ? _popoverRef_current : null, someMenuPopover);\n        if (isOutsidePopover && !disabled) {\n            callback(ev);\n        }\n    });\n    React.useEffect(()=>{\n        // eslint-disable-next-line eqeqeq\n        if (element == null) {\n            return;\n        }\n        if (!disabled) {\n            element.addEventListener(MENU_ENTER_EVENT, listener);\n        }\n        return ()=>{\n            element.removeEventListener(MENU_ENTER_EVENT, listener);\n        };\n    }, [\n        listener,\n        element,\n        disabled\n    ]);\n};\n/**\n * Dispatches the custom MouseEvent enter event. Similar to calling `el.click()`\n * @param el - element for the event target\n * @param nativeEvent - the native mouse event this is mapped to\n */ export const dispatchMenuEnterEvent = (el, nativeEvent)=>{\n    el.dispatchEvent(new CustomEvent(MENU_ENTER_EVENT, {\n        bubbles: true,\n        detail: {\n            nativeEvent\n        }\n    }));\n};\n","import { useHasParentContext } from '@fluentui/react-context-selector';\nimport { useMenuContext_unstable } from '../contexts/menuContext';\nimport { MenuListContext } from '../contexts/menuListContext';\n/**\n * A component can be a part of a submenu whether its menu context `isSubmenu` flag is true\n * or whether it is a part of a `MenuList`\n *\n * A simple hook to check box contexts easily\n *\n * @returns whether the component is part of a submenu\n */ export function useIsSubmenu() {\n    const menuContextValue = useMenuContext_unstable((context)=>context.isSubmenu);\n    const hasMenuListContext = useHasParentContext(MenuListContext);\n    return menuContextValue || hasMenuListContext;\n}\n","import * as React from 'react';\nimport { usePositioningMouseTarget, usePositioning, resolvePositioningShorthand } from '@fluentui/react-positioning';\nimport { useControllableState, useId, useOnClickOutside, useEventCallback, useOnScrollOutside, elementContains, useTimeout, useFirstMount } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MENU_ENTER_EVENT, useOnMenuMouseEnter } from '../../utils/index';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\n// If it's not possible to position the submenu in smaller viewports, try\n// and fallback to this order of positions\nconst submenuFallbackPositions = [\n    'after',\n    'after-bottom',\n    'before-top',\n    'before',\n    'before-bottom',\n    'above'\n];\n/**\n * Create the state required to render Menu.\n *\n * The returned state can be modified with hooks such as useMenuStyles,\n * before being passed to renderMenu_unstable.\n *\n * @param props - props from this instance of Menu\n */ export const useMenu_unstable = (props)=>{\n    const isSubmenu = useIsSubmenu();\n    const { hoverDelay = 500, inline = false, hasCheckmarks = false, hasIcons = false, closeOnScroll = false, openOnContext = false, persistOnItemClick = false, openOnHover = isSubmenu, defaultCheckedValues, mountNode = null } = props;\n    const triggerId = useId('menu');\n    const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n    const positioningState = {\n        position: isSubmenu ? 'after' : 'below',\n        align: isSubmenu ? 'top' : 'start',\n        target: props.openOnContext ? contextTarget : undefined,\n        fallbackPositions: isSubmenu ? submenuFallbackPositions : undefined,\n        ...resolvePositioningShorthand(props.positioning)\n    };\n    const children = React.Children.toArray(props.children);\n    if (process.env.NODE_ENV !== 'production') {\n        if (children.length === 0) {\n            // eslint-disable-next-line no-console\n            console.warn('Menu must contain at least one child');\n        }\n        if (children.length > 2) {\n            // eslint-disable-next-line no-console\n            console.warn('Menu must contain at most two children');\n        }\n    }\n    let menuTrigger = undefined;\n    let menuPopover = undefined;\n    if (children.length === 2) {\n        menuTrigger = children[0];\n        menuPopover = children[1];\n    } else if (children.length === 1) {\n        menuPopover = children[0];\n    }\n    const { targetRef: triggerRef, containerRef: menuPopoverRef } = usePositioning(positioningState);\n    // TODO Better way to narrow types ?\n    const [open, setOpen] = useMenuOpenState({\n        hoverDelay,\n        isSubmenu,\n        setContextTarget,\n        closeOnScroll,\n        menuPopoverRef,\n        triggerRef,\n        open: props.open,\n        defaultOpen: props.defaultOpen,\n        onOpenChange: props.onOpenChange,\n        openOnContext\n    });\n    const [checkedValues, onCheckedValueChange] = useMenuSelectableState({\n        checkedValues: props.checkedValues,\n        defaultCheckedValues,\n        onCheckedValueChange: props.onCheckedValueChange\n    });\n    return {\n        inline,\n        hoverDelay,\n        triggerId,\n        isSubmenu,\n        openOnHover,\n        contextTarget,\n        setContextTarget,\n        hasCheckmarks,\n        hasIcons,\n        closeOnScroll,\n        menuTrigger,\n        menuPopover,\n        mountNode,\n        triggerRef,\n        menuPopoverRef,\n        components: {},\n        openOnContext,\n        open,\n        setOpen,\n        checkedValues,\n        onCheckedValueChange,\n        persistOnItemClick\n    };\n};\n/**\n * Adds appropriate state values and handlers for selectable items\n * i.e checkboxes and radios\n */ const useMenuSelectableState = (props)=>{\n    const [checkedValues, setCheckedValues] = useControllableState({\n        state: props.checkedValues,\n        defaultState: props.defaultCheckedValues,\n        initialState: {}\n    });\n    const onCheckedValueChange = useEventCallback((e, { name, checkedItems })=>{\n        var _props_onCheckedValueChange;\n        (_props_onCheckedValueChange = props.onCheckedValueChange) === null || _props_onCheckedValueChange === void 0 ? void 0 : _props_onCheckedValueChange.call(props, e, {\n            name,\n            checkedItems\n        });\n        setCheckedValues((currentValue)=>({\n                ...currentValue,\n                [name]: checkedItems\n            }));\n    });\n    return [\n        checkedValues,\n        onCheckedValueChange\n    ];\n};\nconst useMenuOpenState = (state)=>{\n    'use no memo';\n    const { targetDocument } = useFluent();\n    const parentSetOpen = useMenuContext_unstable((context)=>context.setOpen);\n    const onOpenChange = useEventCallback((e, data)=>{\n        var _state_onOpenChange;\n        return (_state_onOpenChange = state.onOpenChange) === null || _state_onOpenChange === void 0 ? void 0 : _state_onOpenChange.call(state, e, data);\n    });\n    const enteringTriggerRef = React.useRef(false);\n    const [open, setOpenState] = useControllableState({\n        state: state.open,\n        defaultState: state.defaultOpen,\n        initialState: false\n    });\n    const trySetOpen = useEventCallback((e, data)=>{\n        const event = e instanceof CustomEvent && e.type === MENU_ENTER_EVENT ? e.detail.nativeEvent : e;\n        onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(event, {\n            ...data\n        });\n        if (data.open && e.type === 'contextmenu') {\n            state.setContextTarget(e);\n        }\n        if (!data.open) {\n            state.setContextTarget(undefined);\n        }\n        if (data.bubble) {\n            parentSetOpen(e, {\n                ...data\n            });\n        }\n        setOpenState(data.open);\n    });\n    const [setOpenTimeout, clearOpenTimeout] = useTimeout();\n    const setOpen = useEventCallback((e, data)=>{\n        clearOpenTimeout();\n        if (!(e instanceof Event) && e.persist) {\n            // < React 17 still uses pooled synthetic events\n            e.persist();\n        }\n        if (e.type === 'mouseleave' || e.type === 'mouseenter' || e.type === 'mousemove' || e.type === MENU_ENTER_EVENT) {\n            var _state_triggerRef_current;\n            if ((_state_triggerRef_current = state.triggerRef.current) === null || _state_triggerRef_current === void 0 ? void 0 : _state_triggerRef_current.contains(e.target)) {\n                enteringTriggerRef.current = e.type === 'mouseenter' || e.type === 'mousemove';\n            }\n            setOpenTimeout(()=>trySetOpen(e, data), state.hoverDelay);\n        } else {\n            trySetOpen(e, data);\n        }\n    });\n    useOnClickOutside({\n        contains: elementContains,\n        disabled: !open,\n        element: targetDocument,\n        refs: [\n            state.menuPopoverRef,\n            !state.openOnContext && state.triggerRef\n        ].filter(Boolean),\n        callback: (event)=>setOpen(event, {\n                open: false,\n                type: 'clickOutside',\n                event\n            })\n    });\n    // only close on scroll for context, or when closeOnScroll is specified\n    const closeOnScroll = state.openOnContext || state.closeOnScroll;\n    useOnScrollOutside({\n        contains: elementContains,\n        element: targetDocument,\n        callback: (event)=>setOpen(event, {\n                open: false,\n                type: 'scrollOutside',\n                event\n            }),\n        refs: [\n            state.menuPopoverRef,\n            !state.openOnContext && state.triggerRef\n        ].filter(Boolean),\n        disabled: !open || !closeOnScroll\n    });\n    useOnMenuMouseEnter({\n        element: targetDocument,\n        callback: (event)=>{\n            // When moving from a menu directly back to its trigger, this handler can close the menu\n            // Explicitly check a flag to see if this situation happens\n            if (!enteringTriggerRef.current) {\n                setOpen(event, {\n                    open: false,\n                    type: 'menuMouseEnter',\n                    event\n                });\n            }\n        },\n        disabled: !open,\n        refs: [\n            state.menuPopoverRef\n        ]\n    });\n    // Manage focus for open state\n    const { findFirstFocusable } = useFocusFinders();\n    const focusFirst = React.useCallback(()=>{\n        const firstFocusable = findFirstFocusable(state.menuPopoverRef.current);\n        firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();\n    }, [\n        findFirstFocusable,\n        state.menuPopoverRef\n    ]);\n    const firstMount = useFirstMount();\n    React.useEffect(()=>{\n        if (open) {\n            focusFirst();\n        } else {\n            if (!firstMount) {\n                if ((targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement) === (targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.body)) {\n                    var // We know that React effects are sync so we focus the trigger here\n                    // after any event handler (event handlers will update state and re-render).\n                    // Since the browser only performs the default behaviour for the Tab key once\n                    // keyboard events have fully bubbled up the window, the browser will move\n                    // focus to the next tabbable element before/after the trigger if needed.\n                    // If the Tab key was not pressed, focus will remain on the trigger as expected.\n                    _state_triggerRef_current;\n                    (_state_triggerRef_current = state.triggerRef.current) === null || _state_triggerRef_current === void 0 ? void 0 : _state_triggerRef_current.focus();\n                }\n            }\n        }\n    // firstMount change should not re-run this effect\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    }, [\n        state.triggerRef,\n        state.isSubmenu,\n        open,\n        focusFirst,\n        targetDocument,\n        state.menuPopoverRef\n    ]);\n    return [\n        open,\n        setOpen\n    ];\n};\n","export function useMenuContextValues_unstable(state) {\n    const { checkedValues, hasCheckmarks, hasIcons, inline, isSubmenu, menuPopoverRef, mountNode, onCheckedValueChange, open, openOnContext, openOnHover, persistOnItemClick, setOpen, triggerId, triggerRef } = state;\n    // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n    const menu = {\n        checkedValues,\n        hasCheckmarks,\n        hasIcons,\n        inline,\n        isSubmenu,\n        menuPopoverRef,\n        mountNode,\n        onCheckedValueChange,\n        open,\n        openOnContext,\n        openOnHover,\n        persistOnItemClick,\n        setOpen,\n        triggerId,\n        triggerRef\n    };\n    return {\n        menu\n    };\n}\n","import * as React from 'react';\nimport { MenuProvider } from '../../contexts/menuContext';\n/**\n * Render the final JSX of Menu\n */ export const renderMenu_unstable = (state, contextValues)=>{\n    return /*#__PURE__*/ React.createElement(MenuProvider, {\n        value: contextValues.menu\n    }, state.menuTrigger, state.open && state.menuPopover);\n};\n","import * as React from 'react';\nimport { useMenu_unstable } from './useMenu';\nimport { useMenuContextValues_unstable } from './useMenuContextValues';\nimport { renderMenu_unstable } from './renderMenu';\n/**\n * Wrapper component that manages state for a popup MenuList and a MenuTrigger\n */ export const Menu = (props)=>{\n    const state = useMenu_unstable(props);\n    const contextValues = useMenuContextValues_unstable(state);\n    return renderMenu_unstable(state, contextValues);\n};\nMenu.displayName = 'Menu';\n","import * as React from 'react';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nexport const useCharacterSearch = (state, ref)=>{\n    'use no memo';\n    const setFocusByFirstCharacter = useMenuListContext_unstable((context)=>context.setFocusByFirstCharacter);\n    const { onKeyDown: originalOnKeyDown } = state.root;\n    state.root.onKeyDown = (e)=>{\n        var _e_key;\n        originalOnKeyDown === null || originalOnKeyDown === void 0 ? void 0 : originalOnKeyDown(e);\n        if (((_e_key = e.key) === null || _e_key === void 0 ? void 0 : _e_key.length) > 1) {\n            return;\n        }\n        if (ref.current) {\n            setFocusByFirstCharacter === null || setFocusByFirstCharacter === void 0 ? void 0 : setFocusByFirstCharacter(e, ref.current);\n        }\n    };\n    return state;\n};\n","import * as React from 'react';\nimport { useEventCallback, useMergedRefs, getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useCharacterSearch } from './useCharacterSearch';\nimport { useMenuTriggerContext_unstable } from '../../contexts/menuTriggerContext';\nimport { ChevronRightFilled, ChevronRightRegular, ChevronLeftFilled, ChevronLeftRegular, bundleIcon } from '@fluentui/react-icons';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nconst ChevronRightIcon = bundleIcon(ChevronRightFilled, ChevronRightRegular);\nconst ChevronLeftIcon = bundleIcon(ChevronLeftFilled, ChevronLeftRegular);\n/**\n * Returns the props and state required to render the component\n */ export const useMenuItem_unstable = (props, ref)=>{\n    const isSubmenuTrigger = useMenuTriggerContext_unstable();\n    const persistOnClickContext = useMenuContext_unstable((context)=>context.persistOnItemClick);\n    const { as = 'div', disabled = false, hasSubmenu = isSubmenuTrigger, persistOnClick = persistOnClickContext } = props;\n    const hasIcons = useMenuListContext_unstable((context)=>context.hasIcons);\n    const hasCheckmarks = useMenuListContext_unstable((context)=>context.hasCheckmarks);\n    const setOpen = useMenuContext_unstable((context)=>context.setOpen);\n    const { dir } = useFluent();\n    const innerRef = React.useRef(null);\n    const dismissedWithKeyboardRef = React.useRef(false);\n    const state = {\n        hasSubmenu,\n        disabled,\n        persistOnClick,\n        components: {\n            root: 'div',\n            icon: 'span',\n            checkmark: 'span',\n            submenuIndicator: 'span',\n            content: 'span',\n            secondaryContent: 'span'\n        },\n        root: slot.always(getIntrinsicElementProps(as, useARIAButtonProps(as, {\n            role: 'menuitem',\n            ...props,\n            disabled: false,\n            disabledFocusable: disabled,\n            ref: useMergedRefs(ref, innerRef),\n            onKeyDown: useEventCallback((event)=>{\n                var _props_onKeyDown;\n                (_props_onKeyDown = props.onKeyDown) === null || _props_onKeyDown === void 0 ? void 0 : _props_onKeyDown.call(props, event);\n                if (!event.isDefaultPrevented() && (event.key === Space || event.key === Enter)) {\n                    dismissedWithKeyboardRef.current = true;\n                }\n            }),\n            onMouseEnter: useEventCallback((event)=>{\n                var _innerRef_current, _props_onMouseEnter;\n                (_innerRef_current = innerRef.current) === null || _innerRef_current === void 0 ? void 0 : _innerRef_current.focus();\n                (_props_onMouseEnter = props.onMouseEnter) === null || _props_onMouseEnter === void 0 ? void 0 : _props_onMouseEnter.call(props, event);\n            }),\n            onClick: useEventCallback((event)=>{\n                var _props_onClick;\n                if (!hasSubmenu && !persistOnClick) {\n                    setOpen(event, {\n                        open: false,\n                        keyboard: dismissedWithKeyboardRef.current,\n                        bubble: true,\n                        type: 'menuItemClick',\n                        event\n                    });\n                    dismissedWithKeyboardRef.current = false;\n                }\n                (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, event);\n            })\n        })), {\n            elementType: 'div'\n        }),\n        icon: slot.optional(props.icon, {\n            renderByDefault: hasIcons,\n            elementType: 'span'\n        }),\n        checkmark: slot.optional(props.checkmark, {\n            renderByDefault: hasCheckmarks,\n            elementType: 'span'\n        }),\n        submenuIndicator: slot.optional(props.submenuIndicator, {\n            renderByDefault: hasSubmenu,\n            defaultProps: {\n                children: dir === 'ltr' ? /*#__PURE__*/ React.createElement(ChevronRightIcon, null) : /*#__PURE__*/ React.createElement(ChevronLeftIcon, null)\n            },\n            elementType: 'span'\n        }),\n        content: slot.optional(props.content, {\n            renderByDefault: !!props.children,\n            defaultProps: {\n                children: props.children\n            },\n            elementType: 'span'\n        }),\n        secondaryContent: slot.optional(props.secondaryContent, {\n            elementType: 'span'\n        })\n    };\n    useCharacterSearch(state, innerRef);\n    return state;\n};\n","  import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Function that renders the final JSX of the component\n */ export const renderMenuItem_unstable = (state)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsxs(state.root, {\n        children: [\n            state.checkmark && /*#__PURE__*/ _jsx(state.checkmark, {}),\n            state.icon && /*#__PURE__*/ _jsx(state.icon, {}),\n            state.content && /*#__PURE__*/ _jsx(state.content, {}),\n            state.secondaryContent && /*#__PURE__*/ _jsx(state.secondaryContent, {}),\n            state.submenuIndicator && /*#__PURE__*/ _jsx(state.submenuIndicator, {})\n        ]\n    });\n};\n","import { mergeClasses, __styles } from '@griffel/react';\nconst useStyles = /*#__PURE__*/__styles({\n  root: {\n    a9b677: \"fjw5fx7\",\n    Bqenvij: \"fd461yt\",\n    Bcdw1i0: \"fd7fpy0\",\n    Bnnss6s: \"fi64zpg\"\n  },\n  rootChecked: {\n    Bcdw1i0: \"f1022m68\",\n    Bnnss6s: \"fi64zpg\"\n  }\n}, {\n  d: [\".fjw5fx7{width:16px;}\", \".fd461yt{height:16px;}\", \".fd7fpy0{visibility:hidden;}\", \".fi64zpg{flex-shrink:0;}\", \".f1022m68{visibility:visible;}\"]\n});\n/**\n * Applies styles to a checkmark slot for selectable menu items\n *\n * @param state - should contain a `checkmark` slot\n */\nexport const useCheckmarkStyles_unstable = state => {\n  'use no memo';\n\n  const styles = useStyles();\n  if (state.checkmark) {\n    state.checkmark.className = mergeClasses(styles.root, state.checked && styles.rootChecked, state.checkmark.className);\n  }\n};","import { mergeClasses, __styles, __resetStyles } from '@griffel/react';\nimport { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { useCheckmarkStyles_unstable } from '../../selectable/index';\nexport const menuItemClassNames = {\n  root: 'fui-MenuItem',\n  icon: 'fui-MenuItem__icon',\n  checkmark: 'fui-MenuItem__checkmark',\n  submenuIndicator: 'fui-MenuItem__submenuIndicator',\n  content: 'fui-MenuItem__content',\n  secondaryContent: 'fui-MenuItem__secondaryContent'\n};\nconst useRootBaseStyles = /*#__PURE__*/__resetStyles(\"r11normc\", \"r1lnj0i0\", {\n  r: [\".r11normc{border-radius:var(--borderRadiusMedium);position:relative;color:var(--colorNeutralForeground2);background-color:var(--colorNeutralBackground1);padding-right:var(--spacingVerticalSNudge);padding-left:var(--spacingVerticalSNudge);padding-top:var(--spacingVerticalSNudge);padding-bottom:var(--spacingVerticalSNudge);box-sizing:border-box;max-width:290px;min-height:32px;flex-shrink:0;display:flex;align-items:start;font-size:var(--fontSizeBase300);cursor:pointer;gap:4px;-webkit-user-select:none;-moz-user-select:none;user-select:none;}\", \".r11normc:hover{background-color:var(--colorNeutralBackground1Hover);color:var(--colorNeutralForeground2Hover);}\", \".r11normc:hover .fui-Icon-filled{display:inline;}\", \".r11normc:hover .fui-Icon-regular{display:none;}\", \".r11normc:hover .fui-MenuItem__icon{color:var(--colorNeutralForeground2BrandSelected);}\", \".r11normc:hover:active{background-color:var(--colorNeutralBackground1Pressed);color:var(--colorNeutralForeground2Pressed);}\", \".r11normc:focus{outline-style:none;}\", \".r11normc:focus-visible{outline-style:none;}\", \".r11normc[data-fui-focus-visible]{border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;}\", \".r11normc[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);right:calc(2px * -1);bottom:calc(2px * -1);left:calc(2px * -1);}\", \".r1lnj0i0{border-radius:var(--borderRadiusMedium);position:relative;color:var(--colorNeutralForeground2);background-color:var(--colorNeutralBackground1);padding-left:var(--spacingVerticalSNudge);padding-right:var(--spacingVerticalSNudge);padding-top:var(--spacingVerticalSNudge);padding-bottom:var(--spacingVerticalSNudge);box-sizing:border-box;max-width:290px;min-height:32px;flex-shrink:0;display:flex;align-items:start;font-size:var(--fontSizeBase300);cursor:pointer;gap:4px;-webkit-user-select:none;-moz-user-select:none;user-select:none;}\", \".r1lnj0i0:hover{background-color:var(--colorNeutralBackground1Hover);color:var(--colorNeutralForeground2Hover);}\", \".r1lnj0i0:hover .fui-Icon-filled{display:inline;}\", \".r1lnj0i0:hover .fui-Icon-regular{display:none;}\", \".r1lnj0i0:hover .fui-MenuItem__icon{color:var(--colorNeutralForeground2BrandSelected);}\", \".r1lnj0i0:hover:active{background-color:var(--colorNeutralBackground1Pressed);color:var(--colorNeutralForeground2Pressed);}\", \".r1lnj0i0:focus{outline-style:none;}\", \".r1lnj0i0:focus-visible{outline-style:none;}\", \".r1lnj0i0[data-fui-focus-visible]{border-top-color:transparent;border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;}\", \".r1lnj0i0[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);left:calc(2px * -1);bottom:calc(2px * -1);right:calc(2px * -1);}\"],\n  s: [\"@media (forced-colors: active){.r11normc:hover{background-color:Canvas;border-color:Highlight;color:Highlight;}.r11normc:focus{outline-style:none;}.r11normc:focus-visible{outline-style:none;}.r11normc[data-fui-focus-visible]{border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;}@media (forced-colors: active){.r11normc[data-fui-focus-visible]::after{border-top-color:Highlight;border-right-color:Highlight;border-bottom-color:Highlight;border-left-color:Highlight;}}.r11normc[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid Highlight;border-radius:var(--borderRadiusMedium);top:calc(2px * -1);right:calc(2px * -1);bottom:calc(2px * -1);left:calc(2px * -1);}}\", \"@media (forced-colors: active){.r11normc[data-fui-focus-visible]::after{border-top-color:Highlight;border-right-color:Highlight;border-bottom-color:Highlight;border-left-color:Highlight;}}\", \"@media (forced-colors: active){.r1lnj0i0:hover{background-color:Canvas;border-color:Highlight;color:Highlight;}.r1lnj0i0:focus{outline-style:none;}.r1lnj0i0:focus-visible{outline-style:none;}.r1lnj0i0[data-fui-focus-visible]{border-top-color:transparent;border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;}@media (forced-colors: active){.r1lnj0i0[data-fui-focus-visible]::after{border-top-color:Highlight;border-left-color:Highlight;border-bottom-color:Highlight;border-right-color:Highlight;}}.r1lnj0i0[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid Highlight;border-radius:var(--borderRadiusMedium);top:calc(2px * -1);left:calc(2px * -1);bottom:calc(2px * -1);right:calc(2px * -1);}}\", \"@media (forced-colors: active){.r1lnj0i0[data-fui-focus-visible]::after{border-top-color:Highlight;border-left-color:Highlight;border-bottom-color:Highlight;border-right-color:Highlight;}}\"]\n});\nconst useContentBaseStyles = /*#__PURE__*/__resetStyles(\"r1ls86vo\", \"rpbc5dr\", [\".r1ls86vo{padding-left:2px;padding-right:2px;background-color:transparent;flex-grow:1;}\", \".rpbc5dr{padding-right:2px;padding-left:2px;background-color:transparent;flex-grow:1;}\"]);\nconst useSecondaryContentBaseStyles = /*#__PURE__*/__resetStyles(\"r12mwwux\", \"r1ewgu5j\", [\".r12mwwux{padding-left:2px;padding-right:2px;font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase200);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase300);color:var(--colorNeutralForeground3);}\", \".r12mwwux:hover{color:var(--colorNeutralForeground3Hover);}\", \".r12mwwux:focus{color:var(--colorNeutralForeground3Hover);}\", \".r1ewgu5j{padding-right:2px;padding-left:2px;font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase200);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase300);color:var(--colorNeutralForeground3);}\", \".r1ewgu5j:hover{color:var(--colorNeutralForeground3Hover);}\", \".r1ewgu5j:focus{color:var(--colorNeutralForeground3Hover);}\"]);\nconst useIconBaseStyles = /*#__PURE__*/__resetStyles(\"ro9koqv\", null, [\".ro9koqv{width:20px;height:20px;font-size:20px;line-height:0;align-items:center;display:inline-flex;justify-content:center;flex-shrink:0;}\"]);\nconst useSubmenuIndicatorBaseStyles = /*#__PURE__*/__resetStyles(\"r9c34qo\", null, [\".r9c34qo{width:20px;height:20px;font-size:20px;line-height:0;align-items:center;display:inline-flex;justify-content:center;}\"]);\nconst useStyles = /*#__PURE__*/__styles({\n  checkmark: {\n    B6of3ja: \"fmnzpld\"\n  },\n  splitItemMain: {\n    Bh6795r: \"fqerorx\"\n  },\n  splitItemTrigger: {\n    Btl43ni: [\"f1ozlkrg\", \"f10ostut\"],\n    Beyfa6y: [\"f1deotkl\", \"f1krrbdw\"],\n    uwmqm3: [\"f1cnd47f\", \"fhxju0i\"],\n    Ftih45: \"f1wl9k8s\",\n    Ccq8qp: \"f1yn80uh\",\n    Baz25je: \"f68mna0\",\n    cmx5o7: \"f1p5zmk\"\n  },\n  disabled: {\n    sj55zd: \"f1s2aq7o\",\n    Bi91k9c: \"fvgxktp\",\n    Jwef8y: \"f1ijtazh\",\n    eoavqd: \"fphbwmw\",\n    Bk3fhr4: \"f19vpps7\",\n    Bmfj8id: \"fv5swzo\",\n    Bg7n49j: \"f1q1x1ba\",\n    B2d53fq: \"fcvwxyo\",\n    iro3zm: \"f1to34ca\",\n    t0hwav: \"ft33916\",\n    Bbusuzp: \"f1dcs8yz\",\n    ze5xyy: \"f1kc2mi9\",\n    Bqrx1nm: \"fkavljg\",\n    Bctn1xl: \"fk56vqo\",\n    h5esng: \"ff3wi9b\",\n    Bh6z0a4: \"f1ikwg0d\",\n    Bh953qp: \"f10l1t5h\"\n  }\n}, {\n  d: [\".fmnzpld{margin-top:2px;}\", \".fqerorx{flex-grow:1;}\", \".f1ozlkrg{border-top-left-radius:0;}\", \".f10ostut{border-top-right-radius:0;}\", \".f1deotkl{border-bottom-left-radius:0;}\", \".f1krrbdw{border-bottom-right-radius:0;}\", \".f1cnd47f{padding-left:0;}\", \".fhxju0i{padding-right:0;}\", \".f1wl9k8s::before{content:\\\"\\\";}\", \".f1yn80uh::before{width:var(--strokeWidthThin);}\", \".f68mna0::before{height:24px;}\", \".f1p5zmk::before{background-color:var(--colorNeutralStroke1);}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\"],\n  h: [\".fvgxktp:hover{color:var(--colorNeutralForegroundDisabled);}\", \".f1ijtazh:hover{background-color:var(--colorNeutralBackground1);}\", \".fphbwmw:hover{cursor:not-allowed;}\", \".f19vpps7:hover .fui-Icon-filled{display:none;}\", \".fv5swzo:hover .fui-Icon-regular{display:inline;}\", \".f1q1x1ba:hover .fui-MenuItem__icon{color:var(--colorNeutralForegroundDisabled);}\", \".fcvwxyo:hover:active{color:var(--colorNeutralForegroundDisabled);}\", \".f1to34ca:hover:active{background-color:var(--colorNeutralBackground1);}\"],\n  f: [\".ft33916:focus{color:var(--colorNeutralForegroundDisabled);}\"],\n  m: [[\"@media (forced-colors: active){.f1dcs8yz{color:GrayText;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media (forced-colors: active){.f1kc2mi9:hover{color:GrayText;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media (forced-colors: active){.fkavljg:hover{background-color:Canvas;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media (forced-colors: active){.fk56vqo:hover .fui-MenuItem__icon{color:GrayText;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media (forced-colors: active){.ff3wi9b:hover .fui-MenuItem__icon{background-color:Canvas;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media (forced-colors: active){.f1ikwg0d:focus{color:GrayText;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media (forced-colors: active){.f10l1t5h:focus{background-color:Canvas;}}\", {\n    m: \"(forced-colors: active)\"\n  }]]\n});\n/** Applies style classnames to slots */\nexport const useMenuItemStyles_unstable = state => {\n  'use no memo';\n\n  const styles = useStyles();\n  const rootBaseStyles = useRootBaseStyles();\n  const contentBaseStyles = useContentBaseStyles();\n  const secondaryContentBaseStyles = useSecondaryContentBaseStyles();\n  const iconBaseStyles = useIconBaseStyles();\n  const submenuIndicatorBaseStyles = useSubmenuIndicatorBaseStyles();\n  state.root.className = mergeClasses(menuItemClassNames.root, rootBaseStyles, state.disabled && styles.disabled, state.root.className);\n  if (state.content) {\n    state.content.className = mergeClasses(menuItemClassNames.content, contentBaseStyles, state.content.className);\n  }\n  if (state.checkmark) {\n    state.checkmark.className = mergeClasses(menuItemClassNames.checkmark, styles.checkmark, state.checkmark.className);\n  }\n  if (state.secondaryContent) {\n    state.secondaryContent.className = mergeClasses(menuItemClassNames.secondaryContent, !state.disabled && secondaryContentBaseStyles, state.secondaryContent.className);\n  }\n  if (state.icon) {\n    state.icon.className = mergeClasses(menuItemClassNames.icon, iconBaseStyles, state.icon.className);\n  }\n  if (state.submenuIndicator) {\n    state.submenuIndicator.className = mergeClasses(menuItemClassNames.submenuIndicator, submenuIndicatorBaseStyles, state.submenuIndicator.className);\n  }\n  useCheckmarkStyles_unstable(state);\n  return state;\n};","import * as React from 'react';\nimport { useMenuItem_unstable } from './useMenuItem';\nimport { renderMenuItem_unstable } from './renderMenuItem';\nimport { useMenuItemStyles_unstable } from './useMenuItemStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Define a styled MenuItem, using the `useMenuItem_unstable` and `useMenuItemStyles_unstable` hook.\n */ export const MenuItem = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useMenuItem_unstable(props, ref);\n    useMenuItemStyles_unstable(state);\n    useCustomStyleHook_unstable('useMenuItemStyles_unstable')(state);\n    return renderMenuItem_unstable(state);\n});\nMenuItem.displayName = 'MenuItem';\n","import * as React from 'react';\nimport { useMergedRefs, useEventCallback, useControllableState, getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useArrowNavigationGroup, useFocusFinders, TabsterMoveFocusEventName } from '@fluentui/react-tabster';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useHasParentContext } from '@fluentui/react-context-selector';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MenuContext } from '../../contexts/menuContext';\n/**\n * Returns the props and state required to render the component\n */ export const useMenuList_unstable = (props, ref)=>{\n    const { findAllFocusable } = useFocusFinders();\n    const { targetDocument } = useFluent();\n    const menuContext = useMenuContextSelectors();\n    const hasMenuContext = useHasParentContext(MenuContext);\n    const focusAttributes = useArrowNavigationGroup({\n        circular: true\n    });\n    if (usingPropsAndMenuContext(props, menuContext, hasMenuContext)) {\n        // TODO throw warnings in development safely\n        // eslint-disable-next-line no-console\n        console.warn('You are using both MenuList and Menu props, we recommend you to use Menu props when available');\n    }\n    const innerRef = React.useRef(null);\n    React.useEffect(()=>{\n        const element = innerRef.current;\n        if (hasMenuContext && targetDocument && element) {\n            const onTabsterMoveFocus = (e)=>{\n                const nextElement = e.detail.next;\n                if (nextElement && element.contains(targetDocument.activeElement) && !element.contains(nextElement)) {\n                    // Preventing Tabster from handling Tab press, useMenuPopover will handle it.\n                    e.preventDefault();\n                }\n            };\n            targetDocument.addEventListener(TabsterMoveFocusEventName, onTabsterMoveFocus);\n            return ()=>{\n                targetDocument.removeEventListener(TabsterMoveFocusEventName, onTabsterMoveFocus);\n            };\n        }\n    }, [\n        innerRef,\n        targetDocument,\n        hasMenuContext\n    ]);\n    const setFocusByFirstCharacter = React.useCallback((e, itemEl)=>{\n        // TODO use some kind of children registration to reduce dependency on DOM roles\n        const acceptedRoles = [\n            'menuitem',\n            'menuitemcheckbox',\n            'menuitemradio'\n        ];\n        if (!innerRef.current) {\n            return;\n        }\n        const menuItems = findAllFocusable(innerRef.current, (el)=>el.hasAttribute('role') && acceptedRoles.indexOf(el.getAttribute('role')) !== -1);\n        let startIndex = menuItems.indexOf(itemEl) + 1;\n        if (startIndex === menuItems.length) {\n            startIndex = 0;\n        }\n        const firstChars = menuItems.map((menuItem)=>{\n            var _menuItem_textContent;\n            return (_menuItem_textContent = menuItem.textContent) === null || _menuItem_textContent === void 0 ? void 0 : _menuItem_textContent.charAt(0).toLowerCase();\n        });\n        const char = e.key.toLowerCase();\n        const getIndexFirstChars = (start, firstChar)=>{\n            for(let i = start; i < firstChars.length; i++){\n                if (char === firstChars[i]) {\n                    return i;\n                }\n            }\n            return -1;\n        };\n        // Check remaining slots in the menu\n        let index = getIndexFirstChars(startIndex, char);\n        // If not found in remaining slots, check from beginning\n        if (index === -1) {\n            index = getIndexFirstChars(0, char);\n        }\n        // If match was found...\n        if (index > -1) {\n            menuItems[index].focus();\n        }\n    }, [\n        findAllFocusable\n    ]);\n    var _props_checkedValues;\n    const [checkedValues, setCheckedValues] = useControllableState({\n        state: (_props_checkedValues = props.checkedValues) !== null && _props_checkedValues !== void 0 ? _props_checkedValues : hasMenuContext ? menuContext.checkedValues : undefined,\n        defaultState: props.defaultCheckedValues,\n        initialState: {}\n    });\n    var _props_onCheckedValueChange;\n    const handleCheckedValueChange = (_props_onCheckedValueChange = props.onCheckedValueChange) !== null && _props_onCheckedValueChange !== void 0 ? _props_onCheckedValueChange : hasMenuContext ? menuContext.onCheckedValueChange : undefined;\n    const toggleCheckbox = useEventCallback((e, name, value, checked)=>{\n        const checkedItems = (checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues[name]) || [];\n        const newCheckedItems = [\n            ...checkedItems\n        ];\n        if (checked) {\n            newCheckedItems.splice(newCheckedItems.indexOf(value), 1);\n        } else {\n            newCheckedItems.push(value);\n        }\n        handleCheckedValueChange === null || handleCheckedValueChange === void 0 ? void 0 : handleCheckedValueChange(e, {\n            name,\n            checkedItems: newCheckedItems\n        });\n        setCheckedValues((s)=>({\n                ...s,\n                [name]: newCheckedItems\n            }));\n    });\n    const selectRadio = useEventCallback((e, name, value)=>{\n        const newCheckedItems = [\n            value\n        ];\n        setCheckedValues((s)=>({\n                ...s,\n                [name]: newCheckedItems\n            }));\n        handleCheckedValueChange === null || handleCheckedValueChange === void 0 ? void 0 : handleCheckedValueChange(e, {\n            name,\n            checkedItems: newCheckedItems\n        });\n    });\n    return {\n        components: {\n            root: 'div'\n        },\n        root: slot.always(getIntrinsicElementProps('div', {\n            // FIXME:\n            // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n            // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n            ref: useMergedRefs(ref, innerRef),\n            role: 'menu',\n            'aria-labelledby': menuContext.triggerId,\n            ...focusAttributes,\n            ...props\n        }), {\n            elementType: 'div'\n        }),\n        hasIcons: menuContext.hasIcons || false,\n        hasCheckmarks: menuContext.hasCheckmarks || false,\n        checkedValues,\n        hasMenuContext,\n        setFocusByFirstCharacter,\n        selectRadio,\n        toggleCheckbox\n    };\n};\n/**\n * Adds some sugar to fetching multiple context selector values\n */ const useMenuContextSelectors = ()=>{\n    const checkedValues = useMenuContext_unstable((context)=>context.checkedValues);\n    const onCheckedValueChange = useMenuContext_unstable((context)=>context.onCheckedValueChange);\n    const triggerId = useMenuContext_unstable((context)=>context.triggerId);\n    const hasIcons = useMenuContext_unstable((context)=>context.hasIcons);\n    const hasCheckmarks = useMenuContext_unstable((context)=>context.hasCheckmarks);\n    return {\n        checkedValues,\n        onCheckedValueChange,\n        triggerId,\n        hasIcons,\n        hasCheckmarks\n    };\n};\n/**\n * Helper function to detect if props and MenuContext values are both used\n */ const usingPropsAndMenuContext = (props, contextValue, hasMenuContext)=>{\n    let isUsingPropsAndContext = false;\n    for(const val in contextValue){\n        if (props[val]) {\n            isUsingPropsAndContext = true;\n        }\n    }\n    return hasMenuContext && isUsingPropsAndContext;\n};\n","  import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { MenuListProvider } from '../../contexts/menuListContext';\n/**\n * Function that renders the final JSX of the component\n */ export const renderMenuList_unstable = (state, contextValues)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsx(MenuListProvider, {\n        value: contextValues.menuList,\n        children: /*#__PURE__*/ _jsx(state.root, {})\n    });\n};\n","export function useMenuListContextValues_unstable(state) {\n    const { checkedValues, hasCheckmarks, hasIcons, selectRadio, setFocusByFirstCharacter, toggleCheckbox } = state;\n    // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n    const menuList = {\n        checkedValues,\n        hasCheckmarks,\n        hasIcons,\n        selectRadio,\n        setFocusByFirstCharacter,\n        toggleCheckbox\n    };\n    return {\n        menuList\n    };\n}\n","import { mergeClasses, __styles } from '@griffel/react';\nexport const menuListClassNames = {\n  root: 'fui-MenuList'\n};\nconst useStyles = /*#__PURE__*/__styles({\n  root: {\n    mc9l5x: \"f22iagw\",\n    Beiy3e4: \"f1vx9l62\",\n    i8kkvl: 0,\n    Belr9w4: 0,\n    rmohyg: \"f1t6b6ee\"\n  },\n  hasMenuContext: {\n    Bqenvij: \"f1l02sjl\"\n  }\n}, {\n  d: [\".f22iagw{display:flex;}\", \".f1vx9l62{flex-direction:column;}\", [\".f1t6b6ee{gap:2px;}\", {\n    p: -1\n  }], \".f1l02sjl{height:100%;}\"]\n});\n/**\n * Apply styling to the Menu slots based on the state\n */\nexport const useMenuListStyles_unstable = state => {\n  'use no memo';\n\n  const styles = useStyles();\n  state.root.className = mergeClasses(menuListClassNames.root, styles.root, state.hasMenuContext && styles.hasMenuContext, state.root.className);\n  return state;\n};","import * as React from 'react';\nimport { useMenuList_unstable } from './useMenuList';\nimport { renderMenuList_unstable } from './renderMenuList';\nimport { useMenuListContextValues_unstable } from './useMenuListContextValues';\nimport { useMenuListStyles_unstable } from './useMenuListStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Define a styled MenuList, using the `useMenuList_unstable` hook.\n */ export const MenuList = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useMenuList_unstable(props, ref);\n    const contextValues = useMenuListContextValues_unstable(state);\n    useMenuListStyles_unstable(state);\n    useCustomStyleHook_unstable('useMenuListStyles_unstable')(state);\n    return renderMenuList_unstable(state, contextValues);\n});\nMenuList.displayName = 'MenuList';\n","import * as React from 'react';\nimport { ArrowLeft, Tab, ArrowRight, Escape } from '@fluentui/keyboard-keys';\nimport { getIntrinsicElementProps, useEventCallback, useMergedRefs, slot, useTimeout } from '@fluentui/react-utilities';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { dispatchMenuEnterEvent } from '../../utils/index';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport { useRestoreFocusSource } from '@fluentui/react-tabster';\n/**\n * Create the state required to render MenuPopover.\n *\n * The returned state can be modified with hooks such as useMenuPopoverStyles_unstable,\n * before being passed to renderMenuPopover_unstable.\n *\n * @param props - props from this instance of MenuPopover\n * @param ref - reference to root HTMLElement of MenuPopover\n */ export const useMenuPopover_unstable = (props, ref)=>{\n    'use no memo';\n    const popoverRef = useMenuContext_unstable((context)=>context.menuPopoverRef);\n    const setOpen = useMenuContext_unstable((context)=>context.setOpen);\n    const open = useMenuContext_unstable((context)=>context.open);\n    const openOnHover = useMenuContext_unstable((context)=>context.openOnHover);\n    const triggerRef = useMenuContext_unstable((context)=>context.triggerRef);\n    const isSubmenu = useIsSubmenu();\n    const canDispatchCustomEventRef = React.useRef(true);\n    const restoreFocusSourceAttributes = useRestoreFocusSource();\n    const [setThrottleTimeout, clearThrottleTimeout] = useTimeout();\n    const { dir } = useFluent();\n    const CloseArrowKey = dir === 'ltr' ? ArrowLeft : ArrowRight;\n    // use DOM listener since react events propagate up the react tree\n    // no need to do `contains` logic as menus are all positioned in different portals\n    const mouseOverListenerCallbackRef = React.useCallback((node)=>{\n        if (node) {\n            // Dispatches the custom menu mouse enter event with throttling\n            // Needs to trigger on mouseover to support keyboard + mouse together\n            // i.e. keyboard opens submenus while cursor is still on the parent\n            node.addEventListener('mouseover', (e)=>{\n                if (canDispatchCustomEventRef.current) {\n                    canDispatchCustomEventRef.current = false;\n                    dispatchMenuEnterEvent(popoverRef.current, e);\n                    setThrottleTimeout(()=>canDispatchCustomEventRef.current = true, 250);\n                }\n            });\n        }\n    }, [\n        popoverRef,\n        setThrottleTimeout\n    ]);\n    React.useEffect(()=>{\n        ()=>clearThrottleTimeout();\n    }, [\n        clearThrottleTimeout\n    ]);\n    var _useMenuContext_unstable;\n    const inline = (_useMenuContext_unstable = useMenuContext_unstable((context)=>context.inline)) !== null && _useMenuContext_unstable !== void 0 ? _useMenuContext_unstable : false;\n    const mountNode = useMenuContext_unstable((context)=>context.mountNode);\n    const rootProps = slot.always(getIntrinsicElementProps('div', {\n        role: 'presentation',\n        ...restoreFocusSourceAttributes,\n        ...props,\n        // FIXME:\n        // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n        // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n        ref: useMergedRefs(ref, popoverRef, mouseOverListenerCallbackRef)\n    }), {\n        elementType: 'div'\n    });\n    const { onMouseEnter: onMouseEnterOriginal, onKeyDown: onKeyDownOriginal } = rootProps;\n    rootProps.onMouseEnter = useEventCallback((event)=>{\n        if (openOnHover || isSubmenu) {\n            setOpen(event, {\n                open: true,\n                keyboard: false,\n                type: 'menuPopoverMouseEnter',\n                event\n            });\n        }\n        onMouseEnterOriginal === null || onMouseEnterOriginal === void 0 ? void 0 : onMouseEnterOriginal(event);\n    });\n    rootProps.onKeyDown = useEventCallback((event)=>{\n        const key = event.key;\n        if (key === Escape || isSubmenu && key === CloseArrowKey) {\n            var _popoverRef_current;\n            if (open && ((_popoverRef_current = popoverRef.current) === null || _popoverRef_current === void 0 ? void 0 : _popoverRef_current.contains(event.target)) && !event.isDefaultPrevented()) {\n                setOpen(event, {\n                    open: false,\n                    keyboard: true,\n                    type: 'menuPopoverKeyDown',\n                    event\n                });\n                // stop propagation to avoid conflicting with other elements that listen for `Escape`\n                // e,g: Dialog, Popover, Menu and Tooltip\n                event.preventDefault();\n            }\n        }\n        if (key === Tab) {\n            setOpen(event, {\n                open: false,\n                keyboard: true,\n                type: 'menuPopoverKeyDown',\n                event\n            });\n            if (!isSubmenu) {\n                var _triggerRef_current;\n                (_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.focus();\n            }\n        }\n        onKeyDownOriginal === null || onKeyDownOriginal === void 0 ? void 0 : onKeyDownOriginal(event);\n    });\n    return {\n        inline,\n        mountNode,\n        components: {\n            root: 'div'\n        },\n        root: rootProps\n    };\n};\n","import { mergeClasses, __styles } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { createSlideStyles } from '@fluentui/react-positioning';\nexport const menuPopoverClassNames = {\n  root: 'fui-MenuPopover'\n};\nconst useStyles = /*#__PURE__*/__styles({\n  root: {\n    Beyfa6y: 0,\n    Bbmb7ep: 0,\n    Btl43ni: 0,\n    B7oj6ja: 0,\n    Dimara: \"ft85np5\",\n    De3pzq: \"fxugw4r\",\n    sj55zd: \"f19n0e5\",\n    B7ck84d: \"f1ewtqcl\",\n    Bf4jedk: \"fl8fusi\",\n    B2u0y6b: \"f1kaai3v\",\n    B68tc82: \"f1p9o1ba\",\n    a9b677: \"f1ahpp82\",\n    E5pizo: \"f1hg901r\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"fd3pd8h\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"f9ggezi\",\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fkhj508\",\n    Bhrd7zp: \"figsok6\",\n    Bg96gwp: \"f1i3iumi\",\n    B93otf3: \"f1hdglry\",\n    vin17d: \"fo1kyvf\",\n    Ezkn3b: \"fetxo7e\",\n    nyiy2g: \"f8x1vz1\",\n    swvrvq: \"f8g0anz\",\n    Bkovbt3: \"fezwn9i\",\n    hgjdhn: \"fz5efge\",\n    fsy9dk: \"f1ydixl4\",\n    B3ogreh: \"f8dgqj5\",\n    jv49x5: \"fnyfnr8\",\n    Bk7o48c: \"fgw77r4\",\n    Bv12yb3: \"ftje0s4\",\n    vcguit: \"fxes1gr\",\n    z0t1cu: \"fi19xcv\",\n    Bks05zx: \"f1mzajhk\",\n    yckwsp: \"fgez7cy\",\n    Bvtglag: \"fjp4h9y\"\n  }\n}, {\n  d: [[\".ft85np5{border-radius:var(--borderRadiusMedium);}\", {\n    p: -1\n  }], \".fxugw4r{background-color:var(--colorNeutralBackground1);}\", \".f19n0e5{color:var(--colorNeutralForeground1);}\", \".f1ewtqcl{box-sizing:border-box;}\", \".fl8fusi{min-width:138px;}\", \".f1kaai3v{max-width:300px;}\", \".f1p9o1ba{overflow-x:hidden;}\", \".f1ahpp82{width:max-content;}\", \".f1hg901r{box-shadow:var(--shadow16);}\", [\".fd3pd8h{padding:4px;}\", {\n    p: -1\n  }], [\".f9ggezi{border:1px solid var(--colorTransparentStroke);}\", {\n    p: -2\n  }], \".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fkhj508{font-size:var(--fontSizeBase300);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\", \".f1hdglry{animation-composition:replace,accumulate;}\", \".fo1kyvf{animation-duration:var(--durationSlower);}\", \".fetxo7e{animation-timing-function:var(--curveDecelerateMid);}\", \".f8x1vz1{--fui-positioning-slide-distance-x:0px;}\", \".f8g0anz{--fui-positioning-slide-distance-y:10px;}\", \".fezwn9i[data-popper-placement^=right]{--fui-positioning-slide-distance-x:-10px;}\", \".fz5efge[data-popper-placement^=right]{--fui-positioning-slide-distance-y:0px;}\", \".f1ydixl4[data-popper-placement^=bottom]{--fui-positioning-slide-distance-x:0px;}\", \".f8dgqj5[data-popper-placement^=bottom]{--fui-positioning-slide-distance-y:-10px;}\", \".fnyfnr8[data-popper-placement^=left]{--fui-positioning-slide-distance-x:10px;}\", \".fgw77r4[data-popper-placement^=left]{--fui-positioning-slide-distance-y:0px;}\", \".ftje0s4{animation-name:f5j8bii,f79suad;}\"],\n  k: [\"@keyframes f5j8bii{from{opacity:0;}to{opacity:1;}}\", \"@keyframes f79suad{from{transform:translate(var(--fui-positioning-slide-distance-x), var(--fui-positioning-slide-distance-y));}}\"],\n  m: [[\"@media (prefers-reduced-motion){.fxes1gr[data-popper-placement]{animation-composition:replace;}}\", {\n    m: \"(prefers-reduced-motion)\"\n  }], [\"@media (prefers-reduced-motion){.fi19xcv[data-popper-placement]{animation-duration:1ms;}}\", {\n    m: \"(prefers-reduced-motion)\"\n  }], [\"@media (prefers-reduced-motion){.f1mzajhk[data-popper-placement]{animation-name:f5j8bii;}}\", {\n    m: \"(prefers-reduced-motion)\"\n  }]],\n  t: [\"@supports not (animation-composition: accumulate){.fgez7cy[data-popper-placement]{animation-composition:replace;}}\", \"@supports not (animation-composition: accumulate){.fjp4h9y[data-popper-placement]{animation-name:f5j8bii;}}\"]\n});\n/**\n * Apply styling to the Menu slots based on the state\n */\nexport const useMenuPopoverStyles_unstable = state => {\n  'use no memo';\n\n  const styles = useStyles();\n  state.root.className = mergeClasses(menuPopoverClassNames.root, styles.root, state.root.className);\n  return state;\n};","  import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { Portal } from '@fluentui/react-portal';\n/**\n * Render the final JSX of MenuPopover\n */ export const renderMenuPopover_unstable = (state)=>{\n    assertSlots(state);\n    if (state.inline) {\n        return /*#__PURE__*/ _jsx(state.root, {});\n    }\n    return /*#__PURE__*/ _jsx(Portal, {\n        mountNode: state.mountNode,\n        children: /*#__PURE__*/ _jsx(state.root, {})\n    });\n};\n","import * as React from 'react';\nimport { useMenuPopover_unstable } from './useMenuPopover';\nimport { useMenuPopoverStyles_unstable } from './useMenuPopoverStyles.styles';\nimport { renderMenuPopover_unstable } from './renderMenuPopover';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Popover intended to wrap `MenuList` and adds styling and interaction support specific to menus\n */ export const MenuPopover = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useMenuPopover_unstable(props, ref);\n    useMenuPopoverStyles_unstable(state);\n    useCustomStyleHook_unstable('useMenuPopoverStyles_unstable')(state);\n    return renderMenuPopover_unstable(state);\n});\nMenuPopover.displayName = 'MenuPopover';\n","import * as React from 'react';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { ArrowRight, ArrowLeft, Escape, ArrowDown } from '@fluentui/keyboard-keys';\nimport { applyTriggerPropsToChildren, getTriggerChild, isHTMLElement, mergeCallbacks, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\n/**\n * Create the state required to render MenuTrigger.\n * Clones the only child component and adds necessary event handling behaviours to open a popup menu\n *\n * @param props - props from this instance of MenuTrigger\n */ export const useMenuTrigger_unstable = (props)=>{\n    const { children, disableButtonEnhancement = false } = props;\n    const triggerRef = useMenuContext_unstable((context)=>context.triggerRef);\n    const menuPopoverRef = useMenuContext_unstable((context)=>context.menuPopoverRef);\n    const setOpen = useMenuContext_unstable((context)=>context.setOpen);\n    const open = useMenuContext_unstable((context)=>context.open);\n    const triggerId = useMenuContext_unstable((context)=>context.triggerId);\n    const openOnHover = useMenuContext_unstable((context)=>context.openOnHover);\n    const openOnContext = useMenuContext_unstable((context)=>context.openOnContext);\n    const isSubmenu = useIsSubmenu();\n    const { findFirstFocusable } = useFocusFinders();\n    const focusFirst = React.useCallback(()=>{\n        const firstFocusable = findFirstFocusable(menuPopoverRef.current);\n        firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();\n    }, [\n        findFirstFocusable,\n        menuPopoverRef\n    ]);\n    const openedWithKeyboardRef = React.useRef(false);\n    const hasMouseMoved = React.useRef(false);\n    const { dir } = useFluent();\n    const OpenArrowKey = dir === 'ltr' ? ArrowRight : ArrowLeft;\n    const child = getTriggerChild(children);\n    const onContextMenu = (event)=>{\n        if (isTargetDisabled(event) || event.isDefaultPrevented()) {\n            return;\n        }\n        if (openOnContext) {\n            event.preventDefault();\n            setOpen(event, {\n                open: true,\n                keyboard: false,\n                type: 'menuTriggerContextMenu',\n                event\n            });\n        }\n    };\n    const onClick = (event)=>{\n        if (isTargetDisabled(event)) {\n            return;\n        }\n        if (!openOnContext) {\n            setOpen(event, {\n                open: !open,\n                keyboard: openedWithKeyboardRef.current,\n                type: 'menuTriggerClick',\n                event\n            });\n            openedWithKeyboardRef.current = false;\n        }\n    };\n    const onKeyDown = (event)=>{\n        if (isTargetDisabled(event)) {\n            return;\n        }\n        const key = event.key;\n        if (!openOnContext && (isSubmenu && key === OpenArrowKey || !isSubmenu && key === ArrowDown)) {\n            setOpen(event, {\n                open: true,\n                keyboard: true,\n                type: 'menuTriggerKeyDown',\n                event\n            });\n        }\n        if (key === Escape && !isSubmenu) {\n            setOpen(event, {\n                open: false,\n                keyboard: true,\n                type: 'menuTriggerKeyDown',\n                event\n            });\n        }\n        // if menu is already open, can't rely on effects to focus\n        if (open && key === OpenArrowKey && isSubmenu) {\n            focusFirst();\n        }\n    };\n    const onMouseEnter = (event)=>{\n        if (isTargetDisabled(event)) {\n            return;\n        }\n        if (openOnHover && hasMouseMoved.current) {\n            setOpen(event, {\n                open: true,\n                keyboard: false,\n                type: 'menuTriggerMouseEnter',\n                event\n            });\n        }\n    };\n    // Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience\n    // First time open the mouse using mousemove and then continue with mouseenter\n    // Only use once to determine that the user is using the mouse since it is an expensive event to handle\n    const onMouseMove = (event)=>{\n        if (isTargetDisabled(event)) {\n            return;\n        }\n        if (openOnHover && !hasMouseMoved.current) {\n            setOpen(event, {\n                open: true,\n                keyboard: false,\n                type: 'menuTriggerMouseMove',\n                event\n            });\n            hasMouseMoved.current = true;\n        }\n    };\n    const onMouseLeave = (event)=>{\n        if (isTargetDisabled(event)) {\n            return;\n        }\n        if (openOnHover) {\n            setOpen(event, {\n                open: false,\n                keyboard: false,\n                type: 'menuTriggerMouseLeave',\n                event\n            });\n        }\n    };\n    const contextMenuProps = {\n        id: triggerId,\n        ...child === null || child === void 0 ? void 0 : child.props,\n        ref: useMergedRefs(triggerRef, child === null || child === void 0 ? void 0 : child.ref),\n        onMouseEnter: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onMouseEnter, onMouseEnter)),\n        onMouseLeave: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onMouseLeave, onMouseLeave)),\n        onContextMenu: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onContextMenu, onContextMenu)),\n        onMouseMove: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onMouseMove, onMouseMove))\n    };\n    const triggerChildProps = {\n        'aria-haspopup': 'menu',\n        'aria-expanded': !open && !isSubmenu ? undefined : open,\n        ...contextMenuProps,\n        onClick: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onClick, onClick)),\n        onKeyDown: useEventCallback(mergeCallbacks(child === null || child === void 0 ? void 0 : child.props.onKeyDown, onKeyDown))\n    };\n    const ariaButtonTriggerChildProps = useARIAButtonProps((child === null || child === void 0 ? void 0 : child.type) === 'button' || (child === null || child === void 0 ? void 0 : child.type) === 'a' ? child.type : 'div', triggerChildProps);\n    return {\n        isSubmenu,\n        children: applyTriggerPropsToChildren(children, openOnContext ? contextMenuProps : disableButtonEnhancement ? triggerChildProps : ariaButtonTriggerChildProps)\n    };\n};\nconst isTargetDisabled = (event)=>{\n    const isDisabled = (el)=>el.hasAttribute('disabled') || el.hasAttribute('aria-disabled') && el.getAttribute('aria-disabled') === 'true';\n    if (isHTMLElement(event.target) && isDisabled(event.target)) {\n        return true;\n    }\n    return isHTMLElement(event.currentTarget) && isDisabled(event.currentTarget);\n};\n","import * as React from 'react';\nimport { MenuTriggerContextProvider } from '../../contexts/menuTriggerContext';\n/**\n * Render the final JSX of MenuTrigger\n *\n * Only renders children\n */ export const renderMenuTrigger_unstable = (state)=>{\n    return /*#__PURE__*/ React.createElement(MenuTriggerContextProvider, {\n        value: state.isSubmenu\n    }, state.children);\n};\n","import * as React from 'react';\nimport { useMenuTrigger_unstable } from './useMenuTrigger';\nimport { renderMenuTrigger_unstable } from './renderMenuTrigger';\n/**\n * Wraps a trigger element as an only child\n * and adds the necessary event handling to open a popup menu\n */ export const MenuTrigger = (props)=>{\n    const state = useMenuTrigger_unstable(props);\n    return renderMenuTrigger_unstable(state);\n};\nMenuTrigger.displayName = 'MenuTrigger';\n// type casting here is required to ensure internal type FluentTriggerComponent is not leaked\nMenuTrigger.isFluentTriggerComponent = true;\n","import * as React from 'react';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport { CircleFilled } from '@fluentui/react-icons';\nimport { Label } from '@fluentui/react-label';\nimport { useFocusWithin } from '@fluentui/react-tabster';\nimport { getPartitionedNativeProps, mergeCallbacks, useId, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render Switch.\n *\n * The returned state can be modified with hooks such as useSwitchStyles_unstable,\n * before being passed to renderSwitch_unstable.\n *\n * @param props - props from this instance of Switch\n * @param ref - reference to `<input>` element of Switch\n */ export const useSwitch_unstable = (props, ref)=>{\n    // Merge props from surrounding <Field>, if any\n    props = useFieldControlProps_unstable(props, {\n        supportsLabelFor: true,\n        supportsRequired: true\n    });\n    const { checked, defaultChecked, disabled, labelPosition = 'after', onChange, required } = props;\n    const nativeProps = getPartitionedNativeProps({\n        props,\n        primarySlotTagName: 'input',\n        excludedPropNames: [\n            'checked',\n            'defaultChecked',\n            'onChange'\n        ]\n    });\n    const id = useId('switch-', nativeProps.primary.id);\n    const root = slot.always(props.root, {\n        defaultProps: {\n            ref: useFocusWithin(),\n            ...nativeProps.root\n        },\n        elementType: 'div'\n    });\n    const indicator = slot.always(props.indicator, {\n        defaultProps: {\n            'aria-hidden': true,\n            children: /*#__PURE__*/ React.createElement(CircleFilled, null)\n        },\n        elementType: 'div'\n    });\n    const input = slot.always(props.input, {\n        defaultProps: {\n            checked,\n            defaultChecked,\n            id,\n            ref,\n            role: 'switch',\n            type: 'checkbox',\n            ...nativeProps.primary\n        },\n        elementType: 'input'\n    });\n    input.onChange = mergeCallbacks(input.onChange, (ev)=>onChange === null || onChange === void 0 ? void 0 : onChange(ev, {\n            checked: ev.currentTarget.checked\n        }));\n    const label = slot.optional(props.label, {\n        defaultProps: {\n            disabled,\n            htmlFor: id,\n            required,\n            size: 'medium'\n        },\n        elementType: Label\n    });\n    return {\n        labelPosition,\n        components: {\n            root: 'div',\n            indicator: 'div',\n            input: 'input',\n            label: Label\n        },\n        root,\n        indicator,\n        input,\n        label\n    };\n};\n","  import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render a Switch component by passing the state defined props to the appropriate slots.\n */ export const renderSwitch_unstable = (state)=>{\n    assertSlots(state);\n    const { labelPosition } = state;\n    return /*#__PURE__*/ _jsxs(state.root, {\n        children: [\n            /*#__PURE__*/ _jsx(state.input, {}),\n            labelPosition !== 'after' && state.label && /*#__PURE__*/ _jsx(state.label, {}),\n            /*#__PURE__*/ _jsx(state.indicator, {}),\n            labelPosition === 'after' && state.label && /*#__PURE__*/ _jsx(state.label, {})\n        ]\n    });\n};\n","import { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nimport { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nexport const switchClassNames = {\n  root: 'fui-Switch',\n  indicator: 'fui-Switch__indicator',\n  input: 'fui-Switch__input',\n  label: 'fui-Switch__label'\n};\n/**\n * @deprecated Use `switchClassNames.root` instead.\n */\nexport const switchClassName = switchClassNames.root;\n// Thumb and track sizes used by the component.\nconst spaceBetweenThumbAndTrack = 2;\nconst trackHeight = 20;\nconst trackWidth = 40;\nconst thumbSize = trackHeight - spaceBetweenThumbAndTrack;\nconst useRootBaseClassName = /*#__PURE__*/__resetStyles(\"r2i81i2\", \"rofhmb8\", {\n  r: [\".r2i81i2{align-items:flex-start;box-sizing:border-box;display:inline-flex;position:relative;}\", \".r2i81i2:focus{outline-style:none;}\", \".r2i81i2:focus-visible{outline-style:none;}\", \".r2i81i2[data-fui-focus-within]:focus-within{border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;}\", \".r2i81i2[data-fui-focus-within]:focus-within::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);right:calc(2px * -1);bottom:calc(2px * -1);left:calc(2px * -1);}\", \".rofhmb8{align-items:flex-start;box-sizing:border-box;display:inline-flex;position:relative;}\", \".rofhmb8:focus{outline-style:none;}\", \".rofhmb8:focus-visible{outline-style:none;}\", \".rofhmb8[data-fui-focus-within]:focus-within{border-top-color:transparent;border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;}\", \".rofhmb8[data-fui-focus-within]:focus-within::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);left:calc(2px * -1);bottom:calc(2px * -1);right:calc(2px * -1);}\"],\n  s: [\"@media (forced-colors: active){.r2i81i2[data-fui-focus-within]:focus-within::after{border-top-color:Highlight;border-right-color:Highlight;border-bottom-color:Highlight;border-left-color:Highlight;}}\", \"@media (forced-colors: active){.rofhmb8[data-fui-focus-within]:focus-within::after{border-top-color:Highlight;border-left-color:Highlight;border-bottom-color:Highlight;border-right-color:Highlight;}}\"]\n});\nconst useRootStyles = /*#__PURE__*/__styles({\n  vertical: {\n    Beiy3e4: \"f1vx9l62\"\n  }\n}, {\n  d: [\".f1vx9l62{flex-direction:column;}\"]\n});\nconst useIndicatorBaseClassName = /*#__PURE__*/__resetStyles(\"r1c3hft5\", null, {\n  r: [\".r1c3hft5{border-radius:var(--borderRadiusCircular);border:1px solid;line-height:0;box-sizing:border-box;fill:currentColor;flex-shrink:0;font-size:18px;height:20px;margin:var(--spacingVerticalS) var(--spacingHorizontalS);pointer-events:none;transition-duration:var(--durationNormal);transition-timing-function:var(--curveEasyEase);transition-property:background,border,color;width:40px;}\", \".r1c3hft5>*{transition-duration:var(--durationNormal);transition-timing-function:var(--curveEasyEase);transition-property:transform;}\"],\n  s: [\"@media screen and (prefers-reduced-motion: reduce){.r1c3hft5{transition-duration:0.01ms;}}\", \"@media (forced-colors: active){.r1c3hft5{color:CanvasText;}.r1c3hft5>i{forced-color-adjust:none;}}\", \"@media screen and (prefers-reduced-motion: reduce){.r1c3hft5>*{transition-duration:0.01ms;}}\"]\n});\nconst useIndicatorStyles = /*#__PURE__*/__styles({\n  labelAbove: {\n    B6of3ja: \"f1hu3pq6\"\n  }\n}, {\n  d: [\".f1hu3pq6{margin-top:0;}\"]\n});\nconst useInputBaseClassName = /*#__PURE__*/__resetStyles(\"rsji9ng\", \"r15xih98\", {\n  r: [\".rsji9ng{box-sizing:border-box;cursor:pointer;height:100%;margin:0;opacity:0;position:absolute;width:calc(40px + 2 * var(--spacingHorizontalS));}\", \".rsji9ng:checked~.fui-Switch__indicator>*{transform:translateX(20px);}\", \".rsji9ng:disabled{cursor:default;}\", \".rsji9ng:disabled~.fui-Switch__indicator{color:var(--colorNeutralForegroundDisabled);}\", \".rsji9ng:disabled~.fui-Switch__label{cursor:default;color:var(--colorNeutralForegroundDisabled);}\", \".rsji9ng:enabled:not(:checked)~.fui-Switch__indicator{color:var(--colorNeutralStrokeAccessible);border-color:var(--colorNeutralStrokeAccessible);}\", \".rsji9ng:enabled:not(:checked)~.fui-Switch__label{color:var(--colorNeutralForeground1);}\", \".rsji9ng:enabled:not(:checked):hover~.fui-Switch__indicator{color:var(--colorNeutralStrokeAccessibleHover);border-color:var(--colorNeutralStrokeAccessibleHover);}\", \".rsji9ng:enabled:not(:checked):hover:active~.fui-Switch__indicator{color:var(--colorNeutralStrokeAccessiblePressed);border-color:var(--colorNeutralStrokeAccessiblePressed);}\", \".rsji9ng:enabled:checked~.fui-Switch__indicator{background-color:var(--colorCompoundBrandBackground);color:var(--colorNeutralForegroundInverted);border-color:var(--colorTransparentStroke);}\", \".rsji9ng:enabled:checked:hover~.fui-Switch__indicator{background-color:var(--colorCompoundBrandBackgroundHover);border-color:var(--colorTransparentStrokeInteractive);}\", \".rsji9ng:enabled:checked:hover:active~.fui-Switch__indicator{background-color:var(--colorCompoundBrandBackgroundPressed);border-color:var(--colorTransparentStrokeInteractive);}\", \".rsji9ng:disabled:not(:checked)~.fui-Switch__indicator{border-color:var(--colorNeutralStrokeDisabled);}\", \".rsji9ng:disabled:checked~.fui-Switch__indicator{background-color:var(--colorNeutralBackgroundDisabled);border-color:var(--colorTransparentStrokeDisabled);}\", \".r15xih98{box-sizing:border-box;cursor:pointer;height:100%;margin:0;opacity:0;position:absolute;width:calc(40px + 2 * var(--spacingHorizontalS));}\", \".r15xih98:checked~.fui-Switch__indicator>*{transform:translateX(-20px);}\", \".r15xih98:disabled{cursor:default;}\", \".r15xih98:disabled~.fui-Switch__indicator{color:var(--colorNeutralForegroundDisabled);}\", \".r15xih98:disabled~.fui-Switch__label{cursor:default;color:var(--colorNeutralForegroundDisabled);}\", \".r15xih98:enabled:not(:checked)~.fui-Switch__indicator{color:var(--colorNeutralStrokeAccessible);border-color:var(--colorNeutralStrokeAccessible);}\", \".r15xih98:enabled:not(:checked)~.fui-Switch__label{color:var(--colorNeutralForeground1);}\", \".r15xih98:enabled:not(:checked):hover~.fui-Switch__indicator{color:var(--colorNeutralStrokeAccessibleHover);border-color:var(--colorNeutralStrokeAccessibleHover);}\", \".r15xih98:enabled:not(:checked):hover:active~.fui-Switch__indicator{color:var(--colorNeutralStrokeAccessiblePressed);border-color:var(--colorNeutralStrokeAccessiblePressed);}\", \".r15xih98:enabled:checked~.fui-Switch__indicator{background-color:var(--colorCompoundBrandBackground);color:var(--colorNeutralForegroundInverted);border-color:var(--colorTransparentStroke);}\", \".r15xih98:enabled:checked:hover~.fui-Switch__indicator{background-color:var(--colorCompoundBrandBackgroundHover);border-color:var(--colorTransparentStrokeInteractive);}\", \".r15xih98:enabled:checked:hover:active~.fui-Switch__indicator{background-color:var(--colorCompoundBrandBackgroundPressed);border-color:var(--colorTransparentStrokeInteractive);}\", \".r15xih98:disabled:not(:checked)~.fui-Switch__indicator{border-color:var(--colorNeutralStrokeDisabled);}\", \".r15xih98:disabled:checked~.fui-Switch__indicator{background-color:var(--colorNeutralBackgroundDisabled);border-color:var(--colorTransparentStrokeDisabled);}\"],\n  s: [\"@media (forced-colors: active){.rsji9ng:disabled~.fui-Switch__indicator{color:GrayText;border-color:GrayText;}.rsji9ng:disabled~.fui-Switch__label{color:GrayText;}.rsji9ng:hover{color:CanvasText;}.rsji9ng:hover:active{color:CanvasText;}.rsji9ng:enabled:checked:hover~.fui-Switch__indicator{background-color:Highlight;color:Canvas;}.rsji9ng:enabled:checked:hover:active~.fui-Switch__indicator{background-color:Highlight;color:Canvas;}.rsji9ng:enabled:checked~.fui-Switch__indicator{background-color:Highlight;color:Canvas;}}\", \"@media (forced-colors: active){.r15xih98:disabled~.fui-Switch__indicator{color:GrayText;border-color:GrayText;}.r15xih98:disabled~.fui-Switch__label{color:GrayText;}.r15xih98:hover{color:CanvasText;}.r15xih98:hover:active{color:CanvasText;}.r15xih98:enabled:checked:hover~.fui-Switch__indicator{background-color:Highlight;color:Canvas;}.r15xih98:enabled:checked:hover:active~.fui-Switch__indicator{background-color:Highlight;color:Canvas;}.r15xih98:enabled:checked~.fui-Switch__indicator{background-color:Highlight;color:Canvas;}}\"]\n});\nconst useInputStyles = /*#__PURE__*/__styles({\n  before: {\n    j35jbq: [\"f1e31b4d\", \"f1vgc2s3\"],\n    Bhzewxz: \"f15twtuk\"\n  },\n  after: {\n    oyh7mz: [\"f1vgc2s3\", \"f1e31b4d\"],\n    Bhzewxz: \"f15twtuk\"\n  },\n  above: {\n    B5kzvoi: \"f1yab3r1\",\n    Bqenvij: \"f1aar7gd\",\n    a9b677: \"fly5x3f\"\n  }\n}, {\n  d: [\".f1e31b4d{right:0;}\", \".f1vgc2s3{left:0;}\", \".f15twtuk{top:0;}\", \".f1yab3r1{bottom:0;}\", \".f1aar7gd{height:calc(20px + var(--spacingVerticalS));}\", \".fly5x3f{width:100%;}\"]\n});\n// Can't use makeResetStyles here because Label is a component that may itself use makeResetStyles.\nconst useLabelStyles = /*#__PURE__*/__styles({\n  base: {\n    Bceei9c: \"f1k6fduh\",\n    jrapky: \"f49ad5g\",\n    B6of3ja: \"f1xlvstr\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f1f5q0n8\"\n  },\n  above: {\n    z8tnut: \"f1ywm7hm\",\n    Byoj8tv: \"f14wxoun\",\n    a9b677: \"fly5x3f\"\n  },\n  after: {\n    uwmqm3: [\"fruq291\", \"f7x41pl\"]\n  },\n  before: {\n    z189sj: [\"f7x41pl\", \"fruq291\"]\n  }\n}, {\n  d: [\".f1k6fduh{cursor:pointer;}\", \".f49ad5g{margin-bottom:calc((20px - var(--lineHeightBase300)) / 2);}\", \".f1xlvstr{margin-top:calc((20px - var(--lineHeightBase300)) / 2);}\", [\".f1f5q0n8{padding:var(--spacingVerticalS) var(--spacingHorizontalS);}\", {\n    p: -1\n  }], \".f1ywm7hm{padding-top:var(--spacingVerticalXS);}\", \".f14wxoun{padding-bottom:var(--spacingVerticalXS);}\", \".fly5x3f{width:100%;}\", \".fruq291{padding-left:var(--spacingHorizontalXS);}\", \".f7x41pl{padding-right:var(--spacingHorizontalXS);}\"]\n});\n/**\n * Apply styling to the Switch slots based on the state\n */\nexport const useSwitchStyles_unstable = state => {\n  'use no memo';\n\n  const rootBaseClassName = useRootBaseClassName();\n  const rootStyles = useRootStyles();\n  const indicatorBaseClassName = useIndicatorBaseClassName();\n  const indicatorStyles = useIndicatorStyles();\n  const inputBaseClassName = useInputBaseClassName();\n  const inputStyles = useInputStyles();\n  const labelStyles = useLabelStyles();\n  const {\n    label,\n    labelPosition\n  } = state;\n  state.root.className = mergeClasses(switchClassNames.root, rootBaseClassName, labelPosition === 'above' && rootStyles.vertical, state.root.className);\n  state.indicator.className = mergeClasses(switchClassNames.indicator, indicatorBaseClassName, label && labelPosition === 'above' && indicatorStyles.labelAbove, state.indicator.className);\n  state.input.className = mergeClasses(switchClassNames.input, inputBaseClassName, label && inputStyles[labelPosition], state.input.className);\n  if (state.label) {\n    state.label.className = mergeClasses(switchClassNames.label, labelStyles.base, labelStyles[labelPosition], state.label.className);\n  }\n  return state;\n};","import * as React from 'react';\nimport { useSwitch_unstable } from './useSwitch';\nimport { renderSwitch_unstable } from './renderSwitch';\nimport { useSwitchStyles_unstable } from './useSwitchStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Switches enable users to trigger an option on or off through pressing the component.\n */ export const Switch = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useSwitch_unstable(props, ref);\n    useSwitchStyles_unstable(state);\n    useCustomStyleHook_unstable('useSwitchStyles_unstable')(state);\n    return renderSwitch_unstable(state);\n});\nSwitch.displayName = 'Switch';\n","import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nconst tabListContextDefaultValue = {\n    appearance: 'transparent',\n    reserveSelectedTabSpace: true,\n    selectTabOnFocus: false,\n    disabled: false,\n    selectedValue: undefined,\n    onRegister: ()=>{\n    /* noop */ },\n    onUnregister: ()=>{\n    /* noop */ },\n    onSelect: ()=>{\n    /* noop */ },\n    getRegisteredTabs: ()=>{\n        return {\n            registeredTabs: {}\n        };\n    },\n    size: 'medium',\n    vertical: false\n};\nexport const TabListContext = createContext(undefined);\nexport const TabListProvider = TabListContext.Provider;\nexport const useTabListContext_unstable = (selector)=>useContextSelector(TabListContext, (ctx = tabListContextDefaultValue)=>selector(ctx));\n","import * as React from 'react';\nimport { useTabsterAttributes } from '@fluentui/react-tabster';\nimport { getIntrinsicElementProps, mergeCallbacks, useEventCallback, useMergedRefs, slot, omit } from '@fluentui/react-utilities';\nimport { useTabListContext_unstable } from '../TabList/TabListContext';\n/**\n * Create the state required to render Tab.\n *\n * The returned state can be modified with hooks such as useTabStyles_unstable,\n * before being passed to renderTab_unstable.\n *\n * @param props - props from this instance of Tab\n * @param ref - reference to root HTMLElement of Tab\n */ export const useTab_unstable = (props, ref)=>{\n    const { content, disabled: tabDisabled = false, icon, onClick, onFocus, value } = props;\n    const appearance = useTabListContext_unstable((ctx)=>ctx.appearance);\n    const reserveSelectedTabSpace = useTabListContext_unstable((ctx)=>ctx.reserveSelectedTabSpace);\n    const selectTabOnFocus = useTabListContext_unstable((ctx)=>ctx.selectTabOnFocus);\n    const listDisabled = useTabListContext_unstable((ctx)=>ctx.disabled);\n    const selected = useTabListContext_unstable((ctx)=>ctx.selectedValue === value);\n    const onRegister = useTabListContext_unstable((ctx)=>ctx.onRegister);\n    const onUnregister = useTabListContext_unstable((ctx)=>ctx.onUnregister);\n    const onSelect = useTabListContext_unstable((ctx)=>ctx.onSelect);\n    const size = useTabListContext_unstable((ctx)=>ctx.size);\n    const vertical = useTabListContext_unstable((ctx)=>!!ctx.vertical);\n    const disabled = listDisabled || tabDisabled;\n    const innerRef = React.useRef(null);\n    const onSelectCallback = (event)=>onSelect(event, {\n            value\n        });\n    const onTabClick = useEventCallback(mergeCallbacks(onClick, onSelectCallback));\n    const onTabFocus = useEventCallback(mergeCallbacks(onFocus, onSelectCallback));\n    const focusProps = useTabsterAttributes({\n        focusable: {\n            isDefault: selected\n        }\n    });\n    React.useEffect(()=>{\n        onRegister({\n            value,\n            ref: innerRef\n        });\n        return ()=>{\n            onUnregister({\n                value,\n                ref: innerRef\n            });\n        };\n    }, [\n        onRegister,\n        onUnregister,\n        innerRef,\n        value\n    ]);\n    const iconSlot = slot.optional(icon, {\n        elementType: 'span'\n    });\n    const contentSlot = slot.always(content, {\n        defaultProps: {\n            children: props.children\n        },\n        elementType: 'span'\n    });\n    const contentReservedSpace = content && typeof content === 'object' ? omit(content, [\n        'ref'\n    ]) : content;\n    const iconOnly = Boolean((iconSlot === null || iconSlot === void 0 ? void 0 : iconSlot.children) && !contentSlot.children);\n    return {\n        components: {\n            root: 'button',\n            icon: 'span',\n            content: 'span',\n            contentReservedSpace: 'span'\n        },\n        root: slot.always(getIntrinsicElementProps('button', {\n            // FIXME:\n            // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLButtonElement`\n            // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n            ref: useMergedRefs(ref, innerRef),\n            role: 'tab',\n            type: 'button',\n            // aria-selected undefined indicates it is not selectable\n            // according to https://www.w3.org/TR/wai-aria-1.1/#aria-selected\n            'aria-selected': disabled ? undefined : `${selected}`,\n            ...focusProps,\n            ...props,\n            disabled,\n            onClick: onTabClick,\n            onFocus: selectTabOnFocus ? onTabFocus : onFocus\n        }), {\n            elementType: 'button'\n        }),\n        icon: iconSlot,\n        iconOnly,\n        content: contentSlot,\n        contentReservedSpace: slot.optional(contentReservedSpace, {\n            renderByDefault: !selected && !iconOnly && reserveSelectedTabSpace,\n            defaultProps: {\n                children: props.children\n            },\n            elementType: 'span'\n        }),\n        appearance,\n        disabled,\n        selected,\n        size,\n        value,\n        vertical\n    };\n};\n","  import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of Tab\n */ export const renderTab_unstable = (state)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsxs(state.root, {\n        children: [\n            state.icon && /*#__PURE__*/ _jsx(state.icon, {}),\n            !state.iconOnly && /*#__PURE__*/ _jsx(state.content, {}),\n            state.contentReservedSpace && /*#__PURE__*/ _jsx(state.contentReservedSpace, {})\n        ]\n    });\n};\n","import * as React from 'react';\nimport { __styles, mergeClasses } from '@griffel/react';\nimport { useTabListContext_unstable } from '../TabList/TabListContext';\nimport { tokens } from '@fluentui/react-theme';\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst tabIndicatorCssVars_unstable = {\n  offsetVar: '--fui-Tab__indicator--offset',\n  scaleVar: '--fui-Tab__indicator--scale'\n};\nconst useActiveIndicatorStyles = /*#__PURE__*/__styles({\n  base: {\n    B68tc82: 0,\n    Bmxbyg5: 0,\n    Bpg54ce: \"f1gl81tg\"\n  },\n  animated: {\n    Ba2ppi3: \"fhwpy7i\",\n    F2fol1: \"f6zz20j\",\n    B1dyfl9: \"f1ai4sc1\",\n    B0vmy72: \"f9qxlq5\",\n    u9bimw: \"f1aql376\"\n  },\n  horizontal: {\n    sjv3b2: [\"fug4aj8\", \"f1i5xzg7\"],\n    b1kco5: \"f1q7ujh\"\n  },\n  vertical: {\n    sjv3b2: \"f1hqboyk\",\n    b1kco5: \"f1dxupa6\"\n  }\n}, {\n  d: [[\".f1gl81tg{overflow:visible;}\", {\n    p: -1\n  }], \".fhwpy7i::after{transition-property:transform;}\", \".f6zz20j::after{transition-duration:var(--durationSlow);}\", \".f1ai4sc1::after{transition-timing-function:var(--curveDecelerateMax);}\", \".fug4aj8::after{transform-origin:left;}\", \".f1i5xzg7::after{transform-origin:right;}\", \".f1q7ujh::after{transform:translateX(var(--fui-Tab__indicator--offset)) scaleX(var(--fui-Tab__indicator--scale));}\", \".f1hqboyk::after{transform-origin:top;}\", \".f1dxupa6::after{transform:translateY(var(--fui-Tab__indicator--offset)) scaleY(var(--fui-Tab__indicator--scale));}\"],\n  m: [[\"@media (prefers-reduced-motion: reduce){.f9qxlq5::after{transition-property:none;}}\", {\n    m: \"(prefers-reduced-motion: reduce)\"\n  }], [\"@media (prefers-reduced-motion: reduce){.f1aql376::after{transition-duration:0.01ms;}}\", {\n    m: \"(prefers-reduced-motion: reduce)\"\n  }]]\n});\nconst calculateTabRect = element => {\n  if (element) {\n    var _element_parentElement;\n    const parentRect = ((_element_parentElement = element.parentElement) === null || _element_parentElement === void 0 ? void 0 : _element_parentElement.getBoundingClientRect()) || {\n      x: 0,\n      y: 0,\n      width: 0,\n      height: 0\n    };\n    const tabRect = element.getBoundingClientRect();\n    return {\n      x: tabRect.x - parentRect.x,\n      y: tabRect.y - parentRect.y,\n      width: tabRect.width,\n      height: tabRect.height\n    };\n  }\n  return undefined;\n};\nconst getRegisteredTabRect = (registeredTabs, value) => {\n  var _registeredTabs_JSON_stringify;\n  const element = isValueDefined(value) ? (_registeredTabs_JSON_stringify = registeredTabs[JSON.stringify(value)]) === null || _registeredTabs_JSON_stringify === void 0 ? void 0 : _registeredTabs_JSON_stringify.ref.current : undefined;\n  return element ? calculateTabRect(element) : undefined;\n};\n// eslint-disable-next-line eqeqeq\nconst isValueDefined = value => value != null;\n/**\n * Adds additional styling to the active tab selection indicator to create a sliding animation.\n */\nexport const useTabAnimatedIndicatorStyles_unstable = state => {\n  const {\n    disabled,\n    selected,\n    vertical\n  } = state;\n  const activeIndicatorStyles = useActiveIndicatorStyles();\n  const [lastAnimatedFrom, setLastAnimatedFrom] = React.useState();\n  const [animationValues, setAnimationValues] = React.useState({\n    offset: 0,\n    scale: 1\n  });\n  const getRegisteredTabs = useTabListContext_unstable(ctx => ctx.getRegisteredTabs);\n  React.useEffect(() => {\n    if (isValueDefined(lastAnimatedFrom)) {\n      setAnimationValues({\n        offset: 0,\n        scale: 1\n      });\n    }\n  }, [lastAnimatedFrom]);\n  if (selected) {\n    const {\n      previousSelectedValue,\n      selectedValue,\n      registeredTabs\n    } = getRegisteredTabs();\n    if (isValueDefined(previousSelectedValue) && lastAnimatedFrom !== previousSelectedValue) {\n      const previousSelectedTabRect = getRegisteredTabRect(registeredTabs, previousSelectedValue);\n      const selectedTabRect = getRegisteredTabRect(registeredTabs, selectedValue);\n      if (selectedTabRect && previousSelectedTabRect) {\n        const offset = vertical ? previousSelectedTabRect.y - selectedTabRect.y : previousSelectedTabRect.x - selectedTabRect.x;\n        const scale = vertical ? previousSelectedTabRect.height / selectedTabRect.height : previousSelectedTabRect.width / selectedTabRect.width;\n        setAnimationValues({\n          offset,\n          scale\n        });\n        setLastAnimatedFrom(previousSelectedValue);\n      }\n    }\n  } else if (isValueDefined(lastAnimatedFrom)) {\n    // need to clear the last animated from so that if this tab is selected again\n    // from the same previous tab as last time, that animation still happens.\n    setLastAnimatedFrom(undefined);\n  }\n  // do not apply any animation if the tab is disabled\n  if (disabled) {\n    return state;\n  }\n  // the animation should only happen as the selection indicator returns to its\n  // original position and not when set at the previous tabs position.\n  const animating = animationValues.offset === 0 && animationValues.scale === 1;\n  state.root.className = mergeClasses(state.root.className, selected && activeIndicatorStyles.base, selected && animating && activeIndicatorStyles.animated, selected && (vertical ? activeIndicatorStyles.vertical : activeIndicatorStyles.horizontal));\n  const rootCssVars = {\n    [tabIndicatorCssVars_unstable.offsetVar]: `${animationValues.offset}px`,\n    [tabIndicatorCssVars_unstable.scaleVar]: `${animationValues.scale}`\n  };\n  state.root.style = {\n    ...rootCssVars,\n    ...state.root.style\n  };\n  return state;\n};","import { __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { useTabAnimatedIndicatorStyles_unstable } from './useTabAnimatedIndicator.styles';\nexport const tabClassNames = {\n  root: 'fui-Tab',\n  icon: 'fui-Tab__icon',\n  content: 'fui-Tab__content'\n};\nconst reservedSpaceClassNames = {\n  content: 'fui-Tab__content--reserved-space'\n};\n// These should match the constants defined in @fluentui/react-icons\n// This package avoids taking a dependency on the icons package for only the constants.\nconst iconClassNames = {\n  filled: 'fui-Icon-filled',\n  regular: 'fui-Icon-regular'\n};\n/**\n * Styles for the root slot\n */\nconst useRootStyles = /*#__PURE__*/__styles({\n  root: {\n    Bt984gj: \"f122n59\",\n    mc9l5x: \"f13qh94s\",\n    Bnnss6s: \"fi64zpg\",\n    Bxotwcr: \"f1u07yai\",\n    Budl1dq: \"frn2hmy\",\n    wkccdc: \"f1olsevy\",\n    oeaueh: \"f1s6fcnf\",\n    qhf8xq: \"f10pi13n\"\n  },\n  button: {\n    Bt984gj: \"f122n59\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"f3bhgqh\",\n    Beyfa6y: 0,\n    Bbmb7ep: 0,\n    Btl43ni: 0,\n    B7oj6ja: 0,\n    Dimara: \"ft85np5\",\n    Bceei9c: \"f1k6fduh\",\n    mc9l5x: \"f13qh94s\",\n    Bnnss6s: \"fi64zpg\",\n    Bxotwcr: \"f1u07yai\",\n    Budl1dq: \"frn2hmy\",\n    wkccdc: \"f1olsevy\",\n    Bahqtrf: \"fk6fouc\",\n    Bg96gwp: \"f1i3iumi\",\n    oeaueh: \"f1s6fcnf\",\n    qhf8xq: \"f10pi13n\",\n    B68tc82: 0,\n    Bmxbyg5: 0,\n    Bpg54ce: \"f1a3p1vp\",\n    B9bfxx9: \"f1cxpek8\"\n  },\n  horizontal: {\n    Brf1p80: \"f4d9j23\"\n  },\n  vertical: {\n    Brf1p80: \"f1s9ku6b\"\n  },\n  smallHorizontal: {\n    i8kkvl: \"f14mj54c\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f1wmopi4\"\n  },\n  smallVertical: {\n    i8kkvl: \"f14mj54c\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f12or63q\"\n  },\n  mediumHorizontal: {\n    i8kkvl: \"f1rjii52\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f1w08f2p\"\n  },\n  mediumVertical: {\n    i8kkvl: \"f1rjii52\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"fymxs25\"\n  },\n  largeHorizontal: {\n    i8kkvl: \"f1rjii52\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f1ssfvub\"\n  },\n  largeVertical: {\n    i8kkvl: \"f1rjii52\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"fwkd1rq\"\n  },\n  transparent: {\n    De3pzq: \"f1c21dwh\",\n    B95qlz1: \"f9rvdkv\",\n    B7xitij: \"f1051ucx\",\n    Bptxc3x: \"fmmjozx\",\n    Bwqhzpy: \"fqhzt5g\",\n    iyk698: \"f7l5cgy\",\n    cl4aha: \"fpkze5g\",\n    B0q3jbp: \"f1iywnoi\",\n    Be9ayug: \"f9n45c4\"\n  },\n  subtle: {\n    De3pzq: \"fhovq9v\",\n    B95qlz1: \"f1bifk9c\",\n    B7xitij: \"fo6hitd\",\n    Bptxc3x: \"fmmjozx\",\n    Bwqhzpy: \"fqhzt5g\",\n    iyk698: \"f7l5cgy\",\n    cl4aha: \"fpkze5g\",\n    B0q3jbp: \"f1iywnoi\",\n    Be9ayug: \"f9n45c4\"\n  },\n  disabledCursor: {\n    Bceei9c: \"fdrzuqr\"\n  },\n  disabled: {\n    De3pzq: \"f1c21dwh\",\n    Bptxc3x: \"fato7r6\",\n    cl4aha: \"fao1bnu\"\n  },\n  selected: {\n    Bptxc3x: \"f1cadz5z\",\n    Bwqhzpy: \"fwhdxxj\",\n    iyk698: \"fintccb\",\n    cl4aha: \"ffplhdr\",\n    B0q3jbp: \"fjo17wb\",\n    Be9ayug: \"f148789c\"\n  }\n}, {\n  d: [\".f122n59{align-items:center;}\", \".f13qh94s{display:grid;}\", \".fi64zpg{flex-shrink:0;}\", \".f1u07yai{grid-auto-flow:column;}\", \".frn2hmy{grid-template-columns:auto;}\", \".f1olsevy{grid-template-rows:auto;}\", \".f1s6fcnf{outline-style:none;}\", \".f10pi13n{position:relative;}\", [\".f3bhgqh{border:none;}\", {\n    p: -2\n  }], [\".ft85np5{border-radius:var(--borderRadiusMedium);}\", {\n    p: -1\n  }], \".f1k6fduh{cursor:pointer;}\", \".fk6fouc{font-family:var(--fontFamilyBase);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\", [\".f1a3p1vp{overflow:hidden;}\", {\n    p: -1\n  }], \".f1cxpek8{text-transform:none;}\", \".f4d9j23{justify-content:center;}\", \".f1s9ku6b{justify-content:start;}\", \".f14mj54c{column-gap:var(--spacingHorizontalXXS);}\", [\".f1wmopi4{padding:var(--spacingVerticalSNudge) var(--spacingHorizontalSNudge);}\", {\n    p: -1\n  }], [\".f12or63q{padding:var(--spacingVerticalXXS) var(--spacingHorizontalSNudge);}\", {\n    p: -1\n  }], \".f1rjii52{column-gap:var(--spacingHorizontalSNudge);}\", [\".f1w08f2p{padding:var(--spacingVerticalM) var(--spacingHorizontalMNudge);}\", {\n    p: -1\n  }], [\".fymxs25{padding:var(--spacingVerticalSNudge) var(--spacingHorizontalMNudge);}\", {\n    p: -1\n  }], [\".f1ssfvub{padding:var(--spacingVerticalL) var(--spacingHorizontalMNudge);}\", {\n    p: -1\n  }], [\".fwkd1rq{padding:var(--spacingVerticalS) var(--spacingHorizontalMNudge);}\", {\n    p: -1\n  }], \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", \".f9rvdkv:enabled:hover{background-color:var(--colorTransparentBackgroundHover);}\", \".f1051ucx:enabled:active{background-color:var(--colorTransparentBackgroundPressed);}\", \".fmmjozx .fui-Tab__icon{color:var(--colorNeutralForeground2);}\", \".fqhzt5g:enabled:hover .fui-Tab__icon{color:var(--colorNeutralForeground2Hover);}\", \".f7l5cgy:enabled:active .fui-Tab__icon{color:var(--colorNeutralForeground2Pressed);}\", \".fpkze5g .fui-Tab__content{color:var(--colorNeutralForeground2);}\", \".f1iywnoi:enabled:hover .fui-Tab__content{color:var(--colorNeutralForeground2Hover);}\", \".f9n45c4:enabled:active .fui-Tab__content{color:var(--colorNeutralForeground2Pressed);}\", \".fhovq9v{background-color:var(--colorSubtleBackground);}\", \".f1bifk9c:enabled:hover{background-color:var(--colorSubtleBackgroundHover);}\", \".fo6hitd:enabled:active{background-color:var(--colorSubtleBackgroundPressed);}\", \".fdrzuqr{cursor:not-allowed;}\", \".fato7r6 .fui-Tab__icon{color:var(--colorNeutralForegroundDisabled);}\", \".fao1bnu .fui-Tab__content{color:var(--colorNeutralForegroundDisabled);}\", \".f1cadz5z .fui-Tab__icon{color:var(--colorCompoundBrandForeground1);}\", \".fwhdxxj:enabled:hover .fui-Tab__icon{color:var(--colorCompoundBrandForeground1Hover);}\", \".fintccb:enabled:active .fui-Tab__icon{color:var(--colorCompoundBrandForeground1Pressed);}\", \".ffplhdr .fui-Tab__content{color:var(--colorNeutralForeground1);}\", \".fjo17wb:enabled:hover .fui-Tab__content{color:var(--colorNeutralForeground1Hover);}\", \".f148789c:enabled:active .fui-Tab__content{color:var(--colorNeutralForeground1Pressed);}\"]\n});\nconst useCircularAppearanceStyles = /*#__PURE__*/__styles({\n  base: {\n    Beyfa6y: 0,\n    Bbmb7ep: 0,\n    Btl43ni: 0,\n    B7oj6ja: 0,\n    Dimara: \"f44lkw9\",\n    Bptxc3x: \"ftorr8m\",\n    cl4aha: \"f16lqpmv\"\n  },\n  medium: {\n    Dbcxam: 0,\n    rjzwhg: 0,\n    Bblux5w: \"f1lj1ynd\"\n  },\n  subtle: {\n    De3pzq: \"fhovq9v\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"fp7rvkm\",\n    sj55zd: \"fkfq4zb\",\n    B95qlz1: \"f1bifk9c\",\n    Eo63ln: 0,\n    r9osk6: 0,\n    Itrz8y: 0,\n    zeg6vx: 0,\n    l65xgk: 0,\n    Bw4olcx: 0,\n    Folb0i: 0,\n    I2h8y4: 0,\n    Bgxgoyi: 0,\n    Bvlkotb: 0,\n    Fwyncl: 0,\n    Byh5edv: 0,\n    Becqvjq: 0,\n    uumbiq: 0,\n    B73q3dg: 0,\n    Bblwbaf: 0,\n    B0ezav: \"ft57sj0\",\n    r4wkhp: \"f1fcoy83\",\n    B7xitij: \"fo6hitd\",\n    d3wsvi: 0,\n    Hdqn7s: 0,\n    zu5y1p: 0,\n    owqphb: 0,\n    g9c53k: 0,\n    Btmu08z: 0,\n    Bthxvy6: 0,\n    gluvuq: 0,\n    tb88gp: 0,\n    wns6jk: 0,\n    kdfdk4: 0,\n    Bbw008l: 0,\n    Bayi1ib: 0,\n    B1kkfu3: 0,\n    J1oqyp: 0,\n    kem6az: 0,\n    goa3yj: \"fhn220o\",\n    p743kt: \"f15qf7sh\"\n  },\n  subtleSelected: {\n    De3pzq: \"f16xkysk\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"f1c2pc3t\",\n    sj55zd: \"faj9fo0\",\n    B95qlz1: \"fsm7zmf\",\n    Eo63ln: 0,\n    r9osk6: 0,\n    Itrz8y: 0,\n    zeg6vx: 0,\n    l65xgk: 0,\n    Bw4olcx: 0,\n    Folb0i: 0,\n    I2h8y4: 0,\n    Bgxgoyi: 0,\n    Bvlkotb: 0,\n    Fwyncl: 0,\n    Byh5edv: 0,\n    Becqvjq: 0,\n    uumbiq: 0,\n    B73q3dg: 0,\n    Bblwbaf: 0,\n    B0ezav: \"f1wo0sfq\",\n    r4wkhp: \"f1afuynh\",\n    B7xitij: \"f94ddyl\",\n    d3wsvi: 0,\n    Hdqn7s: 0,\n    zu5y1p: 0,\n    owqphb: 0,\n    g9c53k: 0,\n    Btmu08z: 0,\n    Bthxvy6: 0,\n    gluvuq: 0,\n    tb88gp: 0,\n    wns6jk: 0,\n    kdfdk4: 0,\n    Bbw008l: 0,\n    Bayi1ib: 0,\n    B1kkfu3: 0,\n    J1oqyp: 0,\n    kem6az: 0,\n    goa3yj: \"fmle6oo\",\n    p743kt: \"f1d3itm4\"\n  },\n  subtleDisabled: {\n    De3pzq: \"fhovq9v\",\n    sj55zd: \"f1s2aq7o\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"fp7rvkm\"\n  },\n  subtleDisabledSelected: {\n    De3pzq: \"f1bg9a2p\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"fegtqic\",\n    sj55zd: \"f1s2aq7o\"\n  },\n  filled: {\n    De3pzq: \"f16xq7d1\",\n    sj55zd: \"fkfq4zb\",\n    B95qlz1: \"fwwxidx\",\n    r4wkhp: \"f1fcoy83\",\n    B7xitij: \"f14i52sd\",\n    p743kt: \"f15qf7sh\"\n  },\n  filledSelected: {\n    De3pzq: \"ffp7eso\",\n    sj55zd: \"f1phragk\",\n    B95qlz1: \"f1lm9dni\",\n    r4wkhp: \"f1mn5ei1\",\n    B7xitij: \"f1g6ncd0\",\n    p743kt: \"fl71aob\"\n  },\n  filledDisabled: {\n    De3pzq: \"f1bg9a2p\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"fp7rvkm\",\n    sj55zd: \"f1s2aq7o\"\n  },\n  filledDisabledSelected: {\n    De3pzq: \"f1bg9a2p\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"fegtqic\",\n    sj55zd: \"f1s2aq7o\"\n  }\n}, {\n  d: [[\".f44lkw9{border-radius:var(--borderRadiusCircular);}\", {\n    p: -1\n  }], \".ftorr8m .fui-Tab__icon{color:inherit;}\", \".f16lqpmv .fui-Tab__content{color:inherit;}\", [\".f1lj1ynd{padding-block:var(--spacingVerticalSNudge);}\", {\n    p: -1\n  }], \".fhovq9v{background-color:var(--colorSubtleBackground);}\", [\".fp7rvkm{border:solid var(--strokeWidthThin) var(--colorTransparentStroke);}\", {\n    p: -2\n  }], \".fkfq4zb{color:var(--colorNeutralForeground2);}\", \".f1bifk9c:enabled:hover{background-color:var(--colorSubtleBackgroundHover);}\", [\".ft57sj0:enabled:hover{border:solid var(--strokeWidthThin) var(--colorNeutralStroke1Hover);}\", {\n    p: -2\n  }], \".f1fcoy83:enabled:hover{color:var(--colorNeutralForeground2Hover);}\", \".fo6hitd:enabled:active{background-color:var(--colorSubtleBackgroundPressed);}\", [\".fhn220o:enabled:active{border:solid var(--strokeWidthThin) var(--colorNeutralStroke1Pressed);}\", {\n    p: -2\n  }], \".f15qf7sh:enabled:active{color:var(--colorNeutralForeground2Pressed);}\", \".f16xkysk{background-color:var(--colorBrandBackground2);}\", [\".f1c2pc3t{border:solid var(--strokeWidthThin) var(--colorCompoundBrandStroke);}\", {\n    p: -2\n  }], \".faj9fo0{color:var(--colorBrandForeground2);}\", \".fsm7zmf:enabled:hover{background-color:var(--colorBrandBackground2Hover);}\", [\".f1wo0sfq:enabled:hover{border:solid var(--strokeWidthThin) var(--colorCompoundBrandStrokeHover);}\", {\n    p: -2\n  }], \".f1afuynh:enabled:hover{color:var(--colorBrandForeground2Hover);}\", \".f94ddyl:enabled:active{background-color:var(--colorBrandBackground2Pressed);}\", [\".fmle6oo:enabled:active{border:solid var(--strokeWidthThin) var(--colorCompoundBrandStrokePressed);}\", {\n    p: -2\n  }], \".f1d3itm4:enabled:active{color:var(--colorBrandForeground2Pressed);}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", [\".fp7rvkm{border:solid var(--strokeWidthThin) var(--colorTransparentStroke);}\", {\n    p: -2\n  }], \".f1bg9a2p{background-color:var(--colorNeutralBackgroundDisabled);}\", [\".fegtqic{border:solid var(--strokeWidthThin) var(--colorNeutralStrokeDisabled);}\", {\n    p: -2\n  }], \".f16xq7d1{background-color:var(--colorNeutralBackground3);}\", \".fwwxidx:enabled:hover{background-color:var(--colorNeutralBackground3Hover);}\", \".f14i52sd:enabled:active{background-color:var(--colorNeutralBackground3Pressed);}\", \".ffp7eso{background-color:var(--colorBrandBackground);}\", \".f1phragk{color:var(--colorNeutralForegroundOnBrand);}\", \".f1lm9dni:enabled:hover{background-color:var(--colorBrandBackgroundHover);}\", \".f1mn5ei1:enabled:hover{color:var(--colorNeutralForegroundOnBrand);}\", \".f1g6ncd0:enabled:active{background-color:var(--colorBrandBackgroundPressed);}\", \".fl71aob:enabled:active{color:var(--colorNeutralForegroundOnBrand);}\", [\".fp7rvkm{border:solid var(--strokeWidthThin) var(--colorTransparentStroke);}\", {\n    p: -2\n  }], [\".fegtqic{border:solid var(--strokeWidthThin) var(--colorNeutralStrokeDisabled);}\", {\n    p: -2\n  }]]\n});\n/**\n * Focus styles for the root slot\n */\nconst useFocusStyles = /*#__PURE__*/__styles({\n  base: {\n    B8q5s1w: \"f8hki3x\",\n    Bci5o5g: [\"f1d2448m\", \"ffh67wi\"],\n    n8qw10: \"f1bjia2o\",\n    Bdrgwmp: [\"ffh67wi\", \"f1d2448m\"],\n    Bn4voq9: \"f1p7hgxw\",\n    Bfpq7zp: \"f1way5bb\",\n    g9k6zt: \"f9znhxp\",\n    j6ew2k: [\"fqa318h\", \"fqa318h\"],\n    Bhxq17a: \"f1vjpng2\"\n  },\n  circular: {\n    B8q5s1w: \"f8hki3x\",\n    Bci5o5g: [\"f1d2448m\", \"ffh67wi\"],\n    n8qw10: \"f1bjia2o\",\n    Bdrgwmp: [\"ffh67wi\", \"f1d2448m\"],\n    Bn4voq9: \"f1p7hgxw\",\n    Bfpq7zp: \"f1way5bb\",\n    g9k6zt: \"f9znhxp\",\n    j6ew2k: [\"fzgyhws\", \"fqxug60\"],\n    Bhxq17a: \"f1vjpng2\"\n  }\n}, {\n  d: [\".f8hki3x[data-fui-focus-visible]{border-top-color:transparent;}\", \".f1d2448m[data-fui-focus-visible]{border-right-color:transparent;}\", \".ffh67wi[data-fui-focus-visible]{border-left-color:transparent;}\", \".f1bjia2o[data-fui-focus-visible]{border-bottom-color:transparent;}\", \".f1p7hgxw[data-fui-focus-visible]{outline-width:var(--strokeWidthThick);}\", \".f1way5bb[data-fui-focus-visible]{outline-color:transparent;}\", \".f9znhxp[data-fui-focus-visible]{outline-style:solid;}\", \".fqa318h[data-fui-focus-visible]{box-shadow:var(--shadow4),0 0 0 var(--strokeWidthThick) var(--colorStrokeFocus2);}\", \".f1vjpng2[data-fui-focus-visible]{z-index:1;}\", \".fzgyhws[data-fui-focus-visible]{box-shadow:var(--shadow4),0 0 0 var(--strokeWidthThick) var(--colorStrokeFocus2),0 0 0 var(--strokeWidthThin) var(--colorNeutralStrokeOnBrand) inset;}\", \".fqxug60[data-fui-focus-visible]{box-shadow:var(--shadow4),0 0 0 var(--strokeWidthThick) var(--colorStrokeFocus2),0 0 0 var(--strokeWidthThin) var(--colorNeutralStrokeOnBrand) inset;}\"]\n});\n/** Indicator styles for when pending selection */\nconst usePendingIndicatorStyles = /*#__PURE__*/__styles({\n  base: {\n    az7l2e: \"fhw179n\",\n    vqofr: 0,\n    Bv4n3vi: 0,\n    Bgqb9hq: 0,\n    B0uxbk8: 0,\n    Bf3jju6: \"fg9j5n4\",\n    amg5m6: \"f1kmhr4c\",\n    zkfqfm: \"fl1ydde\",\n    Bkydozb: \"f1y7maxz\",\n    Bka2azo: 0,\n    vzq8l0: 0,\n    csmgbd: 0,\n    Br4ovkg: 0,\n    aelrif: \"fceyvr4\",\n    y36c18: \"f16cxu0\",\n    B1ctymy: \"f1nwgacf\",\n    Bgvrrv0: \"f15ovonk\",\n    ddr6p5: \"fvje46l\"\n  },\n  disabled: {\n    az7l2e: \"f1ut20fw\",\n    Bkydozb: \"fhrzcfn\"\n  },\n  smallHorizontal: {\n    lawp4y: \"fchca7p\",\n    Baz25je: \"f1r53b5e\",\n    Fbdkly: [\"f1s6rxz5\", \"fo35v8s\"],\n    mdwyqc: [\"fo35v8s\", \"f1s6rxz5\"]\n  },\n  smallVertical: {\n    lawp4y: \"fze4zud\",\n    Fbdkly: [\"f1fzr1x6\", \"f1f351id\"],\n    Bciustq: \"fdp32p8\",\n    Ccq8qp: \"f1aij3q\"\n  },\n  mediumHorizontal: {\n    lawp4y: \"fchca7p\",\n    Baz25je: \"f1s2r9ax\",\n    Fbdkly: [\"f1o0nnkk\", \"fxb7rol\"],\n    mdwyqc: [\"fxb7rol\", \"f1o0nnkk\"]\n  },\n  mediumVertical: {\n    lawp4y: \"f17jracn\",\n    Fbdkly: [\"f1fzr1x6\", \"f1f351id\"],\n    Bciustq: \"f117lcb2\",\n    Ccq8qp: \"f1aij3q\"\n  },\n  largeHorizontal: {\n    lawp4y: \"fchca7p\",\n    Baz25je: \"f1s2r9ax\",\n    Fbdkly: [\"f1o0nnkk\", \"fxb7rol\"],\n    mdwyqc: [\"fxb7rol\", \"f1o0nnkk\"]\n  },\n  largeVertical: {\n    lawp4y: \"fel9d3z\",\n    Fbdkly: [\"f1fzr1x6\", \"f1f351id\"],\n    Bciustq: \"f6vqlre\",\n    Ccq8qp: \"f1aij3q\"\n  }\n}, {\n  h: [\".fhw179n:hover::before{background-color:var(--colorNeutralStroke1Hover);}\", [\".fg9j5n4:hover::before{border-radius:var(--borderRadiusCircular);}\", {\n    p: -1\n  }], \".f1kmhr4c:hover::before{content:\\\"\\\";}\", \".fl1ydde:hover::before{position:absolute;}\", \".f1ut20fw:hover::before{background-color:var(--colorTransparentStroke);}\"],\n  a: [\".f1y7maxz:active::before{background-color:var(--colorNeutralStroke1Pressed);}\", [\".fceyvr4:active::before{border-radius:var(--borderRadiusCircular);}\", {\n    p: -1\n  }], \".f16cxu0:active::before{content:\\\"\\\";}\", \".f1nwgacf:active::before{position:absolute;}\", \".fhrzcfn:active::before{background-color:var(--colorTransparentStroke);}\"],\n  m: [[\"@media (forced-colors: active){.f15ovonk:hover::before{background-color:Highlight;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media (forced-colors: active){.fvje46l:active::before{background-color:Highlight;}}\", {\n    m: \"(forced-colors: active)\"\n  }]],\n  d: [\".fchca7p::before{bottom:0;}\", \".f1r53b5e::before{height:var(--strokeWidthThick);}\", \".f1s6rxz5::before{left:var(--spacingHorizontalSNudge);}\", \".fo35v8s::before{right:var(--spacingHorizontalSNudge);}\", \".fze4zud::before{bottom:var(--spacingVerticalXS);}\", \".f1fzr1x6::before{left:0;}\", \".f1f351id::before{right:0;}\", \".fdp32p8::before{top:var(--spacingVerticalXS);}\", \".f1aij3q::before{width:var(--strokeWidthThicker);}\", \".f1s2r9ax::before{height:var(--strokeWidthThicker);}\", \".f1o0nnkk::before{left:var(--spacingHorizontalM);}\", \".fxb7rol::before{right:var(--spacingHorizontalM);}\", \".f17jracn::before{bottom:var(--spacingVerticalS);}\", \".f117lcb2::before{top:var(--spacingVerticalS);}\", \".fel9d3z::before{bottom:var(--spacingVerticalMNudge);}\", \".f6vqlre::before{top:var(--spacingVerticalMNudge);}\"]\n});\nconst useActiveIndicatorStyles = /*#__PURE__*/__styles({\n  base: {\n    Bjyk6c5: \"f1rp0jgh\",\n    d9w3h3: 0,\n    B3778ie: 0,\n    B4j8arr: 0,\n    Bl18szs: 0,\n    Blrzh8d: \"f3b9emi\",\n    Bsft5z2: \"f13zj6fq\",\n    E3zdtr: \"f1mdlcz9\"\n  },\n  selected: {\n    Bjyk6c5: \"f1ksivud\",\n    Bej4dhw: \"f1476jrx\",\n    B7wqxwa: \"f18q216b\",\n    f7digc: \"fy7ktjt\",\n    Bvuzv5k: \"f1033yux\",\n    k4sdgo: \"fkh9b8o\"\n  },\n  disabled: {\n    Bjyk6c5: \"f13lkzet\"\n  },\n  smallHorizontal: {\n    By385i5: \"fo72kxq\",\n    Dlnsje: \"f9bb2ob\",\n    Eqx8gd: [\"f1q70ajw\", \"f18rbzdx\"],\n    B1piin3: [\"f18rbzdx\", \"f1q70ajw\"]\n  },\n  smallVertical: {\n    By385i5: \"fqbue9b\",\n    Eqx8gd: [\"f1n6gb5g\", \"f15yvnhg\"],\n    bn5sak: \"fk1klkt\",\n    a2br6o: \"f1o25lip\"\n  },\n  mediumHorizontal: {\n    By385i5: \"fo72kxq\",\n    Dlnsje: \"f1vx7lu8\",\n    Eqx8gd: [\"fna7m5n\", \"f1oxpfwv\"],\n    B1piin3: [\"f1oxpfwv\", \"fna7m5n\"]\n  },\n  mediumVertical: {\n    By385i5: \"fipylg0\",\n    Eqx8gd: [\"f1n6gb5g\", \"f15yvnhg\"],\n    bn5sak: \"fqchiol\",\n    a2br6o: \"f1o25lip\"\n  },\n  largeHorizontal: {\n    By385i5: \"fo72kxq\",\n    Dlnsje: \"f1vx7lu8\",\n    Eqx8gd: [\"fna7m5n\", \"f1oxpfwv\"],\n    B1piin3: [\"f1oxpfwv\", \"fna7m5n\"]\n  },\n  largeVertical: {\n    By385i5: \"f1w7dm5g\",\n    Eqx8gd: [\"f1n6gb5g\", \"f15yvnhg\"],\n    bn5sak: \"f1p6em4m\",\n    a2br6o: \"f1o25lip\"\n  }\n}, {\n  d: [\".f1rp0jgh::after{background-color:var(--colorTransparentStroke);}\", [\".f3b9emi::after{border-radius:var(--borderRadiusCircular);}\", {\n    p: -1\n  }], \".f13zj6fq::after{content:\\\"\\\";}\", \".f1mdlcz9::after{position:absolute;}\", \".f1ksivud::after{background-color:var(--colorCompoundBrandStroke);}\", \".f1476jrx:enabled:hover::after{background-color:var(--colorCompoundBrandStrokeHover);}\", \".f18q216b:enabled:active::after{background-color:var(--colorCompoundBrandStrokePressed);}\", \".f13lkzet::after{background-color:var(--colorNeutralForegroundDisabled);}\", \".fo72kxq::after{bottom:0;}\", \".f9bb2ob::after{height:var(--strokeWidthThick);}\", \".f1q70ajw::after{left:var(--spacingHorizontalSNudge);}\", \".f18rbzdx::after{right:var(--spacingHorizontalSNudge);}\", \".fqbue9b::after{bottom:var(--spacingVerticalXS);}\", \".f1n6gb5g::after{left:0;}\", \".f15yvnhg::after{right:0;}\", \".fk1klkt::after{top:var(--spacingVerticalXS);}\", \".f1o25lip::after{width:var(--strokeWidthThicker);}\", \".f1vx7lu8::after{height:var(--strokeWidthThicker);}\", \".fna7m5n::after{left:var(--spacingHorizontalM);}\", \".f1oxpfwv::after{right:var(--spacingHorizontalM);}\", \".fipylg0::after{bottom:var(--spacingVerticalS);}\", \".fqchiol::after{top:var(--spacingVerticalS);}\", \".f1w7dm5g::after{bottom:var(--spacingVerticalMNudge);}\", \".f1p6em4m::after{top:var(--spacingVerticalMNudge);}\"],\n  m: [[\"@media (forced-colors: active){.fy7ktjt::after{background-color:ButtonText;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media (forced-colors: active){.f1033yux:enabled:hover::after{background-color:ButtonText;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media (forced-colors: active){.fkh9b8o:enabled:active::after{background-color:ButtonText;}}\", {\n    m: \"(forced-colors: active)\"\n  }]]\n});\n/**\n * Styles for the icon slot.\n */\nconst useIconStyles = /*#__PURE__*/__styles({\n  base: {\n    Br312pm: \"fwpfdsa\",\n    Ijaq50: \"f16hsg94\",\n    Bt984gj: \"f122n59\",\n    mc9l5x: \"ftuwxu6\",\n    Brf1p80: \"f4d9j23\",\n    B68tc82: 0,\n    Bmxbyg5: 0,\n    Bpg54ce: \"f1a3p1vp\",\n    D0sxk3: \"f16u1re\",\n    t6yez3: \"f8bsbmo\"\n  },\n  small: {\n    Be2twd7: \"fe5j1ua\",\n    Bqenvij: \"fjamq6b\",\n    a9b677: \"f64fuq3\"\n  },\n  medium: {\n    Be2twd7: \"fe5j1ua\",\n    Bqenvij: \"fjamq6b\",\n    a9b677: \"f64fuq3\"\n  },\n  large: {\n    Be2twd7: \"f1rt2boy\",\n    Bqenvij: \"frvgh55\",\n    a9b677: \"fq4mcun\"\n  },\n  selected: {\n    D0sxk3: \"fxoiby5\",\n    t6yez3: \"f15q0o9g\"\n  }\n}, {\n  d: [\".fwpfdsa{grid-column-start:1;}\", \".f16hsg94{grid-row-start:1;}\", \".f122n59{align-items:center;}\", \".ftuwxu6{display:inline-flex;}\", \".f4d9j23{justify-content:center;}\", [\".f1a3p1vp{overflow:hidden;}\", {\n    p: -1\n  }], \".f16u1re .fui-Icon-filled{display:none;}\", \".f8bsbmo .fui-Icon-regular{display:inline;}\", \".fe5j1ua{font-size:20px;}\", \".fjamq6b{height:20px;}\", \".f64fuq3{width:20px;}\", \".f1rt2boy{font-size:24px;}\", \".frvgh55{height:24px;}\", \".fq4mcun{width:24px;}\", \".fxoiby5 .fui-Icon-filled{display:inline;}\", \".f15q0o9g .fui-Icon-regular{display:none;}\"]\n});\n/**\n * Styles for the content slot (children)\n */\nconst useContentStyles = /*#__PURE__*/__styles({\n  base: {\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fkhj508\",\n    Bhrd7zp: \"figsok6\",\n    Bg96gwp: \"f1i3iumi\",\n    B68tc82: 0,\n    Bmxbyg5: 0,\n    Bpg54ce: \"f1a3p1vp\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f1bwptpd\"\n  },\n  selected: {\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fkhj508\",\n    Bhrd7zp: \"fl43uef\",\n    Bg96gwp: \"f1i3iumi\"\n  },\n  large: {\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fod5ikn\",\n    Bhrd7zp: \"figsok6\",\n    Bg96gwp: \"faaz57k\"\n  },\n  largeSelected: {\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fod5ikn\",\n    Bhrd7zp: \"fl43uef\",\n    Bg96gwp: \"faaz57k\"\n  },\n  noIconBefore: {\n    Br312pm: \"fwpfdsa\",\n    Ijaq50: \"f16hsg94\"\n  },\n  iconBefore: {\n    Br312pm: \"fd46tj4\",\n    Ijaq50: \"f16hsg94\"\n  },\n  placeholder: {\n    Bcdw1i0: \"fd7fpy0\"\n  }\n}, {\n  d: [\".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fkhj508{font-size:var(--fontSizeBase300);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\", [\".f1a3p1vp{overflow:hidden;}\", {\n    p: -1\n  }], [\".f1bwptpd{padding:var(--spacingVerticalNone) var(--spacingHorizontalXXS);}\", {\n    p: -1\n  }], \".fl43uef{font-weight:var(--fontWeightSemibold);}\", \".fod5ikn{font-size:var(--fontSizeBase400);}\", \".faaz57k{line-height:var(--lineHeightBase400);}\", \".fwpfdsa{grid-column-start:1;}\", \".f16hsg94{grid-row-start:1;}\", \".fd46tj4{grid-column-start:2;}\", \".fd7fpy0{visibility:hidden;}\"]\n});\n/**\n * Apply styling to the Tab slots based on the state\n */\nexport const useTabStyles_unstable = state => {\n  'use no memo';\n\n  useTabIndicatorStyles_unstable(state);\n  useTabButtonStyles_unstable(state, state.root);\n  useTabContentStyles_unstable(state);\n  return state;\n};\n/**\n * Applies styles for the Tab indicator based on its current state.\n *\n * This hook is typically used internally by `useTabStyles_unstable`. You should\n * only use it directly if you're creating a custom `Tab` component.\n *\n * @param state - The `Tab` component's current state\n * @returns The state object with updated button styles\n */\nexport const useTabIndicatorStyles_unstable = state => {\n  'use no memo';\n\n  const rootStyles = useRootStyles();\n  const pendingIndicatorStyles = usePendingIndicatorStyles();\n  const activeIndicatorStyles = useActiveIndicatorStyles();\n  const {\n    appearance,\n    disabled,\n    selected,\n    size,\n    vertical\n  } = state;\n  const classes = [tabClassNames.root, rootStyles.root];\n  if (appearance !== 'subtle-circular' && appearance !== 'filled-circular') {\n    classes.push(\n    // pending indicator (before pseudo element)\n    pendingIndicatorStyles.base, size === 'small' && (vertical ? pendingIndicatorStyles.smallVertical : pendingIndicatorStyles.smallHorizontal), size === 'medium' && (vertical ? pendingIndicatorStyles.mediumVertical : pendingIndicatorStyles.mediumHorizontal), size === 'large' && (vertical ? pendingIndicatorStyles.largeVertical : pendingIndicatorStyles.largeHorizontal), disabled && pendingIndicatorStyles.disabled,\n    // active indicator (after pseudo element)\n    selected && activeIndicatorStyles.base, selected && !disabled && activeIndicatorStyles.selected, selected && size === 'small' && (vertical ? activeIndicatorStyles.smallVertical : activeIndicatorStyles.smallHorizontal), selected && size === 'medium' && (vertical ? activeIndicatorStyles.mediumVertical : activeIndicatorStyles.mediumHorizontal), selected && size === 'large' && (vertical ? activeIndicatorStyles.largeVertical : activeIndicatorStyles.largeHorizontal), selected && disabled && activeIndicatorStyles.disabled);\n  }\n  state.root.className = mergeClasses(...classes, state.root.className);\n  useTabAnimatedIndicatorStyles_unstable(state);\n  return state;\n};\n/**\n * Applies styles to the Tab button slot based on its current state.\n *\n * This hook is typically used internally by `useTabStyles_unstable`. You should\n * only use it directly if you're creating a custom `Tab` component.\n *\n * @param state - The Tab component's current state\n * @param slot - The button slot of the Tab component\n * @returns The state object with updated button styles\n */\nexport const useTabButtonStyles_unstable = (state, slot) => {\n  'use no memo';\n\n  const rootStyles = useRootStyles();\n  const focusStyles = useFocusStyles();\n  const circularStyles = useCircularAppearanceStyles();\n  const {\n    appearance,\n    disabled,\n    selected,\n    size,\n    vertical\n  } = state;\n  const isSubtleCircular = appearance === 'subtle-circular';\n  const isFilledCircular = appearance === 'filled-circular';\n  const isCircular = isSubtleCircular || isFilledCircular;\n  const circularAppearance = [circularStyles.base, focusStyles.circular,\n  // sizes\n  size === 'medium' && circularStyles.medium,\n  // subtle-circular appearance\n  isSubtleCircular && circularStyles.subtle, selected && isSubtleCircular && circularStyles.subtleSelected, disabled && isSubtleCircular && circularStyles.subtleDisabled, selected && disabled && isSubtleCircular && circularStyles.subtleDisabledSelected,\n  // filled-circular appearance\n  isFilledCircular && circularStyles.filled, selected && isFilledCircular && circularStyles.filledSelected, disabled && isFilledCircular && circularStyles.filledDisabled, selected && disabled && isFilledCircular && circularStyles.filledDisabledSelected];\n  const regularAppearance = [focusStyles.base, !disabled && appearance === 'subtle' && rootStyles.subtle, !disabled && appearance === 'transparent' && rootStyles.transparent, !disabled && selected && rootStyles.selected, disabled && rootStyles.disabled];\n  slot.className = mergeClasses(rootStyles.button,\n  // orientation\n  vertical ? rootStyles.vertical : rootStyles.horizontal,\n  // size\n  size === 'small' && (vertical ? rootStyles.smallVertical : rootStyles.smallHorizontal), size === 'medium' && (vertical ? rootStyles.mediumVertical : rootStyles.mediumHorizontal), size === 'large' && (vertical ? rootStyles.largeVertical : rootStyles.largeHorizontal), ...(isCircular ? circularAppearance : regularAppearance), disabled && rootStyles.disabledCursor, slot.className);\n  return state;\n};\n/**\n * Applies styles to the Tab content slot based on its current state.\n *\n * This hook is typically used internally by `useTabStyles_unstable`. You should\n * only use it directly if you're creating a custom `Tab` component.\n *\n * @param state - The Tab component's current state\n * @returns The state object with updated content styles\n */\nexport const useTabContentStyles_unstable = state => {\n  'use no memo';\n\n  const iconStyles = useIconStyles();\n  const contentStyles = useContentStyles();\n  const {\n    selected,\n    size\n  } = state;\n  if (state.icon) {\n    state.icon.className = mergeClasses(tabClassNames.icon, iconStyles.base, iconStyles[size], selected && iconStyles.selected, state.icon.className);\n  }\n  // This needs to be before state.content.className is updated\n  if (state.contentReservedSpace) {\n    state.contentReservedSpace.className = mergeClasses(reservedSpaceClassNames.content, contentStyles.base, size === 'large' ? contentStyles.largeSelected : contentStyles.selected, state.icon ? contentStyles.iconBefore : contentStyles.noIconBefore, contentStyles.placeholder, state.content.className);\n    // FIXME: this is a deprecated API\n    // should be removed in the next major version\n    // eslint-disable-next-line deprecation/deprecation\n    state.contentReservedSpaceClassName = state.contentReservedSpace.className;\n  }\n  state.content.className = mergeClasses(tabClassNames.content, contentStyles.base, size === 'large' && contentStyles.large, selected && (size === 'large' ? contentStyles.largeSelected : contentStyles.selected), state.icon ? contentStyles.iconBefore : contentStyles.noIconBefore, state.content.className);\n  return state;\n};","import * as React from 'react';\nimport { useTab_unstable } from './useTab';\nimport { renderTab_unstable } from './renderTab';\nimport { useTabStyles_unstable } from './useTabStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A tab provides a selectable item in a tab list.\n */ export const Tab = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useTab_unstable(props, ref);\n    useTabStyles_unstable(state);\n    useCustomStyleHook_unstable('useTabStyles_unstable')(state);\n    return renderTab_unstable(state);\n});\nTab.displayName = 'Tab';\n","import * as React from 'react';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { getIntrinsicElementProps, useControllableState, useEventCallback, useMergedRefs, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render TabList.\n *\n * The returned state can be modified with hooks such as useTabListStyles_unstable,\n * before being passed to renderTabList_unstable.\n *\n * @param props - props from this instance of TabList\n * @param ref - reference to root HTMLElement of TabList\n */ export const useTabList_unstable = (props, ref)=>{\n    const { appearance = 'transparent', reserveSelectedTabSpace = true, disabled = false, onTabSelect, selectTabOnFocus = false, size = 'medium', vertical = false } = props;\n    const innerRef = React.useRef(null);\n    const focusAttributes = useArrowNavigationGroup({\n        circular: true,\n        axis: vertical ? 'vertical' : 'horizontal',\n        memorizeCurrent: false,\n        // eslint-disable-next-line @typescript-eslint/naming-convention\n        unstable_hasDefault: true\n    });\n    const [selectedValue, setSelectedValue] = useControllableState({\n        state: props.selectedValue,\n        defaultState: props.defaultSelectedValue,\n        initialState: undefined\n    });\n    // considered usePrevious, but it is sensitive to re-renders\n    // this could cause the previous to move to current in the case where the tab list re-renders.\n    // these refs avoid getRegisteredTabs changing when selectedValue changes and causing\n    // renders for tabs that have not changed.\n    const currentSelectedValue = React.useRef(undefined);\n    const previousSelectedValue = React.useRef(undefined);\n    React.useEffect(()=>{\n        previousSelectedValue.current = currentSelectedValue.current;\n        currentSelectedValue.current = selectedValue;\n    }, [\n        selectedValue\n    ]);\n    const onSelect = useEventCallback((event, data)=>{\n        setSelectedValue(data.value);\n        onTabSelect === null || onTabSelect === void 0 ? void 0 : onTabSelect(event, data);\n    });\n    const registeredTabs = React.useRef({});\n    const onRegister = useEventCallback((data)=>{\n        registeredTabs.current[JSON.stringify(data.value)] = data;\n    });\n    const onUnregister = useEventCallback((data)=>{\n        delete registeredTabs.current[JSON.stringify(data.value)];\n    });\n    const getRegisteredTabs = React.useCallback(()=>{\n        return {\n            selectedValue: currentSelectedValue.current,\n            previousSelectedValue: previousSelectedValue.current,\n            registeredTabs: registeredTabs.current\n        };\n    }, []);\n    return {\n        components: {\n            root: 'div'\n        },\n        root: slot.always(getIntrinsicElementProps('div', {\n            // FIXME:\n            // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n            // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n            ref: useMergedRefs(ref, innerRef),\n            role: 'tablist',\n            'aria-orientation': vertical ? 'vertical' : 'horizontal',\n            ...focusAttributes,\n            ...props\n        }), {\n            elementType: 'div'\n        }),\n        appearance,\n        reserveSelectedTabSpace,\n        disabled,\n        selectTabOnFocus,\n        selectedValue,\n        size,\n        vertical,\n        onRegister,\n        onUnregister,\n        onSelect,\n        getRegisteredTabs\n    };\n};\n","  import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { TabListProvider } from './TabListContext';\n/**\n * Render the final JSX of TabList\n */ export const renderTabList_unstable = (state, contextValues)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsx(state.root, {\n        children: /*#__PURE__*/ _jsx(TabListProvider, {\n            value: contextValues.tabList,\n            children: state.root.children\n        })\n    });\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const tabListClassNames = {\n  root: 'fui-TabList'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n  root: {\n    mc9l5x: \"f22iagw\",\n    Beiy3e4: \"f1063pyq\",\n    Bnnss6s: \"fi64zpg\",\n    Eh141a: \"flvyvdh\",\n    qhf8xq: \"f10pi13n\"\n  },\n  horizontal: {\n    Bt984gj: \"f1q9h2pe\",\n    Beiy3e4: \"f1063pyq\"\n  },\n  vertical: {\n    Bt984gj: \"f1q9h2pe\",\n    Beiy3e4: \"f1vx9l62\"\n  },\n  roundedSmall: {\n    i8kkvl: 0,\n    Belr9w4: 0,\n    rmohyg: \"f1eyhf9v\"\n  },\n  rounded: {\n    i8kkvl: 0,\n    Belr9w4: 0,\n    rmohyg: \"faqewft\"\n  }\n}, {\n  d: [\".f22iagw{display:flex;}\", \".f1063pyq{flex-direction:row;}\", \".fi64zpg{flex-shrink:0;}\", \".flvyvdh{flex-wrap:nowrap;}\", \".f10pi13n{position:relative;}\", \".f1q9h2pe{align-items:stretch;}\", \".f1vx9l62{flex-direction:column;}\", [\".f1eyhf9v{gap:var(--spacingHorizontalSNudge);}\", {\n    p: -1\n  }], [\".faqewft{gap:var(--spacingHorizontalS);}\", {\n    p: -1\n  }]]\n});\n/**\n * Apply styling to the TabList slots based on the state\n */\nexport const useTabListStyles_unstable = state => {\n  'use no memo';\n\n  const {\n    appearance,\n    vertical,\n    size\n  } = state;\n  const styles = useStyles();\n  const isRounded = appearance === 'subtle-circular' || appearance === 'filled-circular';\n  state.root.className = mergeClasses(tabListClassNames.root, styles.root, vertical ? styles.vertical : styles.horizontal, isRounded && (size === 'small' ? styles.roundedSmall : styles.rounded), state.root.className);\n  return state;\n};","export function useTabListContextValues_unstable(state) {\n    const { appearance, reserveSelectedTabSpace, disabled, selectTabOnFocus, selectedValue: selectedKey, onRegister, onUnregister, onSelect, getRegisteredTabs, size, vertical } = state;\n    const tabList = {\n        appearance,\n        reserveSelectedTabSpace,\n        disabled,\n        selectTabOnFocus,\n        selectedValue: selectedKey,\n        onSelect,\n        onRegister,\n        onUnregister,\n        getRegisteredTabs,\n        size,\n        vertical\n    };\n    return {\n        tabList\n    };\n}\n","import * as React from 'react';\nimport { useTabList_unstable } from './useTabList';\nimport { renderTabList_unstable } from './renderTabList';\nimport { useTabListStyles_unstable } from './useTabListStyles.styles';\nimport { useTabListContextValues_unstable } from './useTabListContextValues';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A tab list provides single selection from a set of tabs.\n */ export const TabList = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useTabList_unstable(props, ref);\n    const contextValues = useTabListContextValues_unstable(state);\n    useTabListStyles_unstable(state);\n    useCustomStyleHook_unstable('useTabListStyles_unstable')(state);\n    return renderTabList_unstable(state, contextValues);\n});\nTabList.displayName = 'TabList';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Create the state required to render Text.\n *\n * The returned state can be modified with hooks such as useTextStyles_unstable,\n * before being passed to renderText_unstable.\n *\n * @param props - props from this instance of Text\n * @param ref - reference to root HTMLElement of Text\n */ export const useText_unstable = (props, ref)=>{\n    const { wrap, truncate, block, italic, underline, strikethrough, size, font, weight, align } = props;\n    const state = {\n        align: align !== null && align !== void 0 ? align : 'start',\n        block: block !== null && block !== void 0 ? block : false,\n        font: font !== null && font !== void 0 ? font : 'base',\n        italic: italic !== null && italic !== void 0 ? italic : false,\n        size: size !== null && size !== void 0 ? size : 300,\n        strikethrough: strikethrough !== null && strikethrough !== void 0 ? strikethrough : false,\n        truncate: truncate !== null && truncate !== void 0 ? truncate : false,\n        underline: underline !== null && underline !== void 0 ? underline : false,\n        weight: weight !== null && weight !== void 0 ? weight : 'regular',\n        wrap: wrap !== null && wrap !== void 0 ? wrap : true,\n        components: {\n            root: 'span'\n        },\n        root: slot.always(getIntrinsicElementProps('span', {\n            // FIXME:\n            // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLHeadingElement & HTMLPreElement`\n            // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n            ref: ref,\n            ...props\n        }), {\n            elementType: 'span'\n        })\n    };\n    return state;\n};\n","  import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of Text\n */ export const renderText_unstable = (state)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const textClassNames = {\n  root: 'fui-Text'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n  root: {\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fkhj508\",\n    Bg96gwp: \"f1i3iumi\",\n    Bhrd7zp: \"figsok6\",\n    fsow6f: \"fpgzoln\",\n    mc9l5x: \"f1w7gpdv\",\n    Huce71: \"f6juhto\",\n    B68tc82: 0,\n    Bmxbyg5: 0,\n    Bpg54ce: \"f1gl81tg\",\n    ygn44y: \"f2jf649\"\n  },\n  nowrap: {\n    Huce71: \"fz5stix\",\n    B68tc82: 0,\n    Bmxbyg5: 0,\n    Bpg54ce: \"f1a3p1vp\"\n  },\n  truncate: {\n    ygn44y: \"f1cmbuwj\"\n  },\n  block: {\n    mc9l5x: \"ftgm304\"\n  },\n  italic: {\n    B80ckks: \"f1j4dglz\"\n  },\n  underline: {\n    w71qe1: \"f13mvf36\"\n  },\n  strikethrough: {\n    w71qe1: \"fv5q2k7\"\n  },\n  strikethroughUnderline: {\n    w71qe1: \"f1drk4o6\"\n  },\n  base100: {\n    Be2twd7: \"f13mqy1h\",\n    Bg96gwp: \"fcpl73t\"\n  },\n  base200: {\n    Be2twd7: \"fy9rknc\",\n    Bg96gwp: \"fwrc4pm\"\n  },\n  base400: {\n    Be2twd7: \"fod5ikn\",\n    Bg96gwp: \"faaz57k\"\n  },\n  base500: {\n    Be2twd7: \"f1pp30po\",\n    Bg96gwp: \"f106mvju\"\n  },\n  base600: {\n    Be2twd7: \"f1x0m3f5\",\n    Bg96gwp: \"fb86gi6\"\n  },\n  hero700: {\n    Be2twd7: \"fojgt09\",\n    Bg96gwp: \"fcen8rp\"\n  },\n  hero800: {\n    Be2twd7: \"fccw675\",\n    Bg96gwp: \"f1ebx5kk\"\n  },\n  hero900: {\n    Be2twd7: \"f15afnhw\",\n    Bg96gwp: \"fr3w3wp\"\n  },\n  hero1000: {\n    Be2twd7: \"fpyltcb\",\n    Bg96gwp: \"f1ivgwrt\"\n  },\n  monospace: {\n    Bahqtrf: \"f1fedwem\"\n  },\n  numeric: {\n    Bahqtrf: \"f1uq0ln5\"\n  },\n  weightMedium: {\n    Bhrd7zp: \"fdj6btp\"\n  },\n  weightSemibold: {\n    Bhrd7zp: \"fl43uef\"\n  },\n  weightBold: {\n    Bhrd7zp: \"flh3ekv\"\n  },\n  alignCenter: {\n    fsow6f: \"f17mccla\"\n  },\n  alignEnd: {\n    fsow6f: \"f12ymhq5\"\n  },\n  alignJustify: {\n    fsow6f: \"f1j59e10\"\n  }\n}, {\n  d: [\".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fkhj508{font-size:var(--fontSizeBase300);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".fpgzoln{text-align:start;}\", \".f1w7gpdv{display:inline;}\", \".f6juhto{white-space:normal;}\", [\".f1gl81tg{overflow:visible;}\", {\n    p: -1\n  }], \".f2jf649{text-overflow:clip;}\", \".fz5stix{white-space:nowrap;}\", [\".f1a3p1vp{overflow:hidden;}\", {\n    p: -1\n  }], \".f1cmbuwj{text-overflow:ellipsis;}\", \".ftgm304{display:block;}\", \".f1j4dglz{font-style:italic;}\", \".f13mvf36{text-decoration-line:underline;}\", \".fv5q2k7{text-decoration-line:line-through;}\", \".f1drk4o6{text-decoration-line:line-through underline;}\", \".f13mqy1h{font-size:var(--fontSizeBase100);}\", \".fcpl73t{line-height:var(--lineHeightBase100);}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".fwrc4pm{line-height:var(--lineHeightBase200);}\", \".fod5ikn{font-size:var(--fontSizeBase400);}\", \".faaz57k{line-height:var(--lineHeightBase400);}\", \".f1pp30po{font-size:var(--fontSizeBase500);}\", \".f106mvju{line-height:var(--lineHeightBase500);}\", \".f1x0m3f5{font-size:var(--fontSizeBase600);}\", \".fb86gi6{line-height:var(--lineHeightBase600);}\", \".fojgt09{font-size:var(--fontSizeHero700);}\", \".fcen8rp{line-height:var(--lineHeightHero700);}\", \".fccw675{font-size:var(--fontSizeHero800);}\", \".f1ebx5kk{line-height:var(--lineHeightHero800);}\", \".f15afnhw{font-size:var(--fontSizeHero900);}\", \".fr3w3wp{line-height:var(--lineHeightHero900);}\", \".fpyltcb{font-size:var(--fontSizeHero1000);}\", \".f1ivgwrt{line-height:var(--lineHeightHero1000);}\", \".f1fedwem{font-family:var(--fontFamilyMonospace);}\", \".f1uq0ln5{font-family:var(--fontFamilyNumeric);}\", \".fdj6btp{font-weight:var(--fontWeightMedium);}\", \".fl43uef{font-weight:var(--fontWeightSemibold);}\", \".flh3ekv{font-weight:var(--fontWeightBold);}\", \".f17mccla{text-align:center;}\", \".f12ymhq5{text-align:end;}\", \".f1j59e10{text-align:justify;}\"]\n});\n/**\n * Apply styling to the Text slots based on the state\n */\nexport const useTextStyles_unstable = state => {\n  'use no memo';\n\n  const styles = useStyles();\n  state.root.className = mergeClasses(textClassNames.root, styles.root, state.wrap === false && styles.nowrap, state.truncate && styles.truncate, state.block && styles.block, state.italic && styles.italic, state.underline && styles.underline, state.strikethrough && styles.strikethrough, state.underline && state.strikethrough && styles.strikethroughUnderline, state.size === 100 && styles.base100, state.size === 200 && styles.base200, state.size === 400 && styles.base400, state.size === 500 && styles.base500, state.size === 600 && styles.base600, state.size === 700 && styles.hero700, state.size === 800 && styles.hero800, state.size === 900 && styles.hero900, state.size === 1000 && styles.hero1000, state.font === 'monospace' && styles.monospace, state.font === 'numeric' && styles.numeric, state.weight === 'medium' && styles.weightMedium, state.weight === 'semibold' && styles.weightSemibold, state.weight === 'bold' && styles.weightBold, state.align === 'center' && styles.alignCenter, state.align === 'end' && styles.alignEnd, state.align === 'justify' && styles.alignJustify, state.root.className);\n  return state;\n};","import * as React from 'react';\nimport { mergeClasses } from '@griffel/react';\nimport { renderText_unstable, useText_unstable, useTextStyles_unstable } from '../Text';\nexport function createPreset(options) {\n    const { useStyles, className, displayName } = options;\n    const Wrapper = React.forwardRef((props, ref)=>{\n        'use no memo';\n        const styles = useStyles();\n        const state = useText_unstable(props, ref);\n        useTextStyles_unstable(state);\n        state.root.className = mergeClasses(className, state.root.className, styles.root, props.className);\n        return renderText_unstable(state);\n    });\n    Wrapper.displayName = displayName;\n    return Wrapper;\n}\n","  import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of Textarea\n */ export const renderTextarea_unstable = (state)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsx(state.root, {\n        children: /*#__PURE__*/ _jsx(state.textarea, {})\n    });\n};\n","import * as React from 'react';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport { getPartitionedNativeProps, useControllableState, useEventCallback, slot } from '@fluentui/react-utilities';\nimport { useOverrides_unstable as useOverrides } from '@fluentui/react-shared-contexts';\n/**\n * Create the state required to render Textarea.\n *\n * The returned state can be modified with hooks such as useTextareaStyles_unstable,\n * before being passed to renderTextarea_unstable.\n *\n * @param props - props from this instance of Textarea\n * @param ref - reference to root HTMLElement of Textarea\n */ export const useTextarea_unstable = (props, ref)=>{\n    // Merge props from surrounding <Field>, if any\n    props = useFieldControlProps_unstable(props, {\n        supportsLabelFor: true,\n        supportsRequired: true,\n        supportsSize: true\n    });\n    const overrides = useOverrides();\n    var _overrides_inputDefaultAppearance;\n    const { size = 'medium', appearance = (_overrides_inputDefaultAppearance = overrides.inputDefaultAppearance) !== null && _overrides_inputDefaultAppearance !== void 0 ? _overrides_inputDefaultAppearance : 'outline', resize = 'none', onChange } = props;\n    if (process.env.NODE_ENV !== 'production' && (appearance === 'filled-darker-shadow' || appearance === 'filled-lighter-shadow')) {\n        // eslint-disable-next-line no-console\n        console.error(\"The 'filled-darker-shadow' and 'filled-lighter-shadow' appearances are deprecated and will be removed in the\" + ' future.');\n    }\n    const [value, setValue] = useControllableState({\n        state: props.value,\n        defaultState: props.defaultValue,\n        initialState: undefined\n    });\n    const nativeProps = getPartitionedNativeProps({\n        props,\n        primarySlotTagName: 'textarea',\n        excludedPropNames: [\n            'onChange',\n            'value',\n            'defaultValue'\n        ]\n    });\n    const state = {\n        size,\n        appearance,\n        resize,\n        components: {\n            root: 'span',\n            textarea: 'textarea'\n        },\n        textarea: slot.always(props.textarea, {\n            defaultProps: {\n                ref,\n                ...nativeProps.primary\n            },\n            elementType: 'textarea'\n        }),\n        root: slot.always(props.root, {\n            defaultProps: nativeProps.root,\n            elementType: 'span'\n        })\n    };\n    state.textarea.value = value;\n    state.textarea.onChange = useEventCallback((ev)=>{\n        const newValue = ev.target.value;\n        onChange === null || onChange === void 0 ? void 0 : onChange(ev, {\n            value: newValue\n        });\n        setValue(newValue);\n    });\n    return state;\n};\n","import { __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nexport const textareaClassNames = {\n  root: 'fui-Textarea',\n  textarea: 'fui-Textarea__textarea'\n};\n/**\n * Styles for the root(wrapper) slot\n */\nconst useRootStyles = /*#__PURE__*/__styles({\n  base: {\n    mc9l5x: \"ftuwxu6\",\n    B7ck84d: \"f1ewtqcl\",\n    qhf8xq: \"f10pi13n\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f1yiegib\",\n    jrapky: 0,\n    Frg6f3: 0,\n    t21cq0: 0,\n    B6of3ja: 0,\n    B74szlk: \"f1s184ao\",\n    Beyfa6y: 0,\n    Bbmb7ep: 0,\n    Btl43ni: 0,\n    B7oj6ja: 0,\n    Dimara: \"ft85np5\",\n    ha4doy: \"f12kltsn\"\n  },\n  disabled: {\n    De3pzq: \"f1c21dwh\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"ff3nzm7\",\n    Bjwas2f: \"fg455y9\",\n    Bn1d65q: [\"f1rvyvqg\", \"f14g86mu\"],\n    Bxeuatn: \"f1cwzwz\",\n    n51gp8: [\"f14g86mu\", \"f1rvyvqg\"]\n  },\n  interactive: {\n    li1rpt: \"f1gw3sf2\",\n    Bsft5z2: \"f13zj6fq\",\n    E3zdtr: \"f1mdlcz9\",\n    Eqx8gd: [\"f1a7op3\", \"f1cjjd47\"],\n    By385i5: \"f1gboi2j\",\n    B1piin3: [\"f1cjjd47\", \"f1a7op3\"],\n    Dlnsje: \"ffyw7fx\",\n    d9w3h3: [\"f1kp91vd\", \"f1ibwz09\"],\n    B3778ie: [\"f1ibwz09\", \"f1kp91vd\"],\n    B1q35kw: 0,\n    Bw17bha: 0,\n    Bcgy8vk: 0,\n    Bjuhk93: \"f1mnjydx\",\n    Gjdm7m: \"fj2g8qd\",\n    b1kco5: \"f1yk9hq\",\n    Ba2ppi3: \"fhwpy7i\",\n    F2fol1: \"f14ee0xe\",\n    lck23g: \"f1xhbsuh\",\n    df92cz: \"fv8e3ye\",\n    I188md: \"ftb5wc6\",\n    umuwi5: \"fjw5xc1\",\n    Blcqepd: \"f1xdyd5c\",\n    nplu4u: \"fatpbeo\",\n    Bioka5o: \"fb7uyps\",\n    H713fs: \"f1cmft4k\",\n    B9ooomg: \"f1x58t8o\",\n    Bercvud: \"f1ibeo51\",\n    Bbr2w1p: \"f1vnc8sk\",\n    Bduesf4: \"f3e99gv\",\n    Bpq79vn: \"fhljsf7\"\n  },\n  filled: {\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"f88035w\",\n    q7v0qe: \"ftmjh5b\",\n    kmh5ft: [\"f17blpuu\", \"fsrcdbj\"],\n    nagaa4: \"f1tpwn32\",\n    B1yhkcb: [\"fsrcdbj\", \"f17blpuu\"]\n  },\n  \"filled-darker\": {\n    De3pzq: \"f16xq7d1\"\n  },\n  \"filled-lighter\": {\n    De3pzq: \"fxugw4r\"\n  },\n  \"filled-darker-shadow\": {\n    De3pzq: \"f16xq7d1\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"f1gmd7mu\",\n    E5pizo: \"fyed02w\"\n  },\n  \"filled-lighter-shadow\": {\n    De3pzq: \"fxugw4r\",\n    Bgfg5da: 0,\n    B9xav0g: 0,\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"f1gmd7mu\",\n    E5pizo: \"fyed02w\"\n  },\n  outline: {\n    De3pzq: \"fxugw4r\",\n    Bgfg5da: 0,\n    B9xav0g: \"f1c1zstj\",\n    oivjwe: 0,\n    Bn0qgzm: 0,\n    B4g9neb: 0,\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    u1mtju: 0,\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    i8vvqc: 0,\n    g2u3we: 0,\n    icvyot: 0,\n    B4j52fo: 0,\n    irswps: \"fhz96rm\"\n  },\n  outlineInteractive: {\n    kzujx5: 0,\n    oetu4i: \"f1l4zc64\",\n    gvrnp0: 0,\n    xv9156: 0,\n    jek2p4: 0,\n    gg5e9n: 0,\n    Beu9t3s: 0,\n    dt87k2: 0,\n    Bt1vbvt: 0,\n    Bwzppfd: 0,\n    Bop6t4b: 0,\n    B2zwrfe: 0,\n    Bwp2tzp: 0,\n    Bgoe8wy: 0,\n    Bf40cpq: 0,\n    ckks6v: 0,\n    Baalond: \"f9mts5e\",\n    v2iqwr: 0,\n    wmxk5l: \"f1z0osm6\",\n    Bj33j0h: 0,\n    Bs0cc2w: 0,\n    qwjtx1: 0,\n    B50zh58: 0,\n    f7epvg: 0,\n    e1hlit: 0,\n    B7mkhst: 0,\n    ak43y8: 0,\n    Bbcopvn: 0,\n    Bvecx4l: 0,\n    lwioe0: 0,\n    B6oc9vd: 0,\n    e2sjt0: 0,\n    uqwnxt: 0,\n    asj8p9: \"f1acnei2\",\n    Br8fjdy: 0,\n    zoxjo1: \"f1so894s\",\n    Bt3ojkv: 0,\n    B7pmvfx: 0,\n    Bfht2n1: 0,\n    an54nd: 0,\n    t1ykpo: 0,\n    Belqbek: 0,\n    bbt1vd: 0,\n    Brahy3i: 0,\n    r7b1zc: 0,\n    rexu52: 0,\n    ovtnii: 0,\n    Bvq3b66: 0,\n    Bawrxx6: 0,\n    Bbs6y8j: 0,\n    B2qpgjt: \"fds4ob8\"\n  },\n  invalid: {\n    tvckwq: \"fs4k3qj\",\n    gk2u95: [\"fcee079\", \"fmyw78r\"],\n    hhx65j: \"f1fgmyf4\",\n    Bxowmz0: [\"fmyw78r\", \"fcee079\"]\n  }\n}, {\n  d: [\".ftuwxu6{display:inline-flex;}\", \".f1ewtqcl{box-sizing:border-box;}\", \".f10pi13n{position:relative;}\", [\".f1yiegib{padding:0 0 var(--strokeWidthThick) 0;}\", {\n    p: -1\n  }], [\".f1s184ao{margin:0;}\", {\n    p: -1\n  }], [\".ft85np5{border-radius:var(--borderRadiusMedium);}\", {\n    p: -1\n  }], \".f12kltsn{vertical-align:top;}\", \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", [\".ff3nzm7{border:var(--strokeWidthThin) solid var(--colorNeutralStrokeDisabled);}\", {\n    p: -2\n  }], \".f1gw3sf2::after{box-sizing:border-box;}\", \".f13zj6fq::after{content:\\\"\\\";}\", \".f1mdlcz9::after{position:absolute;}\", \".f1a7op3::after{left:-1px;}\", \".f1cjjd47::after{right:-1px;}\", \".f1gboi2j::after{bottom:-1px;}\", \".ffyw7fx::after{height:max(var(--strokeWidthThick), var(--borderRadiusMedium));}\", \".f1kp91vd::after{border-bottom-left-radius:var(--borderRadiusMedium);}\", \".f1ibwz09::after{border-bottom-right-radius:var(--borderRadiusMedium);}\", [\".f1mnjydx::after{border-bottom:var(--strokeWidthThick) solid var(--colorCompoundBrandStroke);}\", {\n    p: -1\n  }], \".fj2g8qd::after{clip-path:inset(calc(100% - var(--strokeWidthThick)) 0 0 0);}\", \".f1yk9hq::after{transform:scaleX(0);}\", \".fhwpy7i::after{transition-property:transform;}\", \".f14ee0xe::after{transition-duration:var(--durationUltraFast);}\", \".f1xhbsuh::after{transition-delay:var(--curveAccelerateMid);}\", [\".f88035w{border:var(--strokeWidthThin) solid var(--colorTransparentStroke);}\", {\n    p: -2\n  }], \".f16xq7d1{background-color:var(--colorNeutralBackground3);}\", \".fxugw4r{background-color:var(--colorNeutralBackground1);}\", [\".f1gmd7mu{border:var(--strokeWidthThin) solid var(--colorTransparentStrokeInteractive);}\", {\n    p: -2\n  }], \".fyed02w{box-shadow:var(--shadow2);}\", [\".f1gmd7mu{border:var(--strokeWidthThin) solid var(--colorTransparentStrokeInteractive);}\", {\n    p: -2\n  }], [\".fhz96rm{border:var(--strokeWidthThin) solid var(--colorNeutralStroke1);}\", {\n    p: -2\n  }], \".f1c1zstj{border-bottom-color:var(--colorNeutralStrokeAccessible);}\", \".fs4k3qj:not(:focus-within),.fs4k3qj:hover:not(:focus-within){border-top-color:var(--colorPaletteRedBorder2);}\", \".fcee079:not(:focus-within),.fcee079:hover:not(:focus-within){border-right-color:var(--colorPaletteRedBorder2);}\", \".fmyw78r:not(:focus-within),.fmyw78r:hover:not(:focus-within){border-left-color:var(--colorPaletteRedBorder2);}\", \".f1fgmyf4:not(:focus-within),.f1fgmyf4:hover:not(:focus-within){border-bottom-color:var(--colorPaletteRedBorder2);}\"],\n  m: [[\"@media (forced-colors: active){.fg455y9{border-top-color:GrayText;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media (forced-colors: active){.f14g86mu{border-left-color:GrayText;}.f1rvyvqg{border-right-color:GrayText;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media (forced-colors: active){.f1cwzwz{border-bottom-color:GrayText;}}\", {\n    m: \"(forced-colors: active)\"\n  }], [\"@media screen and (prefers-reduced-motion: reduce){.fv8e3ye::after{transition-duration:0.01ms;}}\", {\n    m: \"screen and (prefers-reduced-motion: reduce)\"\n  }], [\"@media screen and (prefers-reduced-motion: reduce){.ftb5wc6::after{transition-delay:0.01ms;}}\", {\n    m: \"screen and (prefers-reduced-motion: reduce)\"\n  }], [\"@media screen and (prefers-reduced-motion: reduce){.f1cmft4k:focus-within::after{transition-duration:0.01ms;}}\", {\n    m: \"screen and (prefers-reduced-motion: reduce)\"\n  }], [\"@media screen and (prefers-reduced-motion: reduce){.f1x58t8o:focus-within::after{transition-delay:0.01ms;}}\", {\n    m: \"screen and (prefers-reduced-motion: reduce)\"\n  }]],\n  w: [\".fjw5xc1:focus-within::after{transform:scaleX(1);}\", \".f1xdyd5c:focus-within::after{transition-property:transform;}\", \".fatpbeo:focus-within::after{transition-duration:var(--durationNormal);}\", \".fb7uyps:focus-within::after{transition-delay:var(--curveDecelerateMid);}\", \".f1ibeo51:focus-within:active::after{border-bottom-color:var(--colorCompoundBrandStrokePressed);}\", \".f1vnc8sk:focus-within{outline-width:var(--strokeWidthThick);}\", \".f3e99gv:focus-within{outline-style:solid;}\", \".fhljsf7:focus-within{outline-color:transparent;}\", [\".fds4ob8:focus-within{border:var(--strokeWidthThin) solid var(--colorNeutralStroke1);}\", {\n    p: -2\n  }], \".f1so894s:focus-within{border-bottom-color:var(--colorCompoundBrandStroke);}\"],\n  h: [\".ftmjh5b:hover,.ftmjh5b:focus-within{border-top-color:var(--colorTransparentStrokeInteractive);}\", \".f17blpuu:hover,.f17blpuu:focus-within{border-right-color:var(--colorTransparentStrokeInteractive);}\", \".fsrcdbj:hover,.fsrcdbj:focus-within{border-left-color:var(--colorTransparentStrokeInteractive);}\", \".f1tpwn32:hover,.f1tpwn32:focus-within{border-bottom-color:var(--colorTransparentStrokeInteractive);}\", [\".f9mts5e:hover{border:var(--strokeWidthThin) solid var(--colorNeutralStroke1Hover);}\", {\n    p: -2\n  }], \".f1l4zc64:hover{border-bottom-color:var(--colorNeutralStrokeAccessibleHover);}\"],\n  a: [[\".f1acnei2:active{border:var(--strokeWidthThin) solid var(--colorNeutralStroke1Pressed);}\", {\n    p: -2\n  }], \".f1z0osm6:active{border-bottom-color:var(--colorNeutralStrokeAccessiblePressed);}\"]\n});\n/**\n * Styles for the textarea slot\n */\nconst useTextareaStyles = /*#__PURE__*/__styles({\n  base: {\n    icvyot: \"f1ern45e\",\n    vrafjx: [\"f1n71otn\", \"f1deefiw\"],\n    oivjwe: \"f1h8hb77\",\n    wvpqe5: [\"f1deefiw\", \"f1n71otn\"],\n    jrapky: 0,\n    Frg6f3: 0,\n    t21cq0: 0,\n    B6of3ja: 0,\n    B74szlk: \"f1s184ao\",\n    De3pzq: \"f3rmtva\",\n    B7ck84d: \"f1ewtqcl\",\n    sj55zd: \"f19n0e5\",\n    Bh6795r: \"fqerorx\",\n    Bahqtrf: \"fk6fouc\",\n    Bqenvij: \"f1l02sjl\",\n    yvdlaj: \"fwyc1cq\",\n    B3o7kgh: \"f13ta7ih\",\n    B4brmom: \"f1vw9udw\",\n    Brrnbx2: \"fbb3kq8\",\n    oeaueh: \"f1s6fcnf\"\n  },\n  disabled: {\n    sj55zd: \"f1s2aq7o\",\n    Bceei9c: \"fdrzuqr\",\n    yvdlaj: \"fahhnxm\"\n  },\n  small: {\n    sshi5w: \"f1w5jphr\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f1pnffij\",\n    Bxyxcbc: \"f192z54u\",\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fy9rknc\",\n    Bhrd7zp: \"figsok6\",\n    Bg96gwp: \"fwrc4pm\"\n  },\n  medium: {\n    sshi5w: \"fvmd9f\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f1ww82xo\",\n    Bxyxcbc: \"f1if7ixc\",\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fkhj508\",\n    Bhrd7zp: \"figsok6\",\n    Bg96gwp: \"f1i3iumi\"\n  },\n  large: {\n    sshi5w: \"f1kfson\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f15hvtkj\",\n    Bxyxcbc: \"f3kip1f\",\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fod5ikn\",\n    Bhrd7zp: \"figsok6\",\n    Bg96gwp: \"faaz57k\"\n  }\n}, {\n  d: [\".f1ern45e{border-top-style:none;}\", \".f1n71otn{border-right-style:none;}\", \".f1deefiw{border-left-style:none;}\", \".f1h8hb77{border-bottom-style:none;}\", [\".f1s184ao{margin:0;}\", {\n    p: -1\n  }], \".f3rmtva{background-color:transparent;}\", \".f1ewtqcl{box-sizing:border-box;}\", \".f19n0e5{color:var(--colorNeutralForeground1);}\", \".fqerorx{flex-grow:1;}\", \".fk6fouc{font-family:var(--fontFamilyBase);}\", \".f1l02sjl{height:100%;}\", \".fwyc1cq::-webkit-input-placeholder{color:var(--colorNeutralForeground4);}\", \".fwyc1cq::-moz-placeholder{color:var(--colorNeutralForeground4);}\", \".f13ta7ih::-webkit-input-placeholder{opacity:1;}\", \".f13ta7ih::-moz-placeholder{opacity:1;}\", \".f1vw9udw::selection{color:var(--colorNeutralForegroundInverted);}\", \".fbb3kq8::selection{background-color:var(--colorNeutralBackgroundInverted);}\", \".f1s6fcnf{outline-style:none;}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".fdrzuqr{cursor:not-allowed;}\", \".fahhnxm::-webkit-input-placeholder{color:var(--colorNeutralForegroundDisabled);}\", \".fahhnxm::-moz-placeholder{color:var(--colorNeutralForegroundDisabled);}\", \".f1w5jphr{min-height:40px;}\", [\".f1pnffij{padding:var(--spacingVerticalXS) calc(var(--spacingHorizontalSNudge) + var(--spacingHorizontalXXS));}\", {\n    p: -1\n  }], \".f192z54u{max-height:200px;}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".fwrc4pm{line-height:var(--lineHeightBase200);}\", \".fvmd9f{min-height:52px;}\", [\".f1ww82xo{padding:var(--spacingVerticalSNudge) calc(var(--spacingHorizontalMNudge) + var(--spacingHorizontalXXS));}\", {\n    p: -1\n  }], \".f1if7ixc{max-height:260px;}\", \".fkhj508{font-size:var(--fontSizeBase300);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\", \".f1kfson{min-height:64px;}\", [\".f15hvtkj{padding:var(--spacingVerticalS) calc(var(--spacingHorizontalM) + var(--spacingHorizontalXXS));}\", {\n    p: -1\n  }], \".f3kip1f{max-height:320px;}\", \".fod5ikn{font-size:var(--fontSizeBase400);}\", \".faaz57k{line-height:var(--lineHeightBase400);}\"]\n});\n/**\n * Styles for the textarea's resize property\n */\nconst useTextareaResizeStyles = /*#__PURE__*/__styles({\n  none: {\n    B3rzk8w: \"f1o1s39h\"\n  },\n  both: {\n    B3rzk8w: \"f1pxm0xe\"\n  },\n  horizontal: {\n    B3rzk8w: \"fq6nmtn\"\n  },\n  vertical: {\n    B3rzk8w: \"f1f5ktr4\"\n  }\n}, {\n  d: [\".f1o1s39h{resize:none;}\", \".f1pxm0xe{resize:both;}\", \".fq6nmtn{resize:horizontal;}\", \".f1f5ktr4{resize:vertical;}\"]\n});\n/**\n * Apply styling to the Textarea slots based on the state\n */\nexport const useTextareaStyles_unstable = state => {\n  'use no memo';\n\n  const {\n    size,\n    appearance,\n    resize\n  } = state;\n  const disabled = state.textarea.disabled;\n  const invalid = `${state.textarea['aria-invalid']}` === 'true';\n  const filled = appearance.startsWith('filled');\n  const rootStyles = useRootStyles();\n  state.root.className = mergeClasses(textareaClassNames.root, rootStyles.base, disabled && rootStyles.disabled, !disabled && filled && rootStyles.filled, !disabled && rootStyles[appearance], !disabled && rootStyles.interactive, !disabled && appearance === 'outline' && rootStyles.outlineInteractive, !disabled && invalid && rootStyles.invalid, state.root.className);\n  const textareaStyles = useTextareaStyles();\n  const textareaResizeStyles = useTextareaResizeStyles();\n  state.textarea.className = mergeClasses(textareaClassNames.textarea, textareaStyles.base, textareaStyles[size], textareaResizeStyles[resize], disabled && textareaStyles.disabled, state.textarea.className);\n  return state;\n};","import * as React from 'react';\nimport { renderTextarea_unstable } from './renderTextarea';\nimport { useTextarea_unstable } from './useTextarea';\nimport { useTextareaStyles_unstable } from './useTextareaStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * The Textarea component allows the user to enter and edit text in multiple lines.\n */ export const Textarea = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useTextarea_unstable(props, ref);\n    useTextareaStyles_unstable(state);\n    useCustomStyleHook_unstable('useTextareaStyles_unstable')(state);\n    return renderTextarea_unstable(state);\n});\nTextarea.displayName = 'Textarea';\n","const defaultCompare = ()=>0;\nconst defaultRenderCell = ()=>{\n    if (process.env.NODE_ENV !== 'production') {\n        // eslint-disable-next-line no-console\n        console.warn('@fluentui/react-table: You are using the default column renderCell function that renders null');\n    }\n    return null;\n};\nconst defaultRenderHeaderCell = ()=>{\n    if (process.env.NODE_ENV !== 'production') {\n        // eslint-disable-next-line no-console\n        console.warn('@fluentui/react-table: You are using the default column renderHeaderCell function that renders null');\n    }\n    return null;\n};\n/**\n * Helper function to create column definition with defaults\n * @param options - column definition options\n * @returns - column definition with defaults\n */ export function createTableColumn(options) {\n    const { columnId, renderCell = defaultRenderCell, renderHeaderCell = defaultRenderHeaderCell, compare = defaultCompare } = options;\n    return {\n        columnId,\n        renderCell,\n        renderHeaderCell,\n        compare\n    };\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bigint: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","import * as React from 'react';\nconst defaultContextValue = {\n    scrollState: 'none',\n    setScrollState: ()=>({})\n};\nexport const drawerContext = React.createContext(undefined);\nexport const DrawerProvider = drawerContext.Provider;\nexport const useDrawerContext_unstable = ()=>{\n    var _React_useContext;\n    return (_React_useContext = React.useContext(drawerContext)) !== null && _React_useContext !== void 0 ? _React_useContext : defaultContextValue;\n};\nexport const useDrawerContextValue = ()=>{\n    const [scrollState, setScrollState] = React.useState('none');\n    return {\n        setScrollState,\n        scrollState\n    };\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\n/**\n * CSS variable names used internally for uniform styling in Drawer.\n */\nexport const drawerCSSVars = {\n  drawerSizeVar: '--fui-Drawer--size'\n};\n/**\n * Default shared styles for the Drawer component\n */\nexport const drawerDefaultStyles = {\n  overflow: 'hidden',\n  width: `var(${drawerCSSVars.drawerSizeVar})`,\n  maxWidth: '100vw',\n  height: 'auto',\n  maxHeight: '100vh',\n  boxSizing: 'border-box',\n  display: 'flex',\n  flexDirection: 'column',\n  alignItems: 'flex-start',\n  justifyContent: 'flex-start',\n  backgroundColor: tokens.colorNeutralBackground1,\n  color: tokens.colorNeutralForeground1\n};\n/**\n * Shared dynamic styles for the Drawer component\n */\nconst useDrawerStyles = /*#__PURE__*/__styles({\n  start: {\n    h3c5rm: 0,\n    vrafjx: 0,\n    Bekrc4i: 0,\n    u1mtju: [\"f1xteiwb\", \"fsqykmd\"],\n    oyh7mz: [\"f1vgc2s3\", \"f1e31b4d\"],\n    j35jbq: [\"fvfyk4\", \"frppm18\"]\n  },\n  end: {\n    zhjwy3: 0,\n    wvpqe5: 0,\n    ibv6hh: 0,\n    B4g9neb: [\"fsqykmd\", \"f1xteiwb\"],\n    j35jbq: [\"f1e31b4d\", \"f1vgc2s3\"],\n    oyh7mz: [\"frppm18\", \"fvfyk4\"]\n  },\n  bottom: {\n    B5kzvoi: \"f1yab3r1\",\n    Bhzewxz: \"f198g47y\"\n  },\n  small: {\n    Bjr0ffy: \"f1exhnwo\"\n  },\n  medium: {\n    Bjr0ffy: \"fqofjzu\"\n  },\n  large: {\n    Bjr0ffy: \"fce6y3m\"\n  },\n  full: {\n    Bjr0ffy: \"fsdmzs6\"\n  }\n}, {\n  d: [[\".f1xteiwb{border-right:var(--strokeWidthThin) solid var(--colorTransparentStroke);}\", {\n    p: -1\n  }], [\".fsqykmd{border-left:var(--strokeWidthThin) solid var(--colorTransparentStroke);}\", {\n    p: -1\n  }], \".f1vgc2s3{left:0;}\", \".f1e31b4d{right:0;}\", \".fvfyk4{right:auto;}\", \".frppm18{left:auto;}\", [\".fsqykmd{border-left:var(--strokeWidthThin) solid var(--colorTransparentStroke);}\", {\n    p: -1\n  }], [\".f1xteiwb{border-right:var(--strokeWidthThin) solid var(--colorTransparentStroke);}\", {\n    p: -1\n  }], \".f1yab3r1{bottom:0;}\", \".f198g47y{top:auto;}\", \".f1exhnwo{--fui-Drawer--size:320px;}\", \".fqofjzu{--fui-Drawer--size:592px;}\", \".fce6y3m{--fui-Drawer--size:940px;}\", \".fsdmzs6{--fui-Drawer--size:100vw;}\"]\n});\nexport const useDrawerBottomBaseStyles = /*#__PURE__*/__styles({\n  small: {\n    Bjr0ffy: \"f1exhnwo\"\n  },\n  medium: {\n    Bjr0ffy: \"fqofjzu\"\n  },\n  large: {\n    Bjr0ffy: \"fce6y3m\"\n  },\n  full: {\n    Bjr0ffy: \"f1rat34m\"\n  }\n}, {\n  d: [\".f1exhnwo{--fui-Drawer--size:320px;}\", \".fqofjzu{--fui-Drawer--size:592px;}\", \".fce6y3m{--fui-Drawer--size:940px;}\", \".f1rat34m{--fui-Drawer--size:100%;}\"]\n});\nexport const useDrawerBaseClassNames = ({\n  position,\n  size\n}) => {\n  const baseStyles = useDrawerStyles();\n  const bottomBaseStyles = useDrawerBottomBaseStyles();\n  return mergeClasses(baseStyles[position], position === 'bottom' && bottomBaseStyles[size], position !== 'bottom' && baseStyles[size]);\n};","import { createPresenceComponent, motionTokens } from '@fluentui/react-motion';\nimport { tokens } from '@fluentui/react-theme';\nimport { drawerCSSVars } from './useDrawerBaseStyles.styles';\nconst durations = {\n    small: motionTokens.durationGentle,\n    medium: motionTokens.durationSlow,\n    large: motionTokens.durationSlower,\n    full: motionTokens.durationUltraSlow\n};\n/**\n * @internal\n */ export function getPositionTransform(position, sizeVar, dir) {\n    const leftToRightTransform = `translate3d(var(${sizeVar}), 0, 0)`;\n    const rightToLeftTransform = `translate3d(calc(var(${sizeVar}) * -1), 0, 0)`;\n    const bottomToTopTransform = `translate3d(0, var(${sizeVar}), 0)`;\n    if (position === 'start') {\n        return dir === 'ltr' ? rightToLeftTransform : leftToRightTransform;\n    }\n    if (position === 'end') {\n        return dir === 'ltr' ? leftToRightTransform : rightToLeftTransform;\n    }\n    if (position === 'bottom') {\n        return bottomToTopTransform;\n    }\n    return 'translate3d(0, 0, 0)';\n}\n/**\n * @internal\n */ export const InlineDrawerMotion = createPresenceComponent(({ position, size, dir })=>{\n    const keyframes = [\n        {\n            /**\n       * TODO: Once the #31663 lands, we should update the RTL logic to use Motion APIs\n       * The work will be done in the #32817\n       */ transform: getPositionTransform(position, drawerCSSVars.drawerSizeVar, dir),\n            opacity: 0\n        },\n        {\n            transform: 'translate3d(0, 0, 0)',\n            opacity: 1\n        }\n    ];\n    const duration = durations[size];\n    return {\n        enter: {\n            keyframes,\n            duration,\n            easing: motionTokens.curveDecelerateMid\n        },\n        exit: {\n            keyframes: [\n                ...keyframes\n            ].reverse(),\n            duration,\n            easing: motionTokens.curveAccelerateMin\n        }\n    };\n});\n/**\n * @internal\n */ export const OverlayDrawerMotion = createPresenceComponent(({ position, size, dir })=>{\n    const keyframes = [\n        {\n            /**\n       * TODO: Once the #31663 lands, we should update the RTL logic to use Motion APIs\n       * The work will be done in the #32817\n       */ transform: getPositionTransform(position, drawerCSSVars.drawerSizeVar, dir),\n            boxShadow: `0px ${tokens.colorTransparentBackground}`,\n            opacity: 0\n        },\n        {\n            transform: 'translate3d(0, 0, 0)',\n            boxShadow: tokens.shadow64,\n            opacity: 1\n        }\n    ];\n    const duration = durations[size];\n    return {\n        enter: {\n            keyframes,\n            duration,\n            easing: motionTokens.curveDecelerateMid\n        },\n        exit: {\n            keyframes: [\n                ...keyframes\n            ].reverse(),\n            duration,\n            easing: motionTokens.curveAccelerateMin\n        }\n    };\n});\n/**\n * @internal\n */ export const OverlaySurfaceBackdropMotion = createPresenceComponent(({ size })=>{\n    const keyframes = [\n        {\n            opacity: 0\n        },\n        {\n            opacity: 1\n        }\n    ];\n    const duration = durations[size];\n    return {\n        enter: {\n            keyframes,\n            easing: motionTokens.curveLinear,\n            duration\n        },\n        exit: {\n            keyframes: [\n                ...keyframes\n            ].reverse(),\n            easing: motionTokens.curveLinear,\n            duration\n        }\n    };\n});\n","export function useDrawerDefaultProps(props) {\n    const { open = false, size = 'small', position = 'start' } = props;\n    return {\n        size,\n        position,\n        open\n    };\n}\n","import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\n/**\n * Styles for the backdrop slot\n */\nconst useBackdropResetStyles = /*#__PURE__*/__resetStyles(\"rmnljus\", null, [\".rmnljus{inset:0px;position:fixed;background-color:rgba(0, 0, 0, 0.4);}\"]);\nconst useBackdropStyles = /*#__PURE__*/__styles({\n  nested: {\n    De3pzq: \"f1c21dwh\"\n  }\n}, {\n  d: [\".f1c21dwh{background-color:var(--colorTransparentBackground);}\"]\n});\n/**\n * Apply styling to the OverlayDrawerSurface slots based on the state\n */\nexport const useOverlayDrawerSurfaceStyles_unstable = state => {\n  'use no memo';\n\n  const backdropResetStyles = useBackdropResetStyles();\n  const backdropStyles = useBackdropStyles();\n  if (state.backdrop) {\n    state.backdrop.className = mergeClasses(backdropResetStyles, state.isNestedDialog && backdropStyles.nested, state.backdrop.className);\n  }\n  return state;\n};","import * as React from 'react';\nimport { useDialogSurface_unstable, useDialogSurfaceContextValues_unstable, renderDialogSurface_unstable } from '@fluentui/react-dialog';\nimport { useOverlayDrawerSurfaceStyles_unstable } from './useOverlayDrawerSurfaceStyles.styles';\n/**\n * @internal\n * OverlayDrawerSurface is a proxy for DialogSurface as is only meant to be used internally for Drawer.\n */ export const OverlayDrawerSurface = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const dialogSurfaceState = useDialogSurface_unstable({\n        ...props,\n        /**\n       * Drawer accepts a `div` or `aside` element type, but Dialog only accepts a `div` element type.\n       * We need to cast the ref to a `div` element type to not break Dialog's ref type.\n       *\n       * FIXME: Evaluate the possibility to remove this cast when Dialog is refactored to accept `aside` elements.\n       */ as: props.as\n    }, ref);\n    const dialogSurfaceContextValues = useDialogSurfaceContextValues_unstable(dialogSurfaceState);\n    useOverlayDrawerSurfaceStyles_unstable(dialogSurfaceState);\n    return renderDialogSurface_unstable(dialogSurfaceState, dialogSurfaceContextValues);\n});\nOverlayDrawerSurface.displayName = 'OverlayDrawerSurface';\n","import * as React from 'react';\n/**\n * @internal\n * @todo Drawer is a first component to use this pattern, we should move this to a shared package if it will be used in more components\n */ export function mergePresenceSlots(inputSlot, Component, params) {\n    if (inputSlot === null) {\n        return null;\n    }\n    return {\n        ...inputSlot,\n        children: (_, props)=>{\n            if (inputSlot === null || inputSlot === void 0 ? void 0 : inputSlot.children) {\n                return inputSlot.children(Component, {\n                    ...props,\n                    ...params\n                });\n            }\n            return /*#__PURE__*/ React.createElement(Component, {\n                ...props,\n                ...params\n            }, props.children);\n        }\n    };\n}\n","import * as React from 'react';\nimport { Dialog } from '@fluentui/react-dialog';\nimport { slot } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { toMountNodeProps } from '@fluentui/react-portal';\nimport { OverlayDrawerMotion, OverlaySurfaceBackdropMotion } from '../../shared/drawerMotions';\nimport { useDrawerDefaultProps } from '../../shared/useDrawerDefaultProps';\nimport { OverlayDrawerSurface } from './OverlayDrawerSurface';\nimport { mergePresenceSlots } from '../../shared/drawerMotionUtils';\nconst STATIC_MOTION = {\n    active: true,\n    canRender: true,\n    ref: /*#__PURE__*/ React.createRef(),\n    type: 'idle'\n};\n/**\n * Create the state required to render OverlayDrawer.\n *\n * The returned state can be modified with hooks such as useOverlayDrawerStyles_unstable,\n * before being passed to renderOverlayDrawer_unstable.\n *\n * @param props - props from this instance of OverlayDrawer\n * @param ref - reference to root HTMLElement of OverlayDrawer\n */ export const useOverlayDrawer_unstable = (props, ref)=>{\n    const { open, size, position } = useDrawerDefaultProps(props);\n    const { backdropMotion, modalType = 'modal', inertTrapFocus, onOpenChange, surfaceMotion, mountNode } = props;\n    const { dir, targetDocument } = useFluent();\n    const { element: mountNodeElement } = toMountNodeProps(mountNode);\n    const hasMountNodeElement = Boolean(mountNodeElement && (targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.body) !== mountNodeElement);\n    const backdropProps = slot.resolveShorthand(props.backdrop);\n    const hasCustomBackdrop = modalType !== 'non-modal' && backdropProps !== null;\n    const root = slot.always({\n        ...props,\n        ref,\n        backdrop: hasCustomBackdrop ? {\n            ...backdropProps\n        } : null,\n        backdropMotion: mergePresenceSlots(backdropMotion, OverlaySurfaceBackdropMotion, {\n            size\n        })\n    }, {\n        /**\n       * Drawer accepts a `div` or `aside` element type, but Dialog only accepts a `div` element type.\n       * We need to cast the ref to a `div` element type to not break Dialog's ref type.\n       */ elementType: OverlayDrawerSurface\n    });\n    const dialog = slot.always({\n        open,\n        onOpenChange,\n        inertTrapFocus,\n        modalType,\n        surfaceMotion: mergePresenceSlots(surfaceMotion, OverlayDrawerMotion, {\n            position,\n            size,\n            dir\n        }),\n        /**\n       * children is not needed here because we construct the children in the render function,\n       * but it's required by DialogProps\n       */ children: null\n    }, {\n        elementType: Dialog\n    });\n    return {\n        components: {\n            root: OverlayDrawerSurface,\n            dialog: Dialog\n        },\n        root,\n        dialog,\n        open,\n        size,\n        position,\n        hasMountNodeElement,\n        // Deprecated props\n        mountNode,\n        motion: STATIC_MOTION\n    };\n};\n","  import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { DrawerProvider } from '../../contexts/drawerContext';\n/**\n * Render the final JSX of OverlayDrawer\n */ export const renderOverlayDrawer_unstable = (state, contextValue)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsx(DrawerProvider, {\n        value: contextValue,\n        children: /*#__PURE__*/ _jsx(state.dialog, {\n            children: /*#__PURE__*/ _jsx(state.root, {})\n        })\n    });\n};\n","import * as React from 'react';\nimport { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { drawerCSSVars, drawerDefaultStyles, useDrawerBaseClassNames } from '../../shared/useDrawerBaseStyles.styles';\nexport const overlayDrawerClassNames = {\n  root: 'fui-OverlayDrawer',\n  backdrop: 'fui-OverlayDrawer__backdrop'\n};\n/**\n * Styles for the root slot\n */\nconst useDrawerResetStyles = /*#__PURE__*/__resetStyles(\"r7dfyj8\", \"rmx02j7\", {\n  r: [\".r7dfyj8{overflow:hidden;width:var(--fui-Drawer--size);max-width:100vw;height:auto;max-height:100vh;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;background-color:var(--colorNeutralBackground1);color:var(--colorNeutralForeground1);position:fixed;top:0;bottom:0;}\", \".r7dfyj8:focus{outline-style:none;}\", \".r7dfyj8:focus-visible{outline-style:none;}\", \".r7dfyj8[data-fui-focus-visible]{border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;}\", \".r7dfyj8[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);right:calc(2px * -1);bottom:calc(2px * -1);left:calc(2px * -1);}\", \".rmx02j7{overflow:hidden;width:var(--fui-Drawer--size);max-width:100vw;height:auto;max-height:100vh;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;background-color:var(--colorNeutralBackground1);color:var(--colorNeutralForeground1);position:fixed;top:0;bottom:0;}\", \".rmx02j7:focus{outline-style:none;}\", \".rmx02j7:focus-visible{outline-style:none;}\", \".rmx02j7[data-fui-focus-visible]{border-top-color:transparent;border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;}\", \".rmx02j7[data-fui-focus-visible]::after{content:\\\"\\\";position:absolute;pointer-events:none;z-index:1;border:2px solid var(--colorStrokeFocus2);border-radius:var(--borderRadiusMedium);top:calc(2px * -1);left:calc(2px * -1);bottom:calc(2px * -1);right:calc(2px * -1);}\"],\n  s: [\"@media (forced-colors: active){.r7dfyj8[data-fui-focus-visible]::after{border-top-color:Highlight;border-right-color:Highlight;border-bottom-color:Highlight;border-left-color:Highlight;}}\", \"@media (forced-colors: active){.rmx02j7[data-fui-focus-visible]::after{border-top-color:Highlight;border-left-color:Highlight;border-bottom-color:Highlight;border-right-color:Highlight;}}\"]\n});\nconst useDrawerRootStyles = /*#__PURE__*/__styles({\n  start: {},\n  end: {},\n  bottom: {\n    Bhzewxz: \"f198g47y\",\n    Bqenvij: \"fub80nq\",\n    a9b677: \"fr97h3j\"\n  },\n  absolute: {\n    qhf8xq: \"f1euv43f\"\n  }\n}, {\n  d: [\".f198g47y{top:auto;}\", \".fub80nq{height:var(--fui-Drawer--size);}\", \".fr97h3j{width:100vw;}\", \".f1euv43f{position:absolute;}\"]\n});\n/**\n * Apply styling to the OverlayDrawer slots based on the state\n */\nexport const useOverlayDrawerStyles_unstable = state => {\n  'use no memo';\n\n  const baseClassNames = useDrawerBaseClassNames(state);\n  const resetStyles = useDrawerResetStyles();\n  const rootStyles = useDrawerRootStyles();\n  const absoluteStyles = state.hasMountNodeElement && rootStyles.absolute;\n  const backdrop = state.root.backdrop;\n  state.root.className = mergeClasses(overlayDrawerClassNames.root, baseClassNames, resetStyles, rootStyles[state.position], absoluteStyles, state.root.className);\n  if (backdrop) {\n    backdrop.className = mergeClasses(overlayDrawerClassNames.backdrop, absoluteStyles, backdrop.className);\n  }\n  return state;\n};","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useDrawerContextValue } from '../../contexts/drawerContext';\nimport { useOverlayDrawer_unstable } from './useOverlayDrawer';\nimport { renderOverlayDrawer_unstable } from './renderOverlayDrawer';\nimport { useOverlayDrawerStyles_unstable } from './useOverlayDrawerStyles.styles';\n/**\n * OverlayDrawer contains supplementary content and are used for complex creation, edit, or management experiences.\n */ export const OverlayDrawer = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useOverlayDrawer_unstable(props, ref);\n    const contextValue = useDrawerContextValue();\n    useOverlayDrawerStyles_unstable(state);\n    useCustomStyleHook_unstable('useDrawerOverlayStyles_unstable')(state);\n    useCustomStyleHook_unstable('useOverlayDrawerStyles_unstable')(state);\n    return renderOverlayDrawer_unstable(state, contextValue);\n});\nOverlayDrawer.displayName = 'OverlayDrawer';\n","import * as React from 'react';\nimport { mergeCallbacks, slot, useAnimationFrame, useMergedRefs, useIsomorphicLayoutEffect, getIntrinsicElementProps } from '@fluentui/react-utilities';\nimport { useDrawerContext_unstable } from '../../contexts/drawerContext';\n/**\n * @internal\n *\n * Get the current scroll state of the DrawerBody.\n *\n * @param element - HTMLElement to check scroll state of\n */ const getScrollState = ({ scrollTop, scrollHeight, clientHeight })=>{\n    if (scrollHeight <= clientHeight) {\n        return 'none';\n    }\n    if (scrollTop === 0) {\n        return 'top';\n    }\n    if (scrollTop + clientHeight === scrollHeight) {\n        return 'bottom';\n    }\n    return 'middle';\n};\n/**\n * Create the state required to render DrawerBody.\n *\n * The returned state can be modified with hooks such as useDrawerBodyStyles_unstable,\n * before being passed to renderDrawerBody_unstable.\n *\n * @param props - props from this instance of DrawerBody\n * @param ref - reference to root HTMLElement of DrawerBody\n */ export const useDrawerBody_unstable = (props, ref)=>{\n    const { setScrollState } = useDrawerContext_unstable();\n    const scrollRef = React.useRef(null);\n    const [setAnimationFrame, cancelAnimationFrame] = useAnimationFrame();\n    const updateScrollState = React.useCallback(()=>{\n        if (!scrollRef.current) {\n            return;\n        }\n        setScrollState(getScrollState(scrollRef.current));\n    }, [\n        setScrollState\n    ]);\n    const onScroll = React.useCallback(()=>{\n        cancelAnimationFrame();\n        setAnimationFrame(()=>updateScrollState());\n    }, [\n        cancelAnimationFrame,\n        setAnimationFrame,\n        updateScrollState\n    ]);\n    useIsomorphicLayoutEffect(()=>{\n        updateScrollState();\n    /* update scroll state when children changes */ }, [\n        props.children,\n        updateScrollState\n    ]);\n    useIsomorphicLayoutEffect(()=>{\n        updateScrollState();\n        return ()=>cancelAnimationFrame();\n    }, [\n        cancelAnimationFrame,\n        updateScrollState\n    ]);\n    return {\n        components: {\n            root: 'div'\n        },\n        root: slot.always(getIntrinsicElementProps('div', {\n            // FIXME:\n            // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n            // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n            ref: useMergedRefs(ref, scrollRef),\n            ...props,\n            onScroll: mergeCallbacks(props.onScroll, onScroll)\n        }), {\n            elementType: 'div'\n        })\n    };\n};\n","  import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DrawerBody\n */ export const renderDrawerBody_unstable = (state)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { __resetStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const drawerBodyClassNames = {\n  root: 'fui-DrawerBody'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__resetStyles(\"ri6rvx7\", null, [\".ri6rvx7{padding:0 var(--spacingHorizontalXXL);flex:1;align-self:stretch;position:relative;z-index:1;overflow:auto;}\", \".ri6rvx7:last-child{padding-bottom:calc(var(--spacingHorizontalXXL) + 1px);}\", \".ri6rvx7:first-child{padding-top:calc(var(--spacingHorizontalXXL) + 1px);}\"]);\n/**\n * Apply styling to the DrawerBody slots based on the state\n */\nexport const useDrawerBodyStyles_unstable = state => {\n  'use no memo';\n\n  const styles = useStyles();\n  state.root.className = mergeClasses(drawerBodyClassNames.root, styles, state.root.className);\n  return state;\n};","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useDrawerBody_unstable } from './useDrawerBody';\nimport { renderDrawerBody_unstable } from './renderDrawerBody';\nimport { useDrawerBodyStyles_unstable } from './useDrawerBodyStyles.styles';\n/**\n * DrawerBody provides with a container for the main content of a Drawer.\n */ export const DrawerBody = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useDrawerBody_unstable(props, ref);\n    useDrawerBodyStyles_unstable(state);\n    useCustomStyleHook_unstable('useDrawerBodyStyles_unstable')(state);\n    return renderDrawerBody_unstable(state);\n});\nDrawerBody.displayName = 'DrawerBody';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useDrawerContext_unstable } from '../../contexts/drawerContext';\n/**\n * Create the state required to render DrawerHeader.\n *\n * The returned state can be modified with hooks such as useDrawerHeaderStyles_unstable,\n * before being passed to renderDrawerHeader_unstable.\n *\n * @param props - props from this instance of DrawerHeader\n * @param ref - reference to root HTMLElement of DrawerHeader\n */ export const useDrawerHeader_unstable = (props, ref)=>{\n    const { scrollState } = useDrawerContext_unstable();\n    return {\n        components: {\n            root: 'header'\n        },\n        root: slot.always(getIntrinsicElementProps('header', {\n            ref,\n            role: 'none',\n            ...props\n        }), {\n            elementType: 'header'\n        }),\n        scrollState\n    };\n};\n","  import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DrawerHeader\n */ export const renderDrawerHeader_unstable = (state)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { drawerSeparatorStyles } from '../../shared/drawerSeparatorStyles';\nexport const drawerHeaderClassNames = {\n  root: 'fui-DrawerHeader'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__resetStyles(\"r3ovn4i\", null, [\".r3ovn4i{width:100%;max-width:100%;padding:var(--spacingVerticalXXL) var(--spacingHorizontalXXL) var(--spacingVerticalS);gap:var(--spacingHorizontalS);align-self:stretch;display:flex;flex-direction:column;box-sizing:border-box;position:relative;z-index:2;}\"]);\nconst useDrawerHeaderStyles = /*#__PURE__*/__styles({\n  separator: {\n    Dlnsje: \"fxnjyrl\",\n    E3zdtr: \"f1mdlcz9\",\n    B1piin3: [\"f15yvnhg\", \"f1n6gb5g\"],\n    Eqx8gd: [\"f1n6gb5g\", \"f15yvnhg\"],\n    Bp15pi3: \"f1564nw5\",\n    Bjyk6c5: \"fdlpgxj\",\n    F2fol1: \"f15cmg8x\",\n    Ba2ppi3: \"f3f8dgl\",\n    B1dyfl9: \"fjvo4va\",\n    Bsft5z2: \"f13zj6fq\",\n    By385i5: \"fo72kxq\"\n  },\n  separatorVisible: {\n    Bp15pi3: \"fjsqi2x\"\n  }\n}, {\n  d: [\".fxnjyrl::after{height:1px;}\", \".f1mdlcz9::after{position:absolute;}\", \".f15yvnhg::after{right:0;}\", \".f1n6gb5g::after{left:0;}\", \".f1564nw5::after{opacity:0;}\", \".fdlpgxj::after{background-color:var(--colorNeutralStroke1);}\", \".f15cmg8x::after{transition-duration:var(--durationNormal);}\", \".f3f8dgl::after{transition-property:opacity;}\", \".fjvo4va::after{transition-timing-function:var(--curveEasyEase);}\", \".f13zj6fq::after{content:\\\"\\\";}\", \".fo72kxq::after{bottom:0;}\", \".fjsqi2x::after{opacity:1;}\"]\n});\n/**\n * Apply styling to the DrawerHeader slots based on the state\n */\nexport const useDrawerHeaderStyles_unstable = state => {\n  'use no memo';\n\n  const styles = useStyles();\n  const rootStyles = useDrawerHeaderStyles();\n  state.root.className = mergeClasses(drawerHeaderClassNames.root, styles, state.scrollState !== 'none' && rootStyles.separator, ['middle', 'bottom'].includes(state.scrollState) && rootStyles.separatorVisible, state.root.className);\n  return state;\n};","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useDrawerHeader_unstable } from './useDrawerHeader';\nimport { renderDrawerHeader_unstable } from './renderDrawerHeader';\nimport { useDrawerHeaderStyles_unstable } from './useDrawerHeaderStyles.styles';\n/**\n * DrawerHeader provides a structured header for the drawer component.\n */ export const DrawerHeader = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useDrawerHeader_unstable(props, ref);\n    useDrawerHeaderStyles_unstable(state);\n    useCustomStyleHook_unstable('useDrawerHeaderStyles_unstable')(state);\n    return renderDrawerHeader_unstable(state);\n});\nDrawerHeader.displayName = 'DrawerHeader';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useDialogContext_unstable } from '@fluentui/react-dialog';\n/**\n * Create the state required to render DrawerHeaderTitle.\n *\n * The returned state can be modified with hooks such as useDrawerHeaderTitleStyles_unstable,\n * before being passed to renderDrawerHeaderTitle_unstable.\n *\n * @param props - props from this instance of DrawerHeaderTitle\n * @param ref - reference to root HTMLElement of DrawerHeaderTitle\n */ export const useDrawerHeaderTitle_unstable = (props, ref)=>{\n    const { children, heading } = props;\n    const headingId = useDialogContext_unstable((ctx)=>ctx.dialogTitleId);\n    return {\n        components: {\n            root: 'div',\n            heading: 'h2',\n            action: 'div'\n        },\n        root: slot.always(getIntrinsicElementProps('div', {\n            ref,\n            ...props\n        }), {\n            elementType: 'div'\n        }),\n        heading: slot.optional(heading, {\n            defaultProps: {\n                id: headingId,\n                children\n            },\n            renderByDefault: true,\n            elementType: 'h2'\n        }),\n        action: slot.optional(props.action, {\n            elementType: 'div'\n        })\n    };\n};\n","  import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of DrawerHeaderTitle\n */ export const renderDrawerHeaderTitle_unstable = (state)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsxs(state.root, {\n        children: [\n            state.heading && /*#__PURE__*/ _jsx(state.heading, {}),\n            state.action && /*#__PURE__*/ _jsx(state.action, {})\n        ]\n    });\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { useDialogTitleStyles_unstable } from '@fluentui/react-dialog';\nimport { tokens } from '@fluentui/react-theme';\nexport const drawerHeaderTitleClassNames = {\n  root: 'fui-DrawerHeaderTitle',\n  heading: 'fui-DrawerHeaderTitle__heading',\n  action: 'fui-DrawerHeaderTitle__action'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__styles({\n  root: {\n    mc9l5x: \"f22iagw\",\n    Brf1p80: \"f1869bpl\",\n    Bt984gj: \"f122n59\",\n    i8kkvl: \"fsnqrgy\"\n  },\n  action: {\n    t21cq0: [\"faqnl2i\", \"fd75udd\"]\n  }\n}, {\n  d: [\".f22iagw{display:flex;}\", \".f1869bpl{justify-content:space-between;}\", \".f122n59{align-items:center;}\", \".fsnqrgy{column-gap:var(--spacingHorizontalS);}\", \".faqnl2i{margin-right:calc(var(--spacingHorizontalS) * -1);}\", \".fd75udd{margin-left:calc(var(--spacingHorizontalS) * -1);}\"]\n});\n/**\n * Apply styling to the DrawerHeaderTitle slots based on the state\n */\nexport const useDrawerHeaderTitleStyles_unstable = state => {\n  'use no memo';\n\n  const styles = useStyles();\n  const {\n    heading: root = {},\n    action,\n    components\n  } = state;\n  useDialogTitleStyles_unstable({\n    components: {\n      root: components.heading,\n      action: components.action\n    },\n    root,\n    action\n  });\n  state.root.className = mergeClasses(drawerHeaderTitleClassNames.root, styles.root, state.root.className);\n  if (state.heading) {\n    state.heading.className = mergeClasses(drawerHeaderTitleClassNames.heading, state.heading.className);\n  }\n  if (state.action) {\n    state.action.className = mergeClasses(drawerHeaderTitleClassNames.action, styles.action, state.action.className);\n  }\n  return state;\n};","import * as React from 'react';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useDrawerHeaderTitle_unstable } from './useDrawerHeaderTitle';\nimport { renderDrawerHeaderTitle_unstable } from './renderDrawerHeaderTitle';\nimport { useDrawerHeaderTitleStyles_unstable } from './useDrawerHeaderTitleStyles.styles';\n/**\n * DrawerHeader provides a structured header for the drawer component.\n */ export const DrawerHeaderTitle = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useDrawerHeaderTitle_unstable(props, ref);\n    useDrawerHeaderTitleStyles_unstable(state);\n    useCustomStyleHook_unstable('useDrawerHeaderTitleStyles_unstable')(state);\n    return renderDrawerHeaderTitle_unstable(state);\n});\nDrawerHeaderTitle.displayName = 'DrawerHeaderTitle';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\n/**\n * Create the state required to render Breadcrumb.\n *\n * The returned state can be modified with hooks such as useBreadcrumbStyles_unstable,\n * before being passed to renderBreadcrumb_unstable.\n *\n * @param props - props from this instance of Breadcrumb\n * @param ref - reference to root HTMLElement of Breadcrumb\n */ export const useBreadcrumb_unstable = (props, ref)=>{\n    const { focusMode = 'tab', size = 'medium', list, ...rest } = props;\n    const focusAttributes = useArrowNavigationGroup({\n        circular: true,\n        axis: 'horizontal',\n        memorizeCurrent: true\n    });\n    var _props_arialabel;\n    return {\n        components: {\n            root: 'nav',\n            list: 'ol'\n        },\n        root: slot.always(getIntrinsicElementProps('nav', {\n            ref,\n            'aria-label': (_props_arialabel = props['aria-label']) !== null && _props_arialabel !== void 0 ? _props_arialabel : 'breadcrumb',\n            ...focusMode === 'arrow' ? focusAttributes : {},\n            ...rest\n        }), {\n            elementType: 'nav'\n        }),\n        list: slot.optional(list, {\n            renderByDefault: true,\n            defaultProps: {\n                role: 'list'\n            },\n            elementType: 'ol'\n        }),\n        size\n    };\n};\n","import * as React from 'react';\nconst BreadcrumbContext = React.createContext(undefined);\n/**\n * @internal\n */ export const breadcrumbDefaultValue = {\n    size: 'medium'\n};\n/**\n * @internal\n */ export const BreadcrumbProvider = BreadcrumbContext.Provider;\n/**\n * @internal\n */ export const useBreadcrumbContext_unstable = ()=>{\n    var _React_useContext;\n    return (_React_useContext = React.useContext(BreadcrumbContext)) !== null && _React_useContext !== void 0 ? _React_useContext : breadcrumbDefaultValue;\n};\n","  import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nimport { BreadcrumbProvider } from './BreadcrumbContext';\n/**\n * Render the final JSX of Breadcrumb\n */ export const renderBreadcrumb_unstable = (state, contextValues)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsx(state.root, {\n        children: /*#__PURE__*/ _jsx(BreadcrumbProvider, {\n            value: contextValues,\n            children: state.list && /*#__PURE__*/ _jsx(state.list, {\n                children: state.root.children\n            })\n        })\n    });\n};\n","import { __resetStyles, mergeClasses } from '@griffel/react';\nexport const breadcrumbClassNames = {\n  root: 'fui-Breadcrumb',\n  list: 'fui-Breadcrumb__list'\n};\nconst useListClassName = /*#__PURE__*/__resetStyles(\"rc5rb6b\", null, [\".rc5rb6b{list-style-type:none;display:flex;align-items:center;margin:0;padding:0;}\"]);\n/**\n * Apply styling to the Breadcrumb slots based on the state\n */\nexport const useBreadcrumbStyles_unstable = state => {\n  'use no memo';\n\n  const listBaseClassName = useListClassName();\n  state.root.className = mergeClasses(breadcrumbClassNames.root, state.root.className);\n  if (state.list) {\n    state.list.className = mergeClasses(listBaseClassName, breadcrumbClassNames.list, state.list.className);\n  }\n  return state;\n};","import * as React from 'react';\nexport function useBreadcrumbContextValues_unstable(state) {\n    const { size } = state;\n    return React.useMemo(()=>({\n            size\n        }), [\n        size\n    ]);\n}\n","import * as React from 'react';\nimport { useBreadcrumb_unstable } from './useBreadcrumb';\nimport { renderBreadcrumb_unstable } from './renderBreadcrumb';\nimport { useBreadcrumbStyles_unstable } from './useBreadcrumbStyles.styles';\nimport { useBreadcrumbContextValues_unstable } from './useBreadcrumbContextValue';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * Breadcrumb component - TODO: add more docs\n */ export const Breadcrumb = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useBreadcrumb_unstable(props, ref);\n    const contextValues = useBreadcrumbContextValues_unstable(state);\n    useBreadcrumbStyles_unstable(state);\n    useCustomStyleHook_unstable('useBreadcrumbStyles_unstable')(state);\n    return renderBreadcrumb_unstable(state, contextValues);\n});\nBreadcrumb.displayName = 'Breadcrumb';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { ChevronRightRegular, ChevronLeftRegular } from '@fluentui/react-icons';\nimport { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\n/**\n * Create the state required to render BreadcrumbDivider.\n *\n * The returned state can be modified with hooks such as useBreadcrumbDividerStyles_unstable,\n * before being passed to renderBreadcrumbDivider_unstable.\n *\n * @param props - props from this instance of BreadcrumbDivider\n * @param ref - reference to root HTMLElement of BreadcrumbDivider\n */ export const useBreadcrumbDivider_unstable = (props, ref)=>{\n    const { size } = useBreadcrumbContext_unstable();\n    const { dir } = useFluent();\n    const icon = getDividerIcon(dir);\n    return {\n        components: {\n            root: 'li'\n        },\n        root: slot.always(getIntrinsicElementProps('li', {\n            ref,\n            'aria-hidden': true,\n            children: icon,\n            ...props\n        }), {\n            elementType: 'li'\n        }),\n        size\n    };\n};\n/**\n * Get icon of the divider\n *\n * @param dir - RTL or LTR\n */ function getDividerIcon(dir) {\n    return dir === 'rtl' ? /*#__PURE__*/ React.createElement(ChevronLeftRegular, null) : /*#__PURE__*/ React.createElement(ChevronRightRegular, null);\n}\n","  import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of BreadcrumbDivider\n */ export const renderBreadcrumbDivider_unstable = (state)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsx(state.root, {});\n};\n","import { __styles, __resetStyles, mergeClasses } from '@griffel/react';\nexport const breadcrumbDividerClassNames = {\n  root: 'fui-BreadcrumbDivider'\n};\n/**\n * Styles for the root slot\n */\nconst useStyles = /*#__PURE__*/__resetStyles(\"rk008qs\", null, [\".rk008qs{display:flex;}\"]);\nconst useIconStyles = /*#__PURE__*/__styles({\n  small: {\n    Be2twd7: \"f1ugzwwg\"\n  },\n  medium: {\n    Be2twd7: \"f4ybsrx\"\n  },\n  large: {\n    Be2twd7: \"fe5j1ua\"\n  }\n}, {\n  d: [\".f1ugzwwg{font-size:12px;}\", \".f4ybsrx{font-size:16px;}\", \".fe5j1ua{font-size:20px;}\"]\n});\n/**\n * Apply styling to the BreadcrumbDivider slots based on the state\n */\nexport const useBreadcrumbDividerStyles_unstable = state => {\n  'use no memo';\n\n  const styles = useStyles();\n  const iconStyles = useIconStyles();\n  const {\n    size = 'medium'\n  } = state;\n  state.root.className = mergeClasses(breadcrumbDividerClassNames.root, styles, iconStyles[size], state.root.className);\n  return state;\n};","import * as React from 'react';\nimport { useBreadcrumbDivider_unstable } from './useBreadcrumbDivider';\nimport { renderBreadcrumbDivider_unstable } from './renderBreadcrumbDivider';\nimport { useBreadcrumbDividerStyles_unstable } from './useBreadcrumbDividerStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A divider component which is used inside the Breadcrumb\n */ export const BreadcrumbDivider = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useBreadcrumbDivider_unstable(props, ref);\n    useBreadcrumbDividerStyles_unstable(state);\n    useCustomStyleHook_unstable('useBreadcrumbDividerStyles_unstable')(state);\n    return renderBreadcrumbDivider_unstable(state);\n});\nBreadcrumbDivider.displayName = 'BreadcrumbDivider';\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';\n/**\n * Create the state required to render BreadcrumbItem.\n *\n * The returned state can be modified with hooks such as useBreadcrumbItemStyles_unstable,\n * before being passed to renderBreadcrumbItem_unstable.\n *\n * @param props - props from this instance of BreadcrumbItem\n * @param ref - reference to root HTMLElement of BreadcrumbItem\n */ export const useBreadcrumbItem_unstable = (props, ref)=>{\n    const { size } = useBreadcrumbContext_unstable();\n    return {\n        components: {\n            root: 'li'\n        },\n        root: slot.always(getIntrinsicElementProps('li', {\n            ref,\n            ...props\n        }), {\n            elementType: 'li'\n        }),\n        size\n    };\n};\n","  import { jsx as _jsx } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of BreadcrumbItem\n */ export const renderBreadcrumbItem_unstable = (state)=>{\n    assertSlots(state);\n    return /*#__PURE__*/ _jsx(state.root, {\n        children: state.root.children\n    });\n};\n","import { __resetStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const breadcrumbItemClassNames = {\n  root: 'fui-BreadcrumbItem'\n};\nconst useBreadcrumbItemResetStyles = /*#__PURE__*/__resetStyles(\"r1tl60rs\", null, [\".r1tl60rs{display:flex;align-items:center;color:var(--colorNeutralForeground2);box-sizing:border-box;text-wrap:nowrap;}\"]);\n/**\n * Apply styling to the BreadcrumbItem slots based on the state\n */\nexport const useBreadcrumbItemStyles_unstable = state => {\n  'use no memo';\n\n  const resetStyles = useBreadcrumbItemResetStyles();\n  state.root.className = mergeClasses(breadcrumbItemClassNames.root, resetStyles, state.root.className);\n  return state;\n};","import * as React from 'react';\nimport { useBreadcrumbItem_unstable } from './useBreadcrumbItem';\nimport { renderBreadcrumbItem_unstable } from './renderBreadcrumbItem';\nimport { useBreadcrumbItemStyles_unstable } from './useBreadcrumbItemStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * BreadcrumbItem component is a wrapper for BreadcrumbLink and BreadcrumbButton.\n * It can be used as a non-interactive item.\n */ export const BreadcrumbItem = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useBreadcrumbItem_unstable(props, ref);\n    useBreadcrumbItemStyles_unstable(state);\n    useCustomStyleHook_unstable('useBreadcrumbItemStyles_unstable')(state);\n    return renderBreadcrumbItem_unstable(state);\n});\nBreadcrumbItem.displayName = 'BreadcrumbItem';\n","import * as React from 'react';\nimport { useButton_unstable } from '@fluentui/react-button';\nimport { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';\n/**\n * Create the state required to render BreadcrumbButton.\n *\n * The returned state can be modified with hooks such as useBreadcrumbButtonStyles_unstable,\n * before being passed to renderBreadcrumbButton_unstable.\n *\n * @param props - props from this instance of BreadcrumbButton\n * @param ref - reference to root HTMLElement of BreadcrumbButton\n */ export const useBreadcrumbButton_unstable = (props, ref)=>{\n    const { size } = useBreadcrumbContext_unstable();\n    const { current = false, as, ...rest } = props;\n    const controlType = (as !== null && as !== void 0 ? as : props.href) ? 'a' : 'button';\n    var _props_ariacurrent, _props_ariadisabled;\n    return {\n        ...useButton_unstable({\n            appearance: 'subtle',\n            role: undefined,\n            type: undefined,\n            as: controlType,\n            iconPosition: 'before',\n            'aria-current': current ? (_props_ariacurrent = props['aria-current']) !== null && _props_ariacurrent !== void 0 ? _props_ariacurrent : 'page' : undefined,\n            'aria-disabled': current ? (_props_ariadisabled = props['aria-disabled']) !== null && _props_ariadisabled !== void 0 ? _props_ariadisabled : true : undefined,\n            ...rest\n        }, ref),\n        current,\n        size\n    };\n};\n","import { renderButton_unstable } from '@fluentui/react-button';\n/**\n * Render the final JSX of BreadcrumbButton\n */ export const renderBreadcrumbButton_unstable = (state)=>{\n    return renderButton_unstable(state);\n};\n","import { __styles, mergeClasses } from '@griffel/react';\nimport { useButtonStyles_unstable, buttonClassNames } from '@fluentui/react-button';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\n/**\n * Static CSS class names used internally for the component slots.\n */\nexport const breadcrumbButtonClassNames = {\n  root: 'fui-BreadcrumbButton',\n  icon: 'fui-BreadcrumbButton__icon'\n};\n/**\n * CSS variable names used internally for styling in the Breadcrumb.\n */\nconst breadcrumbCSSVars = {\n  breadcrumbIconSizeVar: '--fui-Breadcrumb--icon-size',\n  breadcrumbIconLineHeightVar: '--fui-Breadcrumb--icon-line-height'\n};\nconst useIconStyles = /*#__PURE__*/__styles({\n  base: {\n    Be2twd7: \"fsj74e5\",\n    Bqenvij: \"f1qfv4wv\",\n    Bg96gwp: \"f15xapk4\",\n    a9b677: \"f17j33op\",\n    t21cq0: [\"fm0x6gh\", \"fbyavb5\"]\n  },\n  small: {\n    u3h8gg: \"f1qfi7kw\",\n    Biu6dll: \"f1876atl\"\n  },\n  medium: {\n    u3h8gg: \"f1h9446d\",\n    Biu6dll: \"f10xfswh\"\n  },\n  large: {\n    u3h8gg: \"f5hcofs\",\n    Biu6dll: \"f1a6v6zl\"\n  }\n}, {\n  d: [\".fsj74e5{font-size:var(--fui-Breadcrumb--icon-size);}\", \".f1qfv4wv{height:var(--fui-Breadcrumb--icon-size);}\", \".f15xapk4{line-height:var(--fui-Breadcrumb--icon-line-height);}\", \".f17j33op{width:var(--fui-Breadcrumb--icon-size);}\", \".fm0x6gh{margin-right:var(--spacingHorizontalXS);}\", \".fbyavb5{margin-left:var(--spacingHorizontalXS);}\", \".f1qfi7kw{--fui-Breadcrumb--icon-size:12px;}\", \".f1876atl{--fui-Breadcrumb--icon-line-height:var(--lineHeightBase200);}\", \".f1h9446d{--fui-Breadcrumb--icon-size:16px;}\", \".f10xfswh{--fui-Breadcrumb--icon-line-height:var(--lineHeightBase400);}\", \".f5hcofs{--fui-Breadcrumb--icon-size:20px;}\", \".f1a6v6zl{--fui-Breadcrumb--icon-line-height:var(--lineHeightBase600);}\"]\n});\nconst defaultButtonStyles = {\n  backgroundColor: tokens.colorTransparentBackground,\n  color: tokens.colorNeutralForeground2,\n  cursor: 'auto'\n};\nconst currentIconStyles = {\n  ...defaultButtonStyles,\n  [`& .${buttonClassNames.icon}`]: {\n    color: 'unset'\n  },\n  [`& .${iconFilledClassName}`]: {\n    display: 'none'\n  },\n  [`& .${iconRegularClassName}`]: {\n    display: 'inline'\n  }\n};\nconst useStyles = /*#__PURE__*/__styles({\n  root: {\n    Bf4jedk: \"f18p0k4z\",\n    j4b8c3: \"fv6wr3j\"\n  },\n  small: {\n    Bqenvij: \"frvgh55\",\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fy9rknc\",\n    Bhrd7zp: \"figsok6\",\n    Bg96gwp: \"fwrc4pm\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f1r1wyb6\"\n  },\n  medium: {\n    Bqenvij: \"f1d2rq10\",\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fkhj508\",\n    Bhrd7zp: \"figsok6\",\n    Bg96gwp: \"f1i3iumi\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f1r1wyb6\"\n  },\n  large: {\n    Bqenvij: \"fbhnoac\",\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fod5ikn\",\n    Bhrd7zp: \"figsok6\",\n    Bg96gwp: \"faaz57k\",\n    Byoj8tv: 0,\n    uwmqm3: 0,\n    z189sj: 0,\n    z8tnut: 0,\n    B0ocmuz: \"f1bnz8pu\"\n  },\n  current: {\n    Jwef8y: \"f9ql6rf\",\n    Bi91k9c: \"f3p8bqa\",\n    eoavqd: \"f14w7a5u\",\n    Bbdnnc7: \"f1irjp3o\",\n    Bk3fhr4: \"f19vpps7\",\n    Bmfj8id: \"fv5swzo\",\n    iro3zm: \"f3h1zc4\",\n    B2d53fq: \"f1xkgyln\",\n    c3iz72: \"f17wbbfx\",\n    x3br3k: \"fofxw0a\",\n    em6i61: \"f1ol4fw6\",\n    vm6p8p: \"f1q1lw4e\",\n    Bszkowt: \"ff24m\",\n    Dyrjrp: \"ft5r8e9\",\n    ezr58z: \"f1cbpfqp\",\n    nhk3du: \"f1motppv\",\n    Bfrek18: \"fi9vkhg\",\n    G209fr: \"f1fg3nnv\"\n  },\n  currentSmall: {\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fy9rknc\",\n    Bhrd7zp: \"fl43uef\",\n    Bg96gwp: \"fwrc4pm\"\n  },\n  currentMedium: {\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fkhj508\",\n    Bhrd7zp: \"fl43uef\",\n    Bg96gwp: \"f1i3iumi\"\n  },\n  currentLarge: {\n    Bahqtrf: \"fk6fouc\",\n    Be2twd7: \"fod5ikn\",\n    Bhrd7zp: \"fl43uef\",\n    Bg96gwp: \"faaz57k\"\n  }\n}, {\n  d: [\".f18p0k4z{min-width:unset;}\", \".fv6wr3j{text-wrap:nowrap;}\", \".frvgh55{height:24px;}\", \".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".fwrc4pm{line-height:var(--lineHeightBase200);}\", [\".f1r1wyb6{padding:var(--spacingHorizontalSNudge);}\", {\n    p: -1\n  }], \".f1d2rq10{height:32px;}\", \".fkhj508{font-size:var(--fontSizeBase300);}\", \".f1i3iumi{line-height:var(--lineHeightBase300);}\", [\".f1r1wyb6{padding:var(--spacingHorizontalSNudge);}\", {\n    p: -1\n  }], \".fbhnoac{height:40px;}\", \".fod5ikn{font-size:var(--fontSizeBase400);}\", \".faaz57k{line-height:var(--lineHeightBase400);}\", [\".f1bnz8pu{padding:var(--spacingHorizontalS);}\", {\n    p: -1\n  }], \".ff24m:disabled{background-color:var(--colorTransparentBackground);}\", \".ft5r8e9:disabled{color:var(--colorNeutralForeground2);}\", \".f1cbpfqp:disabled{cursor:auto;}\", \".f1motppv:disabled .fui-Button__icon{color:unset;}\", \".fi9vkhg:disabled .fui-Icon-filled{display:none;}\", \".f1fg3nnv:disabled .fui-Icon-regular{display:inline;}\", \".fl43uef{font-weight:var(--fontWeightSemibold);}\"],\n  h: [\".f9ql6rf:hover{background-color:var(--colorTransparentBackground);}\", \".f3p8bqa:hover{color:var(--colorNeutralForeground2);}\", \".f14w7a5u:hover{cursor:auto;}\", \".f1irjp3o:hover .fui-Button__icon{color:unset;}\", \".f19vpps7:hover .fui-Icon-filled{display:none;}\", \".fv5swzo:hover .fui-Icon-regular{display:inline;}\", \".f3h1zc4:hover:active{background-color:var(--colorTransparentBackground);}\", \".f1xkgyln:hover:active{color:var(--colorNeutralForeground2);}\", \".f17wbbfx:hover:active{cursor:auto;}\", \".fofxw0a:hover:active .fui-Button__icon{color:unset;}\", \".f1ol4fw6:hover:active .fui-Icon-filled{display:none;}\", \".f1q1lw4e:hover:active .fui-Icon-regular{display:inline;}\"]\n});\n/**\n * Apply styling to the BreadcrumbButton slots based on the state\n */\nexport const useBreadcrumbButtonStyles_unstable = state => {\n  'use no memo';\n\n  const styles = useStyles();\n  const iconStyles = useIconStyles();\n  const currentSizeMap = {\n    small: styles.currentSmall,\n    medium: styles.currentMedium,\n    large: styles.currentLarge\n  };\n  state.root.className = mergeClasses(breadcrumbButtonClassNames.root, styles[state.size], styles.root, state.current && currentSizeMap[state.size], state.current && styles.current, state.root.className);\n  if (state.icon) {\n    state.icon.className = mergeClasses(iconStyles.base, iconStyles[state.size], state.icon.className);\n  }\n  useButtonStyles_unstable(state);\n  return state;\n};","import * as React from 'react';\nimport { useBreadcrumbButton_unstable } from './useBreadcrumbButton';\nimport { renderBreadcrumbButton_unstable } from './renderBreadcrumbButton';\nimport { useBreadcrumbButtonStyles_unstable } from './useBreadcrumbButtonStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A button component which is used inside the Breadcrumb.\n */ export const BreadcrumbButton = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n    const state = useBreadcrumbButton_unstable(props, ref);\n    useBreadcrumbButtonStyles_unstable(state);\n    useCustomStyleHook_unstable('useBreadcrumbButtonStyles_unstable')(state);\n    return renderBreadcrumbButton_unstable(state);\n});\nBreadcrumbButton.displayName = 'BreadcrumbButton';\n","/* ***** BEGIN LICENSE BLOCK *****\n * Distributed under the BSD license:\n *\n * Copyright (c) 2010, Ajax.org B.V.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in the\n *       documentation and/or other materials provided with the distribution.\n *     * Neither the name of Ajax.org B.V. nor the\n *       names of its contributors may be used to endorse or promote products\n *       derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * ***** END LICENSE BLOCK ***** */\n\n/**\n * Define a module along with a payload\n * @param module a name for the payload\n * @param payload a function to call with (require, exports, module) params\n */\n\n(function() {\n\nvar ACE_NAMESPACE = \"ace\";\n\nvar global = (function() { return this; })();\nif (!global && typeof window != \"undefined\") global = window; // strict mode\n\n\nif (!ACE_NAMESPACE && typeof requirejs !== \"undefined\")\n    return;\n\n\nvar define = function(module, deps, payload) {\n    if (typeof module !== \"string\") {\n        if (define.original)\n            define.original.apply(this, arguments);\n        else {\n            console.error(\"dropping module because define wasn\\'t a string.\");\n            console.trace();\n        }\n        return;\n    }\n    if (arguments.length == 2)\n        payload = deps;\n    if (!define.modules[module]) {\n        define.payloads[module] = payload;\n        define.modules[module] = null;\n    }\n};\n\ndefine.modules = {};\ndefine.payloads = {};\n\n/**\n * Get at functionality define()ed using the function above\n */\nvar _require = function(parentId, module, callback) {\n    if (typeof module === \"string\") {\n        var payload = lookup(parentId, module);\n        if (payload != undefined) {\n            callback && callback();\n            return payload;\n        }\n    } else if (Object.prototype.toString.call(module) === \"[object Array]\") {\n        var params = [];\n        for (var i = 0, l = module.length; i < l; ++i) {\n            var dep = lookup(parentId, module[i]);\n            if (dep == undefined && require.original)\n                return;\n            params.push(dep);\n        }\n        return callback && callback.apply(null, params) || true;\n    }\n};\n\nvar require = function(module, callback) {\n    var packagedModule = _require(\"\", module, callback);\n    if (packagedModule == undefined && require.original)\n        return require.original.apply(this, arguments);\n    return packagedModule;\n};\n\nvar normalizeModule = function(parentId, moduleName) {\n    // normalize plugin requires\n    if (moduleName.indexOf(\"!\") !== -1) {\n        var chunks = moduleName.split(\"!\");\n        return normalizeModule(parentId, chunks[0]) + \"!\" + normalizeModule(parentId, chunks[1]);\n    }\n    // normalize relative requires\n    if (moduleName.charAt(0) == \".\") {\n        var base = parentId.split(\"/\").slice(0, -1).join(\"/\");\n        moduleName = base + \"/\" + moduleName;\n\n        while(moduleName.indexOf(\".\") !== -1 && previous != moduleName) {\n            var previous = moduleName;\n            moduleName = moduleName.replace(/\\/\\.\\//, \"/\").replace(/[^\\/]+\\/\\.\\.\\//, \"\");\n        }\n    }\n    return moduleName;\n};\n\n/**\n * Internal function to lookup moduleNames and resolve them by calling the\n * definition function if needed.\n */\nvar lookup = function(parentId, moduleName) {\n    moduleName = normalizeModule(parentId, moduleName);\n\n    var module = define.modules[moduleName];\n    if (!module) {\n        module = define.payloads[moduleName];\n        if (typeof module === 'function') {\n            var exports = {};\n            var mod = {\n                id: moduleName,\n                uri: '',\n                exports: exports,\n                packaged: true\n            };\n\n            var req = function(module, callback) {\n                return _require(moduleName, module, callback);\n            };\n\n            var returnValue = module(req, exports, mod);\n            exports = returnValue || mod.exports;\n            define.modules[moduleName] = exports;\n            delete define.payloads[moduleName];\n        }\n        module = define.modules[moduleName] = exports || module;\n    }\n    return module;\n};\n\nfunction exportAce(ns) {\n    var root = global;\n    if (ns) {\n        if (!global[ns])\n            global[ns] = {};\n        root = global[ns];\n    }\n\n    if (!root.define || !root.define.packaged) {\n        define.original = root.define;\n        root.define = define;\n        root.define.packaged = true;\n    }\n\n    if (!root.require || !root.require.packaged) {\n        require.original = root.require;\n        root.require = require;\n        root.require.packaged = true;\n    }\n}\n\nexportAce(ACE_NAMESPACE);\n\n})();\n\nace.define(\"ace/lib/es6-shim\",[\"require\",\"exports\",\"module\"], function(require, exports, module){function defineProp(obj, name, val) {\n    Object.defineProperty(obj, name, {\n        value: val,\n        enumerable: false,\n        writable: true,\n        configurable: true\n    });\n}\nif (!String.prototype.startsWith) {\n    defineProp(String.prototype, \"startsWith\", function (searchString, position) {\n        position = position || 0;\n        return this.lastIndexOf(searchString, position) === position;\n    });\n}\nif (!String.prototype.endsWith) {\n    defineProp(String.prototype, \"endsWith\", function (searchString, position) {\n        var subjectString = this;\n        if (position === undefined || position > subjectString.length) {\n            position = subjectString.length;\n        }\n        position -= searchString.length;\n        var lastIndex = subjectString.indexOf(searchString, position);\n        return lastIndex !== -1 && lastIndex === position;\n    });\n}\nif (!String.prototype.repeat) {\n    defineProp(String.prototype, \"repeat\", function (count) {\n        var result = \"\";\n        var string = this;\n        while (count > 0) {\n            if (count & 1)\n                result += string;\n            if ((count >>= 1))\n                string += string;\n        }\n        return result;\n    });\n}\nif (!String.prototype.includes) {\n    defineProp(String.prototype, \"includes\", function (str, position) {\n        return this.indexOf(str, position) != -1;\n    });\n}\nif (!Object.assign) {\n    Object.assign = function (target) {\n        if (target === undefined || target === null) {\n            throw new TypeError(\"Cannot convert undefined or null to object\");\n        }\n        var output = Object(target);\n        for (var index = 1; index < arguments.length; index++) {\n            var source = arguments[index];\n            if (source !== undefined && source !== null) {\n                Object.keys(source).forEach(function (key) {\n                    output[key] = source[key];\n                });\n            }\n        }\n        return output;\n    };\n}\nif (!Object.values) {\n    Object.values = function (o) {\n        return Object.keys(o).map(function (k) {\n            return o[k];\n        });\n    };\n}\nif (!Array.prototype.find) {\n    defineProp(Array.prototype, \"find\", function (predicate) {\n        var len = this.length;\n        var thisArg = arguments[1];\n        for (var k = 0; k < len; k++) {\n            var kValue = this[k];\n            if (predicate.call(thisArg, kValue, k, this)) {\n                return kValue;\n            }\n        }\n    });\n}\nif (!Array.prototype.findIndex) {\n    defineProp(Array.prototype, \"findIndex\", function (predicate) {\n        var len = this.length;\n        var thisArg = arguments[1];\n        for (var k = 0; k < len; k++) {\n            var kValue = this[k];\n            if (predicate.call(thisArg, kValue, k, this)) {\n                return k;\n            }\n        }\n    });\n}\nif (!Array.prototype.includes) {\n    defineProp(Array.prototype, \"includes\", function (item, position) {\n        return this.indexOf(item, position) != -1;\n    });\n}\nif (!Array.prototype.fill) {\n    defineProp(Array.prototype, \"fill\", function (value) {\n        var O = this;\n        var len = O.length >>> 0;\n        var start = arguments[1];\n        var relativeStart = start >> 0;\n        var k = relativeStart < 0\n            ? Math.max(len + relativeStart, 0)\n            : Math.min(relativeStart, len);\n        var end = arguments[2];\n        var relativeEnd = end === undefined ? len : end >> 0;\n        var final = relativeEnd < 0\n            ? Math.max(len + relativeEnd, 0)\n            : Math.min(relativeEnd, len);\n        while (k < final) {\n            O[k] = value;\n            k++;\n        }\n        return O;\n    });\n}\nif (!Array.of) {\n    defineProp(Array, \"of\", function () {\n        return Array.prototype.slice.call(arguments);\n    });\n}\n\n});\n\nace.define(\"ace/lib/fixoldbrowsers\",[\"require\",\"exports\",\"module\",\"ace/lib/es6-shim\"], function(require, exports, module){// vim:set ts=4 sts=4 sw=4 st:\n\"use strict\";\nrequire(\"./es6-shim\");\n\n});\n\nace.define(\"ace/lib/deep_copy\",[\"require\",\"exports\",\"module\"], function(require, exports, module){exports.deepCopy = function deepCopy(obj) {\n    if (typeof obj !== \"object\" || !obj)\n        return obj;\n    var copy;\n    if (Array.isArray(obj)) {\n        copy = [];\n        for (var key = 0; key < obj.length; key++) {\n            copy[key] = deepCopy(obj[key]);\n        }\n        return copy;\n    }\n    if (Object.prototype.toString.call(obj) !== \"[object Object]\")\n        return obj;\n    copy = {};\n    for (var key in obj)\n        copy[key] = deepCopy(obj[key]);\n    return copy;\n};\n\n});\n\nace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\",\"ace/lib/deep_copy\"], function(require, exports, module){\"use strict\";\nexports.last = function (a) {\n    return a[a.length - 1];\n};\nexports.stringReverse = function (string) {\n    return string.split(\"\").reverse().join(\"\");\n};\nexports.stringRepeat = function (string, count) {\n    var result = '';\n    while (count > 0) {\n        if (count & 1)\n            result += string;\n        if (count >>= 1)\n            string += string;\n    }\n    return result;\n};\nvar trimBeginRegexp = /^\\s\\s*/;\nvar trimEndRegexp = /\\s\\s*$/;\nexports.stringTrimLeft = function (string) {\n    return string.replace(trimBeginRegexp, '');\n};\nexports.stringTrimRight = function (string) {\n    return string.replace(trimEndRegexp, '');\n};\nexports.copyObject = function (obj) {\n    var copy = {};\n    for (var key in obj) {\n        copy[key] = obj[key];\n    }\n    return copy;\n};\nexports.copyArray = function (array) {\n    var copy = [];\n    for (var i = 0, l = array.length; i < l; i++) {\n        if (array[i] && typeof array[i] == \"object\")\n            copy[i] = this.copyObject(array[i]);\n        else\n            copy[i] = array[i];\n    }\n    return copy;\n};\nexports.deepCopy = require(\"./deep_copy\").deepCopy;\nexports.arrayToMap = function (arr) {\n    var map = {};\n    for (var i = 0; i < arr.length; i++) {\n        map[arr[i]] = 1;\n    }\n    return map;\n};\nexports.createMap = function (props) {\n    var map = Object.create(null);\n    for (var i in props) {\n        map[i] = props[i];\n    }\n    return map;\n};\nexports.arrayRemove = function (array, value) {\n    for (var i = 0; i <= array.length; i++) {\n        if (value === array[i]) {\n            array.splice(i, 1);\n        }\n    }\n};\nexports.escapeRegExp = function (str) {\n    return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g, '\\\\$1');\n};\nexports.escapeHTML = function (str) {\n    return (\"\" + str).replace(/&/g, \"&#38;\").replace(/\"/g, \"&#34;\").replace(/'/g, \"&#39;\").replace(/</g, \"&#60;\");\n};\nexports.getMatchOffsets = function (string, regExp) {\n    var matches = [];\n    string.replace(regExp, function (str) {\n        matches.push({\n            offset: arguments[arguments.length - 2],\n            length: str.length\n        });\n    });\n    return matches;\n};\nexports.deferredCall = function (fcn) {\n    var timer = null;\n    var callback = function () {\n        timer = null;\n        fcn();\n    };\n    var deferred = function (timeout) {\n        deferred.cancel();\n        timer = setTimeout(callback, timeout || 0);\n        return deferred;\n    };\n    deferred.schedule = deferred;\n    deferred.call = function () {\n        this.cancel();\n        fcn();\n        return deferred;\n    };\n    deferred.cancel = function () {\n        clearTimeout(timer);\n        timer = null;\n        return deferred;\n    };\n    deferred.isPending = function () {\n        return timer;\n    };\n    return deferred;\n};\nexports.delayedCall = function (fcn, defaultTimeout) {\n    var timer = null;\n    var callback = function () {\n        timer = null;\n        fcn();\n    };\n    var _self = function (timeout) {\n        if (timer == null)\n            timer = setTimeout(callback, timeout || defaultTimeout);\n    };\n    _self.delay = function (timeout) {\n        timer && clearTimeout(timer);\n        timer = setTimeout(callback, timeout || defaultTimeout);\n    };\n    _self.schedule = _self;\n    _self.call = function () {\n        this.cancel();\n        fcn();\n    };\n    _self.cancel = function () {\n        timer && clearTimeout(timer);\n        timer = null;\n    };\n    _self.isPending = function () {\n        return timer;\n    };\n    return _self;\n};\nexports.supportsLookbehind = function () {\n    try {\n        new RegExp('(?<=.)');\n    }\n    catch (e) {\n        return false;\n    }\n    return true;\n};\nexports.skipEmptyMatch = function (line, last, supportsUnicodeFlag) {\n    return supportsUnicodeFlag && line.codePointAt(last) > 0xffff ? 2 : 1;\n};\n\n});\n\nace.define(\"ace/lib/useragent\",[\"require\",\"exports\",\"module\"], function(require, exports, module){\"use strict\";\nexports.OS = {\n    LINUX: \"LINUX\",\n    MAC: \"MAC\",\n    WINDOWS: \"WINDOWS\"\n};\nexports.getOS = function () {\n    if (exports.isMac) {\n        return exports.OS.MAC;\n    }\n    else if (exports.isLinux) {\n        return exports.OS.LINUX;\n    }\n    else {\n        return exports.OS.WINDOWS;\n    }\n};\nvar _navigator = typeof navigator == \"object\" ? navigator : {};\nvar os = (/mac|win|linux/i.exec(_navigator.platform) || [\"other\"])[0].toLowerCase();\nvar ua = _navigator.userAgent || \"\";\nvar appName = _navigator.appName || \"\";\nexports.isWin = (os == \"win\");\nexports.isMac = (os == \"mac\");\nexports.isLinux = (os == \"linux\");\nexports.isIE =\n    (appName == \"Microsoft Internet Explorer\" || appName.indexOf(\"MSAppHost\") >= 0)\n        ? parseFloat((ua.match(/(?:MSIE |Trident\\/[0-9]+[\\.0-9]+;.*rv:)([0-9]+[\\.0-9]+)/) || [])[1])\n        : parseFloat((ua.match(/(?:Trident\\/[0-9]+[\\.0-9]+;.*rv:)([0-9]+[\\.0-9]+)/) || [])[1]); // for ie\nexports.isOldIE = exports.isIE && exports.isIE < 9;\nexports.isGecko = exports.isMozilla = ua.match(/ Gecko\\/\\d+/);\nexports.isOpera = typeof opera == \"object\" && Object.prototype.toString.call(window[\"opera\"]) == \"[object Opera]\";\nexports.isWebKit = parseFloat(ua.split(\"WebKit/\")[1]) || undefined;\nexports.isChrome = parseFloat(ua.split(\" Chrome/\")[1]) || undefined;\nexports.isSafari = parseFloat(ua.split(\" Safari/\")[1]) && !exports.isChrome || undefined;\nexports.isEdge = parseFloat(ua.split(\" Edge/\")[1]) || undefined;\nexports.isAIR = ua.indexOf(\"AdobeAIR\") >= 0;\nexports.isAndroid = ua.indexOf(\"Android\") >= 0;\nexports.isChromeOS = ua.indexOf(\" CrOS \") >= 0;\nexports.isIOS = /iPad|iPhone|iPod/.test(ua) && !window[\"MSStream\"];\nif (exports.isIOS)\n    exports.isMac = true;\nexports.isMobile = exports.isIOS || exports.isAndroid;\n\n});\n\nace.define(\"ace/lib/dom\",[\"require\",\"exports\",\"module\",\"ace/lib/useragent\"], function(require, exports, module){\"use strict\";\nvar useragent = require(\"./useragent\");\nvar XHTML_NS = \"http://www.w3.org/1999/xhtml\";\nexports.buildDom = function buildDom(arr, parent, refs) {\n    if (typeof arr == \"string\" && arr) {\n        var txt = document.createTextNode(arr);\n        if (parent)\n            parent.appendChild(txt);\n        return txt;\n    }\n    if (!Array.isArray(arr)) {\n        if (arr && arr.appendChild && parent)\n            parent.appendChild(arr);\n        return arr;\n    }\n    if (typeof arr[0] != \"string\" || !arr[0]) {\n        var els = [];\n        for (var i = 0; i < arr.length; i++) {\n            var ch = buildDom(arr[i], parent, refs);\n            ch && els.push(ch);\n        }\n        return els;\n    }\n    var el = document.createElement(arr[0]);\n    var options = arr[1];\n    var childIndex = 1;\n    if (options && typeof options == \"object\" && !Array.isArray(options))\n        childIndex = 2;\n    for (var i = childIndex; i < arr.length; i++)\n        buildDom(arr[i], el, refs);\n    if (childIndex == 2) {\n        Object.keys(options).forEach(function (n) {\n            var val = options[n];\n            if (n === \"class\") {\n                el.className = Array.isArray(val) ? val.join(\" \") : val;\n            }\n            else if (typeof val == \"function\" || n == \"value\" || n[0] == \"$\") {\n                el[n] = val;\n            }\n            else if (n === \"ref\") {\n                if (refs)\n                    refs[val] = el;\n            }\n            else if (n === \"style\") {\n                if (typeof val == \"string\")\n                    el.style.cssText = val;\n            }\n            else if (val != null) {\n                el.setAttribute(n, val);\n            }\n        });\n    }\n    if (parent)\n        parent.appendChild(el);\n    return el;\n};\nexports.getDocumentHead = function (doc) {\n    if (!doc)\n        doc = document;\n    return doc.head || doc.getElementsByTagName(\"head\")[0] || doc.documentElement;\n};\nexports.createElement = function (tag, ns) {\n    return document.createElementNS ?\n        document.createElementNS(ns || XHTML_NS, tag) :\n        document.createElement(tag);\n};\nexports.removeChildren = function (element) {\n    element.innerHTML = \"\";\n};\nexports.createTextNode = function (textContent, element) {\n    var doc = element ? element.ownerDocument : document;\n    return doc.createTextNode(textContent);\n};\nexports.createFragment = function (element) {\n    var doc = element ? element.ownerDocument : document;\n    return doc.createDocumentFragment();\n};\nexports.hasCssClass = function (el, name) {\n    var classes = (el.className + \"\").split(/\\s+/g);\n    return classes.indexOf(name) !== -1;\n};\nexports.addCssClass = function (el, name) {\n    if (!exports.hasCssClass(el, name)) {\n        el.className += \" \" + name;\n    }\n};\nexports.removeCssClass = function (el, name) {\n    var classes = el.className.split(/\\s+/g);\n    while (true) {\n        var index = classes.indexOf(name);\n        if (index == -1) {\n            break;\n        }\n        classes.splice(index, 1);\n    }\n    el.className = classes.join(\" \");\n};\nexports.toggleCssClass = function (el, name) {\n    var classes = el.className.split(/\\s+/g), add = true;\n    while (true) {\n        var index = classes.indexOf(name);\n        if (index == -1) {\n            break;\n        }\n        add = false;\n        classes.splice(index, 1);\n    }\n    if (add)\n        classes.push(name);\n    el.className = classes.join(\" \");\n    return add;\n};\nexports.setCssClass = function (node, className, include) {\n    if (include) {\n        exports.addCssClass(node, className);\n    }\n    else {\n        exports.removeCssClass(node, className);\n    }\n};\nexports.hasCssString = function (id, doc) {\n    var index = 0, sheets;\n    doc = doc || document;\n    if ((sheets = doc.querySelectorAll(\"style\"))) {\n        while (index < sheets.length) {\n            if (sheets[index++].id === id) {\n                return true;\n            }\n        }\n    }\n};\nexports.removeElementById = function (id, doc) {\n    doc = doc || document;\n    if (doc.getElementById(id)) {\n        doc.getElementById(id).remove();\n    }\n};\nvar strictCSP;\nvar cssCache = [];\nexports.useStrictCSP = function (value) {\n    strictCSP = value;\n    if (value == false)\n        insertPendingStyles();\n    else if (!cssCache)\n        cssCache = [];\n};\nfunction insertPendingStyles() {\n    var cache = cssCache;\n    cssCache = null;\n    cache && cache.forEach(function (item) {\n        importCssString(item[0], item[1]);\n    });\n}\nfunction importCssString(cssText, id, target) {\n    if (typeof document == \"undefined\")\n        return;\n    if (cssCache) {\n        if (target) {\n            insertPendingStyles();\n        }\n        else if (target === false) {\n            return cssCache.push([cssText, id]);\n        }\n    }\n    if (strictCSP)\n        return;\n    var container = target;\n    if (!target || !target.getRootNode) {\n        container = document;\n    }\n    else {\n        container = target.getRootNode();\n        if (!container || container == target)\n            container = document;\n    }\n    var doc = container.ownerDocument || container;\n    if (id && exports.hasCssString(id, container))\n        return null;\n    if (id)\n        cssText += \"\\n/*# sourceURL=ace/css/\" + id + \" */\";\n    var style = exports.createElement(\"style\");\n    style.appendChild(doc.createTextNode(cssText));\n    if (id)\n        style.id = id;\n    if (container == doc)\n        container = exports.getDocumentHead(doc);\n    container.insertBefore(style, container.firstChild);\n}\nexports.importCssString = importCssString;\nexports.importCssStylsheet = function (uri, doc) {\n    exports.buildDom([\"link\", { rel: \"stylesheet\", href: uri }], exports.getDocumentHead(doc));\n};\nexports.scrollbarWidth = function (doc) {\n    var inner = exports.createElement(\"ace_inner\");\n    inner.style.width = \"100%\";\n    inner.style.minWidth = \"0px\";\n    inner.style.height = \"200px\";\n    inner.style.display = \"block\";\n    var outer = exports.createElement(\"ace_outer\");\n    var style = outer.style;\n    style.position = \"absolute\";\n    style.left = \"-10000px\";\n    style.overflow = \"hidden\";\n    style.width = \"200px\";\n    style.minWidth = \"0px\";\n    style.height = \"150px\";\n    style.display = \"block\";\n    outer.appendChild(inner);\n    var body = (doc && doc.documentElement) || (document && document.documentElement);\n    if (!body)\n        return 0;\n    body.appendChild(outer);\n    var noScrollbar = inner.offsetWidth;\n    style.overflow = \"scroll\";\n    var withScrollbar = inner.offsetWidth;\n    if (noScrollbar === withScrollbar) {\n        withScrollbar = outer.clientWidth;\n    }\n    body.removeChild(outer);\n    return noScrollbar - withScrollbar;\n};\nexports.computedStyle = function (element, style) {\n    return window.getComputedStyle(element, \"\") || {};\n};\nexports.setStyle = function (styles, property, value) {\n    if (styles[property] !== value) {\n        styles[property] = value;\n    }\n};\nexports.HAS_CSS_ANIMATION = false;\nexports.HAS_CSS_TRANSFORMS = false;\nexports.HI_DPI = useragent.isWin\n    ? typeof window !== \"undefined\" && window.devicePixelRatio >= 1.5\n    : true;\nif (useragent.isChromeOS)\n    exports.HI_DPI = false;\nif (typeof document !== \"undefined\") {\n    var div = document.createElement(\"div\");\n    if (exports.HI_DPI && div.style.transform !== undefined)\n        exports.HAS_CSS_TRANSFORMS = true;\n    if (!useragent.isEdge && typeof div.style.animationName !== \"undefined\")\n        exports.HAS_CSS_ANIMATION = true;\n    div = null;\n}\nif (exports.HAS_CSS_TRANSFORMS) {\n    exports.translate = function (element, tx, ty) {\n        element.style.transform = \"translate(\" + Math.round(tx) + \"px, \" + Math.round(ty) + \"px)\";\n    };\n}\nelse {\n    exports.translate = function (element, tx, ty) {\n        element.style.top = Math.round(ty) + \"px\";\n        element.style.left = Math.round(tx) + \"px\";\n    };\n}\n\n});\n\nace.define(\"ace/lib/net\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(require, exports, module){/*\n * based on code from:\n *\n * @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.\n * Available via the MIT or new BSD license.\n * see: http://github.com/jrburke/requirejs for details\n */\n\"use strict\";\nvar dom = require(\"./dom\");\nexports.get = function (url, callback) {\n    var xhr = new XMLHttpRequest();\n    xhr.open('GET', url, true);\n    xhr.onreadystatechange = function () {\n        if (xhr.readyState === 4) {\n            callback(xhr.responseText);\n        }\n    };\n    xhr.send(null);\n};\nexports.loadScript = function (path, callback) {\n    var head = dom.getDocumentHead();\n    var s = document.createElement('script');\n    s.src = path;\n    head.appendChild(s);\n    s.onload = s.onreadystatechange = function (_, isAbort) {\n        if (isAbort || !s.readyState || s.readyState == \"loaded\" || s.readyState == \"complete\") {\n            s = s.onload = s.onreadystatechange = null;\n            if (!isAbort)\n                callback();\n        }\n    };\n};\nexports.qualifyURL = function (url) {\n    var a = document.createElement('a');\n    a.href = url;\n    return a.href;\n};\n\n});\n\nace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"], function(require, exports, module){\"use strict\";\nexports.inherits = function (ctor, superCtor) {\n    ctor.super_ = superCtor;\n    ctor.prototype = Object.create(superCtor.prototype, {\n        constructor: {\n            value: ctor,\n            enumerable: false,\n            writable: true,\n            configurable: true\n        }\n    });\n};\nexports.mixin = function (obj, mixin) {\n    for (var key in mixin) {\n        obj[key] = mixin[key];\n    }\n    return obj;\n};\nexports.implement = function (proto, mixin) {\n    exports.mixin(proto, mixin);\n};\n\n});\n\nace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"], function(require, exports, module){\"use strict\";\nvar EventEmitter = {};\nvar stopPropagation = function () { this.propagationStopped = true; };\nvar preventDefault = function () { this.defaultPrevented = true; };\nEventEmitter._emit =\n    EventEmitter._dispatchEvent = function (eventName, e) {\n        this._eventRegistry || (this._eventRegistry = {});\n        this._defaultHandlers || (this._defaultHandlers = {});\n        var listeners = this._eventRegistry[eventName] || [];\n        var defaultHandler = this._defaultHandlers[eventName];\n        if (!listeners.length && !defaultHandler)\n            return;\n        if (typeof e != \"object\" || !e)\n            e = {};\n        if (!e.type)\n            e.type = eventName;\n        if (!e.stopPropagation)\n            e.stopPropagation = stopPropagation;\n        if (!e.preventDefault)\n            e.preventDefault = preventDefault;\n        listeners = listeners.slice();\n        for (var i = 0; i < listeners.length; i++) {\n            listeners[i](e, this);\n            if (e.propagationStopped)\n                break;\n        }\n        if (defaultHandler && !e.defaultPrevented)\n            return defaultHandler(e, this);\n    };\nEventEmitter._signal = function (eventName, e) {\n    var listeners = (this._eventRegistry || {})[eventName];\n    if (!listeners)\n        return;\n    listeners = listeners.slice();\n    for (var i = 0; i < listeners.length; i++)\n        listeners[i](e, this);\n};\nEventEmitter.once = function (eventName, callback) {\n    var _self = this;\n    this.on(eventName, function newCallback() {\n        _self.off(eventName, newCallback);\n        callback.apply(null, arguments);\n    });\n    if (!callback) {\n        return new Promise(function (resolve) {\n            callback = resolve;\n        });\n    }\n};\nEventEmitter.setDefaultHandler = function (eventName, callback) {\n    var handlers = this._defaultHandlers;\n    if (!handlers)\n        handlers = this._defaultHandlers = { _disabled_: {} };\n    if (handlers[eventName]) {\n        var old = handlers[eventName];\n        var disabled = handlers._disabled_[eventName];\n        if (!disabled)\n            handlers._disabled_[eventName] = disabled = [];\n        disabled.push(old);\n        var i = disabled.indexOf(callback);\n        if (i != -1)\n            disabled.splice(i, 1);\n    }\n    handlers[eventName] = callback;\n};\nEventEmitter.removeDefaultHandler = function (eventName, callback) {\n    var handlers = this._defaultHandlers;\n    if (!handlers)\n        return;\n    var disabled = handlers._disabled_[eventName];\n    if (handlers[eventName] == callback) {\n        if (disabled)\n            this.setDefaultHandler(eventName, disabled.pop());\n    }\n    else if (disabled) {\n        var i = disabled.indexOf(callback);\n        if (i != -1)\n            disabled.splice(i, 1);\n    }\n};\nEventEmitter.on =\n    EventEmitter.addEventListener = function (eventName, callback, capturing) {\n        this._eventRegistry = this._eventRegistry || {};\n        var listeners = this._eventRegistry[eventName];\n        if (!listeners)\n            listeners = this._eventRegistry[eventName] = [];\n        if (listeners.indexOf(callback) == -1)\n            listeners[capturing ? \"unshift\" : \"push\"](callback);\n        return callback;\n    };\nEventEmitter.off =\n    EventEmitter.removeListener =\n        EventEmitter.removeEventListener = function (eventName, callback) {\n            this._eventRegistry = this._eventRegistry || {};\n            var listeners = this._eventRegistry[eventName];\n            if (!listeners)\n                return;\n            var index = listeners.indexOf(callback);\n            if (index !== -1)\n                listeners.splice(index, 1);\n        };\nEventEmitter.removeAllListeners = function (eventName) {\n    if (!eventName)\n        this._eventRegistry = this._defaultHandlers = undefined;\n    if (this._eventRegistry)\n        this._eventRegistry[eventName] = undefined;\n    if (this._defaultHandlers)\n        this._defaultHandlers[eventName] = undefined;\n};\nexports.EventEmitter = EventEmitter;\n\n});\n\nace.define(\"ace/lib/report_error\",[\"require\",\"exports\",\"module\"], function(require, exports, module){exports.reportError = function reportError(msg, data) {\n    var e = new Error(msg);\n    e[\"data\"] = data;\n    if (typeof console == \"object\" && console.error)\n        console.error(e);\n    setTimeout(function () { throw e; });\n};\n\n});\n\nace.define(\"ace/lib/default_english_messages\",[\"require\",\"exports\",\"module\"], function(require, exports, module){var defaultEnglishMessages = {\n    \"autocomplete.popup.aria-roledescription\": \"Autocomplete suggestions\",\n    \"autocomplete.popup.aria-label\": \"Autocomplete suggestions\",\n    \"autocomplete.popup.item.aria-roledescription\": \"item\",\n    \"autocomplete.loading\": \"Loading...\",\n    \"editor.scroller.aria-roledescription\": \"editor\",\n    \"editor.scroller.aria-label\": \"Editor content, press Enter to start editing, press Escape to exit\",\n    \"editor.gutter.aria-roledescription\": \"editor\",\n    \"editor.gutter.aria-label\": \"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit\",\n    \"error-marker.good-state\": \"Looks good!\",\n    \"prompt.recently-used\": \"Recently used\",\n    \"prompt.other-commands\": \"Other commands\",\n    \"prompt.no-matching-commands\": \"No matching commands\",\n    \"search-box.find.placeholder\": \"Search for\",\n    \"search-box.find-all.text\": \"All\",\n    \"search-box.replace.placeholder\": \"Replace with\",\n    \"search-box.replace-next.text\": \"Replace\",\n    \"search-box.replace-all.text\": \"All\",\n    \"search-box.toggle-replace.title\": \"Toggle Replace mode\",\n    \"search-box.toggle-regexp.title\": \"RegExp Search\",\n    \"search-box.toggle-case.title\": \"CaseSensitive Search\",\n    \"search-box.toggle-whole-word.title\": \"Whole Word Search\",\n    \"search-box.toggle-in-selection.title\": \"Search In Selection\",\n    \"search-box.search-counter\": \"$0 of $1\",\n    \"text-input.aria-roledescription\": \"editor\",\n    \"text-input.aria-label\": \"Cursor at row $0\",\n    \"gutter.code-folding.range.aria-label\": \"Toggle code folding, rows $0 through $1\",\n    \"gutter.code-folding.closed.aria-label\": \"Toggle code folding, rows $0 through $1\",\n    \"gutter.code-folding.open.aria-label\": \"Toggle code folding, row $0\",\n    \"gutter.code-folding.closed.title\": \"Unfold code\",\n    \"gutter.code-folding.open.title\": \"Fold code\",\n    \"gutter.annotation.aria-label.error\": \"Error, read annotations row $0\",\n    \"gutter.annotation.aria-label.warning\": \"Warning, read annotations row $0\",\n    \"gutter.annotation.aria-label.info\": \"Info, read annotations row $0\",\n    \"inline-fold.closed.title\": \"Unfold code\",\n    \"gutter-tooltip.aria-label.error.singular\": \"error\",\n    \"gutter-tooltip.aria-label.error.plural\": \"errors\",\n    \"gutter-tooltip.aria-label.warning.singular\": \"warning\",\n    \"gutter-tooltip.aria-label.warning.plural\": \"warnings\",\n    \"gutter-tooltip.aria-label.info.singular\": \"information message\",\n    \"gutter-tooltip.aria-label.info.plural\": \"information messages\",\n    \"gutter.annotation.aria-label.security\": \"Security finding, read annotations row $0\",\n    \"gutter.annotation.aria-label.hint\": \"Suggestion, read annotations row $0\",\n    \"gutter-tooltip.aria-label.security.singular\": \"security finding\",\n    \"gutter-tooltip.aria-label.security.plural\": \"security findings\",\n    \"gutter-tooltip.aria-label.hint.singular\": \"suggestion\",\n    \"gutter-tooltip.aria-label.hint.plural\": \"suggestions\"\n};\nexports.defaultEnglishMessages = defaultEnglishMessages;\n\n});\n\nace.define(\"ace/lib/app_config\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\",\"ace/lib/report_error\",\"ace/lib/default_english_messages\"], function(require, exports, module){\"no use strict\";\nvar oop = require(\"./oop\");\nvar EventEmitter = require(\"./event_emitter\").EventEmitter;\nvar reportError = require(\"./report_error\").reportError;\nvar defaultEnglishMessages = require(\"./default_english_messages\").defaultEnglishMessages;\nvar optionsProvider = {\n    setOptions: function (optList) {\n        Object.keys(optList).forEach(function (key) {\n            this.setOption(key, optList[key]);\n        }, this);\n    },\n    getOptions: function (optionNames) {\n        var result = {};\n        if (!optionNames) {\n            var options = this.$options;\n            optionNames = Object.keys(options).filter(function (key) {\n                return !options[key].hidden;\n            });\n        }\n        else if (!Array.isArray(optionNames)) {\n            result = optionNames;\n            optionNames = Object.keys(result);\n        }\n        optionNames.forEach(function (key) {\n            result[key] = this.getOption(key);\n        }, this);\n        return result;\n    },\n    setOption: function (name, value) {\n        if (this[\"$\" + name] === value)\n            return;\n        var opt = this.$options[name];\n        if (!opt) {\n            return warn('misspelled option \"' + name + '\"');\n        }\n        if (opt.forwardTo)\n            return this[opt.forwardTo] && this[opt.forwardTo].setOption(name, value);\n        if (!opt.handlesSet)\n            this[\"$\" + name] = value;\n        if (opt && opt.set)\n            opt.set.call(this, value);\n    },\n    getOption: function (name) {\n        var opt = this.$options[name];\n        if (!opt) {\n            return warn('misspelled option \"' + name + '\"');\n        }\n        if (opt.forwardTo)\n            return this[opt.forwardTo] && this[opt.forwardTo].getOption(name);\n        return opt && opt.get ? opt.get.call(this) : this[\"$\" + name];\n    }\n};\nfunction warn(message) {\n    if (typeof console != \"undefined\" && console.warn)\n        console.warn.apply(console, arguments);\n}\nvar messages;\nvar nlsPlaceholders;\nvar AppConfig = /** @class */ (function () {\n    function AppConfig() {\n        this.$defaultOptions = {};\n        messages = defaultEnglishMessages;\n        nlsPlaceholders = \"dollarSigns\";\n    }\n    AppConfig.prototype.defineOptions = function (obj, path, options) {\n        if (!obj.$options)\n            this.$defaultOptions[path] = obj.$options = {};\n        Object.keys(options).forEach(function (key) {\n            var opt = options[key];\n            if (typeof opt == \"string\")\n                opt = { forwardTo: opt };\n            opt.name || (opt.name = key);\n            obj.$options[opt.name] = opt;\n            if (\"initialValue\" in opt)\n                obj[\"$\" + opt.name] = opt.initialValue;\n        });\n        oop.implement(obj, optionsProvider);\n        return this;\n    };\n    AppConfig.prototype.resetOptions = function (obj) {\n        Object.keys(obj.$options).forEach(function (key) {\n            var opt = obj.$options[key];\n            if (\"value\" in opt)\n                obj.setOption(key, opt.value);\n        });\n    };\n    AppConfig.prototype.setDefaultValue = function (path, name, value) {\n        if (!path) {\n            for (path in this.$defaultOptions)\n                if (this.$defaultOptions[path][name])\n                    break;\n            if (!this.$defaultOptions[path][name])\n                return false;\n        }\n        var opts = this.$defaultOptions[path] || (this.$defaultOptions[path] = {});\n        if (opts[name]) {\n            if (opts.forwardTo)\n                this.setDefaultValue(opts.forwardTo, name, value);\n            else\n                opts[name].value = value;\n        }\n    };\n    AppConfig.prototype.setDefaultValues = function (path, optionHash) {\n        Object.keys(optionHash).forEach(function (key) {\n            this.setDefaultValue(path, key, optionHash[key]);\n        }, this);\n    };\n    AppConfig.prototype.setMessages = function (value, options) {\n        messages = value;\n        if (options && options.placeholders) {\n            nlsPlaceholders = options.placeholders;\n        }\n    };\n    AppConfig.prototype.nls = function (key, defaultString, params) {\n        if (!messages[key]) {\n            warn(\"No message found for the key '\" + key + \"' in the provided messages, trying to find a translation for the default string '\" + defaultString + \"'.\");\n            if (!messages[defaultString]) {\n                warn(\"No message found for the default string '\" + defaultString + \"' in the provided messages. Falling back to the default English message.\");\n            }\n        }\n        var translated = messages[key] || messages[defaultString] || defaultString;\n        if (params) {\n            if (nlsPlaceholders === \"dollarSigns\") {\n                translated = translated.replace(/\\$(\\$|[\\d]+)/g, function (_, dollarMatch) {\n                    if (dollarMatch == \"$\")\n                        return \"$\";\n                    return params[dollarMatch];\n                });\n            }\n            if (nlsPlaceholders === \"curlyBrackets\") {\n                translated = translated.replace(/\\{([^\\}]+)\\}/g, function (_, curlyBracketMatch) {\n                    return params[curlyBracketMatch];\n                });\n            }\n        }\n        return translated;\n    };\n    return AppConfig;\n}());\nAppConfig.prototype.warn = warn;\nAppConfig.prototype.reportError = reportError;\noop.implement(AppConfig.prototype, EventEmitter);\nexports.AppConfig = AppConfig;\n\n});\n\nace.define(\"ace/theme/textmate-css\",[\"require\",\"exports\",\"module\"], function(require, exports, module){module.exports = \".ace-tm .ace_gutter {\\n  background: #f0f0f0;\\n  color: #333;\\n}\\n\\n.ace-tm .ace_print-margin {\\n  width: 1px;\\n  background: #e8e8e8;\\n}\\n\\n.ace-tm .ace_fold {\\n    background-color: #6B72E6;\\n}\\n\\n.ace-tm {\\n  background-color: #FFFFFF;\\n  color: black;\\n}\\n\\n.ace-tm .ace_cursor {\\n  color: black;\\n}\\n        \\n.ace-tm .ace_invisible {\\n  color: rgb(191, 191, 191);\\n}\\n\\n.ace-tm .ace_storage,\\n.ace-tm .ace_keyword {\\n  color: blue;\\n}\\n\\n.ace-tm .ace_constant {\\n  color: rgb(197, 6, 11);\\n}\\n\\n.ace-tm .ace_constant.ace_buildin {\\n  color: rgb(88, 72, 246);\\n}\\n\\n.ace-tm .ace_constant.ace_language {\\n  color: rgb(88, 92, 246);\\n}\\n\\n.ace-tm .ace_constant.ace_library {\\n  color: rgb(6, 150, 14);\\n}\\n\\n.ace-tm .ace_invalid {\\n  background-color: rgba(255, 0, 0, 0.1);\\n  color: red;\\n}\\n\\n.ace-tm .ace_support.ace_function {\\n  color: rgb(60, 76, 114);\\n}\\n\\n.ace-tm .ace_support.ace_constant {\\n  color: rgb(6, 150, 14);\\n}\\n\\n.ace-tm .ace_support.ace_type,\\n.ace-tm .ace_support.ace_class {\\n  color: rgb(109, 121, 222);\\n}\\n\\n.ace-tm .ace_keyword.ace_operator {\\n  color: rgb(104, 118, 135);\\n}\\n\\n.ace-tm .ace_string {\\n  color: rgb(3, 106, 7);\\n}\\n\\n.ace-tm .ace_comment {\\n  color: rgb(76, 136, 107);\\n}\\n\\n.ace-tm .ace_comment.ace_doc {\\n  color: rgb(0, 102, 255);\\n}\\n\\n.ace-tm .ace_comment.ace_doc.ace_tag {\\n  color: rgb(128, 159, 191);\\n}\\n\\n.ace-tm .ace_constant.ace_numeric {\\n  color: rgb(0, 0, 205);\\n}\\n\\n.ace-tm .ace_variable {\\n  color: rgb(49, 132, 149);\\n}\\n\\n.ace-tm .ace_xml-pe {\\n  color: rgb(104, 104, 91);\\n}\\n\\n.ace-tm .ace_entity.ace_name.ace_function {\\n  color: #0000A2;\\n}\\n\\n\\n.ace-tm .ace_heading {\\n  color: rgb(12, 7, 255);\\n}\\n\\n.ace-tm .ace_list {\\n  color:rgb(185, 6, 144);\\n}\\n\\n.ace-tm .ace_meta.ace_tag {\\n  color:rgb(0, 22, 142);\\n}\\n\\n.ace-tm .ace_string.ace_regex {\\n  color: rgb(255, 0, 0)\\n}\\n\\n.ace-tm .ace_marker-layer .ace_selection {\\n  background: rgb(181, 213, 255);\\n}\\n.ace-tm.ace_multiselect .ace_selection.ace_start {\\n  box-shadow: 0 0 3px 0px white;\\n}\\n.ace-tm .ace_marker-layer .ace_step {\\n  background: rgb(252, 255, 0);\\n}\\n\\n.ace-tm .ace_marker-layer .ace_stack {\\n  background: rgb(164, 229, 101);\\n}\\n\\n.ace-tm .ace_marker-layer .ace_bracket {\\n  margin: -1px 0 0 -1px;\\n  border: 1px solid rgb(192, 192, 192);\\n}\\n\\n.ace-tm .ace_marker-layer .ace_active-line {\\n  background: rgba(0, 0, 0, 0.07);\\n}\\n\\n.ace-tm .ace_gutter-active-line {\\n    background-color : #dcdcdc;\\n}\\n\\n.ace-tm .ace_marker-layer .ace_selected-word {\\n  background: rgb(250, 250, 255);\\n  border: 1px solid rgb(200, 200, 250);\\n}\\n\\n.ace-tm .ace_indent-guide {\\n  background: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\\\") right repeat-y;\\n}\\n\\n.ace-tm .ace_indent-guide-active {\\n  background: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC\\\") right repeat-y;\\n}\\n\";\n\n});\n\nace.define(\"ace/theme/textmate\",[\"require\",\"exports\",\"module\",\"ace/theme/textmate-css\",\"ace/lib/dom\"], function(require, exports, module){\"use strict\";\nexports.isDark = false;\nexports.cssClass = \"ace-tm\";\nexports.cssText = require(\"./textmate-css\");\nexports.$id = \"ace/theme/textmate\";\nvar dom = require(\"../lib/dom\");\ndom.importCssString(exports.cssText, exports.cssClass, false);\n\n});\n\nace.define(\"ace/config\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/net\",\"ace/lib/dom\",\"ace/lib/app_config\",\"ace/theme/textmate\"], function(require, exports, module){\"no use strict\";\nvar lang = require(\"./lib/lang\");\nvar net = require(\"./lib/net\");\nvar dom = require(\"./lib/dom\");\nvar AppConfig = require(\"./lib/app_config\").AppConfig;\nmodule.exports = exports = new AppConfig();\nvar options = {\n    packaged: false,\n    workerPath: null,\n    modePath: null,\n    themePath: null,\n    basePath: \"\",\n    suffix: \".js\",\n    $moduleUrls: {},\n    loadWorkerFromBlob: true,\n    sharedPopups: false,\n    useStrictCSP: null\n};\nexports.get = function (key) {\n    if (!options.hasOwnProperty(key))\n        throw new Error(\"Unknown config key: \" + key);\n    return options[key];\n};\nexports.set = function (key, value) {\n    if (options.hasOwnProperty(key))\n        options[key] = value;\n    else if (this.setDefaultValue(\"\", key, value) == false)\n        throw new Error(\"Unknown config key: \" + key);\n    if (key == \"useStrictCSP\")\n        dom.useStrictCSP(value);\n};\nexports.all = function () {\n    return lang.copyObject(options);\n};\nexports.$modes = {};\nexports.moduleUrl = function (name, component) {\n    if (options.$moduleUrls[name])\n        return options.$moduleUrls[name];\n    var parts = name.split(\"/\");\n    component = component || parts[parts.length - 2] || \"\";\n    var sep = component == \"snippets\" ? \"/\" : \"-\";\n    var base = parts[parts.length - 1];\n    if (component == \"worker\" && sep == \"-\") {\n        var re = new RegExp(\"^\" + component + \"[\\\\-_]|[\\\\-_]\" + component + \"$\", \"g\");\n        base = base.replace(re, \"\");\n    }\n    if ((!base || base == component) && parts.length > 1)\n        base = parts[parts.length - 2];\n    var path = options[component + \"Path\"];\n    if (path == null) {\n        path = options.basePath;\n    }\n    else if (sep == \"/\") {\n        component = sep = \"\";\n    }\n    if (path && path.slice(-1) != \"/\")\n        path += \"/\";\n    return path + component + sep + base + this.get(\"suffix\");\n};\nexports.setModuleUrl = function (name, subst) {\n    return options.$moduleUrls[name] = subst;\n};\nvar loader = function (moduleName, cb) {\n    if (moduleName === \"ace/theme/textmate\" || moduleName === \"./theme/textmate\")\n        return cb(null, require(\"./theme/textmate\"));\n    if (customLoader)\n        return customLoader(moduleName, cb);\n    console.error(\"loader is not configured\");\n};\nvar customLoader;\nexports.setLoader = function (cb) {\n    customLoader = cb;\n};\nexports.dynamicModules = Object.create(null);\nexports.$loading = {};\nexports.$loaded = {};\nexports.loadModule = function (moduleId, onLoad) {\n    var loadedModule;\n    if (Array.isArray(moduleId)) {\n        var moduleType = moduleId[0];\n        var moduleName = moduleId[1];\n    }\n    else if (typeof moduleId == \"string\") {\n        var moduleName = moduleId;\n    }\n    var load = function (module) {\n        if (module && !exports.$loading[moduleName])\n            return onLoad && onLoad(module);\n        if (!exports.$loading[moduleName])\n            exports.$loading[moduleName] = [];\n        exports.$loading[moduleName].push(onLoad);\n        if (exports.$loading[moduleName].length > 1)\n            return;\n        var afterLoad = function () {\n            loader(moduleName, function (err, module) {\n                if (module)\n                    exports.$loaded[moduleName] = module;\n                exports._emit(\"load.module\", { name: moduleName, module: module });\n                var listeners = exports.$loading[moduleName];\n                exports.$loading[moduleName] = null;\n                listeners.forEach(function (onLoad) {\n                    onLoad && onLoad(module);\n                });\n            });\n        };\n        if (!exports.get(\"packaged\"))\n            return afterLoad();\n        net.loadScript(exports.moduleUrl(moduleName, moduleType), afterLoad);\n        reportErrorIfPathIsNotConfigured();\n    };\n    if (exports.dynamicModules[moduleName]) {\n        exports.dynamicModules[moduleName]().then(function (module) {\n            if (module.default) {\n                load(module.default);\n            }\n            else {\n                load(module);\n            }\n        });\n    }\n    else {\n        try {\n            loadedModule = this.$require(moduleName);\n        }\n        catch (e) { }\n        load(loadedModule || exports.$loaded[moduleName]);\n    }\n};\nexports.$require = function (moduleName) {\n    if (typeof module[\"require\"] == \"function\") {\n        var req = \"require\";\n        return module[req](moduleName);\n    }\n};\nexports.setModuleLoader = function (moduleName, onLoad) {\n    exports.dynamicModules[moduleName] = onLoad;\n};\nvar reportErrorIfPathIsNotConfigured = function () {\n    if (!options.basePath && !options.workerPath\n        && !options.modePath && !options.themePath\n        && !Object.keys(options.$moduleUrls).length) {\n        console.error(\"Unable to infer path to ace from script src,\", \"use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes\", \"or with webpack use ace/webpack-resolver\");\n        reportErrorIfPathIsNotConfigured = function () { };\n    }\n};\nexports.version = \"1.36.5\";\n\n});\n\nace.define(\"ace/loader_build\",[\"require\",\"exports\",\"module\",\"ace/lib/fixoldbrowsers\",\"ace/config\"], function(require, exports, module) {\n\"use strict\";\n\nrequire(\"./lib/fixoldbrowsers\");\nvar config = require(\"./config\");\nconfig.setLoader(function(moduleName, cb) {\n    require([moduleName], function(module) {\n        cb(null, module);\n    });\n});\n\nvar global = (function() {\n    return this || typeof window != \"undefined\" && window;\n})();\n\nmodule.exports = function(ace) {\n    config.init = init;\n    config.$require = require;\n    ace.require = require;\n\n    if (typeof define === \"function\")\n        ace.define = define;\n};\ninit(true);function init(packaged) {\n\n    if (!global || !global.document)\n        return;\n    \n    config.set(\"packaged\", packaged || require.packaged || module.packaged || (global.define && define.packaged));\n\n    var scriptOptions = {};\n    var scriptUrl = \"\";\n    var currentScript = (document.currentScript || document._currentScript ); // native or polyfill\n    var currentDocument = currentScript && currentScript.ownerDocument || document;\n    \n    if (currentScript && currentScript.src) {\n        scriptUrl = currentScript.src.split(/[?#]/)[0].split(\"/\").slice(0, -1).join(\"/\") || \"\";\n    }\n    \n    var scripts = currentDocument.getElementsByTagName(\"script\");\n    for (var i=0; i<scripts.length; i++) {\n        var script = scripts[i];\n\n        var src = script.src || script.getAttribute(\"src\");\n        if (!src)\n            continue;\n\n        var attributes = script.attributes;\n        for (var j=0, l=attributes.length; j < l; j++) {\n            var attr = attributes[j];\n            if (attr.name.indexOf(\"data-ace-\") === 0) {\n                scriptOptions[deHyphenate(attr.name.replace(/^data-ace-/, \"\"))] = attr.value;\n            }\n        }\n\n        var m = src.match(/^(.*)\\/ace([\\-.]\\w+)?\\.js(\\?|$)/);\n        if (m)\n            scriptUrl = m[1];\n    }\n\n    if (scriptUrl) {\n        scriptOptions.base = scriptOptions.base || scriptUrl;\n        scriptOptions.packaged = true;\n    }\n\n    scriptOptions.basePath = scriptOptions.base;\n    scriptOptions.workerPath = scriptOptions.workerPath || scriptOptions.base;\n    scriptOptions.modePath = scriptOptions.modePath || scriptOptions.base;\n    scriptOptions.themePath = scriptOptions.themePath || scriptOptions.base;\n    delete scriptOptions.base;\n\n    for (var key in scriptOptions)\n        if (typeof scriptOptions[key] !== \"undefined\")\n            config.set(key, scriptOptions[key]);\n}\n\nfunction deHyphenate(str) {\n    return str.replace(/-(.)/g, function(m, m1) { return m1.toUpperCase(); });\n}\n});\n\nace.define(\"ace/range\",[\"require\",\"exports\",\"module\"], function(require, exports, module){\"use strict\";\nvar Range = /** @class */ (function () {\n    function Range(startRow, startColumn, endRow, endColumn) {\n        this.start = {\n            row: startRow,\n            column: startColumn\n        };\n        this.end = {\n            row: endRow,\n            column: endColumn\n        };\n    }\n    Range.prototype.isEqual = function (range) {\n        return this.start.row === range.start.row &&\n            this.end.row === range.end.row &&\n            this.start.column === range.start.column &&\n            this.end.column === range.end.column;\n    };\n    Range.prototype.toString = function () {\n        return (\"Range: [\" + this.start.row + \"/\" + this.start.column +\n            \"] -> [\" + this.end.row + \"/\" + this.end.column + \"]\");\n    };\n    Range.prototype.contains = function (row, column) {\n        return this.compare(row, column) == 0;\n    };\n    Range.prototype.compareRange = function (range) {\n        var cmp, end = range.end, start = range.start;\n        cmp = this.compare(end.row, end.column);\n        if (cmp == 1) {\n            cmp = this.compare(start.row, start.column);\n            if (cmp == 1) {\n                return 2;\n            }\n            else if (cmp == 0) {\n                return 1;\n            }\n            else {\n                return 0;\n            }\n        }\n        else if (cmp == -1) {\n            return -2;\n        }\n        else {\n            cmp = this.compare(start.row, start.column);\n            if (cmp == -1) {\n                return -1;\n            }\n            else if (cmp == 1) {\n                return 42;\n            }\n            else {\n                return 0;\n            }\n        }\n    };\n    Range.prototype.comparePoint = function (p) {\n        return this.compare(p.row, p.column);\n    };\n    Range.prototype.containsRange = function (range) {\n        return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0;\n    };\n    Range.prototype.intersects = function (range) {\n        var cmp = this.compareRange(range);\n        return (cmp == -1 || cmp == 0 || cmp == 1);\n    };\n    Range.prototype.isEnd = function (row, column) {\n        return this.end.row == row && this.end.column == column;\n    };\n    Range.prototype.isStart = function (row, column) {\n        return this.start.row == row && this.start.column == column;\n    };\n    Range.prototype.setStart = function (row, column) {\n        if (typeof row == \"object\") {\n            this.start.column = row.column;\n            this.start.row = row.row;\n        }\n        else {\n            this.start.row = row;\n            this.start.column = column;\n        }\n    };\n    Range.prototype.setEnd = function (row, column) {\n        if (typeof row == \"object\") {\n            this.end.column = row.column;\n            this.end.row = row.row;\n        }\n        else {\n            this.end.row = row;\n            this.end.column = column;\n        }\n    };\n    Range.prototype.inside = function (row, column) {\n        if (this.compare(row, column) == 0) {\n            if (this.isEnd(row, column) || this.isStart(row, column)) {\n                return false;\n            }\n            else {\n                return true;\n            }\n        }\n        return false;\n    };\n    Range.prototype.insideStart = function (row, column) {\n        if (this.compare(row, column) == 0) {\n            if (this.isEnd(row, column)) {\n                return false;\n            }\n            else {\n                return true;\n            }\n        }\n        return false;\n    };\n    Range.prototype.insideEnd = function (row, column) {\n        if (this.compare(row, column) == 0) {\n            if (this.isStart(row, column)) {\n                return false;\n            }\n            else {\n                return true;\n            }\n        }\n        return false;\n    };\n    Range.prototype.compare = function (row, column) {\n        if (!this.isMultiLine()) {\n            if (row === this.start.row) {\n                return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);\n            }\n        }\n        if (row < this.start.row)\n            return -1;\n        if (row > this.end.row)\n            return 1;\n        if (this.start.row === row)\n            return column >= this.start.column ? 0 : -1;\n        if (this.end.row === row)\n            return column <= this.end.column ? 0 : 1;\n        return 0;\n    };\n    Range.prototype.compareStart = function (row, column) {\n        if (this.start.row == row && this.start.column == column) {\n            return -1;\n        }\n        else {\n            return this.compare(row, column);\n        }\n    };\n    Range.prototype.compareEnd = function (row, column) {\n        if (this.end.row == row && this.end.column == column) {\n            return 1;\n        }\n        else {\n            return this.compare(row, column);\n        }\n    };\n    Range.prototype.compareInside = function (row, column) {\n        if (this.end.row == row && this.end.column == column) {\n            return 1;\n        }\n        else if (this.start.row == row && this.start.column == column) {\n            return -1;\n        }\n        else {\n            return this.compare(row, column);\n        }\n    };\n    Range.prototype.clipRows = function (firstRow, lastRow) {\n        if (this.end.row > lastRow)\n            var end = { row: lastRow + 1, column: 0 };\n        else if (this.end.row < firstRow)\n            var end = { row: firstRow, column: 0 };\n        if (this.start.row > lastRow)\n            var start = { row: lastRow + 1, column: 0 };\n        else if (this.start.row < firstRow)\n            var start = { row: firstRow, column: 0 };\n        return Range.fromPoints(start || this.start, end || this.end);\n    };\n    Range.prototype.extend = function (row, column) {\n        var cmp = this.compare(row, column);\n        if (cmp == 0)\n            return this;\n        else if (cmp == -1)\n            var start = { row: row, column: column };\n        else\n            var end = { row: row, column: column };\n        return Range.fromPoints(start || this.start, end || this.end);\n    };\n    Range.prototype.isEmpty = function () {\n        return (this.start.row === this.end.row && this.start.column === this.end.column);\n    };\n    Range.prototype.isMultiLine = function () {\n        return (this.start.row !== this.end.row);\n    };\n    Range.prototype.clone = function () {\n        return Range.fromPoints(this.start, this.end);\n    };\n    Range.prototype.collapseRows = function () {\n        if (this.end.column == 0)\n            return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row - 1), 0);\n        else\n            return new Range(this.start.row, 0, this.end.row, 0);\n    };\n    Range.prototype.toScreenRange = function (session) {\n        var screenPosStart = session.documentToScreenPosition(this.start);\n        var screenPosEnd = session.documentToScreenPosition(this.end);\n        return new Range(screenPosStart.row, screenPosStart.column, screenPosEnd.row, screenPosEnd.column);\n    };\n    Range.prototype.moveBy = function (row, column) {\n        this.start.row += row;\n        this.start.column += column;\n        this.end.row += row;\n        this.end.column += column;\n    };\n    return Range;\n}());\nRange.fromPoints = function (start, end) {\n    return new Range(start.row, start.column, end.row, end.column);\n};\nRange.comparePoints = function (p1, p2) {\n    return p1.row - p2.row || p1.column - p2.column;\n};\nexports.Range = Range;\n\n});\n\nace.define(\"ace/lib/keys\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"./oop\");\nvar Keys = {\n    MODIFIER_KEYS: {\n        16: 'Shift', 17: 'Ctrl', 18: 'Alt', 224: 'Meta',\n        91: 'MetaLeft', 92: 'MetaRight', 93: 'ContextMenu'\n    },\n    KEY_MODS: {\n        \"ctrl\": 1, \"alt\": 2, \"option\": 2, \"shift\": 4,\n        \"super\": 8, \"meta\": 8, \"command\": 8, \"cmd\": 8,\n        \"control\": 1\n    },\n    FUNCTION_KEYS: {\n        8: \"Backspace\",\n        9: \"Tab\",\n        13: \"Return\",\n        19: \"Pause\",\n        27: \"Esc\",\n        32: \"Space\",\n        33: \"PageUp\",\n        34: \"PageDown\",\n        35: \"End\",\n        36: \"Home\",\n        37: \"Left\",\n        38: \"Up\",\n        39: \"Right\",\n        40: \"Down\",\n        44: \"Print\",\n        45: \"Insert\",\n        46: \"Delete\",\n        '-13': \"NumpadEnter\",\n        144: \"Numlock\",\n        145: \"Scrolllock\"\n    },\n    PRINTABLE_KEYS: {\n        32: ' ', 59: ';', 61: '=', 107: '+', 109: '-', 110: '.',\n        186: ';', 187: '=', 188: ',', 189: '-', 190: '.', 191: '/', 192: '`',\n        219: '[', 220: '\\\\', 221: ']', 222: \"'\", 111: '/', 106: '*'\n    }\n};\nvar codeToKeyCode = {\n    Command: 224,\n    Backspace: 8,\n    Tab: 9,\n    Return: 13,\n    Enter: 13,\n    Pause: 19,\n    Escape: 27,\n    PageUp: 33,\n    PageDown: 34,\n    End: 35,\n    Home: 36,\n    Insert: 45,\n    Delete: 46,\n    ArrowLeft: 37,\n    ArrowUp: 38,\n    ArrowRight: 39,\n    ArrowDown: 40,\n    Backquote: 192,\n    Minus: 189,\n    Equal: 187,\n    BracketLeft: 219,\n    Backslash: 220,\n    BracketRight: 221,\n    Semicolon: 186,\n    Quote: 222,\n    Comma: 188,\n    Period: 190,\n    Slash: 191,\n    Space: 32,\n    NumpadAdd: 107,\n    NumpadDecimal: 110,\n    NumpadSubtract: 109,\n    NumpadDivide: 111,\n    NumpadMultiply: 106\n};\nfor (var i = 0; i < 10; i++) {\n    codeToKeyCode[\"Digit\" + i] = 48 + i;\n    codeToKeyCode[\"Numpad\" + i] = 96 + i;\n    Keys.PRINTABLE_KEYS[48 + i] = \"\" + i;\n    Keys.FUNCTION_KEYS[96 + i] = \"Numpad\" + i;\n}\nfor (var i = 65; i < 91; i++) {\n    var chr = String.fromCharCode(i + 32);\n    codeToKeyCode[\"Key\" + chr.toUpperCase()] = i;\n    Keys.PRINTABLE_KEYS[i] = chr;\n}\nfor (var i = 1; i < 13; i++) {\n    codeToKeyCode[\"F\" + i] = 111 + i;\n    Keys.FUNCTION_KEYS[111 + i] = \"F\" + i;\n}\nvar modifiers = {\n    Shift: 16,\n    Control: 17,\n    Alt: 18,\n    Meta: 224\n};\nfor (var mod in modifiers) {\n    codeToKeyCode[mod] = codeToKeyCode[mod + \"Left\"]\n        = codeToKeyCode[mod + \"Right\"] = modifiers[mod];\n}\nexports.$codeToKeyCode = codeToKeyCode;\nKeys.PRINTABLE_KEYS[173] = '-';\nfor (var j in Keys.FUNCTION_KEYS) {\n    var name = Keys.FUNCTION_KEYS[j].toLowerCase();\n    Keys[name] = parseInt(j, 10);\n}\nfor (var j in Keys.PRINTABLE_KEYS) {\n    var name = Keys.PRINTABLE_KEYS[j].toLowerCase();\n    Keys[name] = parseInt(j, 10);\n}\noop.mixin(Keys, Keys.MODIFIER_KEYS);\noop.mixin(Keys, Keys.PRINTABLE_KEYS);\noop.mixin(Keys, Keys.FUNCTION_KEYS);\nKeys.enter = Keys[\"return\"];\nKeys.escape = Keys.esc;\nKeys.del = Keys[\"delete\"];\n(function () {\n    var mods = [\"cmd\", \"ctrl\", \"alt\", \"shift\"];\n    for (var i = Math.pow(2, mods.length); i--;) {\n        Keys.KEY_MODS[i] = mods.filter(function (x) {\n            return i & Keys.KEY_MODS[x];\n        }).join(\"-\") + \"-\";\n    }\n})();\nKeys.KEY_MODS[0] = \"\";\nKeys.KEY_MODS[-1] = \"input-\";\noop.mixin(exports, Keys);\nexports.default = exports;\nexports.keyCodeToString = function (keyCode) {\n    var keyString = Keys[keyCode];\n    if (typeof keyString != \"string\")\n        keyString = String.fromCharCode(keyCode);\n    return keyString.toLowerCase();\n};\n\n});\n\nace.define(\"ace/lib/event\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/useragent\"], function(require, exports, module){\"use strict\"; var keys = require(\"./keys\");\nvar useragent = require(\"./useragent\");\nvar pressedKeys = null;\nvar ts = 0;\nvar activeListenerOptions;\nfunction detectListenerOptionsSupport() {\n    activeListenerOptions = false;\n    try {\n        document.createComment(\"\").addEventListener(\"test\", function () { }, {\n            get passive() {\n                activeListenerOptions = { passive: false };\n                return true;\n            }\n        });\n    }\n    catch (e) { }\n}\nfunction getListenerOptions() {\n    if (activeListenerOptions == undefined)\n        detectListenerOptionsSupport();\n    return activeListenerOptions;\n}\nfunction EventListener(elem, type, callback) {\n    this.elem = elem;\n    this.type = type;\n    this.callback = callback;\n}\nEventListener.prototype.destroy = function () {\n    removeListener(this.elem, this.type, this.callback);\n    this.elem = this.type = this.callback = undefined;\n};\nvar addListener = exports.addListener = function (elem, type, callback, /**@type{any?}*/ destroyer) {\n    elem.addEventListener(type, callback, getListenerOptions());\n    if (destroyer)\n        destroyer.$toDestroy.push(new EventListener(elem, type, callback));\n};\nvar removeListener = exports.removeListener = function (elem, type, callback) {\n    elem.removeEventListener(type, callback, getListenerOptions());\n};\nexports.stopEvent = function (e) {\n    exports.stopPropagation(e);\n    exports.preventDefault(e);\n    return false;\n};\nexports.stopPropagation = function (e) {\n    if (e.stopPropagation)\n        e.stopPropagation();\n};\nexports.preventDefault = function (e) {\n    if (e.preventDefault)\n        e.preventDefault();\n};\nexports.getButton = function (e) {\n    if (e.type == \"dblclick\")\n        return 0;\n    if (e.type == \"contextmenu\" || (useragent.isMac && (e.ctrlKey && !e.altKey && !e.shiftKey)))\n        return 2;\n    return e.button;\n};\nexports.capture = function (el, eventHandler, releaseCaptureHandler) {\n    var ownerDocument = el && el.ownerDocument || document;\n    function onMouseUp(e) {\n        eventHandler && eventHandler(e);\n        releaseCaptureHandler && releaseCaptureHandler(e);\n        removeListener(ownerDocument, \"mousemove\", eventHandler);\n        removeListener(ownerDocument, \"mouseup\", onMouseUp);\n        removeListener(ownerDocument, \"dragstart\", onMouseUp);\n    }\n    addListener(ownerDocument, \"mousemove\", eventHandler);\n    addListener(ownerDocument, \"mouseup\", onMouseUp);\n    addListener(ownerDocument, \"dragstart\", onMouseUp);\n    return onMouseUp;\n};\nexports.addMouseWheelListener = function (el, callback, destroyer) {\n    addListener(el, \"wheel\", function (e) {\n        var factor = 0.15;\n        var deltaX = e.deltaX || 0;\n        var deltaY = e.deltaY || 0;\n        switch (e.deltaMode) {\n            case e.DOM_DELTA_PIXEL:\n                e.wheelX = deltaX * factor;\n                e.wheelY = deltaY * factor;\n                break;\n            case e.DOM_DELTA_LINE:\n                var linePixels = 15;\n                e.wheelX = deltaX * linePixels;\n                e.wheelY = deltaY * linePixels;\n                break;\n            case e.DOM_DELTA_PAGE:\n                var pagePixels = 150;\n                e.wheelX = deltaX * pagePixels;\n                e.wheelY = deltaY * pagePixels;\n                break;\n        }\n        callback(e);\n    }, destroyer);\n};\nexports.addMultiMouseDownListener = function (elements, timeouts, eventHandler, callbackName, destroyer) {\n    var clicks = 0;\n    var startX, startY, timer;\n    var eventNames = {\n        2: \"dblclick\",\n        3: \"tripleclick\",\n        4: \"quadclick\"\n    };\n    function onMousedown(e) {\n        if (exports.getButton(e) !== 0) {\n            clicks = 0;\n        }\n        else if (e.detail > 1) {\n            clicks++;\n            if (clicks > 4)\n                clicks = 1;\n        }\n        else {\n            clicks = 1;\n        }\n        if (useragent.isIE) {\n            var isNewClick = Math.abs(e.clientX - startX) > 5 || Math.abs(e.clientY - startY) > 5;\n            if (!timer || isNewClick)\n                clicks = 1;\n            if (timer)\n                clearTimeout(timer);\n            timer = setTimeout(function () { timer = null; }, timeouts[clicks - 1] || 600);\n            if (clicks == 1) {\n                startX = e.clientX;\n                startY = e.clientY;\n            }\n        }\n        e._clicks = clicks;\n        eventHandler[callbackName](\"mousedown\", e);\n        if (clicks > 4)\n            clicks = 0;\n        else if (clicks > 1)\n            return eventHandler[callbackName](eventNames[clicks], e);\n    }\n    if (!Array.isArray(elements))\n        elements = [elements];\n    elements.forEach(function (el) {\n        addListener(el, \"mousedown\", onMousedown, destroyer);\n    });\n};\nfunction getModifierHash(e) {\n    return 0 | (e.ctrlKey ? 1 : 0) | (e.altKey ? 2 : 0) | (e.shiftKey ? 4 : 0) | (e.metaKey ? 8 : 0);\n}\nexports.getModifierString = function (e) {\n    return keys.KEY_MODS[getModifierHash(e)];\n};\nfunction normalizeCommandKeys(callback, e, keyCode) {\n    var hashId = getModifierHash(e);\n    if (!keyCode && e.code) {\n        keyCode = keys.$codeToKeyCode[e.code] || keyCode;\n    }\n    if (!useragent.isMac && pressedKeys) {\n        if (e.getModifierState && (e.getModifierState(\"OS\") || e.getModifierState(\"Win\")))\n            hashId |= 8;\n        if (pressedKeys.altGr) {\n            if ((3 & hashId) != 3)\n                pressedKeys.altGr = 0;\n            else\n                return;\n        }\n        if (keyCode === 18 || keyCode === 17) {\n            var location = e.location;\n            if (keyCode === 17 && location === 1) {\n                if (pressedKeys[keyCode] == 1)\n                    ts = e.timeStamp;\n            }\n            else if (keyCode === 18 && hashId === 3 && location === 2) {\n                var dt = e.timeStamp - ts;\n                if (dt < 50)\n                    pressedKeys.altGr = true;\n            }\n        }\n    }\n    if (keyCode in keys.MODIFIER_KEYS) {\n        keyCode = -1;\n    }\n    if (!hashId && keyCode === 13) {\n        if (e.location === 3) {\n            callback(e, hashId, -keyCode);\n            if (e.defaultPrevented)\n                return;\n        }\n    }\n    if (useragent.isChromeOS && hashId & 8) {\n        callback(e, hashId, keyCode);\n        if (e.defaultPrevented)\n            return;\n        else\n            hashId &= ~8;\n    }\n    if (!hashId && !(keyCode in keys.FUNCTION_KEYS) && !(keyCode in keys.PRINTABLE_KEYS)) {\n        return false;\n    }\n    return callback(e, hashId, keyCode);\n}\nexports.addCommandKeyListener = function (el, callback, destroyer) {\n    var lastDefaultPrevented = null;\n    addListener(el, \"keydown\", function (e) {\n        pressedKeys[e.keyCode] = (pressedKeys[e.keyCode] || 0) + 1;\n        var result = normalizeCommandKeys(callback, e, e.keyCode);\n        lastDefaultPrevented = e.defaultPrevented;\n        return result;\n    }, destroyer);\n    addListener(el, \"keypress\", function (e) {\n        if (lastDefaultPrevented && (e.ctrlKey || e.altKey || e.shiftKey || e.metaKey)) {\n            exports.stopEvent(e);\n            lastDefaultPrevented = null;\n        }\n    }, destroyer);\n    addListener(el, \"keyup\", function (e) {\n        pressedKeys[e.keyCode] = null;\n    }, destroyer);\n    if (!pressedKeys) {\n        resetPressedKeys();\n        addListener(window, \"focus\", resetPressedKeys);\n    }\n};\nfunction resetPressedKeys() {\n    pressedKeys = Object.create(null);\n}\nif (typeof window == \"object\" && window.postMessage && !useragent.isOldIE) {\n    var postMessageId = 1;\n    exports.nextTick = function (callback, win) {\n        win = win || window;\n        var messageName = \"zero-timeout-message-\" + (postMessageId++);\n        var listener = function (e) {\n            if (e.data == messageName) {\n                exports.stopPropagation(e);\n                removeListener(win, \"message\", listener);\n                callback();\n            }\n        };\n        addListener(win, \"message\", listener);\n        win.postMessage(messageName, \"*\");\n    };\n}\nexports.$idleBlocked = false;\nexports.onIdle = function (cb, timeout) {\n    return setTimeout(function handler() {\n        if (!exports.$idleBlocked) {\n            cb();\n        }\n        else {\n            setTimeout(handler, 100);\n        }\n    }, timeout);\n};\nexports.$idleBlockId = null;\nexports.blockIdle = function (delay) {\n    if (exports.$idleBlockId)\n        clearTimeout(exports.$idleBlockId);\n    exports.$idleBlocked = true;\n    exports.$idleBlockId = setTimeout(function () {\n        exports.$idleBlocked = false;\n    }, delay || 100);\n};\nexports.nextFrame = typeof window == \"object\" && (window.requestAnimationFrame\n    || window[\"mozRequestAnimationFrame\"]\n    || window[\"webkitRequestAnimationFrame\"]\n    || window[\"msRequestAnimationFrame\"]\n    || window[\"oRequestAnimationFrame\"]);\nif (exports.nextFrame)\n    exports.nextFrame = exports.nextFrame.bind(window);\nelse\n    exports.nextFrame = function (callback) {\n        setTimeout(callback, 17);\n    };\n\n});\n\nace.define(\"ace/clipboard\",[\"require\",\"exports\",\"module\"], function(require, exports, module){\"use strict\";\nvar $cancelT;\nmodule.exports = {\n    lineMode: false,\n    pasteCancelled: function () {\n        if ($cancelT && $cancelT > Date.now() - 50)\n            return true;\n        return $cancelT = false;\n    },\n    cancel: function () {\n        $cancelT = Date.now();\n    }\n};\n\n});\n\nace.define(\"ace/keyboard/textinput\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/config\",\"ace/lib/useragent\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/clipboard\",\"ace/lib/keys\"], function(require, exports, module){\"use strict\";\nvar event = require(\"../lib/event\");\nvar nls = require(\"../config\").nls;\nvar useragent = require(\"../lib/useragent\");\nvar dom = require(\"../lib/dom\");\nvar lang = require(\"../lib/lang\");\nvar clipboard = require(\"../clipboard\");\nvar BROKEN_SETDATA = useragent.isChrome < 18;\nvar USE_IE_MIME_TYPE = useragent.isIE;\nvar HAS_FOCUS_ARGS = useragent.isChrome > 63;\nvar MAX_LINE_LENGTH = 400;\nvar KEYS = require(\"../lib/keys\");\nvar MODS = KEYS.KEY_MODS;\nvar isIOS = useragent.isIOS;\nvar valueResetRegex = isIOS ? /\\s/ : /\\n/;\nvar isMobile = useragent.isMobile;\nvar TextInput;\nTextInput = function (parentNode, host) {\n    var text = dom.createElement(\"textarea\");\n    text.className = \"ace_text-input\";\n    text.setAttribute(\"wrap\", \"off\");\n    text.setAttribute(\"autocorrect\", \"off\");\n    text.setAttribute(\"autocapitalize\", \"off\");\n    text.setAttribute(\"spellcheck\", \"false\");\n    text.style.opacity = \"0\";\n    parentNode.insertBefore(text, parentNode.firstChild);\n    var copied = false;\n    var pasted = false;\n    var inComposition = false;\n    var sendingText = false;\n    var tempStyle = '';\n    if (!isMobile)\n        text.style.fontSize = \"1px\";\n    var commandMode = false;\n    var ignoreFocusEvents = false;\n    var lastValue = \"\";\n    var lastSelectionStart = 0;\n    var lastSelectionEnd = 0;\n    var lastRestoreEnd = 0;\n    var rowStart = Number.MAX_SAFE_INTEGER;\n    var rowEnd = Number.MIN_SAFE_INTEGER;\n    var numberOfExtraLines = 0;\n    try {\n        var isFocused = document.activeElement === text;\n    }\n    catch (e) { }\n    this.setNumberOfExtraLines = function (number) {\n        rowStart = Number.MAX_SAFE_INTEGER;\n        rowEnd = Number.MIN_SAFE_INTEGER;\n        if (number < 0) {\n            numberOfExtraLines = 0;\n            return;\n        }\n        numberOfExtraLines = number;\n    };\n    this.setAriaLabel = function () {\n        var ariaLabel = \"\";\n        if (host.$textInputAriaLabel) {\n            ariaLabel += \"\".concat(host.$textInputAriaLabel, \", \");\n        }\n        if (host.session) {\n            var row = host.session.selection.cursor.row;\n            ariaLabel += nls(\"text-input.aria-label\", \"Cursor at row $0\", [row + 1]);\n        }\n        text.setAttribute(\"aria-label\", ariaLabel);\n    };\n    this.setAriaOptions = function (options) {\n        if (options.activeDescendant) {\n            text.setAttribute(\"aria-haspopup\", \"true\");\n            text.setAttribute(\"aria-autocomplete\", options.inline ? \"both\" : \"list\");\n            text.setAttribute(\"aria-activedescendant\", options.activeDescendant);\n        }\n        else {\n            text.setAttribute(\"aria-haspopup\", \"false\");\n            text.setAttribute(\"aria-autocomplete\", \"both\");\n            text.removeAttribute(\"aria-activedescendant\");\n        }\n        if (options.role) {\n            text.setAttribute(\"role\", options.role);\n        }\n        if (options.setLabel) {\n            text.setAttribute(\"aria-roledescription\", nls(\"text-input.aria-roledescription\", \"editor\"));\n            this.setAriaLabel();\n        }\n    };\n    this.setAriaOptions({ role: \"textbox\" });\n    event.addListener(text, \"blur\", function (e) {\n        if (ignoreFocusEvents)\n            return;\n        host.onBlur(e);\n        isFocused = false;\n    }, host);\n    event.addListener(text, \"focus\", function (e) {\n        if (ignoreFocusEvents)\n            return;\n        isFocused = true;\n        if (useragent.isEdge) {\n            try {\n                if (!document.hasFocus())\n                    return;\n            }\n            catch (e) { }\n        }\n        host.onFocus(e);\n        if (useragent.isEdge)\n            setTimeout(resetSelection);\n        else\n            resetSelection();\n    }, host);\n    this.$focusScroll = false;\n    this.focus = function () {\n        this.setAriaOptions({\n            setLabel: host.renderer.enableKeyboardAccessibility\n        });\n        if (tempStyle || HAS_FOCUS_ARGS || this.$focusScroll == \"browser\")\n            return text.focus({ preventScroll: true });\n        var top = text.style.top;\n        text.style.position = \"fixed\";\n        text.style.top = \"0px\";\n        try {\n            var isTransformed = text.getBoundingClientRect().top != 0;\n        }\n        catch (e) {\n            return;\n        }\n        var ancestors = [];\n        if (isTransformed) {\n            var t = text.parentElement;\n            while (t && t.nodeType == 1) {\n                ancestors.push(t);\n                t.setAttribute(\"ace_nocontext\", \"true\");\n                if (!t.parentElement && t.getRootNode)\n                    t = t.getRootNode()[\"host\"];\n                else\n                    t = t.parentElement;\n            }\n        }\n        text.focus({ preventScroll: true });\n        if (isTransformed) {\n            ancestors.forEach(function (p) {\n                p.removeAttribute(\"ace_nocontext\");\n            });\n        }\n        setTimeout(function () {\n            text.style.position = \"\";\n            if (text.style.top == \"0px\")\n                text.style.top = top;\n        }, 0);\n    };\n    this.blur = function () {\n        text.blur();\n    };\n    this.isFocused = function () {\n        return isFocused;\n    };\n    host.on(\"beforeEndOperation\", function () {\n        var curOp = host.curOp;\n        var commandName = curOp && curOp.command && curOp.command.name;\n        if (commandName == \"insertstring\")\n            return;\n        var isUserAction = commandName && (curOp.docChanged || curOp.selectionChanged);\n        if (inComposition && isUserAction) {\n            lastValue = text.value = \"\";\n            onCompositionEnd();\n        }\n        resetSelection();\n    });\n    host.on(\"changeSelection\", this.setAriaLabel);\n    var positionToSelection = function (row, column) {\n        var selection = column;\n        for (var i = 1; i <= row - rowStart && i < 2 * numberOfExtraLines + 1; i++) {\n            selection += host.session.getLine(row - i).length + 1;\n        }\n        return selection;\n    };\n    var resetSelection = isIOS\n        ? function (value) {\n            if (!isFocused || (copied && !value) || sendingText)\n                return;\n            if (!value)\n                value = \"\";\n            var newValue = \"\\n ab\" + value + \"cde fg\\n\";\n            if (newValue != text.value)\n                text.value = lastValue = newValue;\n            var selectionStart = 4;\n            var selectionEnd = 4 + (value.length || (host.selection.isEmpty() ? 0 : 1));\n            if (lastSelectionStart != selectionStart || lastSelectionEnd != selectionEnd) {\n                text.setSelectionRange(selectionStart, selectionEnd);\n            }\n            lastSelectionStart = selectionStart;\n            lastSelectionEnd = selectionEnd;\n        }\n        : function () {\n            if (inComposition || sendingText)\n                return;\n            if (!isFocused && !afterContextMenu)\n                return;\n            inComposition = true;\n            var selectionStart = 0;\n            var selectionEnd = 0;\n            var line = \"\";\n            if (host.session) {\n                var selection = host.selection;\n                var range = selection.getRange();\n                var row = selection.cursor.row;\n                if (row === rowEnd + 1) {\n                    rowStart = rowEnd + 1;\n                    rowEnd = rowStart + 2 * numberOfExtraLines;\n                }\n                else if (row === rowStart - 1) {\n                    rowEnd = rowStart - 1;\n                    rowStart = rowEnd - 2 * numberOfExtraLines;\n                }\n                else if (row < rowStart - 1 || row > rowEnd + 1) {\n                    rowStart = row > numberOfExtraLines ? row - numberOfExtraLines : 0;\n                    rowEnd = row > numberOfExtraLines ? row + numberOfExtraLines : 2 * numberOfExtraLines;\n                }\n                var lines = [];\n                for (var i = rowStart; i <= rowEnd; i++) {\n                    lines.push(host.session.getLine(i));\n                }\n                line = lines.join('\\n');\n                selectionStart = positionToSelection(range.start.row, range.start.column);\n                selectionEnd = positionToSelection(range.end.row, range.end.column);\n                if (range.start.row < rowStart) {\n                    var prevLine = host.session.getLine(rowStart - 1);\n                    selectionStart = range.start.row < rowStart - 1 ? 0 : selectionStart;\n                    selectionEnd += prevLine.length + 1;\n                    line = prevLine + \"\\n\" + line;\n                }\n                else if (range.end.row > rowEnd) {\n                    var nextLine = host.session.getLine(rowEnd + 1);\n                    selectionEnd = range.end.row > rowEnd + 1 ? nextLine.length : range.end.column;\n                    selectionEnd += line.length + 1;\n                    line = line + \"\\n\" + nextLine;\n                }\n                else if (isMobile && row > 0) {\n                    line = \"\\n\" + line;\n                    selectionEnd += 1;\n                    selectionStart += 1;\n                }\n                if (line.length > MAX_LINE_LENGTH) {\n                    if (selectionStart < MAX_LINE_LENGTH && selectionEnd < MAX_LINE_LENGTH) {\n                        line = line.slice(0, MAX_LINE_LENGTH);\n                    }\n                    else {\n                        line = \"\\n\";\n                        if (selectionStart == selectionEnd) {\n                            selectionStart = selectionEnd = 0;\n                        }\n                        else {\n                            selectionStart = 0;\n                            selectionEnd = 1;\n                        }\n                    }\n                }\n                var newValue = line + \"\\n\\n\";\n                if (newValue != lastValue) {\n                    text.value = lastValue = newValue;\n                    lastSelectionStart = lastSelectionEnd = newValue.length;\n                }\n            }\n            if (afterContextMenu) {\n                lastSelectionStart = text.selectionStart;\n                lastSelectionEnd = text.selectionEnd;\n            }\n            if (lastSelectionEnd != selectionEnd\n                || lastSelectionStart != selectionStart\n                || text.selectionEnd != lastSelectionEnd // on ie edge selectionEnd changes silently after the initialization\n            ) {\n                try {\n                    text.setSelectionRange(selectionStart, selectionEnd);\n                    lastSelectionStart = selectionStart;\n                    lastSelectionEnd = selectionEnd;\n                }\n                catch (e) { }\n            }\n            inComposition = false;\n        };\n    this.resetSelection = resetSelection;\n    if (isFocused)\n        host.onFocus();\n    var isAllSelected = function (text) {\n        return text.selectionStart === 0 && text.selectionEnd >= lastValue.length\n            && text.value === lastValue && lastValue\n            && text.selectionEnd !== lastSelectionEnd;\n    };\n    var onSelect = function (e) {\n        if (inComposition)\n            return;\n        if (copied) {\n            copied = false;\n        }\n        else if (isAllSelected(text)) {\n            host.selectAll();\n            resetSelection();\n        }\n        else if (isMobile && text.selectionStart != lastSelectionStart) {\n            resetSelection();\n        }\n    };\n    var inputHandler = null;\n    this.setInputHandler = function (cb) { inputHandler = cb; };\n    this.getInputHandler = function () { return inputHandler; };\n    var afterContextMenu = false;\n    var sendText = function (value, fromInput) {\n        if (afterContextMenu)\n            afterContextMenu = false;\n        if (pasted) {\n            resetSelection();\n            if (value)\n                host.onPaste(value);\n            pasted = false;\n            return \"\";\n        }\n        else {\n            var selectionStart = text.selectionStart;\n            var selectionEnd = text.selectionEnd;\n            var extendLeft = lastSelectionStart;\n            var extendRight = lastValue.length - lastSelectionEnd;\n            var inserted = value;\n            var restoreStart = value.length - selectionStart;\n            var restoreEnd = value.length - selectionEnd;\n            var i = 0;\n            while (extendLeft > 0 && lastValue[i] == value[i]) {\n                i++;\n                extendLeft--;\n            }\n            inserted = inserted.slice(i);\n            i = 1;\n            while (extendRight > 0 && lastValue.length - i > lastSelectionStart - 1 && lastValue[lastValue.length - i] == value[value.length - i]) {\n                i++;\n                extendRight--;\n            }\n            restoreStart -= i - 1;\n            restoreEnd -= i - 1;\n            var endIndex = inserted.length - i + 1;\n            if (endIndex < 0) {\n                extendLeft = -endIndex;\n                endIndex = 0;\n            }\n            inserted = inserted.slice(0, endIndex);\n            if (!fromInput && !inserted && !restoreStart && !extendLeft && !extendRight && !restoreEnd)\n                return \"\";\n            sendingText = true;\n            var shouldReset = false;\n            if (useragent.isAndroid && inserted == \". \") {\n                inserted = \"  \";\n                shouldReset = true;\n            }\n            if (inserted && !extendLeft && !extendRight && !restoreStart && !restoreEnd || commandMode) {\n                host.onTextInput(inserted);\n            }\n            else {\n                host.onTextInput(inserted, {\n                    extendLeft: extendLeft,\n                    extendRight: extendRight,\n                    restoreStart: restoreStart,\n                    restoreEnd: restoreEnd\n                });\n            }\n            sendingText = false;\n            lastValue = value;\n            lastSelectionStart = selectionStart;\n            lastSelectionEnd = selectionEnd;\n            lastRestoreEnd = restoreEnd;\n            return shouldReset ? \"\\n\" : inserted;\n        }\n    };\n    var onInput = function (e) {\n        if (inComposition)\n            return onCompositionUpdate();\n        if (e && e.inputType) {\n            if (e.inputType == \"historyUndo\")\n                return host.execCommand(\"undo\");\n            if (e.inputType == \"historyRedo\")\n                return host.execCommand(\"redo\");\n        }\n        var data = text.value;\n        var inserted = sendText(data, true);\n        if (data.length > MAX_LINE_LENGTH + 100\n            || valueResetRegex.test(inserted)\n            || isMobile && lastSelectionStart < 1 && lastSelectionStart == lastSelectionEnd) {\n            resetSelection();\n        }\n    };\n    var handleClipboardData = function (e, data, forceIEMime) {\n        var clipboardData = e.clipboardData || window[\"clipboardData\"];\n        if (!clipboardData || BROKEN_SETDATA)\n            return;\n        var mime = USE_IE_MIME_TYPE || forceIEMime ? \"Text\" : \"text/plain\";\n        try {\n            if (data) {\n                return clipboardData.setData(mime, data) !== false;\n            }\n            else {\n                return clipboardData.getData(mime);\n            }\n        }\n        catch (e) {\n            if (!forceIEMime)\n                return handleClipboardData(e, data, true);\n        }\n    };\n    var doCopy = function (e, isCut) {\n        var data = host.getCopyText();\n        if (!data)\n            return event.preventDefault(e);\n        if (handleClipboardData(e, data)) {\n            if (isIOS) {\n                resetSelection(data);\n                copied = data;\n                setTimeout(function () {\n                    copied = false;\n                }, 10);\n            }\n            isCut ? host.onCut() : host.onCopy();\n            event.preventDefault(e);\n        }\n        else {\n            copied = true;\n            text.value = data;\n            text.select();\n            setTimeout(function () {\n                copied = false;\n                resetSelection();\n                isCut ? host.onCut() : host.onCopy();\n            });\n        }\n    };\n    var onCut = function (e) {\n        doCopy(e, true);\n    };\n    var onCopy = function (e) {\n        doCopy(e, false);\n    };\n    var onPaste = function (e) {\n        var data = handleClipboardData(e);\n        if (clipboard.pasteCancelled())\n            return;\n        if (typeof data == \"string\") {\n            if (data)\n                host.onPaste(data, e);\n            if (useragent.isIE)\n                setTimeout(resetSelection);\n            event.preventDefault(e);\n        }\n        else {\n            text.value = \"\";\n            pasted = true;\n        }\n    };\n    event.addCommandKeyListener(text, function (e, hashId, keyCode) {\n        if (inComposition)\n            return;\n        return host.onCommandKey(e, hashId, keyCode);\n    }, host);\n    event.addListener(text, \"select\", onSelect, host);\n    event.addListener(text, \"input\", onInput, host);\n    event.addListener(text, \"cut\", onCut, host);\n    event.addListener(text, \"copy\", onCopy, host);\n    event.addListener(text, \"paste\", onPaste, host);\n    if (!('oncut' in text) || !('oncopy' in text) || !('onpaste' in text)) {\n        event.addListener(parentNode, \"keydown\", function (e) {\n            if ((useragent.isMac && !e.metaKey) || !e.ctrlKey)\n                return;\n            switch (e.keyCode) {\n                case 67:\n                    onCopy(e);\n                    break;\n                case 86:\n                    onPaste(e);\n                    break;\n                case 88:\n                    onCut(e);\n                    break;\n            }\n        }, host);\n    }\n    var onCompositionStart = function (e) {\n        if (inComposition || !host.onCompositionStart || host.$readOnly)\n            return;\n        inComposition = {};\n        if (commandMode)\n            return;\n        if (e.data)\n            inComposition.useTextareaForIME = false;\n        setTimeout(onCompositionUpdate, 0);\n        host._signal(\"compositionStart\");\n        host.on(\"mousedown\", cancelComposition);\n        var range = host.getSelectionRange();\n        range.end.row = range.start.row;\n        range.end.column = range.start.column;\n        inComposition.markerRange = range;\n        inComposition.selectionStart = lastSelectionStart;\n        host.onCompositionStart(inComposition);\n        if (inComposition.useTextareaForIME) {\n            lastValue = text.value = \"\";\n            lastSelectionStart = 0;\n            lastSelectionEnd = 0;\n        }\n        else {\n            if (text.msGetInputContext)\n                inComposition.context = text.msGetInputContext();\n            if (text.getInputContext)\n                inComposition.context = text.getInputContext();\n        }\n    };\n    var onCompositionUpdate = function () {\n        if (!inComposition || !host.onCompositionUpdate || host.$readOnly)\n            return;\n        if (commandMode)\n            return cancelComposition();\n        if (inComposition.useTextareaForIME) {\n            host.onCompositionUpdate(text.value);\n        }\n        else {\n            var data = text.value;\n            sendText(data);\n            if (inComposition.markerRange) {\n                if (inComposition.context) {\n                    inComposition.markerRange.start.column = inComposition.selectionStart\n                        = inComposition.context.compositionStartOffset;\n                }\n                inComposition.markerRange.end.column = inComposition.markerRange.start.column\n                    + lastSelectionEnd - inComposition.selectionStart + lastRestoreEnd;\n            }\n        }\n    };\n    var onCompositionEnd = function (e) {\n        if (!host.onCompositionEnd || host.$readOnly)\n            return;\n        inComposition = false;\n        host.onCompositionEnd();\n        host.off(\"mousedown\", cancelComposition);\n        if (e)\n            onInput();\n    };\n    function cancelComposition() {\n        ignoreFocusEvents = true;\n        text.blur();\n        text.focus();\n        ignoreFocusEvents = false;\n    }\n    var syncComposition = lang.delayedCall(onCompositionUpdate, 50).schedule.bind(null, null);\n    function onKeyup(e) {\n        if (e.keyCode == 27 && text.value.length < text.selectionStart) {\n            if (!inComposition)\n                lastValue = text.value;\n            lastSelectionStart = lastSelectionEnd = -1;\n            resetSelection();\n        }\n        syncComposition();\n    }\n    event.addListener(text, \"compositionstart\", onCompositionStart, host);\n    event.addListener(text, \"compositionupdate\", onCompositionUpdate, host);\n    event.addListener(text, \"keyup\", onKeyup, host);\n    event.addListener(text, \"keydown\", syncComposition, host);\n    event.addListener(text, \"compositionend\", onCompositionEnd, host);\n    this.getElement = function () {\n        return text;\n    };\n    this.setCommandMode = function (value) {\n        commandMode = value;\n        text.readOnly = false;\n    };\n    this.setReadOnly = function (readOnly) {\n        if (!commandMode)\n            text.readOnly = readOnly;\n    };\n    this.setCopyWithEmptySelection = function (value) {\n    };\n    this.onContextMenu = function (e) {\n        afterContextMenu = true;\n        resetSelection();\n        host._emit(\"nativecontextmenu\", { target: host, domEvent: e });\n        this.moveToMouse(e, true);\n    };\n    this.moveToMouse = function (e, bringToFront) {\n        if (!tempStyle)\n            tempStyle = text.style.cssText;\n        text.style.cssText = (bringToFront ? \"z-index:100000;\" : \"\")\n            + (useragent.isIE ? \"opacity:0.1;\" : \"\")\n            + \"text-indent: -\" + (lastSelectionStart + lastSelectionEnd) * host.renderer.characterWidth * 0.5 + \"px;\";\n        var rect = host.container.getBoundingClientRect();\n        var style = dom.computedStyle(host.container);\n        var top = rect.top + (parseInt(style.borderTopWidth) || 0);\n        var left = rect.left + (parseInt(rect.borderLeftWidth) || 0);\n        var maxTop = rect.bottom - top - text.clientHeight - 2;\n        var move = function (e) {\n            dom.translate(text, e.clientX - left - 2, Math.min(e.clientY - top - 2, maxTop));\n        };\n        move(e);\n        if (e.type != \"mousedown\")\n            return;\n        host.renderer.$isMousePressed = true;\n        clearTimeout(closeTimeout);\n        if (useragent.isWin)\n            event.capture(host.container, move, onContextMenuClose);\n    };\n    this.onContextMenuClose = onContextMenuClose;\n    var closeTimeout;\n    function onContextMenuClose() {\n        clearTimeout(closeTimeout);\n        closeTimeout = setTimeout(function () {\n            if (tempStyle) {\n                text.style.cssText = tempStyle;\n                tempStyle = '';\n            }\n            host.renderer.$isMousePressed = false;\n            if (host.renderer.$keepTextAreaAtCursor)\n                host.renderer.$moveTextAreaToCursor();\n        }, 0);\n    }\n    var onContextMenu = function (e) {\n        host.textInput.onContextMenu(e);\n        onContextMenuClose();\n    };\n    event.addListener(text, \"mouseup\", onContextMenu, host);\n    event.addListener(text, \"mousedown\", function (e) {\n        e.preventDefault();\n        onContextMenuClose();\n    }, host);\n    event.addListener(host.renderer.scroller, \"contextmenu\", onContextMenu, host);\n    event.addListener(text, \"contextmenu\", onContextMenu, host);\n    if (isIOS)\n        addIosSelectionHandler(parentNode, host, text);\n    function addIosSelectionHandler(parentNode, host, text) {\n        var typingResetTimeout = null;\n        var typing = false;\n        text.addEventListener(\"keydown\", function (e) {\n            if (typingResetTimeout)\n                clearTimeout(typingResetTimeout);\n            typing = true;\n        }, true);\n        text.addEventListener(\"keyup\", function (e) {\n            typingResetTimeout = setTimeout(function () {\n                typing = false;\n            }, 100);\n        }, true);\n        var detectArrowKeys = function (e) {\n            if (document.activeElement !== text)\n                return;\n            if (typing || inComposition || host.$mouseHandler.isMousePressed)\n                return;\n            if (copied) {\n                return;\n            }\n            var selectionStart = text.selectionStart;\n            var selectionEnd = text.selectionEnd;\n            var key = null;\n            var modifier = 0;\n            if (selectionStart == 0) {\n                key = KEYS.up;\n            }\n            else if (selectionStart == 1) {\n                key = KEYS.home;\n            }\n            else if (selectionEnd > lastSelectionEnd && lastValue[selectionEnd] == \"\\n\") {\n                key = KEYS.end;\n            }\n            else if (selectionStart < lastSelectionStart && lastValue[selectionStart - 1] == \" \") {\n                key = KEYS.left;\n                modifier = MODS.option;\n            }\n            else if (selectionStart < lastSelectionStart\n                || (selectionStart == lastSelectionStart\n                    && lastSelectionEnd != lastSelectionStart\n                    && selectionStart == selectionEnd)) {\n                key = KEYS.left;\n            }\n            else if (selectionEnd > lastSelectionEnd && lastValue.slice(0, selectionEnd).split(\"\\n\").length > 2) {\n                key = KEYS.down;\n            }\n            else if (selectionEnd > lastSelectionEnd && lastValue[selectionEnd - 1] == \" \") {\n                key = KEYS.right;\n                modifier = MODS.option;\n            }\n            else if (selectionEnd > lastSelectionEnd\n                || (selectionEnd == lastSelectionEnd\n                    && lastSelectionEnd != lastSelectionStart\n                    && selectionStart == selectionEnd)) {\n                key = KEYS.right;\n            }\n            if (selectionStart !== selectionEnd)\n                modifier |= MODS.shift;\n            if (key) {\n                var result = host.onCommandKey({}, modifier, key);\n                if (!result && host.commands) {\n                    key = KEYS.keyCodeToString(key);\n                    var command = host.commands.findKeyCommand(modifier, key);\n                    if (command)\n                        host.execCommand(command);\n                }\n                lastSelectionStart = selectionStart;\n                lastSelectionEnd = selectionEnd;\n                resetSelection(\"\");\n            }\n        };\n        document.addEventListener(\"selectionchange\", detectArrowKeys);\n        host.on(\"destroy\", function () {\n            document.removeEventListener(\"selectionchange\", detectArrowKeys);\n        });\n    }\n    this.destroy = function () {\n        if (text.parentElement)\n            text.parentElement.removeChild(text);\n    };\n};\nexports.TextInput = TextInput;\nexports.$setUserAgentForTests = function (_isMobile, _isIOS) {\n    isMobile = _isMobile;\n    isIOS = _isIOS;\n};\n\n});\n\nace.define(\"ace/mouse/default_handlers\",[\"require\",\"exports\",\"module\",\"ace/lib/useragent\"], function(require, exports, module){\"use strict\";\nvar useragent = require(\"../lib/useragent\");\nvar DRAG_OFFSET = 0; // pixels\nvar SCROLL_COOLDOWN_T = 550; // milliseconds\nvar DefaultHandlers = /** @class */ (function () {\n    function DefaultHandlers(mouseHandler) {\n        mouseHandler.$clickSelection = null;\n        var editor = mouseHandler.editor;\n        editor.setDefaultHandler(\"mousedown\", this.onMouseDown.bind(mouseHandler));\n        editor.setDefaultHandler(\"dblclick\", this.onDoubleClick.bind(mouseHandler));\n        editor.setDefaultHandler(\"tripleclick\", this.onTripleClick.bind(mouseHandler));\n        editor.setDefaultHandler(\"quadclick\", this.onQuadClick.bind(mouseHandler));\n        editor.setDefaultHandler(\"mousewheel\", this.onMouseWheel.bind(mouseHandler));\n        var exports = [\"select\", \"startSelect\", \"selectEnd\", \"selectAllEnd\", \"selectByWordsEnd\",\n            \"selectByLinesEnd\", \"dragWait\", \"dragWaitEnd\", \"focusWait\"];\n        exports.forEach(function (x) {\n            mouseHandler[x] = this[x];\n        }, this);\n        mouseHandler[\"selectByLines\"] = this.extendSelectionBy.bind(mouseHandler, \"getLineRange\");\n        mouseHandler[\"selectByWords\"] = this.extendSelectionBy.bind(mouseHandler, \"getWordRange\");\n    }\n    DefaultHandlers.prototype.onMouseDown = function (ev) {\n        var inSelection = ev.inSelection();\n        var pos = ev.getDocumentPosition();\n        this.mousedownEvent = ev;\n        var editor = this.editor;\n        var button = ev.getButton();\n        if (button !== 0) {\n            var selectionRange = editor.getSelectionRange();\n            var selectionEmpty = selectionRange.isEmpty();\n            if (selectionEmpty || button == 1)\n                editor.selection.moveToPosition(pos);\n            if (button == 2) {\n                editor.textInput.onContextMenu(ev.domEvent);\n                if (!useragent.isMozilla)\n                    ev.preventDefault();\n            }\n            return;\n        }\n        this.mousedownEvent.time = Date.now();\n        if (inSelection && !editor.isFocused()) {\n            editor.focus();\n            if (this.$focusTimeout && !this.$clickSelection && !editor.inMultiSelectMode) {\n                this.setState(\"focusWait\");\n                this.captureMouse(ev);\n                return;\n            }\n        }\n        this.captureMouse(ev);\n        this.startSelect(pos, ev.domEvent._clicks > 1);\n        return ev.preventDefault();\n    };\n    DefaultHandlers.prototype.startSelect = function (pos, waitForClickSelection) {\n        pos = pos || this.editor.renderer.screenToTextCoordinates(this.x, this.y);\n        var editor = this.editor;\n        if (!this.mousedownEvent)\n            return;\n        if (this.mousedownEvent.getShiftKey())\n            editor.selection.selectToPosition(pos);\n        else if (!waitForClickSelection)\n            editor.selection.moveToPosition(pos);\n        if (!waitForClickSelection)\n            this.select();\n        editor.setStyle(\"ace_selecting\");\n        this.setState(\"select\");\n    };\n    DefaultHandlers.prototype.select = function () {\n        var anchor, editor = this.editor;\n        var cursor = editor.renderer.screenToTextCoordinates(this.x, this.y);\n        if (this.$clickSelection) {\n            var cmp = this.$clickSelection.comparePoint(cursor);\n            if (cmp == -1) {\n                anchor = this.$clickSelection.end;\n            }\n            else if (cmp == 1) {\n                anchor = this.$clickSelection.start;\n            }\n            else {\n                var orientedRange = calcRangeOrientation(this.$clickSelection, cursor);\n                cursor = orientedRange.cursor;\n                anchor = orientedRange.anchor;\n            }\n            editor.selection.setSelectionAnchor(anchor.row, anchor.column);\n        }\n        editor.selection.selectToPosition(cursor);\n        editor.renderer.scrollCursorIntoView();\n    };\n    DefaultHandlers.prototype.extendSelectionBy = function (unitName) {\n        var anchor, editor = this.editor;\n        var cursor = editor.renderer.screenToTextCoordinates(this.x, this.y);\n        var range = editor.selection[unitName](cursor.row, cursor.column);\n        if (this.$clickSelection) {\n            var cmpStart = this.$clickSelection.comparePoint(range.start);\n            var cmpEnd = this.$clickSelection.comparePoint(range.end);\n            if (cmpStart == -1 && cmpEnd <= 0) {\n                anchor = this.$clickSelection.end;\n                if (range.end.row != cursor.row || range.end.column != cursor.column)\n                    cursor = range.start;\n            }\n            else if (cmpEnd == 1 && cmpStart >= 0) {\n                anchor = this.$clickSelection.start;\n                if (range.start.row != cursor.row || range.start.column != cursor.column)\n                    cursor = range.end;\n            }\n            else if (cmpStart == -1 && cmpEnd == 1) {\n                cursor = range.end;\n                anchor = range.start;\n            }\n            else {\n                var orientedRange = calcRangeOrientation(this.$clickSelection, cursor);\n                cursor = orientedRange.cursor;\n                anchor = orientedRange.anchor;\n            }\n            editor.selection.setSelectionAnchor(anchor.row, anchor.column);\n        }\n        editor.selection.selectToPosition(cursor);\n        editor.renderer.scrollCursorIntoView();\n    };\n    DefaultHandlers.prototype.selectByLinesEnd = function () {\n        this.$clickSelection = null;\n        this.editor.unsetStyle(\"ace_selecting\");\n    };\n    DefaultHandlers.prototype.focusWait = function () {\n        var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);\n        var time = Date.now();\n        if (distance > DRAG_OFFSET || time - this.mousedownEvent.time > this.$focusTimeout)\n            this.startSelect(this.mousedownEvent.getDocumentPosition());\n    };\n    DefaultHandlers.prototype.onDoubleClick = function (ev) {\n        var pos = ev.getDocumentPosition();\n        var editor = this.editor;\n        var session = editor.session;\n        var range = session.getBracketRange(pos);\n        if (range) {\n            if (range.isEmpty()) {\n                range.start.column--;\n                range.end.column++;\n            }\n            this.setState(\"select\");\n        }\n        else {\n            range = editor.selection.getWordRange(pos.row, pos.column);\n            this.setState(\"selectByWords\");\n        }\n        this.$clickSelection = range;\n        this.select();\n    };\n    DefaultHandlers.prototype.onTripleClick = function (ev) {\n        var pos = ev.getDocumentPosition();\n        var editor = this.editor;\n        this.setState(\"selectByLines\");\n        var range = editor.getSelectionRange();\n        if (range.isMultiLine() && range.contains(pos.row, pos.column)) {\n            this.$clickSelection = editor.selection.getLineRange(range.start.row);\n            this.$clickSelection.end = editor.selection.getLineRange(range.end.row).end;\n        }\n        else {\n            this.$clickSelection = editor.selection.getLineRange(pos.row);\n        }\n        this.select();\n    };\n    DefaultHandlers.prototype.onQuadClick = function (ev) {\n        var editor = this.editor;\n        editor.selectAll();\n        this.$clickSelection = editor.getSelectionRange();\n        this.setState(\"selectAll\");\n    };\n    DefaultHandlers.prototype.onMouseWheel = function (ev) {\n        if (ev.getAccelKey())\n            return;\n        if (ev.getShiftKey() && ev.wheelY && !ev.wheelX) {\n            ev.wheelX = ev.wheelY;\n            ev.wheelY = 0;\n        }\n        var editor = this.editor;\n        if (!this.$lastScroll)\n            this.$lastScroll = { t: 0, vx: 0, vy: 0, allowed: 0 };\n        var prevScroll = this.$lastScroll;\n        var t = ev.domEvent.timeStamp;\n        var dt = t - prevScroll.t;\n        var vx = dt ? ev.wheelX / dt : prevScroll.vx;\n        var vy = dt ? ev.wheelY / dt : prevScroll.vy;\n        if (dt < SCROLL_COOLDOWN_T) {\n            vx = (vx + prevScroll.vx) / 2;\n            vy = (vy + prevScroll.vy) / 2;\n        }\n        var direction = Math.abs(vx / vy);\n        var canScroll = false;\n        if (direction >= 1 && editor.renderer.isScrollableBy(ev.wheelX * ev.speed, 0))\n            canScroll = true;\n        if (direction <= 1 && editor.renderer.isScrollableBy(0, ev.wheelY * ev.speed))\n            canScroll = true;\n        if (canScroll) {\n            prevScroll.allowed = t;\n        }\n        else if (t - prevScroll.allowed < SCROLL_COOLDOWN_T) {\n            var isSlower = Math.abs(vx) <= 1.5 * Math.abs(prevScroll.vx)\n                && Math.abs(vy) <= 1.5 * Math.abs(prevScroll.vy);\n            if (isSlower) {\n                canScroll = true;\n                prevScroll.allowed = t;\n            }\n            else {\n                prevScroll.allowed = 0;\n            }\n        }\n        prevScroll.t = t;\n        prevScroll.vx = vx;\n        prevScroll.vy = vy;\n        if (canScroll) {\n            editor.renderer.scrollBy(ev.wheelX * ev.speed, ev.wheelY * ev.speed);\n            return ev.stop();\n        }\n    };\n    return DefaultHandlers;\n}());\nDefaultHandlers.prototype.selectEnd = DefaultHandlers.prototype.selectByLinesEnd;\nDefaultHandlers.prototype.selectAllEnd = DefaultHandlers.prototype.selectByLinesEnd;\nDefaultHandlers.prototype.selectByWordsEnd = DefaultHandlers.prototype.selectByLinesEnd;\nexports.DefaultHandlers = DefaultHandlers;\nfunction calcDistance(ax, ay, bx, by) {\n    return Math.sqrt(Math.pow(bx - ax, 2) + Math.pow(by - ay, 2));\n}\nfunction calcRangeOrientation(range, cursor) {\n    if (range.start.row == range.end.row)\n        var cmp = 2 * cursor.column - range.start.column - range.end.column;\n    else if (range.start.row == range.end.row - 1 && !range.start.column && !range.end.column)\n        var cmp = cursor.column - 4;\n    else\n        var cmp = 2 * cursor.row - range.start.row - range.end.row;\n    if (cmp < 0)\n        return { cursor: range.start, anchor: range.end };\n    else\n        return { cursor: range.end, anchor: range.start };\n}\n\n});\n\nace.define(\"ace/lib/scroll\",[\"require\",\"exports\",\"module\"], function(require, exports, module){exports.preventParentScroll = function preventParentScroll(event) {\n    event.stopPropagation();\n    var target = event.currentTarget;\n    var contentOverflows = target.scrollHeight > target.clientHeight;\n    if (!contentOverflows) {\n        event.preventDefault();\n    }\n};\n\n});\n\nace.define(\"ace/tooltip\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/range\",\"ace/lib/scroll\"], function(require, exports, module){\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __values = (this && this.__values) || function(o) {\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n    if (m) return m.call(o);\n    if (o && typeof o.length === \"number\") return {\n        next: function () {\n            if (o && i >= o.length) o = void 0;\n            return { value: o && o[i++], done: !o };\n        }\n    };\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar dom = require(\"./lib/dom\");\nvar event = require(\"./lib/event\");\nvar Range = require(\"./range\").Range;\nvar preventParentScroll = require(\"./lib/scroll\").preventParentScroll;\nvar CLASSNAME = \"ace_tooltip\";\nvar Tooltip = /** @class */ (function () {\n    function Tooltip(parentNode) {\n        this.isOpen = false;\n        this.$element = null;\n        this.$parentNode = parentNode;\n    }\n    Tooltip.prototype.$init = function () {\n        this.$element = dom.createElement(\"div\");\n        this.$element.className = CLASSNAME;\n        this.$element.style.display = \"none\";\n        this.$parentNode.appendChild(this.$element);\n        return this.$element;\n    };\n    Tooltip.prototype.getElement = function () {\n        return this.$element || this.$init();\n    };\n    Tooltip.prototype.setText = function (text) {\n        this.getElement().textContent = text;\n    };\n    Tooltip.prototype.setHtml = function (html) {\n        this.getElement().innerHTML = html;\n    };\n    Tooltip.prototype.setPosition = function (x, y) {\n        this.getElement().style.left = x + \"px\";\n        this.getElement().style.top = y + \"px\";\n    };\n    Tooltip.prototype.setClassName = function (className) {\n        dom.addCssClass(this.getElement(), className);\n    };\n    Tooltip.prototype.setTheme = function (theme) {\n        this.$element.className = CLASSNAME + \" \" +\n            (theme.isDark ? \"ace_dark \" : \"\") + (theme.cssClass || \"\");\n    };\n    Tooltip.prototype.show = function (text, x, y) {\n        if (text != null)\n            this.setText(text);\n        if (x != null && y != null)\n            this.setPosition(x, y);\n        if (!this.isOpen) {\n            this.getElement().style.display = \"block\";\n            this.isOpen = true;\n        }\n    };\n    Tooltip.prototype.hide = function (e) {\n        if (this.isOpen) {\n            this.getElement().style.display = \"none\";\n            this.getElement().className = CLASSNAME;\n            this.isOpen = false;\n        }\n    };\n    Tooltip.prototype.getHeight = function () {\n        return this.getElement().offsetHeight;\n    };\n    Tooltip.prototype.getWidth = function () {\n        return this.getElement().offsetWidth;\n    };\n    Tooltip.prototype.destroy = function () {\n        this.isOpen = false;\n        if (this.$element && this.$element.parentNode) {\n            this.$element.parentNode.removeChild(this.$element);\n        }\n    };\n    return Tooltip;\n}());\nvar PopupManager = /** @class */ (function () {\n    function PopupManager() {\n        this.popups = [];\n    }\n    PopupManager.prototype.addPopup = function (popup) {\n        this.popups.push(popup);\n        this.updatePopups();\n    };\n    PopupManager.prototype.removePopup = function (popup) {\n        var index = this.popups.indexOf(popup);\n        if (index !== -1) {\n            this.popups.splice(index, 1);\n            this.updatePopups();\n        }\n    };\n    PopupManager.prototype.updatePopups = function () {\n        var e_1, _a, e_2, _b;\n        this.popups.sort(function (a, b) { return b.priority - a.priority; });\n        var visiblepopups = [];\n        try {\n            for (var _c = __values(this.popups), _d = _c.next(); !_d.done; _d = _c.next()) {\n                var popup = _d.value;\n                var shouldDisplay = true;\n                try {\n                    for (var visiblepopups_1 = (e_2 = void 0, __values(visiblepopups)), visiblepopups_1_1 = visiblepopups_1.next(); !visiblepopups_1_1.done; visiblepopups_1_1 = visiblepopups_1.next()) {\n                        var visiblePopup = visiblepopups_1_1.value;\n                        if (this.doPopupsOverlap(visiblePopup, popup)) {\n                            shouldDisplay = false;\n                            break;\n                        }\n                    }\n                }\n                catch (e_2_1) { e_2 = { error: e_2_1 }; }\n                finally {\n                    try {\n                        if (visiblepopups_1_1 && !visiblepopups_1_1.done && (_b = visiblepopups_1.return)) _b.call(visiblepopups_1);\n                    }\n                    finally { if (e_2) throw e_2.error; }\n                }\n                if (shouldDisplay) {\n                    visiblepopups.push(popup);\n                }\n                else {\n                    popup.hide();\n                }\n            }\n        }\n        catch (e_1_1) { e_1 = { error: e_1_1 }; }\n        finally {\n            try {\n                if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n            }\n            finally { if (e_1) throw e_1.error; }\n        }\n    };\n    PopupManager.prototype.doPopupsOverlap = function (popupA, popupB) {\n        var rectA = popupA.getElement().getBoundingClientRect();\n        var rectB = popupB.getElement().getBoundingClientRect();\n        return (rectA.left < rectB.right && rectA.right > rectB.left && rectA.top < rectB.bottom && rectA.bottom\n            > rectB.top);\n    };\n    return PopupManager;\n}());\nvar popupManager = new PopupManager();\nexports.popupManager = popupManager;\nexports.Tooltip = Tooltip;\nvar HoverTooltip = /** @class */ (function (_super) {\n    __extends(HoverTooltip, _super);\n    function HoverTooltip(parentNode) {\n        if (parentNode === void 0) { parentNode = document.body; }\n        var _this = _super.call(this, parentNode) || this;\n        _this.timeout = undefined;\n        _this.lastT = 0;\n        _this.idleTime = 350;\n        _this.lastEvent = undefined;\n        _this.onMouseOut = _this.onMouseOut.bind(_this);\n        _this.onMouseMove = _this.onMouseMove.bind(_this);\n        _this.waitForHover = _this.waitForHover.bind(_this);\n        _this.hide = _this.hide.bind(_this);\n        var el = _this.getElement();\n        el.style.whiteSpace = \"pre-wrap\";\n        el.style.pointerEvents = \"auto\";\n        el.addEventListener(\"mouseout\", _this.onMouseOut);\n        el.tabIndex = -1;\n        el.addEventListener(\"blur\", function () {\n            if (!el.contains(document.activeElement))\n                this.hide();\n        }.bind(_this));\n        el.addEventListener(\"wheel\", preventParentScroll);\n        return _this;\n    }\n    HoverTooltip.prototype.addToEditor = function (editor) {\n        editor.on(\"mousemove\", this.onMouseMove);\n        editor.on(\"mousedown\", this.hide);\n        editor.renderer.getMouseEventTarget().addEventListener(\"mouseout\", this.onMouseOut, true);\n    };\n    HoverTooltip.prototype.removeFromEditor = function (editor) {\n        editor.off(\"mousemove\", this.onMouseMove);\n        editor.off(\"mousedown\", this.hide);\n        editor.renderer.getMouseEventTarget().removeEventListener(\"mouseout\", this.onMouseOut, true);\n        if (this.timeout) {\n            clearTimeout(this.timeout);\n            this.timeout = null;\n        }\n    };\n    HoverTooltip.prototype.onMouseMove = function (e, editor) {\n        this.lastEvent = e;\n        this.lastT = Date.now();\n        var isMousePressed = editor.$mouseHandler.isMousePressed;\n        if (this.isOpen) {\n            var pos = this.lastEvent && this.lastEvent.getDocumentPosition();\n            if (!this.range\n                || !this.range.contains(pos.row, pos.column)\n                || isMousePressed\n                || this.isOutsideOfText(this.lastEvent)) {\n                this.hide();\n            }\n        }\n        if (this.timeout || isMousePressed)\n            return;\n        this.lastEvent = e;\n        this.timeout = setTimeout(this.waitForHover, this.idleTime);\n    };\n    HoverTooltip.prototype.waitForHover = function () {\n        if (this.timeout)\n            clearTimeout(this.timeout);\n        var dt = Date.now() - this.lastT;\n        if (this.idleTime - dt > 10) {\n            this.timeout = setTimeout(this.waitForHover, this.idleTime - dt);\n            return;\n        }\n        this.timeout = null;\n        if (this.lastEvent && !this.isOutsideOfText(this.lastEvent)) {\n            this.$gatherData(this.lastEvent, this.lastEvent.editor);\n        }\n    };\n    HoverTooltip.prototype.isOutsideOfText = function (e) {\n        var editor = e.editor;\n        var docPos = e.getDocumentPosition();\n        var line = editor.session.getLine(docPos.row);\n        if (docPos.column == line.length) {\n            var screenPos = editor.renderer.pixelToScreenCoordinates(e.clientX, e.clientY);\n            var clippedPos = editor.session.documentToScreenPosition(docPos.row, docPos.column);\n            if (clippedPos.column != screenPos.column\n                || clippedPos.row != screenPos.row) {\n                return true;\n            }\n        }\n        return false;\n    };\n    HoverTooltip.prototype.setDataProvider = function (value) {\n        this.$gatherData = value;\n    };\n    HoverTooltip.prototype.showForRange = function (editor, range, domNode, startingEvent) {\n        var MARGIN = 10;\n        if (startingEvent && startingEvent != this.lastEvent)\n            return;\n        if (this.isOpen && document.activeElement == this.getElement())\n            return;\n        var renderer = editor.renderer;\n        if (!this.isOpen) {\n            popupManager.addPopup(this);\n            this.$registerCloseEvents();\n            this.setTheme(renderer.theme);\n        }\n        this.isOpen = true;\n        this.addMarker(range, editor.session);\n        this.range = Range.fromPoints(range.start, range.end);\n        var position = renderer.textToScreenCoordinates(range.start.row, range.start.column);\n        var rect = renderer.scroller.getBoundingClientRect();\n        if (position.pageX < rect.left)\n            position.pageX = rect.left;\n        var element = this.getElement();\n        element.innerHTML = \"\";\n        element.appendChild(domNode);\n        element.style.maxHeight = \"\";\n        element.style.display = \"block\";\n        var labelHeight = element.clientHeight;\n        var labelWidth = element.clientWidth;\n        var spaceBelow = window.innerHeight - position.pageY - renderer.lineHeight;\n        var isAbove = true;\n        if (position.pageY - labelHeight < 0 && position.pageY < spaceBelow) {\n            isAbove = false;\n        }\n        element.style.maxHeight = (isAbove ? position.pageY : spaceBelow) - MARGIN + \"px\";\n        element.style.top = isAbove ? \"\" : position.pageY + renderer.lineHeight + \"px\";\n        element.style.bottom = isAbove ? window.innerHeight - position.pageY + \"px\" : \"\";\n        element.style.left = Math.min(position.pageX, window.innerWidth - labelWidth - MARGIN) + \"px\";\n    };\n    HoverTooltip.prototype.addMarker = function (range, session) {\n        if (this.marker) {\n            this.$markerSession.removeMarker(this.marker);\n        }\n        this.$markerSession = session;\n        this.marker = session && session.addMarker(range, \"ace_highlight-marker\", \"text\");\n    };\n    HoverTooltip.prototype.hide = function (e) {\n        if (!e && document.activeElement == this.getElement())\n            return;\n        if (e && e.target && (e.type != \"keydown\" || e.ctrlKey || e.metaKey) && this.$element.contains(e.target))\n            return;\n        this.lastEvent = null;\n        if (this.timeout)\n            clearTimeout(this.timeout);\n        this.timeout = null;\n        this.addMarker(null);\n        if (this.isOpen) {\n            this.$removeCloseEvents();\n            this.getElement().style.display = \"none\";\n            this.isOpen = false;\n            popupManager.removePopup(this);\n        }\n    };\n    HoverTooltip.prototype.$registerCloseEvents = function () {\n        window.addEventListener(\"keydown\", this.hide, true);\n        window.addEventListener(\"wheel\", this.hide, true);\n        window.addEventListener(\"mousedown\", this.hide, true);\n    };\n    HoverTooltip.prototype.$removeCloseEvents = function () {\n        window.removeEventListener(\"keydown\", this.hide, true);\n        window.removeEventListener(\"wheel\", this.hide, true);\n        window.removeEventListener(\"mousedown\", this.hide, true);\n    };\n    HoverTooltip.prototype.onMouseOut = function (e) {\n        if (this.timeout) {\n            clearTimeout(this.timeout);\n            this.timeout = null;\n        }\n        this.lastEvent = null;\n        if (!this.isOpen)\n            return;\n        if (!e.relatedTarget || this.getElement().contains(e.relatedTarget))\n            return;\n        if (e && e.currentTarget.contains(e.relatedTarget))\n            return;\n        if (!e.relatedTarget.classList.contains(\"ace_content\"))\n            this.hide();\n    };\n    return HoverTooltip;\n}(Tooltip));\nexports.HoverTooltip = HoverTooltip;\n\n});\n\nace.define(\"ace/mouse/default_gutter_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/tooltip\",\"ace/config\",\"ace/lib/lang\"], function(require, exports, module){\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __values = (this && this.__values) || function(o) {\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n    if (m) return m.call(o);\n    if (o && typeof o.length === \"number\") return {\n        next: function () {\n            if (o && i >= o.length) o = void 0;\n            return { value: o && o[i++], done: !o };\n        }\n    };\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar dom = require(\"../lib/dom\");\nvar event = require(\"../lib/event\");\nvar Tooltip = require(\"../tooltip\").Tooltip;\nvar nls = require(\"../config\").nls;\nvar lang = require(\"../lib/lang\");\nfunction GutterHandler(mouseHandler) {\n    var editor = mouseHandler.editor;\n    var gutter = editor.renderer.$gutterLayer;\n    var tooltip = new GutterTooltip(editor);\n    mouseHandler.editor.setDefaultHandler(\"guttermousedown\", function (e) {\n        if (!editor.isFocused() || e.getButton() != 0)\n            return;\n        var gutterRegion = gutter.getRegion(e);\n        if (gutterRegion == \"foldWidgets\")\n            return;\n        var row = e.getDocumentPosition().row;\n        var selection = editor.session.selection;\n        if (e.getShiftKey())\n            selection.selectTo(row, 0);\n        else {\n            if (e.domEvent.detail == 2) {\n                editor.selectAll();\n                return e.preventDefault();\n            }\n            mouseHandler.$clickSelection = editor.selection.getLineRange(row);\n        }\n        mouseHandler.setState(\"selectByLines\");\n        mouseHandler.captureMouse(e);\n        return e.preventDefault();\n    });\n    var tooltipTimeout, mouseEvent;\n    function showTooltip() {\n        var row = mouseEvent.getDocumentPosition().row;\n        var maxRow = editor.session.getLength();\n        if (row == maxRow) {\n            var screenRow = editor.renderer.pixelToScreenCoordinates(0, mouseEvent.y).row;\n            var pos = mouseEvent.$pos;\n            if (screenRow > editor.session.documentToScreenRow(pos.row, pos.column))\n                return hideTooltip();\n        }\n        tooltip.showTooltip(row);\n        if (!tooltip.isOpen)\n            return;\n        editor.on(\"mousewheel\", hideTooltip);\n        if (mouseHandler.$tooltipFollowsMouse) {\n            moveTooltip(mouseEvent);\n        }\n        else {\n            var gutterRow = mouseEvent.getGutterRow();\n            var gutterCell = gutter.$lines.get(gutterRow);\n            if (gutterCell) {\n                var gutterElement = gutterCell.element.querySelector(\".ace_gutter_annotation\");\n                var rect = gutterElement.getBoundingClientRect();\n                var style = tooltip.getElement().style;\n                style.left = rect.right + \"px\";\n                style.top = rect.bottom + \"px\";\n            }\n            else {\n                moveTooltip(mouseEvent);\n            }\n        }\n    }\n    function hideTooltip() {\n        if (tooltipTimeout)\n            tooltipTimeout = clearTimeout(tooltipTimeout);\n        if (tooltip.isOpen) {\n            tooltip.hideTooltip();\n            editor.off(\"mousewheel\", hideTooltip);\n        }\n    }\n    function moveTooltip(e) {\n        tooltip.setPosition(e.x, e.y);\n    }\n    mouseHandler.editor.setDefaultHandler(\"guttermousemove\", function (e) {\n        var target = e.domEvent.target || e.domEvent.srcElement;\n        if (dom.hasCssClass(target, \"ace_fold-widget\"))\n            return hideTooltip();\n        if (tooltip.isOpen && mouseHandler.$tooltipFollowsMouse)\n            moveTooltip(e);\n        mouseEvent = e;\n        if (tooltipTimeout)\n            return;\n        tooltipTimeout = setTimeout(function () {\n            tooltipTimeout = null;\n            if (mouseEvent && !mouseHandler.isMousePressed)\n                showTooltip();\n            else\n                hideTooltip();\n        }, 50);\n    });\n    event.addListener(editor.renderer.$gutter, \"mouseout\", function (e) {\n        mouseEvent = null;\n        if (!tooltip.isOpen || tooltipTimeout)\n            return;\n        tooltipTimeout = setTimeout(function () {\n            tooltipTimeout = null;\n            hideTooltip();\n        }, 50);\n    }, editor);\n    editor.on(\"changeSession\", hideTooltip);\n    editor.on(\"input\", hideTooltip);\n}\nexports.GutterHandler = GutterHandler;\nvar GutterTooltip = /** @class */ (function (_super) {\n    __extends(GutterTooltip, _super);\n    function GutterTooltip(editor) {\n        var _this = _super.call(this, editor.container) || this;\n        _this.editor = editor;\n        return _this;\n    }\n    GutterTooltip.prototype.setPosition = function (x, y) {\n        var windowWidth = window.innerWidth || document.documentElement.clientWidth;\n        var windowHeight = window.innerHeight || document.documentElement.clientHeight;\n        var width = this.getWidth();\n        var height = this.getHeight();\n        x += 15;\n        y += 15;\n        if (x + width > windowWidth) {\n            x -= (x + width) - windowWidth;\n        }\n        if (y + height > windowHeight) {\n            y -= 20 + height;\n        }\n        Tooltip.prototype.setPosition.call(this, x, y);\n    };\n    Object.defineProperty(GutterTooltip, \"annotationLabels\", {\n        get: function () {\n            return {\n                error: {\n                    singular: nls(\"gutter-tooltip.aria-label.error.singular\", \"error\"),\n                    plural: nls(\"gutter-tooltip.aria-label.error.plural\", \"errors\")\n                },\n                security: {\n                    singular: nls(\"gutter-tooltip.aria-label.security.singular\", \"security finding\"),\n                    plural: nls(\"gutter-tooltip.aria-label.security.plural\", \"security findings\")\n                },\n                warning: {\n                    singular: nls(\"gutter-tooltip.aria-label.warning.singular\", \"warning\"),\n                    plural: nls(\"gutter-tooltip.aria-label.warning.plural\", \"warnings\")\n                },\n                info: {\n                    singular: nls(\"gutter-tooltip.aria-label.info.singular\", \"information message\"),\n                    plural: nls(\"gutter-tooltip.aria-label.info.plural\", \"information messages\")\n                },\n                hint: {\n                    singular: nls(\"gutter-tooltip.aria-label.hint.singular\", \"suggestion\"),\n                    plural: nls(\"gutter-tooltip.aria-label.hint.plural\", \"suggestions\")\n                }\n            };\n        },\n        enumerable: false,\n        configurable: true\n    });\n    GutterTooltip.prototype.showTooltip = function (row) {\n        var _a;\n        var gutter = this.editor.renderer.$gutterLayer;\n        var annotationsInRow = gutter.$annotations[row];\n        var annotation;\n        if (annotationsInRow)\n            annotation = {\n                displayText: Array.from(annotationsInRow.displayText),\n                type: Array.from(annotationsInRow.type)\n            };\n        else\n            annotation = { displayText: [], type: [] };\n        var fold = gutter.session.getFoldLine(row);\n        if (fold && gutter.$showFoldedAnnotations) {\n            var annotationsInFold = { error: [], security: [], warning: [], info: [], hint: [] };\n            var severityRank = { error: 1, security: 2, warning: 3, info: 4, hint: 5 };\n            var mostSevereAnnotationTypeInFold;\n            for (var i = row + 1; i <= fold.end.row; i++) {\n                if (!gutter.$annotations[i])\n                    continue;\n                for (var j = 0; j < gutter.$annotations[i].text.length; j++) {\n                    var annotationType = gutter.$annotations[i].type[j];\n                    annotationsInFold[annotationType].push(gutter.$annotations[i].text[j]);\n                    if (!mostSevereAnnotationTypeInFold ||\n                        severityRank[annotationType] < severityRank[mostSevereAnnotationTypeInFold]) {\n                        mostSevereAnnotationTypeInFold = annotationType;\n                    }\n                }\n            }\n            if ([\"error\", \"security\", \"warning\"].includes(mostSevereAnnotationTypeInFold)) {\n                var summaryFoldedAnnotations = \"\".concat(GutterTooltip.annotationsToSummaryString(annotationsInFold), \" in folded code.\");\n                annotation.displayText.push(summaryFoldedAnnotations);\n                annotation.type.push(mostSevereAnnotationTypeInFold + \"_fold\");\n            }\n        }\n        if (annotation.displayText.length === 0)\n            return this.hide();\n        var annotationMessages = { error: [], security: [], warning: [], info: [], hint: [] };\n        var iconClassName = gutter.$useSvgGutterIcons ? \"ace_icon_svg\" : \"ace_icon\";\n        for (var i = 0; i < annotation.displayText.length; i++) {\n            var lineElement = dom.createElement(\"span\");\n            var iconElement = dom.createElement(\"span\");\n            (_a = iconElement.classList).add.apply(_a, [\"ace_\".concat(annotation.type[i]), iconClassName]);\n            iconElement.setAttribute(\"aria-label\", \"\".concat(GutterTooltip.annotationLabels[annotation.type[i].replace(\"_fold\", \"\")].singular));\n            iconElement.setAttribute(\"role\", \"img\");\n            iconElement.appendChild(dom.createTextNode(\" \"));\n            lineElement.appendChild(iconElement);\n            lineElement.appendChild(dom.createTextNode(annotation.displayText[i]));\n            lineElement.appendChild(dom.createElement(\"br\"));\n            annotationMessages[annotation.type[i].replace(\"_fold\", \"\")].push(lineElement);\n        }\n        var tooltipElement = this.getElement();\n        dom.removeChildren(tooltipElement);\n        annotationMessages.error.forEach(function (el) { return tooltipElement.appendChild(el); });\n        annotationMessages.security.forEach(function (el) { return tooltipElement.appendChild(el); });\n        annotationMessages.warning.forEach(function (el) { return tooltipElement.appendChild(el); });\n        annotationMessages.info.forEach(function (el) { return tooltipElement.appendChild(el); });\n        annotationMessages.hint.forEach(function (el) { return tooltipElement.appendChild(el); });\n        tooltipElement.setAttribute(\"aria-live\", \"polite\");\n        if (!this.isOpen) {\n            this.setTheme(this.editor.renderer.theme);\n            this.setClassName(\"ace_gutter-tooltip\");\n        }\n        this.show();\n        this.editor._signal(\"showGutterTooltip\", this);\n    };\n    GutterTooltip.prototype.hideTooltip = function () {\n        this.$element.removeAttribute(\"aria-live\");\n        this.hide();\n        this.editor._signal(\"hideGutterTooltip\", this);\n    };\n    GutterTooltip.annotationsToSummaryString = function (annotations) {\n        var e_1, _a;\n        var summary = [];\n        var annotationTypes = [\"error\", \"security\", \"warning\", \"info\", \"hint\"];\n        try {\n            for (var annotationTypes_1 = __values(annotationTypes), annotationTypes_1_1 = annotationTypes_1.next(); !annotationTypes_1_1.done; annotationTypes_1_1 = annotationTypes_1.next()) {\n                var annotationType = annotationTypes_1_1.value;\n                if (!annotations[annotationType].length)\n                    continue;\n                var label = annotations[annotationType].length === 1 ? GutterTooltip.annotationLabels[annotationType].singular : GutterTooltip.annotationLabels[annotationType].plural;\n                summary.push(\"\".concat(annotations[annotationType].length, \" \").concat(label));\n            }\n        }\n        catch (e_1_1) { e_1 = { error: e_1_1 }; }\n        finally {\n            try {\n                if (annotationTypes_1_1 && !annotationTypes_1_1.done && (_a = annotationTypes_1.return)) _a.call(annotationTypes_1);\n            }\n            finally { if (e_1) throw e_1.error; }\n        }\n        return summary.join(\", \");\n    };\n    return GutterTooltip;\n}(Tooltip));\nexports.GutterTooltip = GutterTooltip;\n\n});\n\nace.define(\"ace/mouse/mouse_event\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\"], function(require, exports, module){\"use strict\";\nvar event = require(\"../lib/event\");\nvar useragent = require(\"../lib/useragent\");\nvar MouseEvent = /** @class */ (function () {\n    function MouseEvent(domEvent, editor) { this.speed; this.wheelX; this.wheelY;\n        this.domEvent = domEvent;\n        this.editor = editor;\n        this.x = this.clientX = domEvent.clientX;\n        this.y = this.clientY = domEvent.clientY;\n        this.$pos = null;\n        this.$inSelection = null;\n        this.propagationStopped = false;\n        this.defaultPrevented = false;\n    }\n    MouseEvent.prototype.stopPropagation = function () {\n        event.stopPropagation(this.domEvent);\n        this.propagationStopped = true;\n    };\n    MouseEvent.prototype.preventDefault = function () {\n        event.preventDefault(this.domEvent);\n        this.defaultPrevented = true;\n    };\n    MouseEvent.prototype.stop = function () {\n        this.stopPropagation();\n        this.preventDefault();\n    };\n    MouseEvent.prototype.getDocumentPosition = function () {\n        if (this.$pos)\n            return this.$pos;\n        this.$pos = this.editor.renderer.screenToTextCoordinates(this.clientX, this.clientY);\n        return this.$pos;\n    };\n    MouseEvent.prototype.getGutterRow = function () {\n        var documentRow = this.getDocumentPosition().row;\n        var screenRow = this.editor.session.documentToScreenRow(documentRow, 0);\n        var screenTopRow = this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row, 0);\n        return screenRow - screenTopRow;\n    };\n    MouseEvent.prototype.inSelection = function () {\n        if (this.$inSelection !== null)\n            return this.$inSelection;\n        var editor = this.editor;\n        var selectionRange = editor.getSelectionRange();\n        if (selectionRange.isEmpty())\n            this.$inSelection = false;\n        else {\n            var pos = this.getDocumentPosition();\n            this.$inSelection = selectionRange.contains(pos.row, pos.column);\n        }\n        return this.$inSelection;\n    };\n    MouseEvent.prototype.getButton = function () {\n        return event.getButton(this.domEvent);\n    };\n    MouseEvent.prototype.getShiftKey = function () {\n        return this.domEvent.shiftKey;\n    };\n    MouseEvent.prototype.getAccelKey = function () {\n        return useragent.isMac ? this.domEvent.metaKey : this.domEvent.ctrlKey;\n    };\n    return MouseEvent;\n}());\nexports.MouseEvent = MouseEvent;\n\n});\n\nace.define(\"ace/mouse/dragdrop_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/useragent\"], function(require, exports, module){\"use strict\";\nvar dom = require(\"../lib/dom\");\nvar event = require(\"../lib/event\");\nvar useragent = require(\"../lib/useragent\");\nvar AUTOSCROLL_DELAY = 200;\nvar SCROLL_CURSOR_DELAY = 200;\nvar SCROLL_CURSOR_HYSTERESIS = 5;\nfunction DragdropHandler(mouseHandler) {\n    var editor = mouseHandler.editor;\n    var dragImage = dom.createElement(\"div\");\n    dragImage.style.cssText = \"top:-100px;position:absolute;z-index:2147483647;opacity:0.5\";\n    dragImage.textContent = \"\\xa0\";\n    var exports = [\"dragWait\", \"dragWaitEnd\", \"startDrag\", \"dragReadyEnd\", \"onMouseDrag\"];\n    exports.forEach(function (x) {\n        mouseHandler[x] = this[x];\n    }, this);\n    editor.on(\"mousedown\", this.onMouseDown.bind(mouseHandler));\n    var mouseTarget = editor.container;\n    var dragSelectionMarker, x, y;\n    var timerId, range;\n    var dragCursor, counter = 0;\n    var dragOperation;\n    var isInternal;\n    var autoScrollStartTime;\n    var cursorMovedTime;\n    var cursorPointOnCaretMoved;\n    this.onDragStart = function (e) {\n        if (this.cancelDrag || !mouseTarget.draggable) {\n            var self = this;\n            setTimeout(function () {\n                self.startSelect();\n                self.captureMouse(e);\n            }, 0);\n            return e.preventDefault();\n        }\n        range = editor.getSelectionRange();\n        var dataTransfer = e.dataTransfer;\n        dataTransfer.effectAllowed = editor.getReadOnly() ? \"copy\" : \"copyMove\";\n        editor.container.appendChild(dragImage);\n        dataTransfer.setDragImage && dataTransfer.setDragImage(dragImage, 0, 0);\n        setTimeout(function () {\n            editor.container.removeChild(dragImage);\n        });\n        dataTransfer.clearData();\n        dataTransfer.setData(\"Text\", editor.session.getTextRange());\n        isInternal = true;\n        this.setState(\"drag\");\n    };\n    this.onDragEnd = function (e) {\n        mouseTarget.draggable = false;\n        isInternal = false;\n        this.setState(null);\n        if (!editor.getReadOnly()) {\n            var dropEffect = e.dataTransfer.dropEffect;\n            if (!dragOperation && dropEffect == \"move\")\n                editor.session.remove(editor.getSelectionRange());\n            editor.$resetCursorStyle();\n        }\n        this.editor.unsetStyle(\"ace_dragging\");\n        this.editor.renderer.setCursorStyle(\"\");\n    };\n    this.onDragEnter = function (e) {\n        if (editor.getReadOnly() || !canAccept(e.dataTransfer))\n            return;\n        x = e.clientX;\n        y = e.clientY;\n        if (!dragSelectionMarker)\n            addDragMarker();\n        counter++;\n        e.dataTransfer.dropEffect = dragOperation = getDropEffect(e);\n        return event.preventDefault(e);\n    };\n    this.onDragOver = function (e) {\n        if (editor.getReadOnly() || !canAccept(e.dataTransfer))\n            return;\n        x = e.clientX;\n        y = e.clientY;\n        if (!dragSelectionMarker) {\n            addDragMarker();\n            counter++;\n        }\n        if (onMouseMoveTimer !== null)\n            onMouseMoveTimer = null;\n        e.dataTransfer.dropEffect = dragOperation = getDropEffect(e);\n        return event.preventDefault(e);\n    };\n    this.onDragLeave = function (e) {\n        counter--;\n        if (counter <= 0 && dragSelectionMarker) {\n            clearDragMarker();\n            dragOperation = null;\n            return event.preventDefault(e);\n        }\n    };\n    this.onDrop = function (e) {\n        if (!dragCursor)\n            return;\n        var dataTransfer = e.dataTransfer;\n        if (isInternal) {\n            switch (dragOperation) {\n                case \"move\":\n                    if (range.contains(dragCursor.row, dragCursor.column)) {\n                        range = {\n                            start: dragCursor,\n                            end: dragCursor\n                        };\n                    }\n                    else {\n                        range = editor.moveText(range, dragCursor);\n                    }\n                    break;\n                case \"copy\":\n                    range = editor.moveText(range, dragCursor, true);\n                    break;\n            }\n        }\n        else {\n            var dropData = dataTransfer.getData('Text');\n            range = {\n                start: dragCursor,\n                end: editor.session.insert(dragCursor, dropData)\n            };\n            editor.focus();\n            dragOperation = null;\n        }\n        clearDragMarker();\n        return event.preventDefault(e);\n    };\n    event.addListener(mouseTarget, \"dragstart\", this.onDragStart.bind(mouseHandler), editor);\n    event.addListener(mouseTarget, \"dragend\", this.onDragEnd.bind(mouseHandler), editor);\n    event.addListener(mouseTarget, \"dragenter\", this.onDragEnter.bind(mouseHandler), editor);\n    event.addListener(mouseTarget, \"dragover\", this.onDragOver.bind(mouseHandler), editor);\n    event.addListener(mouseTarget, \"dragleave\", this.onDragLeave.bind(mouseHandler), editor);\n    event.addListener(mouseTarget, \"drop\", this.onDrop.bind(mouseHandler), editor);\n    function scrollCursorIntoView(cursor, prevCursor) {\n        var now = Date.now();\n        var vMovement = !prevCursor || cursor.row != prevCursor.row;\n        var hMovement = !prevCursor || cursor.column != prevCursor.column;\n        if (!cursorMovedTime || vMovement || hMovement) {\n            editor.moveCursorToPosition(cursor);\n            cursorMovedTime = now;\n            cursorPointOnCaretMoved = { x: x, y: y };\n        }\n        else {\n            var distance = calcDistance(cursorPointOnCaretMoved.x, cursorPointOnCaretMoved.y, x, y);\n            if (distance > SCROLL_CURSOR_HYSTERESIS) {\n                cursorMovedTime = null;\n            }\n            else if (now - cursorMovedTime >= SCROLL_CURSOR_DELAY) {\n                editor.renderer.scrollCursorIntoView();\n                cursorMovedTime = null;\n            }\n        }\n    }\n    function autoScroll(cursor, prevCursor) {\n        var now = Date.now();\n        var lineHeight = editor.renderer.layerConfig.lineHeight;\n        var characterWidth = editor.renderer.layerConfig.characterWidth;\n        var editorRect = editor.renderer.scroller.getBoundingClientRect();\n        var offsets = {\n            x: {\n                left: x - editorRect.left,\n                right: editorRect.right - x\n            },\n            y: {\n                top: y - editorRect.top,\n                bottom: editorRect.bottom - y\n            }\n        };\n        var nearestXOffset = Math.min(offsets.x.left, offsets.x.right);\n        var nearestYOffset = Math.min(offsets.y.top, offsets.y.bottom);\n        var scrollCursor = { row: cursor.row, column: cursor.column };\n        if (nearestXOffset / characterWidth <= 2) {\n            scrollCursor.column += (offsets.x.left < offsets.x.right ? -3 : +2);\n        }\n        if (nearestYOffset / lineHeight <= 1) {\n            scrollCursor.row += (offsets.y.top < offsets.y.bottom ? -1 : +1);\n        }\n        var vScroll = cursor.row != scrollCursor.row;\n        var hScroll = cursor.column != scrollCursor.column;\n        var vMovement = !prevCursor || cursor.row != prevCursor.row;\n        if (vScroll || (hScroll && !vMovement)) {\n            if (!autoScrollStartTime)\n                autoScrollStartTime = now;\n            else if (now - autoScrollStartTime >= AUTOSCROLL_DELAY)\n                editor.renderer.scrollCursorIntoView(scrollCursor);\n        }\n        else {\n            autoScrollStartTime = null;\n        }\n    }\n    function onDragInterval() {\n        var prevCursor = dragCursor;\n        dragCursor = editor.renderer.screenToTextCoordinates(x, y);\n        scrollCursorIntoView(dragCursor, prevCursor);\n        autoScroll(dragCursor, prevCursor);\n    }\n    function addDragMarker() {\n        range = editor.selection.toOrientedRange();\n        dragSelectionMarker = editor.session.addMarker(range, \"ace_selection\", editor.getSelectionStyle());\n        editor.clearSelection();\n        if (editor.isFocused())\n            editor.renderer.$cursorLayer.setBlinking(false);\n        clearInterval(timerId);\n        onDragInterval();\n        timerId = setInterval(onDragInterval, 20);\n        counter = 0;\n        event.addListener(document, \"mousemove\", onMouseMove);\n    }\n    function clearDragMarker() {\n        clearInterval(timerId);\n        editor.session.removeMarker(dragSelectionMarker);\n        dragSelectionMarker = null;\n        editor.selection.fromOrientedRange(range);\n        if (editor.isFocused() && !isInternal)\n            editor.$resetCursorStyle();\n        range = null;\n        dragCursor = null;\n        counter = 0;\n        autoScrollStartTime = null;\n        cursorMovedTime = null;\n        event.removeListener(document, \"mousemove\", onMouseMove);\n    }\n    var onMouseMoveTimer = null;\n    function onMouseMove() {\n        if (onMouseMoveTimer == null) {\n            onMouseMoveTimer = setTimeout(function () {\n                if (onMouseMoveTimer != null && dragSelectionMarker)\n                    clearDragMarker();\n            }, 20);\n        }\n    }\n    function canAccept(dataTransfer) {\n        var types = dataTransfer.types;\n        return !types || Array.prototype.some.call(types, function (type) {\n            return type == 'text/plain' || type == 'Text';\n        });\n    }\n    function getDropEffect(e) {\n        var copyAllowed = ['copy', 'copymove', 'all', 'uninitialized'];\n        var moveAllowed = ['move', 'copymove', 'linkmove', 'all', 'uninitialized'];\n        var copyModifierState = useragent.isMac ? e.altKey : e.ctrlKey;\n        var effectAllowed = \"uninitialized\";\n        try {\n            effectAllowed = e.dataTransfer.effectAllowed.toLowerCase();\n        }\n        catch (e) { }\n        var dropEffect = \"none\";\n        if (copyModifierState && copyAllowed.indexOf(effectAllowed) >= 0)\n            dropEffect = \"copy\";\n        else if (moveAllowed.indexOf(effectAllowed) >= 0)\n            dropEffect = \"move\";\n        else if (copyAllowed.indexOf(effectAllowed) >= 0)\n            dropEffect = \"copy\";\n        return dropEffect;\n    }\n}\n(function () {\n    this.dragWait = function () {\n        var interval = Date.now() - this.mousedownEvent.time;\n        if (interval > this.editor.getDragDelay())\n            this.startDrag();\n    };\n    this.dragWaitEnd = function () {\n        var target = this.editor.container;\n        target.draggable = false;\n        this.startSelect(this.mousedownEvent.getDocumentPosition());\n        this.selectEnd();\n    };\n    this.dragReadyEnd = function (e) {\n        this.editor.$resetCursorStyle();\n        this.editor.unsetStyle(\"ace_dragging\");\n        this.editor.renderer.setCursorStyle(\"\");\n        this.dragWaitEnd();\n    };\n    this.startDrag = function () {\n        this.cancelDrag = false;\n        var editor = this.editor;\n        var target = editor.container;\n        target.draggable = true;\n        editor.renderer.$cursorLayer.setBlinking(false);\n        editor.setStyle(\"ace_dragging\");\n        var cursorStyle = useragent.isWin ? \"default\" : \"move\";\n        editor.renderer.setCursorStyle(cursorStyle);\n        this.setState(\"dragReady\");\n    };\n    this.onMouseDrag = function (e) {\n        var target = this.editor.container;\n        if (useragent.isIE && this.state == \"dragReady\") {\n            var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);\n            if (distance > 3)\n                target.dragDrop();\n        }\n        if (this.state === \"dragWait\") {\n            var distance = calcDistance(this.mousedownEvent.x, this.mousedownEvent.y, this.x, this.y);\n            if (distance > 0) {\n                target.draggable = false;\n                this.startSelect(this.mousedownEvent.getDocumentPosition());\n            }\n        }\n    };\n    this.onMouseDown = function (e) {\n        if (!this.$dragEnabled)\n            return;\n        this.mousedownEvent = e;\n        var editor = this.editor;\n        var inSelection = e.inSelection();\n        var button = e.getButton();\n        var clickCount = e.domEvent.detail || 1;\n        if (clickCount === 1 && button === 0 && inSelection) {\n            if (e.editor.inMultiSelectMode && (e.getAccelKey() || e.getShiftKey()))\n                return;\n            this.mousedownEvent.time = Date.now();\n            var eventTarget = e.domEvent.target || e.domEvent.srcElement;\n            if (\"unselectable\" in eventTarget)\n                eventTarget.unselectable = \"on\";\n            if (editor.getDragDelay()) {\n                if (useragent.isWebKit) {\n                    this.cancelDrag = true;\n                    var mouseTarget = editor.container;\n                    mouseTarget.draggable = true;\n                }\n                this.setState(\"dragWait\");\n            }\n            else {\n                this.startDrag();\n            }\n            this.captureMouse(e, this.onMouseDrag.bind(this));\n            e.defaultPrevented = true;\n        }\n    };\n}).call(DragdropHandler.prototype);\nfunction calcDistance(ax, ay, bx, by) {\n    return Math.sqrt(Math.pow(bx - ax, 2) + Math.pow(by - ay, 2));\n}\nexports.DragdropHandler = DragdropHandler;\n\n});\n\nace.define(\"ace/mouse/touch_handler\",[\"require\",\"exports\",\"module\",\"ace/mouse/mouse_event\",\"ace/lib/event\",\"ace/lib/dom\"], function(require, exports, module){\"use strict\";\nvar MouseEvent = require(\"./mouse_event\").MouseEvent;\nvar event = require(\"../lib/event\");\nvar dom = require(\"../lib/dom\");\nexports.addTouchListeners = function (el, editor) {\n    var mode = \"scroll\";\n    var startX;\n    var startY;\n    var touchStartT;\n    var lastT;\n    var longTouchTimer;\n    var animationTimer;\n    var animationSteps = 0;\n    var pos;\n    var clickCount = 0;\n    var vX = 0;\n    var vY = 0;\n    var pressed;\n    var contextMenu;\n    function createContextMenu() {\n        var clipboard = window.navigator && window.navigator.clipboard;\n        var isOpen = false;\n        var updateMenu = function () {\n            var selected = editor.getCopyText();\n            var hasUndo = editor.session.getUndoManager().hasUndo();\n            contextMenu.replaceChild(dom.buildDom(isOpen ? [\"span\",\n                !selected && canExecuteCommand(\"selectall\") && [\"span\", { class: \"ace_mobile-button\", action: \"selectall\" }, \"Select All\"],\n                selected && canExecuteCommand(\"copy\") && [\"span\", { class: \"ace_mobile-button\", action: \"copy\" }, \"Copy\"],\n                selected && canExecuteCommand(\"cut\") && [\"span\", { class: \"ace_mobile-button\", action: \"cut\" }, \"Cut\"],\n                clipboard && canExecuteCommand(\"paste\") && [\"span\", { class: \"ace_mobile-button\", action: \"paste\" }, \"Paste\"],\n                hasUndo && canExecuteCommand(\"undo\") && [\"span\", { class: \"ace_mobile-button\", action: \"undo\" }, \"Undo\"],\n                canExecuteCommand(\"find\") && [\"span\", { class: \"ace_mobile-button\", action: \"find\" }, \"Find\"],\n                canExecuteCommand(\"openCommandPalette\") && [\"span\", { class: \"ace_mobile-button\", action: \"openCommandPalette\" }, \"Palette\"]\n            ] : [\"span\"]), contextMenu.firstChild);\n        };\n        var canExecuteCommand = function (/** @type {string} */ cmd) {\n            return editor.commands.canExecute(cmd, editor);\n        };\n        var handleClick = function (e) {\n            var action = e.target.getAttribute(\"action\");\n            if (action == \"more\" || !isOpen) {\n                isOpen = !isOpen;\n                return updateMenu();\n            }\n            if (action == \"paste\") {\n                clipboard.readText().then(function (text) {\n                    editor.execCommand(action, text);\n                });\n            }\n            else if (action) {\n                if (action == \"cut\" || action == \"copy\") {\n                    if (clipboard)\n                        clipboard.writeText(editor.getCopyText());\n                    else\n                        document.execCommand(\"copy\");\n                }\n                editor.execCommand(action);\n            }\n            contextMenu.firstChild.style.display = \"none\";\n            isOpen = false;\n            if (action != \"openCommandPalette\")\n                editor.focus();\n        };\n        contextMenu = dom.buildDom([\"div\",\n            {\n                class: \"ace_mobile-menu\",\n                ontouchstart: function (e) {\n                    mode = \"menu\";\n                    e.stopPropagation();\n                    e.preventDefault();\n                    editor.textInput.focus();\n                },\n                ontouchend: function (e) {\n                    e.stopPropagation();\n                    e.preventDefault();\n                    handleClick(e);\n                },\n                onclick: handleClick\n            },\n            [\"span\"],\n            [\"span\", { class: \"ace_mobile-button\", action: \"more\" }, \"...\"]\n        ], editor.container);\n    }\n    function showContextMenu() {\n        if (!editor.getOption(\"enableMobileMenu\")) {\n            if (contextMenu) {\n                hideContextMenu();\n            }\n            return;\n        }\n        if (!contextMenu)\n            createContextMenu();\n        var cursor = editor.selection.cursor;\n        var pagePos = editor.renderer.textToScreenCoordinates(cursor.row, cursor.column);\n        var leftOffset = editor.renderer.textToScreenCoordinates(0, 0).pageX;\n        var scrollLeft = editor.renderer.scrollLeft;\n        var rect = editor.container.getBoundingClientRect();\n        contextMenu.style.top = pagePos.pageY - rect.top - 3 + \"px\";\n        if (pagePos.pageX - rect.left < rect.width - 70) {\n            contextMenu.style.left = \"\";\n            contextMenu.style.right = \"10px\";\n        }\n        else {\n            contextMenu.style.right = \"\";\n            contextMenu.style.left = leftOffset + scrollLeft - rect.left + \"px\";\n        }\n        contextMenu.style.display = \"\";\n        contextMenu.firstChild.style.display = \"none\";\n        editor.on(\"input\", hideContextMenu);\n    }\n    function hideContextMenu(e) {\n        if (contextMenu)\n            contextMenu.style.display = \"none\";\n        editor.off(\"input\", hideContextMenu);\n    }\n    function handleLongTap() {\n        longTouchTimer = null;\n        clearTimeout(longTouchTimer);\n        var range = editor.selection.getRange();\n        var inSelection = range.contains(pos.row, pos.column);\n        if (range.isEmpty() || !inSelection) {\n            editor.selection.moveToPosition(pos);\n            editor.selection.selectWord();\n        }\n        mode = \"wait\";\n        showContextMenu();\n    }\n    function switchToSelectionMode() {\n        longTouchTimer = null;\n        clearTimeout(longTouchTimer);\n        editor.selection.moveToPosition(pos);\n        var range = clickCount >= 2\n            ? editor.selection.getLineRange(pos.row)\n            : editor.session.getBracketRange(pos);\n        if (range && !range.isEmpty()) {\n            editor.selection.setRange(range);\n        }\n        else {\n            editor.selection.selectWord();\n        }\n        mode = \"wait\";\n    }\n    event.addListener(el, \"contextmenu\", function (e) {\n        if (!pressed)\n            return;\n        var textarea = editor.textInput.getElement();\n        textarea.focus();\n    }, editor);\n    event.addListener(el, \"touchstart\", function (e) {\n        var touches = e.touches;\n        if (longTouchTimer || touches.length > 1) {\n            clearTimeout(longTouchTimer);\n            longTouchTimer = null;\n            touchStartT = -1;\n            mode = \"zoom\";\n            return;\n        }\n        pressed = editor.$mouseHandler.isMousePressed = true;\n        var h = editor.renderer.layerConfig.lineHeight;\n        var w = editor.renderer.layerConfig.lineHeight;\n        var t = e.timeStamp;\n        lastT = t;\n        var touchObj = touches[0];\n        var x = touchObj.clientX;\n        var y = touchObj.clientY;\n        if (Math.abs(startX - x) + Math.abs(startY - y) > h)\n            touchStartT = -1;\n        startX = e.clientX = x;\n        startY = e.clientY = y;\n        vX = vY = 0;\n        var ev = new MouseEvent(e, editor);\n        pos = ev.getDocumentPosition();\n        if (t - touchStartT < 500 && touches.length == 1 && !animationSteps) {\n            clickCount++;\n            e.preventDefault();\n            e.button = 0;\n            switchToSelectionMode();\n        }\n        else {\n            clickCount = 0;\n            var cursor = editor.selection.cursor;\n            var anchor = editor.selection.isEmpty() ? cursor : editor.selection.anchor;\n            var cursorPos = editor.renderer.$cursorLayer.getPixelPosition(cursor, true);\n            var anchorPos = editor.renderer.$cursorLayer.getPixelPosition(anchor, true);\n            var rect = editor.renderer.scroller.getBoundingClientRect();\n            var offsetTop = editor.renderer.layerConfig.offset;\n            var offsetLeft = editor.renderer.scrollLeft;\n            var weightedDistance = function (x, y) {\n                x = x / w;\n                y = y / h - 0.75;\n                return x * x + y * y;\n            };\n            if (e.clientX < rect.left) {\n                mode = \"zoom\";\n                return;\n            }\n            var diff1 = weightedDistance(e.clientX - rect.left - cursorPos.left + offsetLeft, e.clientY - rect.top - cursorPos.top + offsetTop);\n            var diff2 = weightedDistance(e.clientX - rect.left - anchorPos.left + offsetLeft, e.clientY - rect.top - anchorPos.top + offsetTop);\n            if (diff1 < 3.5 && diff2 < 3.5)\n                mode = diff1 > diff2 ? \"cursor\" : \"anchor\";\n            if (diff2 < 3.5)\n                mode = \"anchor\";\n            else if (diff1 < 3.5)\n                mode = \"cursor\";\n            else\n                mode = \"scroll\";\n            longTouchTimer = setTimeout(handleLongTap, 450);\n        }\n        touchStartT = t;\n    }, editor);\n    event.addListener(el, \"touchend\", function (e) {\n        pressed = editor.$mouseHandler.isMousePressed = false;\n        if (animationTimer)\n            clearInterval(animationTimer);\n        if (mode == \"zoom\") {\n            mode = \"\";\n            animationSteps = 0;\n        }\n        else if (longTouchTimer) {\n            editor.selection.moveToPosition(pos);\n            animationSteps = 0;\n            showContextMenu();\n        }\n        else if (mode == \"scroll\") {\n            animate();\n            hideContextMenu();\n        }\n        else {\n            showContextMenu();\n        }\n        clearTimeout(longTouchTimer);\n        longTouchTimer = null;\n    }, editor);\n    event.addListener(el, \"touchmove\", function (e) {\n        if (longTouchTimer) {\n            clearTimeout(longTouchTimer);\n            longTouchTimer = null;\n        }\n        var touches = e.touches;\n        if (touches.length > 1 || mode == \"zoom\")\n            return;\n        var touchObj = touches[0];\n        var wheelX = startX - touchObj.clientX;\n        var wheelY = startY - touchObj.clientY;\n        if (mode == \"wait\") {\n            if (wheelX * wheelX + wheelY * wheelY > 4)\n                mode = \"cursor\";\n            else\n                return e.preventDefault();\n        }\n        startX = touchObj.clientX;\n        startY = touchObj.clientY;\n        e.clientX = touchObj.clientX;\n        e.clientY = touchObj.clientY;\n        var t = e.timeStamp;\n        var dt = t - lastT;\n        lastT = t;\n        if (mode == \"scroll\") {\n            var mouseEvent = new MouseEvent(e, editor);\n            mouseEvent.speed = 1;\n            mouseEvent.wheelX = wheelX;\n            mouseEvent.wheelY = wheelY;\n            if (10 * Math.abs(wheelX) < Math.abs(wheelY))\n                wheelX = 0;\n            if (10 * Math.abs(wheelY) < Math.abs(wheelX))\n                wheelY = 0;\n            if (dt != 0) {\n                vX = wheelX / dt;\n                vY = wheelY / dt;\n            }\n            editor._emit(\"mousewheel\", mouseEvent);\n            if (!mouseEvent.propagationStopped) {\n                vX = vY = 0;\n            }\n        }\n        else {\n            var ev = new MouseEvent(e, editor);\n            var pos = ev.getDocumentPosition();\n            if (mode == \"cursor\")\n                editor.selection.moveCursorToPosition(pos);\n            else if (mode == \"anchor\")\n                editor.selection.setSelectionAnchor(pos.row, pos.column);\n            editor.renderer.scrollCursorIntoView(pos);\n            e.preventDefault();\n        }\n    }, editor);\n    function animate() {\n        animationSteps += 60;\n        animationTimer = setInterval(function () {\n            if (animationSteps-- <= 0) {\n                clearInterval(animationTimer);\n                animationTimer = null;\n            }\n            if (Math.abs(vX) < 0.01)\n                vX = 0;\n            if (Math.abs(vY) < 0.01)\n                vY = 0;\n            if (animationSteps < 20)\n                vX = 0.9 * vX;\n            if (animationSteps < 20)\n                vY = 0.9 * vY;\n            var oldScrollTop = editor.session.getScrollTop();\n            editor.renderer.scrollBy(10 * vX, 10 * vY);\n            if (oldScrollTop == editor.session.getScrollTop())\n                animationSteps = 0;\n        }, 10);\n    }\n};\n\n});\n\nace.define(\"ace/mouse/mouse_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\",\"ace/mouse/default_handlers\",\"ace/mouse/default_gutter_handler\",\"ace/mouse/mouse_event\",\"ace/mouse/dragdrop_handler\",\"ace/mouse/touch_handler\",\"ace/config\"], function(require, exports, module){\"use strict\";\nvar event = require(\"../lib/event\");\nvar useragent = require(\"../lib/useragent\");\nvar DefaultHandlers = require(\"./default_handlers\").DefaultHandlers;\nvar DefaultGutterHandler = require(\"./default_gutter_handler\").GutterHandler;\nvar MouseEvent = require(\"./mouse_event\").MouseEvent;\nvar DragdropHandler = require(\"./dragdrop_handler\").DragdropHandler;\nvar addTouchListeners = require(\"./touch_handler\").addTouchListeners;\nvar config = require(\"../config\");\nvar MouseHandler = /** @class */ (function () {\n    function MouseHandler(editor) { this.$dragDelay; this.$dragEnabled; this.$mouseMoved; this.mouseEvent; this.$focusTimeout;\n        var _self = this;\n        this.editor = editor;\n        new DefaultHandlers(this);\n        new DefaultGutterHandler(this);\n        new DragdropHandler(this);\n        var focusEditor = function (e) {\n            var windowBlurred = !document.hasFocus || !document.hasFocus()\n                || !editor.isFocused() && document.activeElement == (editor.textInput && editor.textInput.getElement());\n            if (windowBlurred)\n                window.focus();\n            editor.focus();\n            setTimeout(function () {\n                if (!editor.isFocused())\n                    editor.focus();\n            });\n        };\n        var mouseTarget = editor.renderer.getMouseEventTarget();\n        event.addListener(mouseTarget, \"click\", this.onMouseEvent.bind(this, \"click\"), editor);\n        event.addListener(mouseTarget, \"mousemove\", this.onMouseMove.bind(this, \"mousemove\"), editor);\n        event.addMultiMouseDownListener([\n            mouseTarget,\n            editor.renderer.scrollBarV && editor.renderer.scrollBarV.inner,\n            editor.renderer.scrollBarH && editor.renderer.scrollBarH.inner,\n            editor.textInput && editor.textInput.getElement()\n        ].filter(Boolean), [400, 300, 250], this, \"onMouseEvent\", editor);\n        event.addMouseWheelListener(editor.container, this.onMouseWheel.bind(this, \"mousewheel\"), editor);\n        addTouchListeners(editor.container, editor);\n        var gutterEl = editor.renderer.$gutter;\n        event.addListener(gutterEl, \"mousedown\", this.onMouseEvent.bind(this, \"guttermousedown\"), editor);\n        event.addListener(gutterEl, \"click\", this.onMouseEvent.bind(this, \"gutterclick\"), editor);\n        event.addListener(gutterEl, \"dblclick\", this.onMouseEvent.bind(this, \"gutterdblclick\"), editor);\n        event.addListener(gutterEl, \"mousemove\", this.onMouseEvent.bind(this, \"guttermousemove\"), editor);\n        event.addListener(mouseTarget, \"mousedown\", focusEditor, editor);\n        event.addListener(gutterEl, \"mousedown\", focusEditor, editor);\n        if (useragent.isIE && editor.renderer.scrollBarV) {\n            event.addListener(editor.renderer.scrollBarV.element, \"mousedown\", focusEditor, editor);\n            event.addListener(editor.renderer.scrollBarH.element, \"mousedown\", focusEditor, editor);\n        }\n        editor.on(\"mousemove\", function (e) {\n            if (_self.state || _self.$dragDelay || !_self.$dragEnabled)\n                return;\n            var character = editor.renderer.screenToTextCoordinates(e.x, e.y);\n            var range = editor.session.selection.getRange();\n            var renderer = editor.renderer;\n            if (!range.isEmpty() && range.insideStart(character.row, character.column)) {\n                renderer.setCursorStyle(\"default\");\n            }\n            else {\n                renderer.setCursorStyle(\"\");\n            }\n        }, //@ts-expect-error TODO: seems mistyping - should be boolean\n        editor);\n    }\n    MouseHandler.prototype.onMouseEvent = function (name, e) {\n        if (!this.editor.session)\n            return;\n        this.editor._emit(name, new MouseEvent(e, this.editor));\n    };\n    MouseHandler.prototype.onMouseMove = function (name, e) {\n        var listeners = this.editor._eventRegistry && this.editor._eventRegistry.mousemove;\n        if (!listeners || !listeners.length)\n            return;\n        this.editor._emit(name, new MouseEvent(e, this.editor));\n    };\n    MouseHandler.prototype.onMouseWheel = function (name, e) {\n        var mouseEvent = new MouseEvent(e, this.editor);\n        mouseEvent.speed = this.$scrollSpeed * 2;\n        mouseEvent.wheelX = e.wheelX;\n        mouseEvent.wheelY = e.wheelY;\n        this.editor._emit(name, mouseEvent);\n    };\n    MouseHandler.prototype.setState = function (state) {\n        this.state = state;\n    };\n    MouseHandler.prototype.captureMouse = function (ev, mouseMoveHandler) {\n        this.x = ev.x;\n        this.y = ev.y;\n        this.isMousePressed = true;\n        var editor = this.editor;\n        var renderer = this.editor.renderer;\n        renderer.$isMousePressed = true;\n        var self = this;\n        var onMouseMove = function (e) {\n            if (!e)\n                return;\n            if (useragent.isWebKit && !e.which && self.releaseMouse)\n                return self.releaseMouse();\n            self.x = e.clientX;\n            self.y = e.clientY;\n            mouseMoveHandler && mouseMoveHandler(e);\n            self.mouseEvent = new MouseEvent(e, self.editor);\n            self.$mouseMoved = true;\n        };\n        var onCaptureEnd = function (e) {\n            editor.off(\"beforeEndOperation\", onOperationEnd);\n            clearInterval(timerId);\n            if (editor.session)\n                onCaptureInterval();\n            self[self.state + \"End\"] && self[self.state + \"End\"](e);\n            self.state = \"\";\n            self.isMousePressed = renderer.$isMousePressed = false;\n            if (renderer.$keepTextAreaAtCursor)\n                renderer.$moveTextAreaToCursor();\n            self.$onCaptureMouseMove = self.releaseMouse = null;\n            e && self.onMouseEvent(\"mouseup\", e);\n            editor.endOperation();\n        };\n        var onCaptureInterval = function () {\n            self[self.state] && self[self.state]();\n            self.$mouseMoved = false;\n        };\n        if (useragent.isOldIE && ev.domEvent.type == \"dblclick\") {\n            return setTimeout(function () { onCaptureEnd(ev); });\n        }\n        var onOperationEnd = function (e) {\n            if (!self.releaseMouse)\n                return;\n            if (editor.curOp.command.name && editor.curOp.selectionChanged) {\n                self[self.state + \"End\"] && self[self.state + \"End\"]();\n                self.state = \"\";\n                self.releaseMouse();\n            }\n        };\n        editor.on(\"beforeEndOperation\", onOperationEnd);\n        editor.startOperation({ command: { name: \"mouse\" } });\n        self.$onCaptureMouseMove = onMouseMove;\n        self.releaseMouse = event.capture(this.editor.container, onMouseMove, onCaptureEnd);\n        var timerId = setInterval(onCaptureInterval, 20);\n    };\n    MouseHandler.prototype.cancelContextMenu = function () {\n        var stop = function (e) {\n            if (e && e.domEvent && e.domEvent.type != \"contextmenu\")\n                return;\n            this.editor.off(\"nativecontextmenu\", stop);\n            if (e && e.domEvent)\n                event.stopEvent(e.domEvent);\n        }.bind(this);\n        setTimeout(stop, 10);\n        this.editor.on(\"nativecontextmenu\", stop);\n    };\n    MouseHandler.prototype.destroy = function () {\n        if (this.releaseMouse)\n            this.releaseMouse();\n    };\n    return MouseHandler;\n}());\nMouseHandler.prototype.releaseMouse = null;\nconfig.defineOptions(MouseHandler.prototype, \"mouseHandler\", {\n    scrollSpeed: { initialValue: 2 },\n    dragDelay: { initialValue: (useragent.isMac ? 150 : 0) },\n    dragEnabled: { initialValue: true },\n    focusTimeout: { initialValue: 0 },\n    tooltipFollowsMouse: { initialValue: true }\n});\nexports.MouseHandler = MouseHandler;\n\n});\n\nace.define(\"ace/mouse/fold_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(require, exports, module){\"use strict\";\nvar dom = require(\"../lib/dom\");\nvar FoldHandler = /** @class */ (function () {\n    function FoldHandler(editor) {\n        editor.on(\"click\", function (e) {\n            var position = e.getDocumentPosition();\n            var session = editor.session;\n            var fold = session.getFoldAt(position.row, position.column, 1);\n            if (fold) {\n                if (e.getAccelKey())\n                    session.removeFold(fold);\n                else\n                    session.expandFold(fold);\n                e.stop();\n            }\n            var target = e.domEvent && e.domEvent.target;\n            if (target && dom.hasCssClass(target, \"ace_inline_button\")) {\n                if (dom.hasCssClass(target, \"ace_toggle_wrap\")) {\n                    session.setOption(\"wrap\", !session.getUseWrapMode());\n                    editor.renderer.scrollCursorIntoView();\n                }\n            }\n        });\n        editor.on(\"gutterclick\", function (e) {\n            var gutterRegion = editor.renderer.$gutterLayer.getRegion(e);\n            if (gutterRegion == \"foldWidgets\") {\n                var row = e.getDocumentPosition().row;\n                var session = editor.session;\n                if (session.foldWidgets && session.foldWidgets[row])\n                    editor.session.onFoldWidgetClick(row, e);\n                if (!editor.isFocused())\n                    editor.focus();\n                e.stop();\n            }\n        });\n        editor.on(\"gutterdblclick\", function (e) {\n            var gutterRegion = editor.renderer.$gutterLayer.getRegion(e);\n            if (gutterRegion == \"foldWidgets\") {\n                var row = e.getDocumentPosition().row;\n                var session = editor.session;\n                var data = session.getParentFoldRangeData(row, true);\n                var range = data.range || data.firstRange;\n                if (range) {\n                    row = range.start.row;\n                    var fold = session.getFoldAt(row, session.getLine(row).length, 1);\n                    if (fold) {\n                        session.removeFold(fold);\n                    }\n                    else {\n                        session.addFold(\"...\", range);\n                        editor.renderer.scrollCursorIntoView({ row: range.start.row, column: 0 });\n                    }\n                }\n                e.stop();\n            }\n        });\n    }\n    return FoldHandler;\n}());\nexports.FoldHandler = FoldHandler;\n\n});\n\nace.define(\"ace/keyboard/keybinding\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/event\"], function(require, exports, module){\"use strict\";\nvar keyUtil = require(\"../lib/keys\");\nvar event = require(\"../lib/event\");\nvar KeyBinding = /** @class */ (function () {\n    function KeyBinding(editor) {\n        this.$editor = editor;\n        this.$data = { editor: editor };\n        this.$handlers = [];\n        this.setDefaultHandler(editor.commands);\n    }\n    KeyBinding.prototype.setDefaultHandler = function (kb) {\n        this.removeKeyboardHandler(this.$defaultHandler);\n        this.$defaultHandler = kb;\n        this.addKeyboardHandler(kb, 0);\n    };\n    KeyBinding.prototype.setKeyboardHandler = function (kb) {\n        var h = this.$handlers;\n        if (h[h.length - 1] == kb)\n            return;\n        while (h[h.length - 1] && h[h.length - 1] != this.$defaultHandler)\n            this.removeKeyboardHandler(h[h.length - 1]);\n        this.addKeyboardHandler(kb, 1);\n    };\n    KeyBinding.prototype.addKeyboardHandler = function (kb, pos) {\n        if (!kb)\n            return;\n        if (typeof kb == \"function\" && !kb.handleKeyboard)\n            kb.handleKeyboard = kb;\n        var i = this.$handlers.indexOf(kb);\n        if (i != -1)\n            this.$handlers.splice(i, 1);\n        if (pos == undefined)\n            this.$handlers.push(kb);\n        else\n            this.$handlers.splice(pos, 0, kb);\n        if (i == -1 && kb.attach)\n            kb.attach(this.$editor);\n    };\n    KeyBinding.prototype.removeKeyboardHandler = function (kb) {\n        var i = this.$handlers.indexOf(kb);\n        if (i == -1)\n            return false;\n        this.$handlers.splice(i, 1);\n        kb.detach && kb.detach(this.$editor);\n        return true;\n    };\n    KeyBinding.prototype.getKeyboardHandler = function () {\n        return this.$handlers[this.$handlers.length - 1];\n    };\n    KeyBinding.prototype.getStatusText = function () {\n        var data = this.$data;\n        var editor = data.editor;\n        return this.$handlers.map(function (h) {\n            return h.getStatusText && h.getStatusText(editor, data) || \"\";\n        }).filter(Boolean).join(\" \");\n    };\n    KeyBinding.prototype.$callKeyboardHandlers = function (hashId, keyString, keyCode, e) {\n        var toExecute;\n        var success = false;\n        var commands = this.$editor.commands;\n        for (var i = this.$handlers.length; i--;) {\n            toExecute = this.$handlers[i].handleKeyboard(\n            this.$data, hashId, keyString, keyCode, e);\n            if (!toExecute || !toExecute.command)\n                continue;\n            if (toExecute.command == \"null\") {\n                success = true;\n            }\n            else {\n                success = commands.exec(toExecute.command, this.$editor, toExecute.args, e);\n            }\n            if (success && e && hashId != -1 &&\n                toExecute[\"passEvent\"] != true && toExecute.command[\"passEvent\"] != true) {\n                event.stopEvent(e);\n            }\n            if (success)\n                break;\n        }\n        if (!success && hashId == -1) {\n            toExecute = { command: \"insertstring\" };\n            success = commands.exec(\"insertstring\", this.$editor, keyString);\n        }\n        if (success && this.$editor._signal)\n            this.$editor._signal(\"keyboardActivity\", toExecute);\n        return success;\n    };\n    KeyBinding.prototype.onCommandKey = function (e, hashId, keyCode) {\n        var keyString = keyUtil.keyCodeToString(keyCode);\n        return this.$callKeyboardHandlers(hashId, keyString, keyCode, e);\n    };\n    KeyBinding.prototype.onTextInput = function (text) {\n        return this.$callKeyboardHandlers(-1, text);\n    };\n    return KeyBinding;\n}());\nexports.KeyBinding = KeyBinding;\n\n});\n\nace.define(\"ace/lib/bidiutil\",[\"require\",\"exports\",\"module\"], function(require, exports, module){\"use strict\";\nvar ArabicAlefBetIntervalsBegine = ['\\u0621', '\\u0641'];\nvar ArabicAlefBetIntervalsEnd = ['\\u063A', '\\u064a'];\nvar dir = 0, hiLevel = 0;\nvar lastArabic = false, hasUBAT_AL = false, hasUBAT_B = false, hasUBAT_S = false, hasBlockSep = false, hasSegSep = false;\nvar impTab_LTR = [ [0, 3, 0, 1, 0, 0, 0], [0, 3, 0, 1, 2, 2, 0], [0, 3, 0, 0x11, 2, 0, 1], [0, 3, 5, 5, 4, 1, 0], [0, 3, 0x15, 0x15, 4, 0, 1], [0, 3, 5, 5, 4, 2, 0]\n];\nvar impTab_RTL = [ [2, 0, 1, 1, 0, 1, 0], [2, 0, 1, 1, 0, 2, 0], [2, 0, 2, 1, 3, 2, 0], [2, 0, 2, 0x21, 3, 1, 1]\n];\nvar LTR = 0, RTL = 1;\nvar L = 0;\nvar R = 1;\nvar EN = 2;\nvar AN = 3;\nvar ON = 4;\nvar B = 5;\nvar S = 6;\nvar AL = 7;\nvar WS = 8;\nvar CS = 9;\nvar ES = 10;\nvar ET = 11;\nvar NSM = 12;\nvar LRE = 13;\nvar RLE = 14;\nvar PDF = 15;\nvar LRO = 16;\nvar RLO = 17;\nvar BN = 18;\nvar UnicodeTBL00 = [\n    BN, BN, BN, BN, BN, BN, BN, BN, BN, S, B, S, WS, B, BN, BN,\n    BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, B, B, B, S,\n    WS, ON, ON, ET, ET, ET, ON, ON, ON, ON, ON, ES, CS, ES, CS, CS,\n    EN, EN, EN, EN, EN, EN, EN, EN, EN, EN, CS, ON, ON, ON, ON, ON,\n    ON, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n    L, L, L, L, L, L, L, L, L, L, L, ON, ON, ON, ON, ON,\n    ON, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L,\n    L, L, L, L, L, L, L, L, L, L, L, ON, ON, ON, ON, BN,\n    BN, BN, BN, BN, BN, B, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN,\n    BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN, BN,\n    CS, ON, ET, ET, ET, ET, ON, ON, ON, ON, L, ON, ON, BN, ON, ON,\n    ET, ET, EN, EN, ON, L, ON, ON, ON, EN, L, ON, ON, ON, ON, ON\n];\nvar UnicodeTBL20 = [\n    WS, WS, WS, WS, WS, WS, WS, WS, WS, WS, WS, BN, BN, BN, L, R,\n    ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n    ON, ON, ON, ON, ON, ON, ON, ON, WS, B, LRE, RLE, PDF, LRO, RLO, CS,\n    ET, ET, ET, ET, ET, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n    ON, ON, ON, ON, CS, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON,\n    ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, ON, WS\n];\nfunction _computeLevels(chars, levels, len, charTypes) {\n    var impTab = dir ? impTab_RTL : impTab_LTR, prevState = null, newClass = null, newLevel = null, newState = 0, action = null, cond = null, condPos = -1, i = null, ix = null, classes = [];\n    if (!charTypes) {\n        for (i = 0, charTypes = []; i < len; i++) {\n            charTypes[i] = _getCharacterType(chars[i]);\n        }\n    }\n    hiLevel = dir;\n    lastArabic = false;\n    hasUBAT_AL = false;\n    hasUBAT_B = false;\n    hasUBAT_S = false;\n    for (ix = 0; ix < len; ix++) {\n        prevState = newState;\n        classes[ix] = newClass = _getCharClass(chars, charTypes, classes, ix);\n        newState = impTab[prevState][newClass];\n        action = newState & 0xF0;\n        newState &= 0x0F;\n        levels[ix] = newLevel = impTab[newState][5];\n        if (action > 0) {\n            if (action == 0x10) {\n                for (i = condPos; i < ix; i++) {\n                    levels[i] = 1;\n                }\n                condPos = -1;\n            }\n            else {\n                condPos = -1;\n            }\n        }\n        cond = impTab[newState][6];\n        if (cond) {\n            if (condPos == -1) {\n                condPos = ix;\n            }\n        }\n        else {\n            if (condPos > -1) {\n                for (i = condPos; i < ix; i++) {\n                    levels[i] = newLevel;\n                }\n                condPos = -1;\n            }\n        }\n        if (charTypes[ix] == B) {\n            levels[ix] = 0;\n        }\n        hiLevel |= newLevel;\n    }\n    if (hasUBAT_S) {\n        for (i = 0; i < len; i++) {\n            if (charTypes[i] == S) {\n                levels[i] = dir;\n                for (var j = i - 1; j >= 0; j--) {\n                    if (charTypes[j] == WS) {\n                        levels[j] = dir;\n                    }\n                    else {\n                        break;\n                    }\n                }\n            }\n        }\n    }\n}\nfunction _invertLevel(lev, levels, _array) {\n    if (hiLevel < lev) {\n        return;\n    }\n    if (lev == 1 && dir == RTL && !hasUBAT_B) {\n        _array.reverse();\n        return;\n    }\n    var len = _array.length, start = 0, end, lo, hi, tmp;\n    while (start < len) {\n        if (levels[start] >= lev) {\n            end = start + 1;\n            while (end < len && levels[end] >= lev) {\n                end++;\n            }\n            for (lo = start, hi = end - 1; lo < hi; lo++, hi--) {\n                tmp = _array[lo];\n                _array[lo] = _array[hi];\n                _array[hi] = tmp;\n            }\n            start = end;\n        }\n        start++;\n    }\n}\nfunction _getCharClass(chars, types, classes, ix) {\n    var cType = types[ix], wType, nType, len, i;\n    switch (cType) {\n        case L:\n        case R:\n            lastArabic = false;\n        case ON:\n        case AN:\n            return cType;\n        case EN:\n            return lastArabic ? AN : EN;\n        case AL:\n            lastArabic = true;\n            hasUBAT_AL = true;\n            return R;\n        case WS:\n            return ON;\n        case CS:\n            if (ix < 1 || (ix + 1) >= types.length ||\n                ((wType = classes[ix - 1]) != EN && wType != AN) ||\n                ((nType = types[ix + 1]) != EN && nType != AN)) {\n                return ON;\n            }\n            if (lastArabic) {\n                nType = AN;\n            }\n            return nType == wType ? nType : ON;\n        case ES:\n            wType = ix > 0 ? classes[ix - 1] : B;\n            if (wType == EN && (ix + 1) < types.length && types[ix + 1] == EN) {\n                return EN;\n            }\n            return ON;\n        case ET:\n            if (ix > 0 && classes[ix - 1] == EN) {\n                return EN;\n            }\n            if (lastArabic) {\n                return ON;\n            }\n            i = ix + 1;\n            len = types.length;\n            while (i < len && types[i] == ET) {\n                i++;\n            }\n            if (i < len && types[i] == EN) {\n                return EN;\n            }\n            return ON;\n        case NSM:\n            len = types.length;\n            i = ix + 1;\n            while (i < len && types[i] == NSM) {\n                i++;\n            }\n            if (i < len) {\n                var c = chars[ix], rtlCandidate = (c >= 0x0591 && c <= 0x08FF) || c == 0xFB1E;\n                wType = types[i];\n                if (rtlCandidate && (wType == R || wType == AL)) {\n                    return R;\n                }\n            }\n            if (ix < 1 || (wType = types[ix - 1]) == B) {\n                return ON;\n            }\n            return classes[ix - 1];\n        case B:\n            lastArabic = false;\n            hasUBAT_B = true;\n            return dir;\n        case S:\n            hasUBAT_S = true;\n            return ON;\n        case LRE:\n        case RLE:\n        case LRO:\n        case RLO:\n        case PDF:\n            lastArabic = false;\n        case BN:\n            return ON;\n    }\n}\nfunction _getCharacterType(ch) {\n    var uc = ch.charCodeAt(0), hi = uc >> 8;\n    if (hi == 0) {\n        return ((uc > 0x00BF) ? L : UnicodeTBL00[uc]);\n    }\n    else if (hi == 5) {\n        return (/[\\u0591-\\u05f4]/.test(ch) ? R : L);\n    }\n    else if (hi == 6) {\n        if (/[\\u0610-\\u061a\\u064b-\\u065f\\u06d6-\\u06e4\\u06e7-\\u06ed]/.test(ch))\n            return NSM;\n        else if (/[\\u0660-\\u0669\\u066b-\\u066c]/.test(ch))\n            return AN;\n        else if (uc == 0x066A)\n            return ET;\n        else if (/[\\u06f0-\\u06f9]/.test(ch))\n            return EN;\n        else\n            return AL;\n    }\n    else if (hi == 0x20 && uc <= 0x205F) {\n        return UnicodeTBL20[uc & 0xFF];\n    }\n    else if (hi == 0xFE) {\n        return (uc >= 0xFE70 ? AL : ON);\n    }\n    return ON;\n}\nfunction _isArabicDiacritics(ch) {\n    return (ch >= '\\u064b' && ch <= '\\u0655');\n}\nexports.L = L;\nexports.R = R;\nexports.EN = EN;\nexports.ON_R = 3;\nexports.AN = 4;\nexports.R_H = 5;\nexports.B = 6;\nexports.RLE = 7;\nexports.DOT = \"\\xB7\";\nexports.doBidiReorder = function (text, textCharTypes, isRtl) {\n    if (text.length < 2)\n        return {};\n    var chars = text.split(\"\"), logicalFromVisual = new Array(chars.length), bidiLevels = new Array(chars.length), levels = [];\n    dir = isRtl ? RTL : LTR;\n    _computeLevels(chars, levels, chars.length, textCharTypes);\n    for (var i = 0; i < logicalFromVisual.length; logicalFromVisual[i] = i, i++)\n        ;\n    _invertLevel(2, levels, logicalFromVisual);\n    _invertLevel(1, levels, logicalFromVisual);\n    for (var i = 0; i < logicalFromVisual.length - 1; i++) { //fix levels to reflect character width\n        if (textCharTypes[i] === AN) {\n            levels[i] = exports.AN;\n        }\n        else if (levels[i] === R && ((textCharTypes[i] > AL && textCharTypes[i] < LRE)\n            || textCharTypes[i] === ON || textCharTypes[i] === BN)) {\n            levels[i] = exports.ON_R;\n        }\n        else if ((i > 0 && chars[i - 1] === '\\u0644') && /\\u0622|\\u0623|\\u0625|\\u0627/.test(chars[i])) {\n            levels[i - 1] = levels[i] = exports.R_H;\n            i++;\n        }\n    }\n    if (chars[chars.length - 1] === exports.DOT)\n        levels[chars.length - 1] = exports.B;\n    if (chars[0] === '\\u202B')\n        levels[0] = exports.RLE;\n    for (var i = 0; i < logicalFromVisual.length; i++) {\n        bidiLevels[i] = levels[logicalFromVisual[i]];\n    }\n    return { 'logicalFromVisual': logicalFromVisual, 'bidiLevels': bidiLevels };\n};\nexports.hasBidiCharacters = function (text, textCharTypes) {\n    var ret = false;\n    for (var i = 0; i < text.length; i++) {\n        textCharTypes[i] = _getCharacterType(text.charAt(i));\n        if (!ret && (textCharTypes[i] == R || textCharTypes[i] == AL || textCharTypes[i] == AN))\n            ret = true;\n    }\n    return ret;\n};\nexports.getVisualFromLogicalIdx = function (logIdx, rowMap) {\n    for (var i = 0; i < rowMap.logicalFromVisual.length; i++) {\n        if (rowMap.logicalFromVisual[i] == logIdx)\n            return i;\n    }\n    return 0;\n};\n\n});\n\nace.define(\"ace/bidihandler\",[\"require\",\"exports\",\"module\",\"ace/lib/bidiutil\",\"ace/lib/lang\"], function(require, exports, module){\"use strict\";\nvar bidiUtil = require(\"./lib/bidiutil\");\nvar lang = require(\"./lib/lang\");\nvar bidiRE = /[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac\\u202B]/;\nvar BidiHandler = /** @class */ (function () {\n    function BidiHandler(session) {\n        this.session = session;\n        this.bidiMap = {};\n        this.currentRow = null;\n        this.bidiUtil = bidiUtil;\n        this.charWidths = [];\n        this.EOL = \"\\xAC\";\n        this.showInvisibles = true;\n        this.isRtlDir = false;\n        this.$isRtl = false;\n        this.line = \"\";\n        this.wrapIndent = 0;\n        this.EOF = \"\\xB6\";\n        this.RLE = \"\\u202B\";\n        this.contentWidth = 0;\n        this.fontMetrics = null;\n        this.rtlLineOffset = 0;\n        this.wrapOffset = 0;\n        this.isMoveLeftOperation = false;\n        this.seenBidi = bidiRE.test(session.getValue());\n    }\n    BidiHandler.prototype.isBidiRow = function (screenRow, docRow, splitIndex) {\n        if (!this.seenBidi)\n            return false;\n        if (screenRow !== this.currentRow) {\n            this.currentRow = screenRow;\n            this.updateRowLine(docRow, splitIndex);\n            this.updateBidiMap();\n        }\n        return this.bidiMap.bidiLevels;\n    };\n    BidiHandler.prototype.onChange = function (delta) {\n        if (!this.seenBidi) {\n            if (delta.action == \"insert\" && bidiRE.test(delta.lines.join(\"\\n\"))) {\n                this.seenBidi = true;\n                this.currentRow = null;\n            }\n        }\n        else {\n            this.currentRow = null;\n        }\n    };\n    BidiHandler.prototype.getDocumentRow = function () {\n        var docRow = 0;\n        var rowCache = this.session.$screenRowCache;\n        if (rowCache.length) {\n            var index = this.session.$getRowCacheIndex(rowCache, this.currentRow);\n            if (index >= 0)\n                docRow = this.session.$docRowCache[index];\n        }\n        return docRow;\n    };\n    BidiHandler.prototype.getSplitIndex = function () {\n        var splitIndex = 0;\n        var rowCache = this.session.$screenRowCache;\n        if (rowCache.length) {\n            var currentIndex, prevIndex = this.session.$getRowCacheIndex(rowCache, this.currentRow);\n            while (this.currentRow - splitIndex > 0) {\n                currentIndex = this.session.$getRowCacheIndex(rowCache, this.currentRow - splitIndex - 1);\n                if (currentIndex !== prevIndex)\n                    break;\n                prevIndex = currentIndex;\n                splitIndex++;\n            }\n        }\n        else {\n            splitIndex = this.currentRow;\n        }\n        return splitIndex;\n    };\n    BidiHandler.prototype.updateRowLine = function (docRow, splitIndex) {\n        if (docRow === undefined)\n            docRow = this.getDocumentRow();\n        var isLastRow = (docRow === this.session.getLength() - 1), endOfLine = isLastRow ? this.EOF : this.EOL;\n        this.wrapIndent = 0;\n        this.line = this.session.getLine(docRow);\n        this.isRtlDir = this.$isRtl || this.line.charAt(0) === this.RLE;\n        if (this.session.$useWrapMode) {\n            var splits = this.session.$wrapData[docRow];\n            if (splits) {\n                if (splitIndex === undefined)\n                    splitIndex = this.getSplitIndex();\n                if (splitIndex > 0 && splits.length) {\n                    this.wrapIndent = splits.indent;\n                    this.wrapOffset = this.wrapIndent * this.charWidths[bidiUtil.L];\n                    this.line = (splitIndex < splits.length) ?\n                        this.line.substring(splits[splitIndex - 1], splits[splitIndex]) :\n                        this.line.substring(splits[splits.length - 1]);\n                }\n                else {\n                    this.line = this.line.substring(0, splits[splitIndex]);\n                }\n                if (splitIndex == splits.length) {\n                    this.line += (this.showInvisibles) ? endOfLine : bidiUtil.DOT;\n                }\n            }\n        }\n        else {\n            this.line += this.showInvisibles ? endOfLine : bidiUtil.DOT;\n        }\n        var session = this.session, shift = 0, size;\n        this.line = this.line.replace(/\\t|[\\u1100-\\u2029, \\u202F-\\uFFE6]/g, function (ch, i) {\n            if (ch === '\\t' || session.isFullWidth(ch.charCodeAt(0))) {\n                size = (ch === '\\t') ? session.getScreenTabSize(i + shift) : 2;\n                shift += size - 1;\n                return lang.stringRepeat(bidiUtil.DOT, size);\n            }\n            return ch;\n        });\n        if (this.isRtlDir) {\n            this.fontMetrics.$main.textContent = (this.line.charAt(this.line.length - 1) == bidiUtil.DOT) ? this.line.substr(0, this.line.length - 1) : this.line;\n            this.rtlLineOffset = this.contentWidth - this.fontMetrics.$main.getBoundingClientRect().width;\n        }\n    };\n    BidiHandler.prototype.updateBidiMap = function () {\n        var textCharTypes = [];\n        if (bidiUtil.hasBidiCharacters(this.line, textCharTypes) || this.isRtlDir) {\n            this.bidiMap = bidiUtil.doBidiReorder(this.line, textCharTypes, this.isRtlDir);\n        }\n        else {\n            this.bidiMap = {};\n        }\n    };\n    BidiHandler.prototype.markAsDirty = function () {\n        this.currentRow = null;\n    };\n    BidiHandler.prototype.updateCharacterWidths = function (fontMetrics) {\n        if (this.characterWidth === fontMetrics.$characterSize.width)\n            return;\n        this.fontMetrics = fontMetrics;\n        var characterWidth = this.characterWidth = fontMetrics.$characterSize.width;\n        var bidiCharWidth = fontMetrics.$measureCharWidth(\"\\u05d4\");\n        this.charWidths[bidiUtil.L] = this.charWidths[bidiUtil.EN] = this.charWidths[bidiUtil.ON_R] = characterWidth;\n        this.charWidths[bidiUtil.R] = this.charWidths[bidiUtil.AN] = bidiCharWidth;\n        this.charWidths[bidiUtil.R_H] = bidiCharWidth * 0.45;\n        this.charWidths[bidiUtil.B] = this.charWidths[bidiUtil.RLE] = 0;\n        this.currentRow = null;\n    };\n    BidiHandler.prototype.setShowInvisibles = function (showInvisibles) {\n        this.showInvisibles = showInvisibles;\n        this.currentRow = null;\n    };\n    BidiHandler.prototype.setEolChar = function (eolChar) {\n        this.EOL = eolChar;\n    };\n    BidiHandler.prototype.setContentWidth = function (width) {\n        this.contentWidth = width;\n    };\n    BidiHandler.prototype.isRtlLine = function (row) {\n        if (this.$isRtl)\n            return true;\n        if (row != undefined)\n            return (this.session.getLine(row).charAt(0) == this.RLE);\n        else\n            return this.isRtlDir;\n    };\n    BidiHandler.prototype.setRtlDirection = function (editor, isRtlDir) {\n        var cursor = editor.getCursorPosition();\n        for (var row = editor.selection.getSelectionAnchor().row; row <= cursor.row; row++) {\n            if (!isRtlDir && editor.session.getLine(row).charAt(0) === editor.session.$bidiHandler.RLE)\n                editor.session.doc.removeInLine(row, 0, 1);\n            else if (isRtlDir && editor.session.getLine(row).charAt(0) !== editor.session.$bidiHandler.RLE)\n                editor.session.doc.insert({ column: 0, row: row }, editor.session.$bidiHandler.RLE);\n        }\n    };\n    BidiHandler.prototype.getPosLeft = function (col) {\n        col -= this.wrapIndent;\n        var leftBoundary = (this.line.charAt(0) === this.RLE) ? 1 : 0;\n        var logicalIdx = (col > leftBoundary) ? (this.session.getOverwrite() ? col : col - 1) : leftBoundary;\n        var visualIdx = bidiUtil.getVisualFromLogicalIdx(logicalIdx, this.bidiMap), levels = this.bidiMap.bidiLevels, left = 0;\n        if (!this.session.getOverwrite() && col <= leftBoundary && levels[visualIdx] % 2 !== 0)\n            visualIdx++;\n        for (var i = 0; i < visualIdx; i++) {\n            left += this.charWidths[levels[i]];\n        }\n        if (!this.session.getOverwrite() && (col > leftBoundary) && (levels[visualIdx] % 2 === 0))\n            left += this.charWidths[levels[visualIdx]];\n        if (this.wrapIndent)\n            left += this.isRtlDir ? (-1 * this.wrapOffset) : this.wrapOffset;\n        if (this.isRtlDir)\n            left += this.rtlLineOffset;\n        return left;\n    };\n    BidiHandler.prototype.getSelections = function (startCol, endCol) {\n        var map = this.bidiMap, levels = map.bidiLevels, level, selections = [], offset = 0, selColMin = Math.min(startCol, endCol) - this.wrapIndent, selColMax = Math.max(startCol, endCol) - this.wrapIndent, isSelected = false, isSelectedPrev = false, selectionStart = 0;\n        if (this.wrapIndent)\n            offset += this.isRtlDir ? (-1 * this.wrapOffset) : this.wrapOffset;\n        for (var logIdx, visIdx = 0; visIdx < levels.length; visIdx++) {\n            logIdx = map.logicalFromVisual[visIdx];\n            level = levels[visIdx];\n            isSelected = (logIdx >= selColMin) && (logIdx < selColMax);\n            if (isSelected && !isSelectedPrev) {\n                selectionStart = offset;\n            }\n            else if (!isSelected && isSelectedPrev) {\n                selections.push({ left: selectionStart, width: offset - selectionStart });\n            }\n            offset += this.charWidths[level];\n            isSelectedPrev = isSelected;\n        }\n        if (isSelected && (visIdx === levels.length)) {\n            selections.push({ left: selectionStart, width: offset - selectionStart });\n        }\n        if (this.isRtlDir) {\n            for (var i = 0; i < selections.length; i++) {\n                selections[i].left += this.rtlLineOffset;\n            }\n        }\n        return selections;\n    };\n    BidiHandler.prototype.offsetToCol = function (posX) {\n        if (this.isRtlDir)\n            posX -= this.rtlLineOffset;\n        var logicalIdx = 0, posX = Math.max(posX, 0), offset = 0, visualIdx = 0, levels = this.bidiMap.bidiLevels, charWidth = this.charWidths[levels[visualIdx]];\n        if (this.wrapIndent)\n            posX -= this.isRtlDir ? (-1 * this.wrapOffset) : this.wrapOffset;\n        while (posX > offset + charWidth / 2) {\n            offset += charWidth;\n            if (visualIdx === levels.length - 1) {\n                charWidth = 0;\n                break;\n            }\n            charWidth = this.charWidths[levels[++visualIdx]];\n        }\n        if (visualIdx > 0 && (levels[visualIdx - 1] % 2 !== 0) && (levels[visualIdx] % 2 === 0)) {\n            if (posX < offset)\n                visualIdx--;\n            logicalIdx = this.bidiMap.logicalFromVisual[visualIdx];\n        }\n        else if (visualIdx > 0 && (levels[visualIdx - 1] % 2 === 0) && (levels[visualIdx] % 2 !== 0)) {\n            logicalIdx = 1 + ((posX > offset) ? this.bidiMap.logicalFromVisual[visualIdx]\n                : this.bidiMap.logicalFromVisual[visualIdx - 1]);\n        }\n        else if ((this.isRtlDir && visualIdx === levels.length - 1 && charWidth === 0 && (levels[visualIdx - 1] % 2 === 0))\n            || (!this.isRtlDir && visualIdx === 0 && (levels[visualIdx] % 2 !== 0))) {\n            logicalIdx = 1 + this.bidiMap.logicalFromVisual[visualIdx];\n        }\n        else {\n            if (visualIdx > 0 && (levels[visualIdx - 1] % 2 !== 0) && charWidth !== 0)\n                visualIdx--;\n            logicalIdx = this.bidiMap.logicalFromVisual[visualIdx];\n        }\n        if (logicalIdx === 0 && this.isRtlDir)\n            logicalIdx++;\n        return (logicalIdx + this.wrapIndent);\n    };\n    return BidiHandler;\n}());\nexports.BidiHandler = BidiHandler;\n\n});\n\nace.define(\"ace/selection\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/lib/event_emitter\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"./lib/oop\");\nvar lang = require(\"./lib/lang\");\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar Range = require(\"./range\").Range;\nvar Selection = /** @class */ (function () {\n    function Selection(session) {\n        this.session = session;\n        this.doc = session.getDocument();\n        this.clearSelection();\n        this.cursor = this.lead = this.doc.createAnchor(0, 0);\n        this.anchor = this.doc.createAnchor(0, 0);\n        this.$silent = false;\n        var self = this;\n        this.cursor.on(\"change\", function (e) {\n            self.$cursorChanged = true;\n            if (!self.$silent)\n                self._emit(\"changeCursor\");\n            if (!self.$isEmpty && !self.$silent)\n                self._emit(\"changeSelection\");\n            if (!self.$keepDesiredColumnOnChange && e.old.column != e.value.column)\n                self.$desiredColumn = null;\n        });\n        this.anchor.on(\"change\", function () {\n            self.$anchorChanged = true;\n            if (!self.$isEmpty && !self.$silent)\n                self._emit(\"changeSelection\");\n        });\n    }\n    Selection.prototype.isEmpty = function () {\n        return this.$isEmpty || (this.anchor.row == this.lead.row &&\n            this.anchor.column == this.lead.column);\n    };\n    Selection.prototype.isMultiLine = function () {\n        return !this.$isEmpty && this.anchor.row != this.cursor.row;\n    };\n    Selection.prototype.getCursor = function () {\n        return this.lead.getPosition();\n    };\n    Selection.prototype.setAnchor = function (row, column) {\n        this.$isEmpty = false;\n        this.anchor.setPosition(row, column);\n    };\n    Selection.prototype.getAnchor = function () {\n        if (this.$isEmpty)\n            return this.getSelectionLead();\n        return this.anchor.getPosition();\n    };\n    Selection.prototype.getSelectionLead = function () {\n        return this.lead.getPosition();\n    };\n    Selection.prototype.isBackwards = function () {\n        var anchor = this.anchor;\n        var lead = this.lead;\n        return (anchor.row > lead.row || (anchor.row == lead.row && anchor.column > lead.column));\n    };\n    Selection.prototype.getRange = function () {\n        var anchor = this.anchor;\n        var lead = this.lead;\n        if (this.$isEmpty)\n            return Range.fromPoints(lead, lead);\n        return this.isBackwards()\n            ? Range.fromPoints(lead, anchor)\n            : Range.fromPoints(anchor, lead);\n    };\n    Selection.prototype.clearSelection = function () {\n        if (!this.$isEmpty) {\n            this.$isEmpty = true;\n            this._emit(\"changeSelection\");\n        }\n    };\n    Selection.prototype.selectAll = function () {\n        this.$setSelection(0, 0, Number.MAX_VALUE, Number.MAX_VALUE);\n    };\n    Selection.prototype.setRange = function (range, reverse) {\n        var start = reverse ? range.end : range.start;\n        var end = reverse ? range.start : range.end;\n        this.$setSelection(start.row, start.column, end.row, end.column);\n    };\n    Selection.prototype.$setSelection = function (anchorRow, anchorColumn, cursorRow, cursorColumn) {\n        if (this.$silent)\n            return;\n        var wasEmpty = this.$isEmpty;\n        var wasMultiselect = this.inMultiSelectMode;\n        this.$silent = true;\n        this.$cursorChanged = this.$anchorChanged = false;\n        this.anchor.setPosition(anchorRow, anchorColumn);\n        this.cursor.setPosition(cursorRow, cursorColumn);\n        this.$isEmpty = !Range.comparePoints(this.anchor, this.cursor);\n        this.$silent = false;\n        if (this.$cursorChanged)\n            this._emit(\"changeCursor\");\n        if (this.$cursorChanged || this.$anchorChanged || wasEmpty != this.$isEmpty || wasMultiselect)\n            this._emit(\"changeSelection\");\n    };\n    Selection.prototype.$moveSelection = function (mover) {\n        var lead = this.lead;\n        if (this.$isEmpty)\n            this.setSelectionAnchor(lead.row, lead.column);\n        mover.call(this);\n    };\n    Selection.prototype.selectTo = function (row, column) {\n        this.$moveSelection(function () {\n            this.moveCursorTo(row, column);\n        });\n    };\n    Selection.prototype.selectToPosition = function (pos) {\n        this.$moveSelection(function () {\n            this.moveCursorToPosition(pos);\n        });\n    };\n    Selection.prototype.moveTo = function (row, column) {\n        this.clearSelection();\n        this.moveCursorTo(row, column);\n    };\n    Selection.prototype.moveToPosition = function (pos) {\n        this.clearSelection();\n        this.moveCursorToPosition(pos);\n    };\n    Selection.prototype.selectUp = function () {\n        this.$moveSelection(this.moveCursorUp);\n    };\n    Selection.prototype.selectDown = function () {\n        this.$moveSelection(this.moveCursorDown);\n    };\n    Selection.prototype.selectRight = function () {\n        this.$moveSelection(this.moveCursorRight);\n    };\n    Selection.prototype.selectLeft = function () {\n        this.$moveSelection(this.moveCursorLeft);\n    };\n    Selection.prototype.selectLineStart = function () {\n        this.$moveSelection(this.moveCursorLineStart);\n    };\n    Selection.prototype.selectLineEnd = function () {\n        this.$moveSelection(this.moveCursorLineEnd);\n    };\n    Selection.prototype.selectFileEnd = function () {\n        this.$moveSelection(this.moveCursorFileEnd);\n    };\n    Selection.prototype.selectFileStart = function () {\n        this.$moveSelection(this.moveCursorFileStart);\n    };\n    Selection.prototype.selectWordRight = function () {\n        this.$moveSelection(this.moveCursorWordRight);\n    };\n    Selection.prototype.selectWordLeft = function () {\n        this.$moveSelection(this.moveCursorWordLeft);\n    };\n    Selection.prototype.getWordRange = function (row, column) {\n        if (typeof column == \"undefined\") {\n            var cursor = row || this.lead;\n            row = cursor.row;\n            column = cursor.column;\n        }\n        return this.session.getWordRange(row, column);\n    };\n    Selection.prototype.selectWord = function () {\n        this.setSelectionRange(this.getWordRange());\n    };\n    Selection.prototype.selectAWord = function () {\n        var cursor = this.getCursor();\n        var range = this.session.getAWordRange(cursor.row, cursor.column);\n        this.setSelectionRange(range);\n    };\n    Selection.prototype.getLineRange = function (row, excludeLastChar) {\n        var rowStart = typeof row == \"number\" ? row : this.lead.row;\n        var rowEnd;\n        var foldLine = this.session.getFoldLine(rowStart);\n        if (foldLine) {\n            rowStart = foldLine.start.row;\n            rowEnd = foldLine.end.row;\n        }\n        else {\n            rowEnd = rowStart;\n        }\n        if (excludeLastChar === true)\n            return new Range(rowStart, 0, rowEnd, this.session.getLine(rowEnd).length);\n        else\n            return new Range(rowStart, 0, rowEnd + 1, 0);\n    };\n    Selection.prototype.selectLine = function () {\n        this.setSelectionRange(this.getLineRange());\n    };\n    Selection.prototype.moveCursorUp = function () {\n        this.moveCursorBy(-1, 0);\n    };\n    Selection.prototype.moveCursorDown = function () {\n        this.moveCursorBy(1, 0);\n    };\n    Selection.prototype.wouldMoveIntoSoftTab = function (cursor, tabSize, direction) {\n        var start = cursor.column;\n        var end = cursor.column + tabSize;\n        if (direction < 0) {\n            start = cursor.column - tabSize;\n            end = cursor.column;\n        }\n        return this.session.isTabStop(cursor) && this.doc.getLine(cursor.row).slice(start, end).split(\" \").length - 1 == tabSize;\n    };\n    Selection.prototype.moveCursorLeft = function () {\n        var cursor = this.lead.getPosition(), fold;\n        if (fold = this.session.getFoldAt(cursor.row, cursor.column, -1)) {\n            this.moveCursorTo(fold.start.row, fold.start.column);\n        }\n        else if (cursor.column === 0) {\n            if (cursor.row > 0) {\n                this.moveCursorTo(cursor.row - 1, this.doc.getLine(cursor.row - 1).length);\n            }\n        }\n        else {\n            var tabSize = this.session.getTabSize();\n            if (this.wouldMoveIntoSoftTab(cursor, tabSize, -1) && !this.session.getNavigateWithinSoftTabs()) {\n                this.moveCursorBy(0, -tabSize);\n            }\n            else {\n                this.moveCursorBy(0, -1);\n            }\n        }\n    };\n    Selection.prototype.moveCursorRight = function () {\n        var cursor = this.lead.getPosition(), fold;\n        if (fold = this.session.getFoldAt(cursor.row, cursor.column, 1)) {\n            this.moveCursorTo(fold.end.row, fold.end.column);\n        }\n        else if (this.lead.column == this.doc.getLine(this.lead.row).length) {\n            if (this.lead.row < this.doc.getLength() - 1) {\n                this.moveCursorTo(this.lead.row + 1, 0);\n            }\n        }\n        else {\n            var tabSize = this.session.getTabSize();\n            var cursor = this.lead;\n            if (this.wouldMoveIntoSoftTab(cursor, tabSize, 1) && !this.session.getNavigateWithinSoftTabs()) {\n                this.moveCursorBy(0, tabSize);\n            }\n            else {\n                this.moveCursorBy(0, 1);\n            }\n        }\n    };\n    Selection.prototype.moveCursorLineStart = function () {\n        var row = this.lead.row;\n        var column = this.lead.column;\n        var screenRow = this.session.documentToScreenRow(row, column);\n        var firstColumnPosition = this.session.screenToDocumentPosition(screenRow, 0);\n        var beforeCursor = this.session.getDisplayLine(row, null, firstColumnPosition.row, firstColumnPosition.column);\n        var leadingSpace = beforeCursor.match(/^\\s*/);\n        if (leadingSpace[0].length != column && !this.session.$useEmacsStyleLineStart)\n            firstColumnPosition.column += leadingSpace[0].length;\n        this.moveCursorToPosition(firstColumnPosition);\n    };\n    Selection.prototype.moveCursorLineEnd = function () {\n        var lead = this.lead;\n        var lineEnd = this.session.getDocumentLastRowColumnPosition(lead.row, lead.column);\n        if (this.lead.column == lineEnd.column) {\n            var line = this.session.getLine(lineEnd.row);\n            if (lineEnd.column == line.length) {\n                var textEnd = line.search(/\\s+$/);\n                if (textEnd > 0)\n                    lineEnd.column = textEnd;\n            }\n        }\n        this.moveCursorTo(lineEnd.row, lineEnd.column);\n    };\n    Selection.prototype.moveCursorFileEnd = function () {\n        var row = this.doc.getLength() - 1;\n        var column = this.doc.getLine(row).length;\n        this.moveCursorTo(row, column);\n    };\n    Selection.prototype.moveCursorFileStart = function () {\n        this.moveCursorTo(0, 0);\n    };\n    Selection.prototype.moveCursorLongWordRight = function () {\n        var row = this.lead.row;\n        var column = this.lead.column;\n        var line = this.doc.getLine(row);\n        var rightOfCursor = line.substring(column);\n        this.session.nonTokenRe.lastIndex = 0;\n        this.session.tokenRe.lastIndex = 0;\n        var fold = this.session.getFoldAt(row, column, 1);\n        if (fold) {\n            this.moveCursorTo(fold.end.row, fold.end.column);\n            return;\n        }\n        if (this.session.nonTokenRe.exec(rightOfCursor)) {\n            column += this.session.nonTokenRe.lastIndex;\n            this.session.nonTokenRe.lastIndex = 0;\n            rightOfCursor = line.substring(column);\n        }\n        if (column >= line.length) {\n            this.moveCursorTo(row, line.length);\n            this.moveCursorRight();\n            if (row < this.doc.getLength() - 1)\n                this.moveCursorWordRight();\n            return;\n        }\n        if (this.session.tokenRe.exec(rightOfCursor)) {\n            column += this.session.tokenRe.lastIndex;\n            this.session.tokenRe.lastIndex = 0;\n        }\n        this.moveCursorTo(row, column);\n    };\n    Selection.prototype.moveCursorLongWordLeft = function () {\n        var row = this.lead.row;\n        var column = this.lead.column;\n        var fold;\n        if (fold = this.session.getFoldAt(row, column, -1)) {\n            this.moveCursorTo(fold.start.row, fold.start.column);\n            return;\n        }\n        var str = this.session.getFoldStringAt(row, column, -1);\n        if (str == null) {\n            str = this.doc.getLine(row).substring(0, column);\n        }\n        var leftOfCursor = lang.stringReverse(str);\n        this.session.nonTokenRe.lastIndex = 0;\n        this.session.tokenRe.lastIndex = 0;\n        if (this.session.nonTokenRe.exec(leftOfCursor)) {\n            column -= this.session.nonTokenRe.lastIndex;\n            leftOfCursor = leftOfCursor.slice(this.session.nonTokenRe.lastIndex);\n            this.session.nonTokenRe.lastIndex = 0;\n        }\n        if (column <= 0) {\n            this.moveCursorTo(row, 0);\n            this.moveCursorLeft();\n            if (row > 0)\n                this.moveCursorWordLeft();\n            return;\n        }\n        if (this.session.tokenRe.exec(leftOfCursor)) {\n            column -= this.session.tokenRe.lastIndex;\n            this.session.tokenRe.lastIndex = 0;\n        }\n        this.moveCursorTo(row, column);\n    };\n    Selection.prototype.$shortWordEndIndex = function (rightOfCursor) {\n        var index = 0, ch;\n        var whitespaceRe = /\\s/;\n        var tokenRe = this.session.tokenRe;\n        tokenRe.lastIndex = 0;\n        if (this.session.tokenRe.exec(rightOfCursor)) {\n            index = this.session.tokenRe.lastIndex;\n        }\n        else {\n            while ((ch = rightOfCursor[index]) && whitespaceRe.test(ch))\n                index++;\n            if (index < 1) {\n                tokenRe.lastIndex = 0;\n                while ((ch = rightOfCursor[index]) && !tokenRe.test(ch)) {\n                    tokenRe.lastIndex = 0;\n                    index++;\n                    if (whitespaceRe.test(ch)) {\n                        if (index > 2) {\n                            index--;\n                            break;\n                        }\n                        else {\n                            while ((ch = rightOfCursor[index]) && whitespaceRe.test(ch))\n                                index++;\n                            if (index > 2)\n                                break;\n                        }\n                    }\n                }\n            }\n        }\n        tokenRe.lastIndex = 0;\n        return index;\n    };\n    Selection.prototype.moveCursorShortWordRight = function () {\n        var row = this.lead.row;\n        var column = this.lead.column;\n        var line = this.doc.getLine(row);\n        var rightOfCursor = line.substring(column);\n        var fold = this.session.getFoldAt(row, column, 1);\n        if (fold)\n            return this.moveCursorTo(fold.end.row, fold.end.column);\n        if (column == line.length) {\n            var l = this.doc.getLength();\n            do {\n                row++;\n                rightOfCursor = this.doc.getLine(row);\n            } while (row < l && /^\\s*$/.test(rightOfCursor));\n            if (!/^\\s+/.test(rightOfCursor))\n                rightOfCursor = \"\";\n            column = 0;\n        }\n        var index = this.$shortWordEndIndex(rightOfCursor);\n        this.moveCursorTo(row, column + index);\n    };\n    Selection.prototype.moveCursorShortWordLeft = function () {\n        var row = this.lead.row;\n        var column = this.lead.column;\n        var fold;\n        if (fold = this.session.getFoldAt(row, column, -1))\n            return this.moveCursorTo(fold.start.row, fold.start.column);\n        var line = this.session.getLine(row).substring(0, column);\n        if (column === 0) {\n            do {\n                row--;\n                line = this.doc.getLine(row);\n            } while (row > 0 && /^\\s*$/.test(line));\n            column = line.length;\n            if (!/\\s+$/.test(line))\n                line = \"\";\n        }\n        var leftOfCursor = lang.stringReverse(line);\n        var index = this.$shortWordEndIndex(leftOfCursor);\n        return this.moveCursorTo(row, column - index);\n    };\n    Selection.prototype.moveCursorWordRight = function () {\n        if (this.session.$selectLongWords)\n            this.moveCursorLongWordRight();\n        else\n            this.moveCursorShortWordRight();\n    };\n    Selection.prototype.moveCursorWordLeft = function () {\n        if (this.session.$selectLongWords)\n            this.moveCursorLongWordLeft();\n        else\n            this.moveCursorShortWordLeft();\n    };\n    Selection.prototype.moveCursorBy = function (rows, chars) {\n        var screenPos = this.session.documentToScreenPosition(this.lead.row, this.lead.column);\n        var offsetX;\n        if (chars === 0) {\n            if (rows !== 0) {\n                if (this.session.$bidiHandler.isBidiRow(screenPos.row, this.lead.row)) {\n                    offsetX = this.session.$bidiHandler.getPosLeft(screenPos.column);\n                    screenPos.column = Math.round(offsetX / this.session.$bidiHandler.charWidths[0]);\n                }\n                else {\n                    offsetX = screenPos.column * this.session.$bidiHandler.charWidths[0];\n                }\n            }\n            if (this.$desiredColumn)\n                screenPos.column = this.$desiredColumn;\n            else\n                this.$desiredColumn = screenPos.column;\n        }\n        if (rows != 0 && this.session.lineWidgets && this.session.lineWidgets[this.lead.row]) {\n            var widget = this.session.lineWidgets[this.lead.row];\n            if (rows < 0)\n                rows -= widget.rowsAbove || 0;\n            else if (rows > 0)\n                rows += widget.rowCount - (widget.rowsAbove || 0);\n        }\n        var docPos = this.session.screenToDocumentPosition(screenPos.row + rows, screenPos.column, offsetX);\n        if (rows !== 0 && chars === 0 && docPos.row === this.lead.row && docPos.column === this.lead.column) {\n        }\n        this.moveCursorTo(docPos.row, docPos.column + chars, chars === 0);\n    };\n    Selection.prototype.moveCursorToPosition = function (position) {\n        this.moveCursorTo(position.row, position.column);\n    };\n    Selection.prototype.moveCursorTo = function (row, column, keepDesiredColumn) {\n        var fold = this.session.getFoldAt(row, column, 1);\n        if (fold) {\n            row = fold.start.row;\n            column = fold.start.column;\n        }\n        this.$keepDesiredColumnOnChange = true;\n        var line = this.session.getLine(row);\n        if (/[\\uDC00-\\uDFFF]/.test(line.charAt(column)) && line.charAt(column - 1)) {\n            if (this.lead.row == row && this.lead.column == column + 1)\n                column = column - 1;\n            else\n                column = column + 1;\n        }\n        this.lead.setPosition(row, column);\n        this.$keepDesiredColumnOnChange = false;\n        if (!keepDesiredColumn)\n            this.$desiredColumn = null;\n    };\n    Selection.prototype.moveCursorToScreen = function (row, column, keepDesiredColumn) {\n        var pos = this.session.screenToDocumentPosition(row, column);\n        this.moveCursorTo(pos.row, pos.column, keepDesiredColumn);\n    };\n    Selection.prototype.detach = function () {\n        this.lead.detach();\n        this.anchor.detach();\n    };\n    Selection.prototype.fromOrientedRange = function (range) {\n        this.setSelectionRange(range, range.cursor == range.start);\n        this.$desiredColumn = range.desiredColumn || this.$desiredColumn;\n    };\n    Selection.prototype.toOrientedRange = function (range) {\n        var r = this.getRange();\n        if (range) {\n            range.start.column = r.start.column;\n            range.start.row = r.start.row;\n            range.end.column = r.end.column;\n            range.end.row = r.end.row;\n        }\n        else {\n            range = r;\n        }\n        range.cursor = this.isBackwards() ? range.start : range.end;\n        range.desiredColumn = this.$desiredColumn;\n        return range;\n    };\n    Selection.prototype.getRangeOfMovements = function (func) {\n        var start = this.getCursor();\n        try {\n            func(this);\n            var end = this.getCursor();\n            return Range.fromPoints(start, end);\n        }\n        catch (e) {\n            return Range.fromPoints(start, start);\n        }\n        finally {\n            this.moveCursorToPosition(start);\n        }\n    };\n    Selection.prototype.toJSON = function () {\n        if (this.rangeCount) { var data = this.ranges.map(function (r) {\n                var r1 = r.clone();\n                r1.isBackwards = r.cursor == r.start;\n                return r1;\n            });\n        }\n        else { var data = this.getRange();\n            data.isBackwards = this.isBackwards();\n        }\n        return data;\n    };\n    Selection.prototype.fromJSON = function (data) {\n        if (data.start == undefined) {\n            if (this.rangeList && data.length > 1) {\n                this.toSingleRange(data[0]);\n                for (var i = data.length; i--;) {\n                    var r = Range.fromPoints(data[i].start, data[i].end);\n                    if (data[i].isBackwards)\n                        r.cursor = r.start;\n                    this.addRange(r, true);\n                }\n                return;\n            }\n            else {\n                data = data[0];\n            }\n        }\n        if (this.rangeList)\n            this.toSingleRange(data);\n        this.setSelectionRange(data, data.isBackwards);\n    };\n    Selection.prototype.isEqual = function (data) {\n        if ((data.length || this.rangeCount) && data.length != this.rangeCount)\n            return false;\n        if (!data.length || !this.ranges)\n            return this.getRange().isEqual(data);\n        for (var i = this.ranges.length; i--;) {\n            if (!this.ranges[i].isEqual(data[i]))\n                return false;\n        }\n        return true;\n    };\n    return Selection;\n}());\nSelection.prototype.setSelectionAnchor = Selection.prototype.setAnchor;\nSelection.prototype.getSelectionAnchor = Selection.prototype.getAnchor;\nSelection.prototype.setSelectionRange = Selection.prototype.setRange;\noop.implement(Selection.prototype, EventEmitter);\nexports.Selection = Selection;\n\n});\n\nace.define(\"ace/tokenizer\",[\"require\",\"exports\",\"module\",\"ace/lib/report_error\"], function(require, exports, module){\"use strict\";\nvar reportError = require(\"./lib/report_error\").reportError;\nvar MAX_TOKEN_COUNT = 2000;\nvar Tokenizer = /** @class */ (function () {\n    function Tokenizer(rules) {\n        this.splitRegex;\n        this.states = rules;\n        this.regExps = {};\n        this.matchMappings = {};\n        for (var key in this.states) {\n            var state = this.states[key];\n            var ruleRegExps = [];\n            var matchTotal = 0;\n            var mapping = this.matchMappings[key] = { defaultToken: \"text\" };\n            var flag = \"g\";\n            var splitterRurles = [];\n            for (var i = 0; i < state.length; i++) {\n                var rule = state[i];\n                if (rule.defaultToken)\n                    mapping.defaultToken = rule.defaultToken;\n                if (rule.caseInsensitive && flag.indexOf(\"i\") === -1)\n                    flag += \"i\";\n                if (rule.unicode && flag.indexOf(\"u\") === -1)\n                    flag += \"u\";\n                if (rule.regex == null)\n                    continue;\n                if (rule.regex instanceof RegExp)\n                    rule.regex = rule.regex.toString().slice(1, -1);\n                var adjustedregex = rule.regex;\n                var matchcount = new RegExp(\"(?:(\" + adjustedregex + \")|(.))\").exec(\"a\").length - 2;\n                if (Array.isArray(rule.token)) {\n                    if (rule.token.length == 1 || matchcount == 1) {\n                        rule.token = rule.token[0];\n                    }\n                    else if (matchcount - 1 != rule.token.length) {\n                        this.reportError(\"number of classes and regexp groups doesn't match\", {\n                            rule: rule,\n                            groupCount: matchcount - 1\n                        });\n                        rule.token = rule.token[0];\n                    }\n                    else {\n                        rule.tokenArray = rule.token;\n                        rule.token = null;\n                        rule.onMatch = this.$arrayTokens;\n                    }\n                }\n                else if (typeof rule.token == \"function\" && !rule.onMatch) {\n                    if (matchcount > 1)\n                        rule.onMatch = this.$applyToken;\n                    else\n                        rule.onMatch = rule.token;\n                }\n                if (matchcount > 1) {\n                    if (/\\\\\\d/.test(rule.regex)) {\n                        adjustedregex = rule.regex.replace(/\\\\([0-9]+)/g, function (match, digit) {\n                            return \"\\\\\" + (parseInt(digit, 10) + matchTotal + 1);\n                        });\n                    }\n                    else {\n                        matchcount = 1;\n                        adjustedregex = this.removeCapturingGroups(rule.regex);\n                    }\n                    if (!rule.splitRegex && typeof rule.token != \"string\")\n                        splitterRurles.push(rule); // flag will be known only at the very end\n                }\n                mapping[matchTotal] = i;\n                matchTotal += matchcount;\n                ruleRegExps.push(adjustedregex);\n                if (!rule.onMatch)\n                    rule.onMatch = null;\n            }\n            if (!ruleRegExps.length) {\n                mapping[0] = 0;\n                ruleRegExps.push(\"$\");\n            }\n            splitterRurles.forEach(function (rule) {\n                rule.splitRegex = this.createSplitterRegexp(rule.regex, flag);\n            }, this);\n            this.regExps[key] = new RegExp(\"(\" + ruleRegExps.join(\")|(\") + \")|($)\", flag);\n        }\n    }\n    Tokenizer.prototype.$setMaxTokenCount = function (m) {\n        MAX_TOKEN_COUNT = m | 0;\n    };\n    Tokenizer.prototype.$applyToken = function (str) {\n        var values = this.splitRegex.exec(str).slice(1);\n        var types = this.token.apply(this, values);\n        if (typeof types === \"string\")\n            return [{ type: types, value: str }];\n        var tokens = [];\n        for (var i = 0, l = types.length; i < l; i++) {\n            if (values[i])\n                tokens[tokens.length] = {\n                    type: types[i],\n                    value: values[i]\n                };\n        }\n        return tokens;\n    };\n    Tokenizer.prototype.$arrayTokens = function (str) {\n        if (!str)\n            return [];\n        var values = this.splitRegex.exec(str);\n        if (!values)\n            return \"text\";\n        var tokens = [];\n        var types = this.tokenArray;\n        for (var i = 0, l = types.length; i < l; i++) {\n            if (values[i + 1])\n                tokens[tokens.length] = {\n                    type: types[i],\n                    value: values[i + 1]\n                };\n        }\n        return tokens;\n    };\n    Tokenizer.prototype.removeCapturingGroups = function (src) {\n        var r = src.replace(/\\\\.|\\[(?:\\\\.|[^\\\\\\]])*|\\(\\?[:=!<]|(\\()/g, function (x, y) { return y ? \"(?:\" : x; });\n        return r;\n    };\n    Tokenizer.prototype.createSplitterRegexp = function (src, flag) {\n        if (src.indexOf(\"(?=\") != -1) {\n            var stack = 0;\n            var inChClass = false;\n            var lastCapture = {};\n            src.replace(/(\\\\.)|(\\((?:\\?[=!])?)|(\\))|([\\[\\]])/g, function (m, esc, parenOpen, parenClose, square, index) {\n                if (inChClass) {\n                    inChClass = square != \"]\";\n                }\n                else if (square) {\n                    inChClass = true;\n                }\n                else if (parenClose) {\n                    if (stack == lastCapture.stack) {\n                        lastCapture.end = index + 1;\n                        lastCapture.stack = -1;\n                    }\n                    stack--;\n                }\n                else if (parenOpen) {\n                    stack++;\n                    if (parenOpen.length != 1) {\n                        lastCapture.stack = stack;\n                        lastCapture.start = index;\n                    }\n                }\n                return m;\n            });\n            if (lastCapture.end != null && /^\\)*$/.test(src.substr(lastCapture.end)))\n                src = src.substring(0, lastCapture.start) + src.substr(lastCapture.end);\n        }\n        if (src.charAt(0) != \"^\")\n            src = \"^\" + src;\n        if (src.charAt(src.length - 1) != \"$\")\n            src += \"$\";\n        return new RegExp(src, (flag || \"\").replace(\"g\", \"\"));\n    };\n    Tokenizer.prototype.getLineTokens = function (line, startState) {\n        if (startState && typeof startState != \"string\") {\n            var stack = startState.slice(0);\n            startState = stack[0];\n            if (startState === \"#tmp\") {\n                stack.shift();\n                startState = stack.shift();\n            }\n        }\n        else\n            var stack = [];\n        var currentState = /**@type{string}*/ (startState) || \"start\";\n        var state = this.states[currentState];\n        if (!state) {\n            currentState = \"start\";\n            state = this.states[currentState];\n        }\n        var mapping = this.matchMappings[currentState];\n        var re = this.regExps[currentState];\n        re.lastIndex = 0;\n        var match, tokens = [];\n        var lastIndex = 0;\n        var matchAttempts = 0;\n        var token = { type: null, value: \"\" };\n        while (match = re.exec(line)) {\n            var type = mapping.defaultToken;\n            var rule = null;\n            var value = match[0];\n            var index = re.lastIndex;\n            if (index - value.length > lastIndex) {\n                var skipped = line.substring(lastIndex, index - value.length);\n                if (token.type == type) {\n                    token.value += skipped;\n                }\n                else {\n                    if (token.type)\n                        tokens.push(token);\n                    token = { type: type, value: skipped };\n                }\n            }\n            for (var i = 0; i < match.length - 2; i++) {\n                if (match[i + 1] === undefined)\n                    continue;\n                rule = state[mapping[i]];\n                if (rule.onMatch)\n                    type = rule.onMatch(value, currentState, stack, line);\n                else\n                    type = rule.token;\n                if (rule.next) {\n                    if (typeof rule.next == \"string\") {\n                        currentState = rule.next;\n                    }\n                    else {\n                        currentState = rule.next(currentState, stack);\n                    }\n                    state = this.states[currentState];\n                    if (!state) {\n                        this.reportError(\"state doesn't exist\", currentState);\n                        currentState = \"start\";\n                        state = this.states[currentState];\n                    }\n                    mapping = this.matchMappings[currentState];\n                    lastIndex = index;\n                    re = this.regExps[currentState];\n                    re.lastIndex = index;\n                }\n                if (rule.consumeLineEnd)\n                    lastIndex = index;\n                break;\n            }\n            if (value) {\n                if (typeof type === \"string\") {\n                    if ((!rule || rule.merge !== false) && token.type === type) {\n                        token.value += value;\n                    }\n                    else {\n                        if (token.type)\n                            tokens.push(token);\n                        token = { type: type, value: value };\n                    }\n                }\n                else if (type) {\n                    if (token.type)\n                        tokens.push(token);\n                    token = { type: null, value: \"\" };\n                    for (var i = 0; i < type.length; i++)\n                        tokens.push(type[i]);\n                }\n            }\n            if (lastIndex == line.length)\n                break;\n            lastIndex = index;\n            if (matchAttempts++ > MAX_TOKEN_COUNT) {\n                if (matchAttempts > 2 * line.length) {\n                    this.reportError(\"infinite loop with in ace tokenizer\", {\n                        startState: startState,\n                        line: line\n                    });\n                }\n                while (lastIndex < line.length) {\n                    if (token.type)\n                        tokens.push(token);\n                    token = {\n                        value: line.substring(lastIndex, lastIndex += 500),\n                        type: \"overflow\"\n                    };\n                }\n                currentState = \"start\";\n                stack = [];\n                break;\n            }\n        }\n        if (token.type)\n            tokens.push(token);\n        if (stack.length > 1) {\n            if (stack[0] !== currentState)\n                stack.unshift(\"#tmp\", currentState);\n        }\n        return {\n            tokens: tokens,\n            state: stack.length ? stack : currentState\n        };\n    };\n    return Tokenizer;\n}());\nTokenizer.prototype.reportError = reportError;\nexports.Tokenizer = Tokenizer;\n\n});\n\nace.define(\"ace/mode/text_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/deep_copy\"], function(require, exports, module){\"use strict\";\nvar deepCopy = require(\"../lib/deep_copy\").deepCopy;\nvar TextHighlightRules;\nTextHighlightRules = function () {\n    this.$rules = {\n        \"start\": [{\n                token: \"empty_line\",\n                regex: '^$'\n            }, {\n                defaultToken: \"text\"\n            }]\n    };\n};\n(function () {\n    this.addRules = function (rules, prefix) {\n        if (!prefix) {\n            for (var key in rules)\n                this.$rules[key] = rules[key];\n            return;\n        }\n        for (var key in rules) {\n            var state = rules[key];\n            for (var i = 0; i < state.length; i++) {\n                var rule = state[i];\n                if (rule.next || rule.onMatch) {\n                    if (typeof rule.next == \"string\") {\n                        if (rule.next.indexOf(prefix) !== 0)\n                            rule.next = prefix + rule.next;\n                    }\n                    if (rule.nextState && rule.nextState.indexOf(prefix) !== 0)\n                        rule.nextState = prefix + rule.nextState;\n                }\n            }\n            this.$rules[prefix + key] = state;\n        }\n    };\n    this.getRules = function () {\n        return this.$rules;\n    };\n    this.embedRules = function (HighlightRules, prefix, escapeRules, states, append) {\n        var embedRules = typeof HighlightRules == \"function\"\n            ? new HighlightRules().getRules()\n            : HighlightRules;\n        if (states) {\n            for (var i = 0; i < states.length; i++)\n                states[i] = prefix + states[i];\n        }\n        else {\n            states = [];\n            for (var key in embedRules)\n                states.push(prefix + key);\n        }\n        this.addRules(embedRules, prefix);\n        if (escapeRules) {\n            var addRules = Array.prototype[append ? \"push\" : \"unshift\"];\n            for (var i = 0; i < states.length; i++)\n                addRules.apply(this.$rules[states[i]], deepCopy(escapeRules));\n        }\n        if (!this.$embeds)\n            this.$embeds = [];\n        this.$embeds.push(prefix);\n    };\n    this.getEmbeds = function () {\n        return this.$embeds;\n    };\n    var pushState = function (currentState, stack) {\n        if (currentState != \"start\" || stack.length)\n            stack.unshift(this.nextState, currentState);\n        return this.nextState;\n    };\n    var popState = function (currentState, stack) {\n        stack.shift();\n        return stack.shift() || \"start\";\n    };\n    this.normalizeRules = function () {\n        var id = 0;\n        var rules = this.$rules;\n        function processState(key) {\n            var state = rules[key];\n            state[\"processed\"] = true;\n            for (var i = 0; i < state.length; i++) {\n                var rule = state[i];\n                var toInsert = null;\n                if (Array.isArray(rule)) {\n                    toInsert = rule;\n                    rule = {};\n                }\n                if (!rule.regex && rule.start) {\n                    rule.regex = rule.start;\n                    if (!rule.next)\n                        rule.next = [];\n                    rule.next.push({\n                        defaultToken: rule.token\n                    }, {\n                        token: rule.token + \".end\",\n                        regex: rule.end || rule.start,\n                        next: \"pop\"\n                    });\n                    rule.token = rule.token + \".start\";\n                    rule.push = true;\n                }\n                var next = rule.next || rule.push;\n                if (next && Array.isArray(next)) {\n                    var stateName = rule.stateName;\n                    if (!stateName) {\n                        stateName = rule.token;\n                        if (typeof stateName != \"string\")\n                            stateName = stateName[0] || \"\";\n                        if (rules[stateName])\n                            stateName += id++;\n                    }\n                    rules[stateName] = next;\n                    rule.next = stateName;\n                    processState(stateName);\n                }\n                else if (next == \"pop\") {\n                    rule.next = popState;\n                }\n                if (rule.push) {\n                    rule.nextState = rule.next || rule.push;\n                    rule.next = pushState;\n                    delete rule.push;\n                }\n                if (rule.rules) {\n                    for (var r in rule.rules) {\n                        if (rules[r]) {\n                            if (rules[r].push)\n                                rules[r].push.apply(rules[r], rule.rules[r]);\n                        }\n                        else {\n                            rules[r] = rule.rules[r];\n                        }\n                    }\n                }\n                var includeName = typeof rule == \"string\" ? rule : rule.include;\n                if (includeName) {\n                    if (includeName === \"$self\")\n                        includeName = \"start\";\n                    if (Array.isArray(includeName))\n                        toInsert = includeName.map(function (x) { return rules[x]; });\n                    else\n                        toInsert = rules[includeName];\n                }\n                if (toInsert) {\n                    var args = [i, 1].concat(toInsert);\n                    if (rule.noEscape)\n                        args = args.filter(function (x) { return !x.next; });\n                    state.splice.apply(state, args);\n                    i--;\n                }\n                if (rule.keywordMap) {\n                    rule.token = this.createKeywordMapper(rule.keywordMap, rule.defaultToken || \"text\", rule.caseInsensitive);\n                    delete rule.defaultToken;\n                }\n            }\n        }\n        Object.keys(rules).forEach(processState, this);\n    };\n    this.createKeywordMapper = function (map, defaultToken, ignoreCase, splitChar) {\n        var keywords = Object.create(null);\n        this.$keywordList = [];\n        Object.keys(map).forEach(function (className) {\n            var a = map[className];\n            var list = a.split(splitChar || \"|\");\n            for (var i = list.length; i--;) {\n                var word = list[i];\n                this.$keywordList.push(word);\n                if (ignoreCase)\n                    word = word.toLowerCase();\n                keywords[word] = className;\n            }\n        }, this);\n        map = null;\n        return ignoreCase\n            ? function (value) { return keywords[value.toLowerCase()] || defaultToken; }\n            : function (value) { return keywords[value] || defaultToken; };\n    };\n    this.getKeywords = function () {\n        return this.$keywords;\n    };\n}).call(TextHighlightRules.prototype);\nexports.TextHighlightRules = TextHighlightRules;\n\n});\n\nace.define(\"ace/mode/behaviour\",[\"require\",\"exports\",\"module\"], function(require, exports, module){\"use strict\";\nvar Behaviour;\nBehaviour = function () {\n    this.$behaviours = {};\n};\n(function () {\n    this.add = function (name, action, callback) {\n        switch (undefined) {\n            case this.$behaviours:\n                this.$behaviours = {};\n            case this.$behaviours[name]:\n                this.$behaviours[name] = {};\n        }\n        this.$behaviours[name][action] = callback;\n    };\n    this.addBehaviours = function (behaviours) {\n        for (var key in behaviours) {\n            for (var action in behaviours[key]) {\n                this.add(key, action, behaviours[key][action]);\n            }\n        }\n    };\n    this.remove = function (name) {\n        if (this.$behaviours && this.$behaviours[name]) {\n            delete this.$behaviours[name];\n        }\n    };\n    this.inherit = function (mode, filter) {\n        if (typeof mode === \"function\") {\n            var behaviours = new mode().getBehaviours(filter);\n        }\n        else {\n            var behaviours = mode.getBehaviours(filter);\n        }\n        this.addBehaviours(behaviours);\n    };\n    this.getBehaviours = function (filter) {\n        if (!filter) {\n            return this.$behaviours;\n        }\n        else {\n            var ret = {};\n            for (var i = 0; i < filter.length; i++) {\n                if (this.$behaviours[filter[i]]) {\n                    ret[filter[i]] = this.$behaviours[filter[i]];\n                }\n            }\n            return ret;\n        }\n    };\n}).call(Behaviour.prototype);\nexports.Behaviour = Behaviour;\n\n});\n\nace.define(\"ace/token_iterator\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar Range = require(\"./range\").Range;\nvar TokenIterator = /** @class */ (function () {\n    function TokenIterator(session, initialRow, initialColumn) {\n        this.$session = session;\n        this.$row = initialRow;\n        this.$rowTokens = session.getTokens(initialRow);\n        var token = session.getTokenAt(initialRow, initialColumn);\n        this.$tokenIndex = token ? token.index : -1;\n    }\n    TokenIterator.prototype.stepBackward = function () {\n        this.$tokenIndex -= 1;\n        while (this.$tokenIndex < 0) {\n            this.$row -= 1;\n            if (this.$row < 0) {\n                this.$row = 0;\n                return null;\n            }\n            this.$rowTokens = this.$session.getTokens(this.$row);\n            this.$tokenIndex = this.$rowTokens.length - 1;\n        }\n        return this.$rowTokens[this.$tokenIndex];\n    };\n    TokenIterator.prototype.stepForward = function () {\n        this.$tokenIndex += 1;\n        var rowCount;\n        while (this.$tokenIndex >= this.$rowTokens.length) {\n            this.$row += 1;\n            if (!rowCount)\n                rowCount = this.$session.getLength();\n            if (this.$row >= rowCount) {\n                this.$row = rowCount - 1;\n                return null;\n            }\n            this.$rowTokens = this.$session.getTokens(this.$row);\n            this.$tokenIndex = 0;\n        }\n        return this.$rowTokens[this.$tokenIndex];\n    };\n    TokenIterator.prototype.getCurrentToken = function () {\n        return this.$rowTokens[this.$tokenIndex];\n    };\n    TokenIterator.prototype.getCurrentTokenRow = function () {\n        return this.$row;\n    };\n    TokenIterator.prototype.getCurrentTokenColumn = function () {\n        var rowTokens = this.$rowTokens;\n        var tokenIndex = this.$tokenIndex;\n        var column = rowTokens[tokenIndex].start;\n        if (column !== undefined)\n            return column;\n        column = 0;\n        while (tokenIndex > 0) {\n            tokenIndex -= 1;\n            column += rowTokens[tokenIndex].value.length;\n        }\n        return column;\n    };\n    TokenIterator.prototype.getCurrentTokenPosition = function () {\n        return { row: this.$row, column: this.getCurrentTokenColumn() };\n    };\n    TokenIterator.prototype.getCurrentTokenRange = function () {\n        var token = this.$rowTokens[this.$tokenIndex];\n        var column = this.getCurrentTokenColumn();\n        return new Range(this.$row, column, this.$row, column + token.value.length);\n    };\n    return TokenIterator;\n}());\nexports.TokenIterator = TokenIterator;\n\n});\n\nace.define(\"ace/mode/behaviour/cstyle\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/behaviour\",\"ace/token_iterator\",\"ace/lib/lang\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../../lib/oop\");\nvar Behaviour = require(\"../behaviour\").Behaviour;\nvar TokenIterator = require(\"../../token_iterator\").TokenIterator;\nvar lang = require(\"../../lib/lang\");\nvar SAFE_INSERT_IN_TOKENS = [\"text\", \"paren.rparen\", \"rparen\", \"paren\", \"punctuation.operator\"];\nvar SAFE_INSERT_BEFORE_TOKENS = [\"text\", \"paren.rparen\", \"rparen\", \"paren\", \"punctuation.operator\", \"comment\"];\nvar context;\nvar contextCache = {};\nvar defaultQuotes = { '\"': '\"', \"'\": \"'\" };\nvar initContext = function (editor) {\n    var id = -1;\n    if (editor.multiSelect) {\n        id = editor.selection.index;\n        if (contextCache.rangeCount != editor.multiSelect.rangeCount)\n            contextCache = { rangeCount: editor.multiSelect.rangeCount };\n    }\n    if (contextCache[id])\n        return context = contextCache[id];\n    context = contextCache[id] = {\n        autoInsertedBrackets: 0,\n        autoInsertedRow: -1,\n        autoInsertedLineEnd: \"\",\n        maybeInsertedBrackets: 0,\n        maybeInsertedRow: -1,\n        maybeInsertedLineStart: \"\",\n        maybeInsertedLineEnd: \"\"\n    };\n};\nvar getWrapped = function (selection, selected, opening, closing) {\n    var rowDiff = selection.end.row - selection.start.row;\n    return {\n        text: opening + selected + closing,\n        selection: [\n            0,\n            selection.start.column + 1,\n            rowDiff,\n            selection.end.column + (rowDiff ? 0 : 1)\n        ]\n    };\n};\nvar CstyleBehaviour;\nCstyleBehaviour = function (options) {\n    options = options || {};\n    this.add(\"braces\", \"insertion\", function (state, action, editor, session, text) {\n        var cursor = editor.getCursorPosition();\n        var line = session.doc.getLine(cursor.row);\n        if (text == '{') {\n            initContext(editor);\n            var selection = editor.getSelectionRange();\n            var selected = session.doc.getTextRange(selection);\n            var token = session.getTokenAt(cursor.row, cursor.column);\n            if (selected !== \"\" && selected !== \"{\" && editor.getWrapBehavioursEnabled()) {\n                return getWrapped(selection, selected, '{', '}');\n            }\n            else if (token && /(?:string)\\.quasi|\\.xml/.test(token.type)) {\n                var excludeTokens = [\n                    /tag\\-(?:open|name)/, /attribute\\-name/\n                ];\n                if (excludeTokens.some(function (el) { return el.test(token.type); }) || /(string)\\.quasi/.test(token.type)\n                    && token.value[cursor.column - token.start - 1] !== '$')\n                    return;\n                CstyleBehaviour.recordAutoInsert(editor, session, \"}\");\n                return {\n                    text: '{}',\n                    selection: [1, 1]\n                };\n            }\n            else if (CstyleBehaviour.isSaneInsertion(editor, session)) {\n                if (/[\\]\\}\\)]/.test(line[cursor.column]) || editor.inMultiSelectMode || options.braces) {\n                    CstyleBehaviour.recordAutoInsert(editor, session, \"}\");\n                    return {\n                        text: '{}',\n                        selection: [1, 1]\n                    };\n                }\n                else {\n                    CstyleBehaviour.recordMaybeInsert(editor, session, \"{\");\n                    return {\n                        text: '{',\n                        selection: [1, 1]\n                    };\n                }\n            }\n        }\n        else if (text == '}') {\n            initContext(editor);\n            var rightChar = line.substring(cursor.column, cursor.column + 1);\n            if (rightChar == '}') {\n                var matching = session.$findOpeningBracket('}', { column: cursor.column + 1, row: cursor.row });\n                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {\n                    CstyleBehaviour.popAutoInsertedClosing();\n                    return {\n                        text: '',\n                        selection: [1, 1]\n                    };\n                }\n            }\n        }\n        else if (text == \"\\n\" || text == \"\\r\\n\") {\n            initContext(editor);\n            var closing = \"\";\n            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {\n                closing = lang.stringRepeat(\"}\", context.maybeInsertedBrackets);\n                CstyleBehaviour.clearMaybeInsertedClosing();\n            }\n            var rightChar = line.substring(cursor.column, cursor.column + 1);\n            if (rightChar === '}') {\n                var openBracePos = session.findMatchingBracket({ row: cursor.row, column: cursor.column + 1 }, '}');\n                if (!openBracePos)\n                    return null;\n                var next_indent = this.$getIndent(session.getLine(openBracePos.row));\n            }\n            else if (closing) {\n                var next_indent = this.$getIndent(line);\n            }\n            else {\n                CstyleBehaviour.clearMaybeInsertedClosing();\n                return;\n            }\n            var indent = next_indent + session.getTabString();\n            return {\n                text: '\\n' + indent + '\\n' + next_indent + closing,\n                selection: [1, indent.length, 1, indent.length]\n            };\n        }\n        else {\n            CstyleBehaviour.clearMaybeInsertedClosing();\n        }\n    });\n    this.add(\"braces\", \"deletion\", function (state, action, editor, session, range) {\n        var selected = session.doc.getTextRange(range);\n        if (!range.isMultiLine() && selected == '{') {\n            initContext(editor);\n            var line = session.doc.getLine(range.start.row);\n            var rightChar = line.substring(range.end.column, range.end.column + 1);\n            if (rightChar == '}') {\n                range.end.column++;\n                return range;\n            }\n            else {\n                context.maybeInsertedBrackets--;\n            }\n        }\n    });\n    this.add(\"parens\", \"insertion\", function (state, action, editor, session, text) {\n        if (text == '(') {\n            initContext(editor);\n            var selection = editor.getSelectionRange();\n            var selected = session.doc.getTextRange(selection);\n            if (selected !== \"\" && editor.getWrapBehavioursEnabled()) {\n                return getWrapped(selection, selected, '(', ')');\n            }\n            else if (CstyleBehaviour.isSaneInsertion(editor, session)) {\n                CstyleBehaviour.recordAutoInsert(editor, session, \")\");\n                return {\n                    text: '()',\n                    selection: [1, 1]\n                };\n            }\n        }\n        else if (text == ')') {\n            initContext(editor);\n            var cursor = editor.getCursorPosition();\n            var line = session.doc.getLine(cursor.row);\n            var rightChar = line.substring(cursor.column, cursor.column + 1);\n            if (rightChar == ')') {\n                var matching = session.$findOpeningBracket(')', { column: cursor.column + 1, row: cursor.row });\n                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {\n                    CstyleBehaviour.popAutoInsertedClosing();\n                    return {\n                        text: '',\n                        selection: [1, 1]\n                    };\n                }\n            }\n        }\n    });\n    this.add(\"parens\", \"deletion\", function (state, action, editor, session, range) {\n        var selected = session.doc.getTextRange(range);\n        if (!range.isMultiLine() && selected == '(') {\n            initContext(editor);\n            var line = session.doc.getLine(range.start.row);\n            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);\n            if (rightChar == ')') {\n                range.end.column++;\n                return range;\n            }\n        }\n    });\n    this.add(\"brackets\", \"insertion\", function (state, action, editor, session, text) {\n        if (text == '[') {\n            initContext(editor);\n            var selection = editor.getSelectionRange();\n            var selected = session.doc.getTextRange(selection);\n            if (selected !== \"\" && editor.getWrapBehavioursEnabled()) {\n                return getWrapped(selection, selected, '[', ']');\n            }\n            else if (CstyleBehaviour.isSaneInsertion(editor, session)) {\n                CstyleBehaviour.recordAutoInsert(editor, session, \"]\");\n                return {\n                    text: '[]',\n                    selection: [1, 1]\n                };\n            }\n        }\n        else if (text == ']') {\n            initContext(editor);\n            var cursor = editor.getCursorPosition();\n            var line = session.doc.getLine(cursor.row);\n            var rightChar = line.substring(cursor.column, cursor.column + 1);\n            if (rightChar == ']') {\n                var matching = session.$findOpeningBracket(']', { column: cursor.column + 1, row: cursor.row });\n                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {\n                    CstyleBehaviour.popAutoInsertedClosing();\n                    return {\n                        text: '',\n                        selection: [1, 1]\n                    };\n                }\n            }\n        }\n    });\n    this.add(\"brackets\", \"deletion\", function (state, action, editor, session, range) {\n        var selected = session.doc.getTextRange(range);\n        if (!range.isMultiLine() && selected == '[') {\n            initContext(editor);\n            var line = session.doc.getLine(range.start.row);\n            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);\n            if (rightChar == ']') {\n                range.end.column++;\n                return range;\n            }\n        }\n    });\n    this.add(\"string_dquotes\", \"insertion\", function (state, action, editor, session, text) {\n        var quotes = session.$mode.$quotes || defaultQuotes;\n        if (text.length == 1 && quotes[text]) {\n            if (this.lineCommentStart && this.lineCommentStart.indexOf(text) != -1)\n                return;\n            initContext(editor);\n            var quote = text;\n            var selection = editor.getSelectionRange();\n            var selected = session.doc.getTextRange(selection);\n            if (selected !== \"\" && (selected.length != 1 || !quotes[selected]) && editor.getWrapBehavioursEnabled()) {\n                return getWrapped(selection, selected, quote, quote);\n            }\n            else if (!selected) {\n                var cursor = editor.getCursorPosition();\n                var line = session.doc.getLine(cursor.row);\n                var leftChar = line.substring(cursor.column - 1, cursor.column);\n                var rightChar = line.substring(cursor.column, cursor.column + 1);\n                var token = session.getTokenAt(cursor.row, cursor.column);\n                var rightToken = session.getTokenAt(cursor.row, cursor.column + 1);\n                if (leftChar == \"\\\\\" && token && /escape/.test(token.type))\n                    return null;\n                var stringBefore = token && /string|escape/.test(token.type);\n                var stringAfter = !rightToken || /string|escape/.test(rightToken.type);\n                var pair;\n                if (rightChar == quote) {\n                    pair = stringBefore !== stringAfter;\n                    if (pair && /string\\.end/.test(rightToken.type))\n                        pair = false;\n                }\n                else {\n                    if (stringBefore && !stringAfter)\n                        return null; // wrap string with different quote\n                    if (stringBefore && stringAfter)\n                        return null; // do not pair quotes inside strings\n                    var wordRe = session.$mode.tokenRe;\n                    wordRe.lastIndex = 0;\n                    var isWordBefore = wordRe.test(leftChar);\n                    wordRe.lastIndex = 0;\n                    var isWordAfter = wordRe.test(rightChar);\n                    var pairQuotesAfter = session.$mode.$pairQuotesAfter;\n                    var shouldPairQuotes = pairQuotesAfter && pairQuotesAfter[quote] && pairQuotesAfter[quote].test(leftChar);\n                    if ((!shouldPairQuotes && isWordBefore) || isWordAfter)\n                        return null; // before or after alphanumeric\n                    if (rightChar && !/[\\s;,.})\\]\\\\]/.test(rightChar))\n                        return null; // there is rightChar and it isn't closing\n                    var charBefore = line[cursor.column - 2];\n                    if (leftChar == quote && (charBefore == quote || wordRe.test(charBefore)))\n                        return null;\n                    pair = true;\n                }\n                return {\n                    text: pair ? quote + quote : \"\",\n                    selection: [1, 1]\n                };\n            }\n        }\n    });\n    this.add(\"string_dquotes\", \"deletion\", function (state, action, editor, session, range) {\n        var quotes = session.$mode.$quotes || defaultQuotes;\n        var selected = session.doc.getTextRange(range);\n        if (!range.isMultiLine() && quotes.hasOwnProperty(selected)) {\n            initContext(editor);\n            var line = session.doc.getLine(range.start.row);\n            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);\n            if (rightChar == selected) {\n                range.end.column++;\n                return range;\n            }\n        }\n    });\n    if (options.closeDocComment !== false) {\n        this.add(\"doc comment end\", \"insertion\", function (state, action, editor, session, text) {\n            if (state === \"doc-start\" && (text === \"\\n\" || text === \"\\r\\n\") && editor.selection.isEmpty()) {\n                var cursor = editor.getCursorPosition();\n                if (cursor.column === 0) {\n                    return;\n                }\n                var line = session.doc.getLine(cursor.row);\n                var nextLine = session.doc.getLine(cursor.row + 1);\n                var tokens = session.getTokens(cursor.row);\n                var index = 0;\n                for (var i = 0; i < tokens.length; i++) {\n                    index += tokens[i].value.length;\n                    var currentToken = tokens[i];\n                    if (index >= cursor.column) {\n                        if (index === cursor.column) {\n                            if (!/\\.doc/.test(currentToken.type)) {\n                                return;\n                            }\n                            if (/\\*\\//.test(currentToken.value)) {\n                                var nextToken = tokens[i + 1];\n                                if (!nextToken || !/\\.doc/.test(nextToken.type)) {\n                                    return;\n                                }\n                            }\n                        }\n                        var cursorPosInToken = cursor.column - (index - currentToken.value.length);\n                        var closeDocPos = currentToken.value.indexOf(\"*/\");\n                        var openDocPos = currentToken.value.indexOf(\"/**\", closeDocPos > -1 ? closeDocPos + 2 : 0);\n                        if (openDocPos !== -1 && cursorPosInToken > openDocPos && cursorPosInToken < openDocPos + 3) {\n                            return;\n                        }\n                        if (closeDocPos !== -1 && openDocPos !== -1 && cursorPosInToken >= closeDocPos\n                            && cursorPosInToken <= openDocPos || !/\\.doc/.test(currentToken.type)) {\n                            return;\n                        }\n                        break;\n                    }\n                }\n                var indent = this.$getIndent(line);\n                if (/\\s*\\*/.test(nextLine)) {\n                    if (/^\\s*\\*/.test(line)) {\n                        return {\n                            text: text + indent + \"* \",\n                            selection: [1, 2 + indent.length, 1, 2 + indent.length]\n                        };\n                    }\n                    else {\n                        return {\n                            text: text + indent + \" * \",\n                            selection: [1, 3 + indent.length, 1, 3 + indent.length]\n                        };\n                    }\n                }\n                if (/\\/\\*\\*/.test(line.substring(0, cursor.column))) {\n                    return {\n                        text: text + indent + \" * \" + text + \" \" + indent + \"*/\",\n                        selection: [1, 4 + indent.length, 1, 4 + indent.length]\n                    };\n                }\n            }\n        });\n    }\n};\nCstyleBehaviour.isSaneInsertion = function (editor, session) {\n    var cursor = editor.getCursorPosition();\n    var iterator = new TokenIterator(session, cursor.row, cursor.column);\n    if (!this.$matchTokenType(iterator.getCurrentToken() || \"text\", SAFE_INSERT_IN_TOKENS)) {\n        if (/[)}\\]]/.test(editor.session.getLine(cursor.row)[cursor.column]))\n            return true;\n        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);\n        if (!this.$matchTokenType(iterator2.getCurrentToken() || \"text\", SAFE_INSERT_IN_TOKENS))\n            return false;\n    }\n    iterator.stepForward();\n    return iterator.getCurrentTokenRow() !== cursor.row ||\n        this.$matchTokenType(iterator.getCurrentToken() || \"text\", SAFE_INSERT_BEFORE_TOKENS);\n};\nCstyleBehaviour[\"$matchTokenType\"] = function (token, types) {\n    return types.indexOf(token.type || token) > -1;\n};\nCstyleBehaviour[\"recordAutoInsert\"] = function (editor, session, bracket) {\n    var cursor = editor.getCursorPosition();\n    var line = session.doc.getLine(cursor.row);\n    if (!this[\"isAutoInsertedClosing\"](cursor, line, context.autoInsertedLineEnd[0]))\n        context.autoInsertedBrackets = 0;\n    context.autoInsertedRow = cursor.row;\n    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);\n    context.autoInsertedBrackets++;\n};\nCstyleBehaviour[\"recordMaybeInsert\"] = function (editor, session, bracket) {\n    var cursor = editor.getCursorPosition();\n    var line = session.doc.getLine(cursor.row);\n    if (!this[\"isMaybeInsertedClosing\"](cursor, line))\n        context.maybeInsertedBrackets = 0;\n    context.maybeInsertedRow = cursor.row;\n    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;\n    context.maybeInsertedLineEnd = line.substr(cursor.column);\n    context.maybeInsertedBrackets++;\n};\nCstyleBehaviour[\"isAutoInsertedClosing\"] = function (cursor, line, bracket) {\n    return context.autoInsertedBrackets > 0 &&\n        cursor.row === context.autoInsertedRow &&\n        bracket === context.autoInsertedLineEnd[0] &&\n        line.substr(cursor.column) === context.autoInsertedLineEnd;\n};\nCstyleBehaviour[\"isMaybeInsertedClosing\"] = function (cursor, line) {\n    return context.maybeInsertedBrackets > 0 &&\n        cursor.row === context.maybeInsertedRow &&\n        line.substr(cursor.column) === context.maybeInsertedLineEnd &&\n        line.substr(0, cursor.column) == context.maybeInsertedLineStart;\n};\nCstyleBehaviour[\"popAutoInsertedClosing\"] = function () {\n    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);\n    context.autoInsertedBrackets--;\n};\nCstyleBehaviour[\"clearMaybeInsertedClosing\"] = function () {\n    if (context) {\n        context.maybeInsertedBrackets = 0;\n        context.maybeInsertedRow = -1;\n    }\n};\noop.inherits(CstyleBehaviour, Behaviour);\nexports.CstyleBehaviour = CstyleBehaviour;\n\n});\n\nace.define(\"ace/unicode\",[\"require\",\"exports\",\"module\"], function(require, exports, module){\"use strict\";\nvar wordChars = [48, 9, 8, 25, 5, 0, 2, 25, 48, 0, 11, 0, 5, 0, 6, 22, 2, 30, 2, 457, 5, 11, 15, 4, 8, 0, 2, 0, 18, 116, 2, 1, 3, 3, 9, 0, 2, 2, 2, 0, 2, 19, 2, 82, 2, 138, 2, 4, 3, 155, 12, 37, 3, 0, 8, 38, 10, 44, 2, 0, 2, 1, 2, 1, 2, 0, 9, 26, 6, 2, 30, 10, 7, 61, 2, 9, 5, 101, 2, 7, 3, 9, 2, 18, 3, 0, 17, 58, 3, 100, 15, 53, 5, 0, 6, 45, 211, 57, 3, 18, 2, 5, 3, 11, 3, 9, 2, 1, 7, 6, 2, 2, 2, 7, 3, 1, 3, 21, 2, 6, 2, 0, 4, 3, 3, 8, 3, 1, 3, 3, 9, 0, 5, 1, 2, 4, 3, 11, 16, 2, 2, 5, 5, 1, 3, 21, 2, 6, 2, 1, 2, 1, 2, 1, 3, 0, 2, 4, 5, 1, 3, 2, 4, 0, 8, 3, 2, 0, 8, 15, 12, 2, 2, 8, 2, 2, 2, 21, 2, 6, 2, 1, 2, 4, 3, 9, 2, 2, 2, 2, 3, 0, 16, 3, 3, 9, 18, 2, 2, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 3, 8, 3, 1, 3, 2, 9, 1, 5, 1, 2, 4, 3, 9, 2, 0, 17, 1, 2, 5, 4, 2, 2, 3, 4, 1, 2, 0, 2, 1, 4, 1, 4, 2, 4, 11, 5, 4, 4, 2, 2, 3, 3, 0, 7, 0, 15, 9, 18, 2, 2, 7, 2, 2, 2, 22, 2, 9, 2, 4, 4, 7, 2, 2, 2, 3, 8, 1, 2, 1, 7, 3, 3, 9, 19, 1, 2, 7, 2, 2, 2, 22, 2, 9, 2, 4, 3, 8, 2, 2, 2, 3, 8, 1, 8, 0, 2, 3, 3, 9, 19, 1, 2, 7, 2, 2, 2, 22, 2, 15, 4, 7, 2, 2, 2, 3, 10, 0, 9, 3, 3, 9, 11, 5, 3, 1, 2, 17, 4, 23, 2, 8, 2, 0, 3, 6, 4, 0, 5, 5, 2, 0, 2, 7, 19, 1, 14, 57, 6, 14, 2, 9, 40, 1, 2, 0, 3, 1, 2, 0, 3, 0, 7, 3, 2, 6, 2, 2, 2, 0, 2, 0, 3, 1, 2, 12, 2, 2, 3, 4, 2, 0, 2, 5, 3, 9, 3, 1, 35, 0, 24, 1, 7, 9, 12, 0, 2, 0, 2, 0, 5, 9, 2, 35, 5, 19, 2, 5, 5, 7, 2, 35, 10, 0, 58, 73, 7, 77, 3, 37, 11, 42, 2, 0, 4, 328, 2, 3, 3, 6, 2, 0, 2, 3, 3, 40, 2, 3, 3, 32, 2, 3, 3, 6, 2, 0, 2, 3, 3, 14, 2, 56, 2, 3, 3, 66, 5, 0, 33, 15, 17, 84, 13, 619, 3, 16, 2, 25, 6, 74, 22, 12, 2, 6, 12, 20, 12, 19, 13, 12, 2, 2, 2, 1, 13, 51, 3, 29, 4, 0, 5, 1, 3, 9, 34, 2, 3, 9, 7, 87, 9, 42, 6, 69, 11, 28, 4, 11, 5, 11, 11, 39, 3, 4, 12, 43, 5, 25, 7, 10, 38, 27, 5, 62, 2, 28, 3, 10, 7, 9, 14, 0, 89, 75, 5, 9, 18, 8, 13, 42, 4, 11, 71, 55, 9, 9, 4, 48, 83, 2, 2, 30, 14, 230, 23, 280, 3, 5, 3, 37, 3, 5, 3, 7, 2, 0, 2, 0, 2, 0, 2, 30, 3, 52, 2, 6, 2, 0, 4, 2, 2, 6, 4, 3, 3, 5, 5, 12, 6, 2, 2, 6, 67, 1, 20, 0, 29, 0, 14, 0, 17, 4, 60, 12, 5, 0, 4, 11, 18, 0, 5, 0, 3, 9, 2, 0, 4, 4, 7, 0, 2, 0, 2, 0, 2, 3, 2, 10, 3, 3, 6, 4, 5, 0, 53, 1, 2684, 46, 2, 46, 2, 132, 7, 6, 15, 37, 11, 53, 10, 0, 17, 22, 10, 6, 2, 6, 2, 6, 2, 6, 2, 6, 2, 6, 2, 6, 2, 6, 2, 31, 48, 0, 470, 1, 36, 5, 2, 4, 6, 1, 5, 85, 3, 1, 3, 2, 2, 89, 2, 3, 6, 40, 4, 93, 18, 23, 57, 15, 513, 6581, 75, 20939, 53, 1164, 68, 45, 3, 268, 4, 27, 21, 31, 3, 13, 13, 1, 2, 24, 9, 69, 11, 1, 38, 8, 3, 102, 3, 1, 111, 44, 25, 51, 13, 68, 12, 9, 7, 23, 4, 0, 5, 45, 3, 35, 13, 28, 4, 64, 15, 10, 39, 54, 10, 13, 3, 9, 7, 22, 4, 1, 5, 66, 25, 2, 227, 42, 2, 1, 3, 9, 7, 11171, 13, 22, 5, 48, 8453, 301, 3, 61, 3, 105, 39, 6, 13, 4, 6, 11, 2, 12, 2, 4, 2, 0, 2, 1, 2, 1, 2, 107, 34, 362, 19, 63, 3, 53, 41, 11, 5, 15, 17, 6, 13, 1, 25, 2, 33, 4, 2, 134, 20, 9, 8, 25, 5, 0, 2, 25, 12, 88, 4, 5, 3, 5, 3, 5, 3, 2];\nvar code = 0;\nvar str = [];\nfor (var i = 0; i < wordChars.length; i += 2) {\n    str.push(code += wordChars[i]);\n    if (wordChars[i + 1])\n        str.push(45, code += wordChars[i + 1]);\n}\nexports.wordChars = String.fromCharCode.apply(null, str);\n\n});\n\nace.define(\"ace/mode/text\",[\"require\",\"exports\",\"module\",\"ace/config\",\"ace/tokenizer\",\"ace/mode/text_highlight_rules\",\"ace/mode/behaviour/cstyle\",\"ace/unicode\",\"ace/lib/lang\",\"ace/token_iterator\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar config = require(\"../config\");\nvar Tokenizer = require(\"../tokenizer\").Tokenizer;\nvar TextHighlightRules = require(\"./text_highlight_rules\").TextHighlightRules;\nvar CstyleBehaviour = require(\"./behaviour/cstyle\").CstyleBehaviour;\nvar unicode = require(\"../unicode\");\nvar lang = require(\"../lib/lang\");\nvar TokenIterator = require(\"../token_iterator\").TokenIterator;\nvar Range = require(\"../range\").Range;\nvar Mode;\nMode = function () {\n    this.HighlightRules = TextHighlightRules;\n};\n(function () {\n    this.$defaultBehaviour = new CstyleBehaviour();\n    this.tokenRe = new RegExp(\"^[\" + unicode.wordChars + \"\\\\$_]+\", \"g\");\n    this.nonTokenRe = new RegExp(\"^(?:[^\" + unicode.wordChars + \"\\\\$_]|\\\\s])+\", \"g\");\n    this.getTokenizer = function () {\n        if (!this.$tokenizer) {\n            this.$highlightRules = this.$highlightRules || new this.HighlightRules(this.$highlightRuleConfig);\n            this.$tokenizer = new Tokenizer(this.$highlightRules.getRules());\n        }\n        return this.$tokenizer;\n    };\n    this.lineCommentStart = \"\";\n    this.blockComment = \"\";\n    this.toggleCommentLines = function (state, session, startRow, endRow) {\n        var doc = session.doc;\n        var ignoreBlankLines = true;\n        var shouldRemove = true;\n        var minIndent = Infinity;\n        var tabSize = session.getTabSize();\n        var insertAtTabStop = false;\n        if (!this.lineCommentStart) {\n            if (!this.blockComment)\n                return false;\n            var lineCommentStart = this.blockComment.start;\n            var lineCommentEnd = this.blockComment.end;\n            var regexpStart = new RegExp(\"^(\\\\s*)(?:\" + lang.escapeRegExp(lineCommentStart) + \")\");\n            var regexpEnd = new RegExp(\"(?:\" + lang.escapeRegExp(lineCommentEnd) + \")\\\\s*$\");\n            var comment = function (line, i) {\n                if (testRemove(line, i))\n                    return;\n                if (!ignoreBlankLines || /\\S/.test(line)) {\n                    doc.insertInLine({ row: i, column: line.length }, lineCommentEnd);\n                    doc.insertInLine({ row: i, column: minIndent }, lineCommentStart);\n                }\n            };\n            var uncomment = function (line, i) {\n                var m;\n                if (m = line.match(regexpEnd))\n                    doc.removeInLine(i, line.length - m[0].length, line.length);\n                if (m = line.match(regexpStart))\n                    doc.removeInLine(i, m[1].length, m[0].length);\n            };\n            var testRemove = function (line, row) {\n                if (regexpStart.test(line))\n                    return true;\n                var tokens = session.getTokens(row);\n                for (var i = 0; i < tokens.length; i++) {\n                    if (tokens[i].type === \"comment\")\n                        return true;\n                }\n            };\n        }\n        else {\n            if (Array.isArray(this.lineCommentStart)) {\n                var regexpStart = this.lineCommentStart.map(lang.escapeRegExp).join(\"|\");\n                var lineCommentStart = this.lineCommentStart[0];\n            }\n            else {\n                var regexpStart = lang.escapeRegExp(this.lineCommentStart);\n                var lineCommentStart = this.lineCommentStart;\n            }\n            regexpStart = new RegExp(\"^(\\\\s*)(?:\" + regexpStart + \") ?\");\n            insertAtTabStop = session.getUseSoftTabs();\n            var uncomment = function (line, i) {\n                var m = line.match(regexpStart);\n                if (!m)\n                    return;\n                var start = m[1].length, end = m[0].length;\n                if (!shouldInsertSpace(line, start, end) && m[0][end - 1] == \" \")\n                    end--;\n                doc.removeInLine(i, start, end);\n            };\n            var commentWithSpace = lineCommentStart + \" \";\n            var comment = function (line, i) {\n                if (!ignoreBlankLines || /\\S/.test(line)) {\n                    if (shouldInsertSpace(line, minIndent, minIndent))\n                        doc.insertInLine({ row: i, column: minIndent }, commentWithSpace);\n                    else\n                        doc.insertInLine({ row: i, column: minIndent }, lineCommentStart);\n                }\n            };\n            var testRemove = function (line, i) {\n                return regexpStart.test(line);\n            };\n            var shouldInsertSpace = function (line, before, after) {\n                var spaces = 0;\n                while (before-- && line.charAt(before) == \" \")\n                    spaces++;\n                if (spaces % tabSize != 0)\n                    return false;\n                var spaces = 0;\n                while (line.charAt(after++) == \" \")\n                    spaces++;\n                if (tabSize > 2)\n                    return spaces % tabSize != tabSize - 1;\n                else\n                    return spaces % tabSize == 0;\n            };\n        }\n        function iter(fun) {\n            for (var i = startRow; i <= endRow; i++)\n                fun(doc.getLine(i), i);\n        }\n        var minEmptyLength = Infinity;\n        iter(function (line, i) {\n            var indent = line.search(/\\S/);\n            if (indent !== -1) {\n                if (indent < minIndent)\n                    minIndent = indent;\n                if (shouldRemove && !testRemove(line, i))\n                    shouldRemove = false;\n            }\n            else if (minEmptyLength > line.length) {\n                minEmptyLength = line.length;\n            }\n        });\n        if (minIndent == Infinity) {\n            minIndent = minEmptyLength;\n            ignoreBlankLines = false;\n            shouldRemove = false;\n        }\n        if (insertAtTabStop && minIndent % tabSize != 0)\n            minIndent = Math.floor(minIndent / tabSize) * tabSize;\n        iter(shouldRemove ? uncomment : comment);\n    };\n    this.toggleBlockComment = function (state, session, range, cursor) {\n        var comment = this.blockComment;\n        if (!comment)\n            return;\n        if (!comment.start && comment[0])\n            comment = comment[0];\n        var iterator = new TokenIterator(session, cursor.row, cursor.column);\n        var token = iterator.getCurrentToken();\n        var sel = session.selection;\n        var initialRange = session.selection.toOrientedRange();\n        var startRow, colDiff;\n        if (token && /comment/.test(token.type)) {\n            var startRange, endRange;\n            while (token && /comment/.test(token.type)) {\n                var i = token.value.indexOf(comment.start);\n                if (i != -1) {\n                    var row = iterator.getCurrentTokenRow();\n                    var column = iterator.getCurrentTokenColumn() + i;\n                    startRange = new Range(row, column, row, column + comment.start.length);\n                    break;\n                }\n                token = iterator.stepBackward();\n            }\n            var iterator = new TokenIterator(session, cursor.row, cursor.column);\n            var token = iterator.getCurrentToken();\n            while (token && /comment/.test(token.type)) {\n                var i = token.value.indexOf(comment.end);\n                if (i != -1) {\n                    var row = iterator.getCurrentTokenRow();\n                    var column = iterator.getCurrentTokenColumn() + i;\n                    endRange = new Range(row, column, row, column + comment.end.length);\n                    break;\n                }\n                token = iterator.stepForward();\n            }\n            if (endRange)\n                session.remove(endRange);\n            if (startRange) {\n                session.remove(startRange);\n                startRow = startRange.start.row;\n                colDiff = -comment.start.length;\n            }\n        }\n        else {\n            colDiff = comment.start.length;\n            startRow = range.start.row;\n            session.insert(range.end, comment.end);\n            session.insert(range.start, comment.start);\n        }\n        if (initialRange.start.row == startRow)\n            initialRange.start.column += colDiff;\n        if (initialRange.end.row == startRow)\n            initialRange.end.column += colDiff;\n        session.selection.fromOrientedRange(initialRange);\n    };\n    this.getNextLineIndent = function (state, line, tab) {\n        return this.$getIndent(line);\n    };\n    this.checkOutdent = function (state, line, input) {\n        return false;\n    };\n    this.autoOutdent = function (state, doc, row) {\n    };\n    this.$getIndent = function (line) {\n        return line.match(/^\\s*/)[0];\n    };\n    this.createWorker = function (session) {\n        return null;\n    };\n    this.createModeDelegates = function (mapping) {\n        this.$embeds = [];\n        this.$modes = {};\n        for (var i in mapping) {\n            if (mapping[i]) {\n                var Mode = mapping[i];\n                var id = Mode.prototype.$id;\n                var mode = config.$modes[id];\n                if (!mode)\n                    config.$modes[id] = mode = new Mode();\n                if (!config.$modes[i])\n                    config.$modes[i] = mode;\n                this.$embeds.push(i);\n                this.$modes[i] = mode;\n            }\n        }\n        var delegations = [\"toggleBlockComment\", \"toggleCommentLines\", \"getNextLineIndent\",\n            \"checkOutdent\", \"autoOutdent\", \"transformAction\", \"getCompletions\"];\n        var _loop_1 = function (i) {\n            (function (scope) {\n                var functionName = delegations[i];\n                var defaultHandler = scope[functionName];\n                scope[delegations[i]] =\n                    function () {\n                        return this.$delegator(functionName, arguments, defaultHandler);\n                    };\n            }(this_1));\n        };\n        var this_1 = this;\n        for (var i = 0; i < delegations.length; i++) {\n            _loop_1(i);\n        }\n    };\n    this.$delegator = function (method, args, defaultHandler) {\n        var state = args[0] || \"start\";\n        if (typeof state != \"string\") {\n            if (Array.isArray(state[2])) {\n                var language = state[2][state[2].length - 1];\n                var mode = this.$modes[language];\n                if (mode)\n                    return mode[method].apply(mode, [state[1]].concat([].slice.call(args, 1)));\n            }\n            state = state[0] || \"start\";\n        }\n        for (var i = 0; i < this.$embeds.length; i++) {\n            if (!this.$modes[this.$embeds[i]])\n                continue;\n            var split = state.split(this.$embeds[i]);\n            if (!split[0] && split[1]) {\n                args[0] = split[1];\n                var mode = this.$modes[this.$embeds[i]];\n                return mode[method].apply(mode, args);\n            }\n        }\n        var ret = defaultHandler.apply(this, args);\n        return defaultHandler ? ret : undefined;\n    };\n    this.transformAction = function (state, action, editor, session, param) {\n        if (this.$behaviour) {\n            var behaviours = this.$behaviour.getBehaviours();\n            for (var key in behaviours) {\n                if (behaviours[key][action]) {\n                    var ret = behaviours[key][action].apply(this, arguments);\n                    if (ret) {\n                        return ret;\n                    }\n                }\n            }\n        }\n    };\n    this.getKeywords = function (append) {\n        if (!this.completionKeywords) {\n            var rules = this.$tokenizer[\"rules\"];\n            var completionKeywords = [];\n            for (var rule in rules) {\n                var ruleItr = rules[rule];\n                for (var r = 0, l = ruleItr.length; r < l; r++) {\n                    if (typeof ruleItr[r].token === \"string\") {\n                        if (/keyword|support|storage/.test(ruleItr[r].token))\n                            completionKeywords.push(ruleItr[r].regex);\n                    }\n                    else if (typeof ruleItr[r].token === \"object\") {\n                        for (var a = 0, aLength = ruleItr[r].token.length; a < aLength; a++) {\n                            if (/keyword|support|storage/.test(ruleItr[r].token[a])) {\n                                var rule = ruleItr[r].regex.match(/\\(.+?\\)/g)[a];\n                                completionKeywords.push(rule.substr(1, rule.length - 2));\n                            }\n                        }\n                    }\n                }\n            }\n            this.completionKeywords = completionKeywords;\n        }\n        if (!append)\n            return this.$keywordList;\n        return completionKeywords.concat(this.$keywordList || []);\n    };\n    this.$createKeywordList = function () {\n        if (!this.$highlightRules)\n            this.getTokenizer();\n        return this.$keywordList = this.$highlightRules.$keywordList || [];\n    };\n    this.getCompletions = function (state, session, pos, prefix) {\n        var keywords = this.$keywordList || this.$createKeywordList();\n        return keywords.map(function (word) {\n            return {\n                name: word,\n                value: word,\n                score: 0,\n                meta: \"keyword\"\n            };\n        });\n    };\n    this.$id = \"ace/mode/text\";\n}).call(Mode.prototype);\nexports.Mode = Mode;\n\n});\n\nace.define(\"ace/line_widgets\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(require, exports, module){\"use strict\";\nvar dom = require(\"./lib/dom\");\nvar LineWidgets = /** @class */ (function () {\n    function LineWidgets(session) {\n        this.session = session;\n        this.session.widgetManager = this;\n        this.session.getRowLength = this.getRowLength;\n        this.session.$getWidgetScreenLength = this.$getWidgetScreenLength;\n        this.updateOnChange = this.updateOnChange.bind(this);\n        this.renderWidgets = this.renderWidgets.bind(this);\n        this.measureWidgets = this.measureWidgets.bind(this);\n        this.session._changedWidgets = [];\n        this.$onChangeEditor = this.$onChangeEditor.bind(this);\n        this.session.on(\"change\", this.updateOnChange);\n        this.session.on(\"changeFold\", this.updateOnFold);\n        this.session.on(\"changeEditor\", this.$onChangeEditor);\n    }\n    LineWidgets.prototype.getRowLength = function (row) {\n        var h;\n        if (this.lineWidgets)\n            h = this.lineWidgets[row] && this.lineWidgets[row].rowCount || 0;\n        else\n            h = 0;\n        if (!this[\"$useWrapMode\"] || !this[\"$wrapData\"][row]) {\n            return 1 + h;\n        }\n        else {\n            return this[\"$wrapData\"][row].length + 1 + h;\n        }\n    };\n    LineWidgets.prototype.$getWidgetScreenLength = function () {\n        var screenRows = 0;\n        this.lineWidgets.forEach(function (w) {\n            if (w && w.rowCount && !w.hidden)\n                screenRows += w.rowCount;\n        });\n        return screenRows;\n    };\n    LineWidgets.prototype.$onChangeEditor = function (e) {\n        this.attach(e.editor);\n    };\n    LineWidgets.prototype.attach = function (editor) {\n        if (editor && editor.widgetManager && editor.widgetManager != this)\n            editor.widgetManager.detach();\n        if (this.editor == editor)\n            return;\n        this.detach();\n        this.editor = editor;\n        if (editor) {\n            editor.widgetManager = this;\n            editor.renderer.on(\"beforeRender\", this.measureWidgets);\n            editor.renderer.on(\"afterRender\", this.renderWidgets);\n        }\n    };\n    LineWidgets.prototype.detach = function (e) {\n        var editor = this.editor;\n        if (!editor)\n            return;\n        this.editor = null;\n        editor.widgetManager = null;\n        editor.renderer.off(\"beforeRender\", this.measureWidgets);\n        editor.renderer.off(\"afterRender\", this.renderWidgets);\n        var lineWidgets = this.session.lineWidgets;\n        lineWidgets && lineWidgets.forEach(function (w) {\n            if (w && w.el && w.el.parentNode) {\n                w._inDocument = false;\n                w.el.parentNode.removeChild(w.el);\n            }\n        });\n    };\n    LineWidgets.prototype.updateOnFold = function (e, session) {\n        var lineWidgets = session.lineWidgets;\n        if (!lineWidgets || !e.action)\n            return;\n        var fold = e.data;\n        var start = fold.start.row;\n        var end = fold.end.row;\n        var hide = e.action == \"add\";\n        for (var i = start + 1; i < end; i++) {\n            if (lineWidgets[i])\n                lineWidgets[i].hidden = hide;\n        }\n        if (lineWidgets[end]) {\n            if (hide) {\n                if (!lineWidgets[start])\n                    lineWidgets[start] = lineWidgets[end];\n                else\n                    lineWidgets[end].hidden = hide;\n            }\n            else {\n                if (lineWidgets[start] == lineWidgets[end])\n                    lineWidgets[start] = undefined;\n                lineWidgets[end].hidden = hide;\n            }\n        }\n    };\n    LineWidgets.prototype.updateOnChange = function (delta) {\n        var lineWidgets = this.session.lineWidgets;\n        if (!lineWidgets)\n            return;\n        var startRow = delta.start.row;\n        var len = delta.end.row - startRow;\n        if (len === 0) {\n        }\n        else if (delta.action == \"remove\") {\n            var removed = lineWidgets.splice(startRow + 1, len);\n            if (!lineWidgets[startRow] && removed[removed.length - 1]) {\n                lineWidgets[startRow] = removed.pop();\n            }\n            removed.forEach(function (w) {\n                w && this.removeLineWidget(w);\n            }, this);\n            this.$updateRows();\n        }\n        else {\n            var args = new Array(len);\n            if (lineWidgets[startRow] && lineWidgets[startRow].column != null) {\n                if (delta.start.column > lineWidgets[startRow].column)\n                    startRow++;\n            }\n            args.unshift(startRow, 0);\n            lineWidgets.splice.apply(lineWidgets, args);\n            this.$updateRows();\n        }\n    };\n    LineWidgets.prototype.$updateRows = function () {\n        var lineWidgets = this.session.lineWidgets;\n        if (!lineWidgets)\n            return;\n        var noWidgets = true;\n        lineWidgets.forEach(function (w, i) {\n            if (w) {\n                noWidgets = false;\n                w.row = i;\n                while (w.$oldWidget) {\n                    w.$oldWidget.row = i;\n                    w = w.$oldWidget;\n                }\n            }\n        });\n        if (noWidgets)\n            this.session.lineWidgets = null;\n    };\n    LineWidgets.prototype.$registerLineWidget = function (w) {\n        if (!this.session.lineWidgets)\n            this.session.lineWidgets = new Array(this.session.getLength());\n        var old = this.session.lineWidgets[w.row];\n        if (old) {\n            w.$oldWidget = old;\n            if (old.el && old.el.parentNode) {\n                old.el.parentNode.removeChild(old.el);\n                old._inDocument = false;\n            }\n        }\n        this.session.lineWidgets[w.row] = w;\n        return w;\n    };\n    LineWidgets.prototype.addLineWidget = function (w) {\n        this.$registerLineWidget(w);\n        w.session = this.session;\n        if (!this.editor)\n            return w;\n        var renderer = this.editor.renderer;\n        if (w.html && !w.el) {\n            w.el = dom.createElement(\"div\");\n            w.el.innerHTML = w.html;\n        }\n        if (w.text && !w.el) {\n            w.el = dom.createElement(\"div\");\n            w.el.textContent = w.text;\n        }\n        if (w.el) {\n            dom.addCssClass(w.el, \"ace_lineWidgetContainer\");\n            if (w.className) {\n                dom.addCssClass(w.el, w.className);\n            }\n            w.el.style.position = \"absolute\";\n            w.el.style.zIndex = \"5\";\n            renderer.container.appendChild(w.el);\n            w._inDocument = true;\n            if (!w.coverGutter) {\n                w.el.style.zIndex = \"3\";\n            }\n            if (w.pixelHeight == null) {\n                w.pixelHeight = w.el.offsetHeight;\n            }\n        }\n        if (w.rowCount == null) {\n            w.rowCount = w.pixelHeight / renderer.layerConfig.lineHeight;\n        }\n        var fold = this.session.getFoldAt(w.row, 0);\n        w.$fold = fold;\n        if (fold) {\n            var lineWidgets = this.session.lineWidgets;\n            if (w.row == fold.end.row && !lineWidgets[fold.start.row])\n                lineWidgets[fold.start.row] = w;\n            else\n                w.hidden = true;\n        }\n        this.session._emit(\"changeFold\", { data: { start: { row: w.row } } });\n        this.$updateRows();\n        this.renderWidgets(null, renderer);\n        this.onWidgetChanged(w);\n        return w;\n    };\n    LineWidgets.prototype.removeLineWidget = function (w) {\n        w._inDocument = false;\n        w.session = null;\n        if (w.el && w.el.parentNode)\n            w.el.parentNode.removeChild(w.el);\n        if (w.editor && w.editor.destroy)\n            try {\n                w.editor.destroy();\n            }\n            catch (e) { }\n        if (this.session.lineWidgets) {\n            var w1 = this.session.lineWidgets[w.row];\n            if (w1 == w) {\n                this.session.lineWidgets[w.row] = w.$oldWidget;\n                if (w.$oldWidget)\n                    this.onWidgetChanged(w.$oldWidget);\n            }\n            else {\n                while (w1) {\n                    if (w1.$oldWidget == w) {\n                        w1.$oldWidget = w.$oldWidget;\n                        break;\n                    }\n                    w1 = w1.$oldWidget;\n                }\n            }\n        }\n        this.session._emit(\"changeFold\", { data: { start: { row: w.row } } });\n        this.$updateRows();\n    };\n    LineWidgets.prototype.getWidgetsAtRow = function (row) {\n        var lineWidgets = this.session.lineWidgets;\n        var w = lineWidgets && lineWidgets[row];\n        var list = [];\n        while (w) {\n            list.push(w);\n            w = w.$oldWidget;\n        }\n        return list;\n    };\n    LineWidgets.prototype.onWidgetChanged = function (w) {\n        this.session._changedWidgets.push(w);\n        this.editor && this.editor.renderer.updateFull();\n    };\n    LineWidgets.prototype.measureWidgets = function (e, renderer) {\n        var changedWidgets = this.session._changedWidgets;\n        var config = renderer.layerConfig;\n        if (!changedWidgets || !changedWidgets.length)\n            return;\n        var min = Infinity;\n        for (var i = 0; i < changedWidgets.length; i++) {\n            var w = changedWidgets[i];\n            if (!w || !w.el)\n                continue;\n            if (w.session != this.session)\n                continue;\n            if (!w._inDocument) {\n                if (this.session.lineWidgets[w.row] != w)\n                    continue;\n                w._inDocument = true;\n                renderer.container.appendChild(w.el);\n            }\n            w.h = w.el.offsetHeight;\n            if (!w.fixedWidth) {\n                w.w = w.el.offsetWidth;\n                w.screenWidth = Math.ceil(w.w / config.characterWidth);\n            }\n            var rowCount = w.h / config.lineHeight;\n            if (w.coverLine) {\n                rowCount -= this.session.getRowLineCount(w.row);\n                if (rowCount < 0)\n                    rowCount = 0;\n            }\n            if (w.rowCount != rowCount) {\n                w.rowCount = rowCount;\n                if (w.row < min)\n                    min = w.row;\n            }\n        }\n        if (min != Infinity) {\n            this.session._emit(\"changeFold\", { data: { start: { row: min } } });\n            this.session.lineWidgetWidth = null;\n        }\n        this.session._changedWidgets = [];\n    };\n    LineWidgets.prototype.renderWidgets = function (e, renderer) {\n        var config = renderer.layerConfig;\n        var lineWidgets = this.session.lineWidgets;\n        if (!lineWidgets)\n            return;\n        var first = Math.min(this.firstRow, config.firstRow);\n        var last = Math.max(this.lastRow, config.lastRow, lineWidgets.length);\n        while (first > 0 && !lineWidgets[first])\n            first--;\n        this.firstRow = config.firstRow;\n        this.lastRow = config.lastRow;\n        renderer.$cursorLayer.config = config;\n        for (var i = first; i <= last; i++) {\n            var w = lineWidgets[i];\n            if (!w || !w.el)\n                continue;\n            if (w.hidden) {\n                w.el.style.top = -100 - (w.pixelHeight || 0) + \"px\";\n                continue;\n            }\n            if (!w._inDocument) {\n                w._inDocument = true;\n                renderer.container.appendChild(w.el);\n            }\n            var top = renderer.$cursorLayer.getPixelPosition({ row: i, column: 0 }, true).top;\n            if (!w.coverLine)\n                top += config.lineHeight * this.session.getRowLineCount(w.row);\n            w.el.style.top = top - config.offset + \"px\";\n            var left = w.coverGutter ? 0 : renderer.gutterWidth;\n            if (!w.fixedWidth)\n                left -= renderer.scrollLeft;\n            w.el.style.left = left + \"px\";\n            if (w.fullWidth && w.screenWidth) {\n                w.el.style.minWidth = config.width + 2 * config.padding + \"px\";\n            }\n            if (w.fixedWidth) {\n                w.el.style.right = renderer.scrollBar.getWidth() + \"px\";\n            }\n            else {\n                w.el.style.right = \"\";\n            }\n        }\n    };\n    return LineWidgets;\n}());\nexports.LineWidgets = LineWidgets;\n\n});\n\nace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"], function(require, exports, module){\"use strict\";\nfunction throwDeltaError(delta, errorText) {\n    console.log(\"Invalid Delta:\", delta);\n    throw \"Invalid Delta: \" + errorText;\n}\nfunction positionInDocument(docLines, position) {\n    return position.row >= 0 && position.row < docLines.length &&\n        position.column >= 0 && position.column <= docLines[position.row].length;\n}\nfunction validateDelta(docLines, delta) {\n    if (delta.action != \"insert\" && delta.action != \"remove\")\n        throwDeltaError(delta, \"delta.action must be 'insert' or 'remove'\");\n    if (!(delta.lines instanceof Array))\n        throwDeltaError(delta, \"delta.lines must be an Array\");\n    if (!delta.start || !delta.end)\n        throwDeltaError(delta, \"delta.start/end must be an present\");\n    var start = delta.start;\n    if (!positionInDocument(docLines, delta.start))\n        throwDeltaError(delta, \"delta.start must be contained in document\");\n    var end = delta.end;\n    if (delta.action == \"remove\" && !positionInDocument(docLines, end))\n        throwDeltaError(delta, \"delta.end must contained in document for 'remove' actions\");\n    var numRangeRows = end.row - start.row;\n    var numRangeLastLineChars = (end.column - (numRangeRows == 0 ? start.column : 0));\n    if (numRangeRows != delta.lines.length - 1 || delta.lines[numRangeRows].length != numRangeLastLineChars)\n        throwDeltaError(delta, \"delta.range must match delta lines\");\n}\nexports.applyDelta = function (docLines, delta, doNotValidate) {\n    var row = delta.start.row;\n    var startColumn = delta.start.column;\n    var line = docLines[row] || \"\";\n    switch (delta.action) {\n        case \"insert\":\n            var lines = delta.lines;\n            if (lines.length === 1) {\n                docLines[row] = line.substring(0, startColumn) + delta.lines[0] + line.substring(startColumn);\n            }\n            else {\n                var args = [row, 1].concat(delta.lines);\n                docLines.splice.apply(docLines, args);\n                docLines[row] = line.substring(0, startColumn) + docLines[row];\n                docLines[row + delta.lines.length - 1] += line.substring(startColumn);\n            }\n            break;\n        case \"remove\":\n            var endColumn = delta.end.column;\n            var endRow = delta.end.row;\n            if (row === endRow) {\n                docLines[row] = line.substring(0, startColumn) + line.substring(endColumn);\n            }\n            else {\n                docLines.splice(row, endRow - row + 1, line.substring(0, startColumn) + docLines[endRow].substring(endColumn));\n            }\n            break;\n    }\n};\n\n});\n\nace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"./lib/oop\");\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar Anchor = /** @class */ (function () {\n    function Anchor(doc, row, column) {\n        this.$onChange = this.onChange.bind(this);\n        this.attach(doc);\n        if (typeof row != \"number\")\n            this.setPosition(row.row, row.column);\n        else\n            this.setPosition(row, column);\n    }\n    Anchor.prototype.getPosition = function () {\n        return this.$clipPositionToDocument(this.row, this.column);\n    };\n    Anchor.prototype.getDocument = function () {\n        return this.document;\n    };\n    Anchor.prototype.onChange = function (delta) {\n        if (delta.start.row == delta.end.row && delta.start.row != this.row)\n            return;\n        if (delta.start.row > this.row)\n            return;\n        var point = $getTransformedPoint(delta, { row: this.row, column: this.column }, this.$insertRight);\n        this.setPosition(point.row, point.column, true);\n    };\n    Anchor.prototype.setPosition = function (row, column, noClip) {\n        var pos;\n        if (noClip) {\n            pos = {\n                row: row,\n                column: column\n            };\n        }\n        else {\n            pos = this.$clipPositionToDocument(row, column);\n        }\n        if (this.row == pos.row && this.column == pos.column)\n            return;\n        var old = {\n            row: this.row,\n            column: this.column\n        };\n        this.row = pos.row;\n        this.column = pos.column;\n        this._signal(\"change\", {\n            old: old,\n            value: pos\n        });\n    };\n    Anchor.prototype.detach = function () {\n        this.document.off(\"change\", this.$onChange);\n    };\n    Anchor.prototype.attach = function (doc) {\n        this.document = doc || this.document;\n        this.document.on(\"change\", this.$onChange);\n    };\n    Anchor.prototype.$clipPositionToDocument = function (row, column) {\n        var pos = {};\n        if (row >= this.document.getLength()) {\n            pos.row = Math.max(0, this.document.getLength() - 1);\n            pos.column = this.document.getLine(pos.row).length;\n        }\n        else if (row < 0) {\n            pos.row = 0;\n            pos.column = 0;\n        }\n        else {\n            pos.row = row;\n            pos.column = Math.min(this.document.getLine(pos.row).length, Math.max(0, column));\n        }\n        if (column < 0)\n            pos.column = 0;\n        return pos;\n    };\n    return Anchor;\n}());\nAnchor.prototype.$insertRight = false;\noop.implement(Anchor.prototype, EventEmitter);\nfunction $pointsInOrder(point1, point2, equalPointsInOrder) {\n    var bColIsAfter = equalPointsInOrder ? point1.column <= point2.column : point1.column < point2.column;\n    return (point1.row < point2.row) || (point1.row == point2.row && bColIsAfter);\n}\nfunction $getTransformedPoint(delta, point, moveIfEqual) {\n    var deltaIsInsert = delta.action == \"insert\";\n    var deltaRowShift = (deltaIsInsert ? 1 : -1) * (delta.end.row - delta.start.row);\n    var deltaColShift = (deltaIsInsert ? 1 : -1) * (delta.end.column - delta.start.column);\n    var deltaStart = delta.start;\n    var deltaEnd = deltaIsInsert ? deltaStart : delta.end; // Collapse insert range.\n    if ($pointsInOrder(point, deltaStart, moveIfEqual)) {\n        return {\n            row: point.row,\n            column: point.column\n        };\n    }\n    if ($pointsInOrder(deltaEnd, point, !moveIfEqual)) {\n        return {\n            row: point.row + deltaRowShift,\n            column: point.column + (point.row == deltaEnd.row ? deltaColShift : 0)\n        };\n    }\n    return {\n        row: deltaStart.row,\n        column: deltaStart.column\n    };\n}\nexports.Anchor = Anchor;\n\n});\n\nace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"./lib/oop\");\nvar applyDelta = require(\"./apply_delta\").applyDelta;\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar Range = require(\"./range\").Range;\nvar Anchor = require(\"./anchor\").Anchor;\nvar Document = /** @class */ (function () {\n    function Document(textOrLines) {\n        this.$lines = [\"\"];\n        if (textOrLines.length === 0) {\n            this.$lines = [\"\"];\n        }\n        else if (Array.isArray(textOrLines)) {\n            this.insertMergedLines({ row: 0, column: 0 }, textOrLines);\n        }\n        else {\n            this.insert({ row: 0, column: 0 }, textOrLines);\n        }\n    }\n    Document.prototype.setValue = function (text) {\n        var len = this.getLength() - 1;\n        this.remove(new Range(0, 0, len, this.getLine(len).length));\n        this.insert({ row: 0, column: 0 }, text || \"\");\n    };\n    Document.prototype.getValue = function () {\n        return this.getAllLines().join(this.getNewLineCharacter());\n    };\n    Document.prototype.createAnchor = function (row, column) {\n        return new Anchor(this, row, column);\n    };\n    Document.prototype.$detectNewLine = function (text) {\n        var match = text.match(/^.*?(\\r\\n|\\r|\\n)/m);\n        this.$autoNewLine = match ? match[1] : \"\\n\";\n        this._signal(\"changeNewLineMode\");\n    };\n    Document.prototype.getNewLineCharacter = function () {\n        switch (this.$newLineMode) {\n            case \"windows\":\n                return \"\\r\\n\";\n            case \"unix\":\n                return \"\\n\";\n            default:\n                return this.$autoNewLine || \"\\n\";\n        }\n    };\n    Document.prototype.setNewLineMode = function (newLineMode) {\n        if (this.$newLineMode === newLineMode)\n            return;\n        this.$newLineMode = newLineMode;\n        this._signal(\"changeNewLineMode\");\n    };\n    Document.prototype.getNewLineMode = function () {\n        return this.$newLineMode;\n    };\n    Document.prototype.isNewLine = function (text) {\n        return (text == \"\\r\\n\" || text == \"\\r\" || text == \"\\n\");\n    };\n    Document.prototype.getLine = function (row) {\n        return this.$lines[row] || \"\";\n    };\n    Document.prototype.getLines = function (firstRow, lastRow) {\n        return this.$lines.slice(firstRow, lastRow + 1);\n    };\n    Document.prototype.getAllLines = function () {\n        return this.getLines(0, this.getLength());\n    };\n    Document.prototype.getLength = function () {\n        return this.$lines.length;\n    };\n    Document.prototype.getTextRange = function (range) {\n        return this.getLinesForRange(range).join(this.getNewLineCharacter());\n    };\n    Document.prototype.getLinesForRange = function (range) {\n        var lines;\n        if (range.start.row === range.end.row) {\n            lines = [this.getLine(range.start.row).substring(range.start.column, range.end.column)];\n        }\n        else {\n            lines = this.getLines(range.start.row, range.end.row);\n            lines[0] = (lines[0] || \"\").substring(range.start.column);\n            var l = lines.length - 1;\n            if (range.end.row - range.start.row == l)\n                lines[l] = lines[l].substring(0, range.end.column);\n        }\n        return lines;\n    };\n    Document.prototype.insertLines = function (row, lines) {\n        console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\");\n        return this.insertFullLines(row, lines);\n    };\n    Document.prototype.removeLines = function (firstRow, lastRow) {\n        console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\");\n        return this.removeFullLines(firstRow, lastRow);\n    };\n    Document.prototype.insertNewLine = function (position) {\n        console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\");\n        return this.insertMergedLines(position, [\"\", \"\"]);\n    };\n    Document.prototype.insert = function (position, text) {\n        if (this.getLength() <= 1)\n            this.$detectNewLine(text);\n        return this.insertMergedLines(position, this.$split(text));\n    };\n    Document.prototype.insertInLine = function (position, text) {\n        var start = this.clippedPos(position.row, position.column);\n        var end = this.pos(position.row, position.column + text.length);\n        this.applyDelta({\n            start: start,\n            end: end,\n            action: \"insert\",\n            lines: [text]\n        }, true);\n        return this.clonePos(end);\n    };\n    Document.prototype.clippedPos = function (row, column) {\n        var length = this.getLength();\n        if (row === undefined) {\n            row = length;\n        }\n        else if (row < 0) {\n            row = 0;\n        }\n        else if (row >= length) {\n            row = length - 1;\n            column = undefined;\n        }\n        var line = this.getLine(row);\n        if (column == undefined)\n            column = line.length;\n        column = Math.min(Math.max(column, 0), line.length);\n        return { row: row, column: column };\n    };\n    Document.prototype.clonePos = function (pos) {\n        return { row: pos.row, column: pos.column };\n    };\n    Document.prototype.pos = function (row, column) {\n        return { row: row, column: column };\n    };\n    Document.prototype.$clipPosition = function (position) {\n        var length = this.getLength();\n        if (position.row >= length) {\n            position.row = Math.max(0, length - 1);\n            position.column = this.getLine(length - 1).length;\n        }\n        else {\n            position.row = Math.max(0, position.row);\n            position.column = Math.min(Math.max(position.column, 0), this.getLine(position.row).length);\n        }\n        return position;\n    };\n    Document.prototype.insertFullLines = function (row, lines) {\n        row = Math.min(Math.max(row, 0), this.getLength());\n        var column = 0;\n        if (row < this.getLength()) {\n            lines = lines.concat([\"\"]);\n            column = 0;\n        }\n        else {\n            lines = [\"\"].concat(lines);\n            row--;\n            column = this.$lines[row].length;\n        }\n        this.insertMergedLines({ row: row, column: column }, lines);\n    };\n    Document.prototype.insertMergedLines = function (position, lines) {\n        var start = this.clippedPos(position.row, position.column);\n        var end = {\n            row: start.row + lines.length - 1,\n            column: (lines.length == 1 ? start.column : 0) + lines[lines.length - 1].length\n        };\n        this.applyDelta({\n            start: start,\n            end: end,\n            action: \"insert\",\n            lines: lines\n        });\n        return this.clonePos(end);\n    };\n    Document.prototype.remove = function (range) {\n        var start = this.clippedPos(range.start.row, range.start.column);\n        var end = this.clippedPos(range.end.row, range.end.column);\n        this.applyDelta({\n            start: start,\n            end: end,\n            action: \"remove\",\n            lines: this.getLinesForRange({ start: start, end: end })\n        });\n        return this.clonePos(start);\n    };\n    Document.prototype.removeInLine = function (row, startColumn, endColumn) {\n        var start = this.clippedPos(row, startColumn);\n        var end = this.clippedPos(row, endColumn);\n        this.applyDelta({\n            start: start,\n            end: end,\n            action: \"remove\",\n            lines: this.getLinesForRange({ start: start, end: end })\n        }, true);\n        return this.clonePos(start);\n    };\n    Document.prototype.removeFullLines = function (firstRow, lastRow) {\n        firstRow = Math.min(Math.max(0, firstRow), this.getLength() - 1);\n        lastRow = Math.min(Math.max(0, lastRow), this.getLength() - 1);\n        var deleteFirstNewLine = lastRow == this.getLength() - 1 && firstRow > 0;\n        var deleteLastNewLine = lastRow < this.getLength() - 1;\n        var startRow = (deleteFirstNewLine ? firstRow - 1 : firstRow);\n        var startCol = (deleteFirstNewLine ? this.getLine(startRow).length : 0);\n        var endRow = (deleteLastNewLine ? lastRow + 1 : lastRow);\n        var endCol = (deleteLastNewLine ? 0 : this.getLine(endRow).length);\n        var range = new Range(startRow, startCol, endRow, endCol);\n        var deletedLines = this.$lines.slice(firstRow, lastRow + 1);\n        this.applyDelta({\n            start: range.start,\n            end: range.end,\n            action: \"remove\",\n            lines: this.getLinesForRange(range)\n        });\n        return deletedLines;\n    };\n    Document.prototype.removeNewLine = function (row) {\n        if (row < this.getLength() - 1 && row >= 0) {\n            this.applyDelta({\n                start: this.pos(row, this.getLine(row).length),\n                end: this.pos(row + 1, 0),\n                action: \"remove\",\n                lines: [\"\", \"\"]\n            });\n        }\n    };\n    Document.prototype.replace = function (range, text) {\n        if (!(range instanceof Range))\n            range = Range.fromPoints(range.start, range.end);\n        if (text.length === 0 && range.isEmpty())\n            return range.start;\n        if (text == this.getTextRange(range))\n            return range.end;\n        this.remove(range);\n        var end;\n        if (text) {\n            end = this.insert(range.start, text);\n        }\n        else {\n            end = range.start;\n        }\n        return end;\n    };\n    Document.prototype.applyDeltas = function (deltas) {\n        for (var i = 0; i < deltas.length; i++) {\n            this.applyDelta(deltas[i]);\n        }\n    };\n    Document.prototype.revertDeltas = function (deltas) {\n        for (var i = deltas.length - 1; i >= 0; i--) {\n            this.revertDelta(deltas[i]);\n        }\n    };\n    Document.prototype.applyDelta = function (delta, doNotValidate) {\n        var isInsert = delta.action == \"insert\";\n        if (isInsert ? delta.lines.length <= 1 && !delta.lines[0]\n            : !Range.comparePoints(delta.start, delta.end)) {\n            return;\n        }\n        if (isInsert && delta.lines.length > 20000) {\n            this.$splitAndapplyLargeDelta(delta, 20000);\n        }\n        else {\n            applyDelta(this.$lines, delta, doNotValidate);\n            this._signal(\"change\", delta);\n        }\n    };\n    Document.prototype.$safeApplyDelta = function (delta) {\n        var docLength = this.$lines.length;\n        if (delta.action == \"remove\" && delta.start.row < docLength && delta.end.row < docLength\n            || delta.action == \"insert\" && delta.start.row <= docLength) {\n            this.applyDelta(delta);\n        }\n    };\n    Document.prototype.$splitAndapplyLargeDelta = function (delta, MAX) {\n        var lines = delta.lines;\n        var l = lines.length - MAX + 1;\n        var row = delta.start.row;\n        var column = delta.start.column;\n        for (var from = 0, to = 0; from < l; from = to) {\n            to += MAX - 1;\n            var chunk = lines.slice(from, to);\n            chunk.push(\"\");\n            this.applyDelta({\n                start: this.pos(row + from, column),\n                end: this.pos(row + to, column = 0),\n                action: delta.action,\n                lines: chunk\n            }, true);\n        }\n        delta.lines = lines.slice(from);\n        delta.start.row = row + from;\n        delta.start.column = column;\n        this.applyDelta(delta, true);\n    };\n    Document.prototype.revertDelta = function (delta) {\n        this.$safeApplyDelta({\n            start: this.clonePos(delta.start),\n            end: this.clonePos(delta.end),\n            action: (delta.action == \"insert\" ? \"remove\" : \"insert\"),\n            lines: delta.lines.slice()\n        });\n    };\n    Document.prototype.indexToPosition = function (index, startRow) {\n        var lines = this.$lines || this.getAllLines();\n        var newlineLength = this.getNewLineCharacter().length;\n        for (var i = startRow || 0, l = lines.length; i < l; i++) {\n            index -= lines[i].length + newlineLength;\n            if (index < 0)\n                return { row: i, column: index + lines[i].length + newlineLength };\n        }\n        return { row: l - 1, column: index + lines[l - 1].length + newlineLength };\n    };\n    Document.prototype.positionToIndex = function (pos, startRow) {\n        var lines = this.$lines || this.getAllLines();\n        var newlineLength = this.getNewLineCharacter().length;\n        var index = 0;\n        var row = Math.min(pos.row, lines.length);\n        for (var i = startRow || 0; i < row; ++i)\n            index += lines[i].length + newlineLength;\n        return index + pos.column;\n    };\n    Document.prototype.$split = function (text) {\n        return text.split(/\\r\\n|\\r|\\n/);\n    };\n    return Document;\n}());\nDocument.prototype.$autoNewLine = \"\";\nDocument.prototype.$newLineMode = \"auto\";\noop.implement(Document.prototype, EventEmitter);\nexports.Document = Document;\n\n});\n\nace.define(\"ace/background_tokenizer\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"./lib/oop\");\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar BackgroundTokenizer = /** @class */ (function () {\n    function BackgroundTokenizer(tokenizer, session) {\n        this.running = false;\n        this.lines = [];\n        this.states = [];\n        this.currentLine = 0;\n        this.tokenizer = tokenizer;\n        var self = this;\n        this.$worker = function () {\n            if (!self.running) {\n                return;\n            }\n            var workerStart = new Date();\n            var currentLine = self.currentLine;\n            var endLine = -1;\n            var doc = self.doc;\n            var startLine = currentLine;\n            while (self.lines[currentLine])\n                currentLine++;\n            var len = doc.getLength();\n            var processedLines = 0;\n            self.running = false;\n            while (currentLine < len) {\n                self.$tokenizeRow(currentLine);\n                endLine = currentLine;\n                do {\n                    currentLine++;\n                } while (self.lines[currentLine]);\n                processedLines++;\n                if ((processedLines % 5 === 0) && (new Date() - workerStart) > 20) {\n                    self.running = setTimeout(self.$worker, 20);\n                    break;\n                }\n            }\n            self.currentLine = currentLine;\n            if (endLine == -1)\n                endLine = currentLine;\n            if (startLine <= endLine)\n                self.fireUpdateEvent(startLine, endLine);\n        };\n    }\n    BackgroundTokenizer.prototype.setTokenizer = function (tokenizer) {\n        this.tokenizer = tokenizer;\n        this.lines = [];\n        this.states = [];\n        this.start(0);\n    };\n    BackgroundTokenizer.prototype.setDocument = function (doc) {\n        this.doc = doc;\n        this.lines = [];\n        this.states = [];\n        this.stop();\n    };\n    BackgroundTokenizer.prototype.fireUpdateEvent = function (firstRow, lastRow) {\n        var data = {\n            first: firstRow,\n            last: lastRow\n        };\n        this._signal(\"update\", { data: data });\n    };\n    BackgroundTokenizer.prototype.start = function (startRow) {\n        this.currentLine = Math.min(startRow || 0, this.currentLine, this.doc.getLength());\n        this.lines.splice(this.currentLine, this.lines.length);\n        this.states.splice(this.currentLine, this.states.length);\n        this.stop();\n        this.running = setTimeout(this.$worker, 700);\n    };\n    BackgroundTokenizer.prototype.scheduleStart = function () {\n        if (!this.running)\n            this.running = setTimeout(this.$worker, 700);\n    };\n    BackgroundTokenizer.prototype.$updateOnChange = function (delta) {\n        var startRow = delta.start.row;\n        var len = delta.end.row - startRow;\n        if (len === 0) {\n            this.lines[startRow] = null;\n        }\n        else if (delta.action == \"remove\") {\n            this.lines.splice(startRow, len + 1, null);\n            this.states.splice(startRow, len + 1, null);\n        }\n        else {\n            var args = Array(len + 1);\n            args.unshift(startRow, 1);\n            this.lines.splice.apply(this.lines, args);\n            this.states.splice.apply(this.states, args);\n        }\n        this.currentLine = Math.min(startRow, this.currentLine, this.doc.getLength());\n        this.stop();\n    };\n    BackgroundTokenizer.prototype.stop = function () {\n        if (this.running)\n            clearTimeout(this.running);\n        this.running = false;\n    };\n    BackgroundTokenizer.prototype.getTokens = function (row) {\n        return this.lines[row] || this.$tokenizeRow(row);\n    };\n    BackgroundTokenizer.prototype.getState = function (row) {\n        if (this.currentLine == row)\n            this.$tokenizeRow(row);\n        return this.states[row] || \"start\";\n    };\n    BackgroundTokenizer.prototype.$tokenizeRow = function (row) {\n        var line = this.doc.getLine(row);\n        var state = this.states[row - 1];\n        var data = this.tokenizer.getLineTokens(line, state, row);\n        if (this.states[row] + \"\" !== data.state + \"\") {\n            this.states[row] = data.state;\n            this.lines[row + 1] = null;\n            if (this.currentLine > row + 1)\n                this.currentLine = row + 1;\n        }\n        else if (this.currentLine == row) {\n            this.currentLine = row + 1;\n        }\n        return this.lines[row] = data.tokens;\n    };\n    BackgroundTokenizer.prototype.cleanup = function () {\n        this.running = false;\n        this.lines = [];\n        this.states = [];\n        this.currentLine = 0;\n        this.removeAllListeners();\n    };\n    return BackgroundTokenizer;\n}());\noop.implement(BackgroundTokenizer.prototype, EventEmitter);\nexports.BackgroundTokenizer = BackgroundTokenizer;\n\n});\n\nace.define(\"ace/search_highlight\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar lang = require(\"./lib/lang\");\nvar Range = require(\"./range\").Range;\nvar SearchHighlight = /** @class */ (function () {\n    function SearchHighlight(regExp, clazz, type) {\n        if (type === void 0) { type = \"text\"; }\n        this.setRegexp(regExp);\n        this.clazz = clazz;\n        this.type = type;\n    }\n    SearchHighlight.prototype.setRegexp = function (regExp) {\n        if (this.regExp + \"\" == regExp + \"\")\n            return;\n        this.regExp = regExp;\n        this.cache = [];\n    };\n    SearchHighlight.prototype.update = function (html, markerLayer, session, config) {\n        if (!this.regExp)\n            return;\n        var start = config.firstRow, end = config.lastRow;\n        var renderedMarkerRanges = {};\n        for (var i = start; i <= end; i++) {\n            var ranges = this.cache[i];\n            if (ranges == null) {\n                ranges = lang.getMatchOffsets(session.getLine(i), this.regExp);\n                if (ranges.length > this.MAX_RANGES)\n                    ranges = ranges.slice(0, this.MAX_RANGES);\n                ranges = ranges.map(function (match) {\n                    return new Range(i, match.offset, i, match.offset + match.length);\n                });\n                this.cache[i] = ranges.length ? ranges : \"\";\n            }\n            for (var j = ranges.length; j--;) {\n                var rangeToAddMarkerTo = ranges[j].toScreenRange(session);\n                var rangeAsString = rangeToAddMarkerTo.toString();\n                if (renderedMarkerRanges[rangeAsString])\n                    continue;\n                renderedMarkerRanges[rangeAsString] = true;\n                markerLayer.drawSingleLineMarker(html, rangeToAddMarkerTo, this.clazz, config);\n            }\n        }\n    };\n    return SearchHighlight;\n}());\nSearchHighlight.prototype.MAX_RANGES = 500;\nexports.SearchHighlight = SearchHighlight;\n\n});\n\nace.define(\"ace/undomanager\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar UndoManager = /** @class */ (function () {\n    function UndoManager() {\n        this.$keepRedoStack;\n        this.$maxRev = 0;\n        this.$fromUndo = false;\n        this.$undoDepth = Infinity;\n        this.reset();\n    }\n    UndoManager.prototype.addSession = function (session) {\n        this.$session = session;\n    };\n    UndoManager.prototype.add = function (delta, allowMerge, session) {\n        if (this.$fromUndo)\n            return;\n        if (delta == this.$lastDelta)\n            return;\n        if (!this.$keepRedoStack)\n            this.$redoStack.length = 0;\n        if (allowMerge === false || !this.lastDeltas) {\n            this.lastDeltas = [];\n            var undoStackLength = this.$undoStack.length;\n            if (undoStackLength > this.$undoDepth - 1) {\n                this.$undoStack.splice(0, undoStackLength - this.$undoDepth + 1);\n            }\n            this.$undoStack.push(this.lastDeltas);\n            delta.id = this.$rev = ++this.$maxRev;\n        }\n        if (delta.action == \"remove\" || delta.action == \"insert\")\n            this.$lastDelta = delta;\n        this.lastDeltas.push(delta);\n    };\n    UndoManager.prototype.addSelection = function (selection, rev) {\n        this.selections.push({\n            value: selection,\n            rev: rev || this.$rev\n        });\n    };\n    UndoManager.prototype.startNewGroup = function () {\n        this.lastDeltas = null;\n        return this.$rev;\n    };\n    UndoManager.prototype.markIgnored = function (from, to) {\n        if (to == null)\n            to = this.$rev + 1;\n        var stack = this.$undoStack;\n        for (var i = stack.length; i--;) {\n            var delta = stack[i][0];\n            if (delta.id <= from)\n                break;\n            if (delta.id < to)\n                delta.ignore = true;\n        }\n        this.lastDeltas = null;\n    };\n    UndoManager.prototype.getSelection = function (rev, after) {\n        var stack = this.selections;\n        for (var i = stack.length; i--;) {\n            var selection = stack[i];\n            if (selection.rev < rev) {\n                if (after)\n                    selection = stack[i + 1];\n                return selection;\n            }\n        }\n    };\n    UndoManager.prototype.getRevision = function () {\n        return this.$rev;\n    };\n    UndoManager.prototype.getDeltas = function (from, to) {\n        if (to == null)\n            to = this.$rev + 1;\n        var stack = this.$undoStack;\n        var end = null, start = 0;\n        for (var i = stack.length; i--;) {\n            var delta = stack[i][0];\n            if (delta.id < to && !end)\n                end = i + 1;\n            if (delta.id <= from) {\n                start = i + 1;\n                break;\n            }\n        }\n        return stack.slice(start, end);\n    };\n    UndoManager.prototype.getChangedRanges = function (from, to) {\n        if (to == null)\n            to = this.$rev + 1;\n    };\n    UndoManager.prototype.getChangedLines = function (from, to) {\n        if (to == null)\n            to = this.$rev + 1;\n    };\n    UndoManager.prototype.undo = function (session, dontSelect) {\n        this.lastDeltas = null;\n        var stack = this.$undoStack;\n        if (!rearrangeUndoStack(stack, stack.length))\n            return;\n        if (!session)\n            session = this.$session;\n        if (this.$redoStackBaseRev !== this.$rev && this.$redoStack.length)\n            this.$redoStack = [];\n        this.$fromUndo = true;\n        var deltaSet = stack.pop();\n        var undoSelectionRange = null;\n        if (deltaSet) {\n            undoSelectionRange = session.undoChanges(deltaSet, dontSelect);\n            this.$redoStack.push(deltaSet);\n            this.$syncRev();\n        }\n        this.$fromUndo = false;\n        return undoSelectionRange;\n    };\n    UndoManager.prototype.redo = function (session, dontSelect) {\n        this.lastDeltas = null;\n        if (!session)\n            session = this.$session;\n        this.$fromUndo = true;\n        if (this.$redoStackBaseRev != this.$rev) {\n            var diff = this.getDeltas(this.$redoStackBaseRev, this.$rev + 1);\n            rebaseRedoStack(this.$redoStack, diff);\n            this.$redoStackBaseRev = this.$rev;\n            this.$redoStack.forEach(function (x) {\n                x[0].id = ++this.$maxRev;\n            }, this);\n        }\n        var deltaSet = this.$redoStack.pop();\n        var redoSelectionRange = null;\n        if (deltaSet) {\n            redoSelectionRange = session.redoChanges(deltaSet, dontSelect);\n            this.$undoStack.push(deltaSet);\n            this.$syncRev();\n        }\n        this.$fromUndo = false;\n        return redoSelectionRange;\n    };\n    UndoManager.prototype.$syncRev = function () {\n        var stack = this.$undoStack;\n        var nextDelta = stack[stack.length - 1];\n        var id = nextDelta && nextDelta[0].id || 0;\n        this.$redoStackBaseRev = id;\n        this.$rev = id;\n    };\n    UndoManager.prototype.reset = function () {\n        this.lastDeltas = null;\n        this.$lastDelta = null;\n        this.$undoStack = [];\n        this.$redoStack = [];\n        this.$rev = 0;\n        this.mark = 0;\n        this.$redoStackBaseRev = this.$rev;\n        this.selections = [];\n    };\n    UndoManager.prototype.canUndo = function () {\n        return this.$undoStack.length > 0;\n    };\n    UndoManager.prototype.canRedo = function () {\n        return this.$redoStack.length > 0;\n    };\n    UndoManager.prototype.bookmark = function (rev) {\n        if (rev == undefined)\n            rev = this.$rev;\n        this.mark = rev;\n    };\n    UndoManager.prototype.isAtBookmark = function () {\n        return this.$rev === this.mark;\n    };\n    UndoManager.prototype.toJSON = function () {\n        return {\n            $redoStack: this.$redoStack,\n            $undoStack: this.$undoStack\n        };\n    };\n    UndoManager.prototype.fromJSON = function (json) {\n        this.reset();\n        this.$undoStack = json.$undoStack;\n        this.$redoStack = json.$redoStack;\n    };\n    UndoManager.prototype.$prettyPrint = function (delta) {\n        if (delta)\n            return stringifyDelta(delta);\n        return stringifyDelta(this.$undoStack) + \"\\n---\\n\" + stringifyDelta(this.$redoStack);\n    };\n    return UndoManager;\n}());\nUndoManager.prototype.hasUndo = UndoManager.prototype.canUndo;\nUndoManager.prototype.hasRedo = UndoManager.prototype.canRedo;\nUndoManager.prototype.isClean = UndoManager.prototype.isAtBookmark;\nUndoManager.prototype.markClean = UndoManager.prototype.bookmark;\nfunction rearrangeUndoStack(stack, pos) {\n    for (var i = pos; i--;) {\n        var deltaSet = stack[i];\n        if (deltaSet && !deltaSet[0].ignore) {\n            while (i < pos - 1) {\n                var swapped = swapGroups(stack[i], stack[i + 1]);\n                stack[i] = swapped[0];\n                stack[i + 1] = swapped[1];\n                i++;\n            }\n            return true;\n        }\n    }\n}\nvar Range = require(\"./range\").Range;\nvar cmp = Range.comparePoints;\nvar comparePoints = Range.comparePoints;\nfunction $updateMarkers(delta) {\n    var isInsert = delta.action == \"insert\";\n    var start = delta.start;\n    var end = delta.end;\n    var rowShift = (end.row - start.row) * (isInsert ? 1 : -1);\n    var colShift = (end.column - start.column) * (isInsert ? 1 : -1);\n    if (isInsert)\n        end = start;\n    for (var i in this.marks) {\n        var point = this.marks[i];\n        var cmp = comparePoints(point, start);\n        if (cmp < 0) {\n            continue; // delta starts after the range\n        }\n        if (cmp === 0) {\n            if (isInsert) {\n                if (point.bias == 1) {\n                    cmp = 1;\n                }\n                else {\n                    point.bias == -1;\n                    continue;\n                }\n            }\n        }\n        var cmp2 = isInsert ? cmp : comparePoints(point, end);\n        if (cmp2 > 0) {\n            point.row += rowShift;\n            point.column += point.row == end.row ? colShift : 0;\n            continue;\n        }\n        if (!isInsert && cmp2 <= 0) {\n            point.row = start.row;\n            point.column = start.column;\n            if (cmp2 === 0)\n                point.bias = 1;\n        }\n    }\n}\nfunction clonePos(pos) {\n    return { row: pos.row, column: pos.column };\n}\nfunction cloneDelta(d) {\n    return {\n        start: clonePos(d.start),\n        end: clonePos(d.end),\n        action: d.action,\n        lines: d.lines.slice()\n    };\n}\nfunction stringifyDelta(d) {\n    d = d || this;\n    if (Array.isArray(d)) {\n        return d.map(stringifyDelta).join(\"\\n\");\n    }\n    var type = \"\";\n    if (d.action) {\n        type = d.action == \"insert\" ? \"+\" : \"-\";\n        type += \"[\" + d.lines + \"]\";\n    }\n    else if (d.value) {\n        if (Array.isArray(d.value)) {\n            type = d.value.map(stringifyRange).join(\"\\n\");\n        }\n        else {\n            type = stringifyRange(d.value);\n        }\n    }\n    if (d.start) {\n        type += stringifyRange(d);\n    }\n    if (d.id || d.rev) {\n        type += \"\\t(\" + (d.id || d.rev) + \")\";\n    }\n    return type;\n}\nfunction stringifyRange(r) {\n    return r.start.row + \":\" + r.start.column\n        + \"=>\" + r.end.row + \":\" + r.end.column;\n}\nfunction swap(d1, d2) {\n    var i1 = d1.action == \"insert\";\n    var i2 = d2.action == \"insert\";\n    if (i1 && i2) {\n        if (cmp(d2.start, d1.end) >= 0) {\n            shift(d2, d1, -1);\n        }\n        else if (cmp(d2.start, d1.start) <= 0) {\n            shift(d1, d2, +1);\n        }\n        else {\n            return null;\n        }\n    }\n    else if (i1 && !i2) {\n        if (cmp(d2.start, d1.end) >= 0) {\n            shift(d2, d1, -1);\n        }\n        else if (cmp(d2.end, d1.start) <= 0) {\n            shift(d1, d2, -1);\n        }\n        else {\n            return null;\n        }\n    }\n    else if (!i1 && i2) {\n        if (cmp(d2.start, d1.start) >= 0) {\n            shift(d2, d1, +1);\n        }\n        else if (cmp(d2.start, d1.start) <= 0) {\n            shift(d1, d2, +1);\n        }\n        else {\n            return null;\n        }\n    }\n    else if (!i1 && !i2) {\n        if (cmp(d2.start, d1.start) >= 0) {\n            shift(d2, d1, +1);\n        }\n        else if (cmp(d2.end, d1.start) <= 0) {\n            shift(d1, d2, -1);\n        }\n        else {\n            return null;\n        }\n    }\n    return [d2, d1];\n}\nfunction swapGroups(ds1, ds2) {\n    for (var i = ds1.length; i--;) {\n        for (var j = 0; j < ds2.length; j++) {\n            if (!swap(ds1[i], ds2[j])) {\n                while (i < ds1.length) {\n                    while (j--) {\n                        swap(ds2[j], ds1[i]);\n                    }\n                    j = ds2.length;\n                    i++;\n                }\n                return [ds1, ds2];\n            }\n        }\n    }\n    ds1.selectionBefore = ds2.selectionBefore =\n        ds1.selectionAfter = ds2.selectionAfter = null;\n    return [ds2, ds1];\n}\nfunction xform(d1, c1) {\n    var i1 = d1.action == \"insert\";\n    var i2 = c1.action == \"insert\";\n    if (i1 && i2) {\n        if (cmp(d1.start, c1.start) < 0) {\n            shift(c1, d1, 1);\n        }\n        else {\n            shift(d1, c1, 1);\n        }\n    }\n    else if (i1 && !i2) {\n        if (cmp(d1.start, c1.end) >= 0) {\n            shift(d1, c1, -1);\n        }\n        else if (cmp(d1.start, c1.start) <= 0) {\n            shift(c1, d1, +1);\n        }\n        else {\n            shift(d1, Range.fromPoints(c1.start, d1.start), -1);\n            shift(c1, d1, +1);\n        }\n    }\n    else if (!i1 && i2) {\n        if (cmp(c1.start, d1.end) >= 0) {\n            shift(c1, d1, -1);\n        }\n        else if (cmp(c1.start, d1.start) <= 0) {\n            shift(d1, c1, +1);\n        }\n        else {\n            shift(c1, Range.fromPoints(d1.start, c1.start), -1);\n            shift(d1, c1, +1);\n        }\n    }\n    else if (!i1 && !i2) {\n        if (cmp(c1.start, d1.end) >= 0) {\n            shift(c1, d1, -1);\n        }\n        else if (cmp(c1.end, d1.start) <= 0) {\n            shift(d1, c1, -1);\n        }\n        else {\n            var before, after;\n            if (cmp(d1.start, c1.start) < 0) {\n                before = d1;\n                d1 = splitDelta(d1, c1.start);\n            }\n            if (cmp(d1.end, c1.end) > 0) {\n                after = splitDelta(d1, c1.end);\n            }\n            shiftPos(c1.end, d1.start, d1.end, -1);\n            if (after && !before) {\n                d1.lines = after.lines;\n                d1.start = after.start;\n                d1.end = after.end;\n                after = d1;\n            }\n            return [c1, before, after].filter(Boolean);\n        }\n    }\n    return [c1, d1];\n}\nfunction shift(d1, d2, dir) {\n    shiftPos(d1.start, d2.start, d2.end, dir);\n    shiftPos(d1.end, d2.start, d2.end, dir);\n}\nfunction shiftPos(pos, start, end, dir) {\n    if (pos.row == (dir == 1 ? start : end).row) {\n        pos.column += dir * (end.column - start.column);\n    }\n    pos.row += dir * (end.row - start.row);\n}\nfunction splitDelta(c, pos) {\n    var lines = c.lines;\n    var end = c.end;\n    c.end = clonePos(pos);\n    var rowsBefore = c.end.row - c.start.row;\n    var otherLines = lines.splice(rowsBefore, lines.length);\n    var col = rowsBefore ? pos.column : pos.column - c.start.column;\n    lines.push(otherLines[0].substring(0, col));\n    otherLines[0] = otherLines[0].substr(col);\n    var rest = {\n        start: clonePos(pos),\n        end: end,\n        lines: otherLines,\n        action: c.action\n    };\n    return rest;\n}\nfunction moveDeltasByOne(redoStack, d) {\n    d = cloneDelta(d);\n    for (var j = redoStack.length; j--;) {\n        var deltaSet = redoStack[j];\n        for (var i = 0; i < deltaSet.length; i++) {\n            var x = deltaSet[i];\n            var xformed = xform(x, d);\n            d = xformed[0];\n            if (xformed.length != 2) {\n                if (xformed[2]) {\n                    deltaSet.splice(i + 1, 1, xformed[1], xformed[2]);\n                    i++;\n                }\n                else if (!xformed[1]) {\n                    deltaSet.splice(i, 1);\n                    i--;\n                }\n            }\n        }\n        if (!deltaSet.length) {\n            redoStack.splice(j, 1);\n        }\n    }\n    return redoStack;\n}\nfunction rebaseRedoStack(redoStack, deltaSets) {\n    for (var i = 0; i < deltaSets.length; i++) {\n        var deltas = deltaSets[i];\n        for (var j = 0; j < deltas.length; j++) {\n            moveDeltasByOne(redoStack, deltas[j]);\n        }\n    }\n}\nexports.UndoManager = UndoManager;\n\n});\n\nace.define(\"ace/edit_session/fold_line\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar Range = require(\"../range\").Range;\nvar FoldLine = /** @class */ (function () {\n    function FoldLine(foldData, folds) {\n        this.foldData = foldData;\n        if (Array.isArray(folds)) {\n            this.folds = folds;\n        }\n        else {\n            folds = this.folds = [folds];\n        }\n        var last = folds[folds.length - 1];\n        this.range = new Range(folds[0].start.row, folds[0].start.column, last.end.row, last.end.column);\n        this.start = this.range.start;\n        this.end = this.range.end;\n        this.folds.forEach(function (fold) {\n            fold.setFoldLine(this);\n        }, this);\n    }\n    FoldLine.prototype.shiftRow = function (shift) {\n        this.start.row += shift;\n        this.end.row += shift;\n        this.folds.forEach(function (fold) {\n            fold.start.row += shift;\n            fold.end.row += shift;\n        });\n    };\n    FoldLine.prototype.addFold = function (fold) {\n        if (fold.sameRow) {\n            if (fold.start.row < this.startRow || fold.endRow > this.endRow) {\n                throw new Error(\"Can't add a fold to this FoldLine as it has no connection\");\n            }\n            this.folds.push(fold);\n            this.folds.sort(function (a, b) {\n                return -a.range.compareEnd(b.start.row, b.start.column);\n            });\n            if (this.range.compareEnd(fold.start.row, fold.start.column) > 0) {\n                this.end.row = fold.end.row;\n                this.end.column = fold.end.column;\n            }\n            else if (this.range.compareStart(fold.end.row, fold.end.column) < 0) {\n                this.start.row = fold.start.row;\n                this.start.column = fold.start.column;\n            }\n        }\n        else if (fold.start.row == this.end.row) {\n            this.folds.push(fold);\n            this.end.row = fold.end.row;\n            this.end.column = fold.end.column;\n        }\n        else if (fold.end.row == this.start.row) {\n            this.folds.unshift(fold);\n            this.start.row = fold.start.row;\n            this.start.column = fold.start.column;\n        }\n        else {\n            throw new Error(\"Trying to add fold to FoldRow that doesn't have a matching row\");\n        }\n        fold.foldLine = this;\n    };\n    FoldLine.prototype.containsRow = function (row) {\n        return row >= this.start.row && row <= this.end.row;\n    };\n    FoldLine.prototype.walk = function (callback, endRow, endColumn) {\n        var lastEnd = 0, folds = this.folds, fold, cmp, stop, isNewRow = true;\n        if (endRow == null) {\n            endRow = this.end.row;\n            endColumn = this.end.column;\n        }\n        for (var i = 0; i < folds.length; i++) {\n            fold = folds[i];\n            cmp = fold.range.compareStart(endRow, endColumn);\n            if (cmp == -1) {\n                callback(null, endRow, endColumn, lastEnd, isNewRow);\n                return;\n            }\n            stop = callback(null, fold.start.row, fold.start.column, lastEnd, isNewRow);\n            stop = !stop && callback(fold.placeholder, fold.start.row, fold.start.column, lastEnd);\n            if (stop || cmp === 0) {\n                return;\n            }\n            isNewRow = !fold.sameRow;\n            lastEnd = fold.end.column;\n        }\n        callback(null, endRow, endColumn, lastEnd, isNewRow);\n    };\n    FoldLine.prototype.getNextFoldTo = function (row, column) {\n        var fold, cmp;\n        for (var i = 0; i < this.folds.length; i++) {\n            fold = this.folds[i];\n            cmp = fold.range.compareEnd(row, column);\n            if (cmp == -1) {\n                return {\n                    fold: fold,\n                    kind: \"after\"\n                };\n            }\n            else if (cmp === 0) {\n                return {\n                    fold: fold,\n                    kind: \"inside\"\n                };\n            }\n        }\n        return null;\n    };\n    FoldLine.prototype.addRemoveChars = function (row, column, len) {\n        var ret = this.getNextFoldTo(row, column), fold, folds;\n        if (ret) {\n            fold = ret.fold;\n            if (ret.kind == \"inside\"\n                && fold.start.column != column\n                && fold.start.row != row) {\n                window.console && window.console.log(row, column, fold);\n            }\n            else if (fold.start.row == row) {\n                folds = this.folds;\n                var i = folds.indexOf(fold);\n                if (i === 0) {\n                    this.start.column += len;\n                }\n                for (i; i < folds.length; i++) {\n                    fold = folds[i];\n                    fold.start.column += len;\n                    if (!fold.sameRow) {\n                        return;\n                    }\n                    fold.end.column += len;\n                }\n                this.end.column += len;\n            }\n        }\n    };\n    FoldLine.prototype.split = function (row, column) {\n        var pos = this.getNextFoldTo(row, column);\n        if (!pos || pos.kind == \"inside\")\n            return null;\n        var fold = pos.fold;\n        var folds = this.folds;\n        var foldData = this.foldData;\n        var i = folds.indexOf(fold);\n        var foldBefore = folds[i - 1];\n        this.end.row = foldBefore.end.row;\n        this.end.column = foldBefore.end.column;\n        folds = folds.splice(i, folds.length - i);\n        var newFoldLine = new FoldLine(foldData, folds);\n        foldData.splice(foldData.indexOf(this) + 1, 0, newFoldLine);\n        return newFoldLine;\n    };\n    FoldLine.prototype.merge = function (foldLineNext) {\n        var folds = foldLineNext.folds;\n        for (var i = 0; i < folds.length; i++) {\n            this.addFold(folds[i]);\n        }\n        var foldData = this.foldData;\n        foldData.splice(foldData.indexOf(foldLineNext), 1);\n    };\n    FoldLine.prototype.toString = function () {\n        var ret = [this.range.toString() + \": [\"];\n        this.folds.forEach(function (fold) {\n            ret.push(\"  \" + fold.toString());\n        });\n        ret.push(\"]\");\n        return ret.join(\"\\n\");\n    };\n    FoldLine.prototype.idxToPosition = function (idx) {\n        var lastFoldEndColumn = 0;\n        for (var i = 0; i < this.folds.length; i++) {\n            var fold = this.folds[i];\n            idx -= fold.start.column - lastFoldEndColumn;\n            if (idx < 0) {\n                return {\n                    row: fold.start.row,\n                    column: fold.start.column + idx\n                };\n            }\n            idx -= fold.placeholder.length;\n            if (idx < 0) {\n                return fold.start;\n            }\n            lastFoldEndColumn = fold.end.column;\n        }\n        return {\n            row: this.end.row,\n            column: this.end.column + idx\n        };\n    };\n    return FoldLine;\n}());\nexports.FoldLine = FoldLine;\n\n});\n\nace.define(\"ace/range_list\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar Range = require(\"./range\").Range;\nvar comparePoints = Range.comparePoints;\nvar RangeList = /** @class */ (function () {\n    function RangeList() {\n        this.ranges = [];\n        this.$bias = 1;\n    }\n    RangeList.prototype.pointIndex = function (pos, excludeEdges, startIndex) {\n        var list = this.ranges;\n        for (var i = startIndex || 0; i < list.length; i++) {\n            var range = list[i];\n            var cmpEnd = comparePoints(pos, range.end);\n            if (cmpEnd > 0)\n                continue;\n            var cmpStart = comparePoints(pos, range.start);\n            if (cmpEnd === 0)\n                return excludeEdges && cmpStart !== 0 ? -i - 2 : i;\n            if (cmpStart > 0 || (cmpStart === 0 && !excludeEdges))\n                return i;\n            return -i - 1;\n        }\n        return -i - 1;\n    };\n    RangeList.prototype.add = function (range) {\n        var excludeEdges = !range.isEmpty();\n        var startIndex = this.pointIndex(range.start, excludeEdges);\n        if (startIndex < 0)\n            startIndex = -startIndex - 1;\n        var endIndex = this.pointIndex(range.end, excludeEdges, startIndex);\n        if (endIndex < 0)\n            endIndex = -endIndex - 1;\n        else\n            endIndex++;\n        return this.ranges.splice(startIndex, endIndex - startIndex, range);\n    };\n    RangeList.prototype.addList = function (list) {\n        var removed = [];\n        for (var i = list.length; i--;) {\n            removed.push.apply(removed, this.add(list[i]));\n        }\n        return removed;\n    };\n    RangeList.prototype.substractPoint = function (pos) {\n        var i = this.pointIndex(pos);\n        if (i >= 0)\n            return this.ranges.splice(i, 1);\n    };\n    RangeList.prototype.merge = function () {\n        var removed = [];\n        var list = this.ranges;\n        list = list.sort(function (a, b) {\n            return comparePoints(a.start, b.start);\n        });\n        var next = list[0], range;\n        for (var i = 1; i < list.length; i++) {\n            range = next;\n            next = list[i];\n            var cmp = comparePoints(range.end, next.start);\n            if (cmp < 0)\n                continue;\n            if (cmp == 0 && !range.isEmpty() && !next.isEmpty())\n                continue;\n            if (comparePoints(range.end, next.end) < 0) {\n                range.end.row = next.end.row;\n                range.end.column = next.end.column;\n            }\n            list.splice(i, 1);\n            removed.push(next);\n            next = range;\n            i--;\n        }\n        this.ranges = list;\n        return removed;\n    };\n    RangeList.prototype.contains = function (row, column) {\n        return this.pointIndex({ row: row, column: column }) >= 0;\n    };\n    RangeList.prototype.containsPoint = function (pos) {\n        return this.pointIndex(pos) >= 0;\n    };\n    RangeList.prototype.rangeAtPoint = function (pos) {\n        var i = this.pointIndex(pos);\n        if (i >= 0)\n            return this.ranges[i];\n    };\n    RangeList.prototype.clipRows = function (startRow, endRow) {\n        var list = this.ranges;\n        if (list[0].start.row > endRow || list[list.length - 1].start.row < startRow)\n            return [];\n        var startIndex = this.pointIndex({ row: startRow, column: 0 });\n        if (startIndex < 0)\n            startIndex = -startIndex - 1;\n        var endIndex = this.pointIndex({ row: endRow, column: 0 }, startIndex);\n        if (endIndex < 0)\n            endIndex = -endIndex - 1;\n        var clipped = [];\n        for (var i = startIndex; i < endIndex; i++) {\n            clipped.push(list[i]);\n        }\n        return clipped;\n    };\n    RangeList.prototype.removeAll = function () {\n        return this.ranges.splice(0, this.ranges.length);\n    };\n    RangeList.prototype.attach = function (session) {\n        if (this.session)\n            this.detach();\n        this.session = session;\n        this.onChange = this.$onChange.bind(this);\n        this.session.on('change', this.onChange);\n    };\n    RangeList.prototype.detach = function () {\n        if (!this.session)\n            return;\n        this.session.removeListener('change', this.onChange);\n        this.session = null;\n    };\n    RangeList.prototype.$onChange = function (delta) {\n        var start = delta.start;\n        var end = delta.end;\n        var startRow = start.row;\n        var endRow = end.row;\n        var ranges = this.ranges;\n        for (var i = 0, n = ranges.length; i < n; i++) {\n            var r = ranges[i];\n            if (r.end.row >= startRow)\n                break;\n        }\n        if (delta.action == \"insert\") {\n            var lineDif = endRow - startRow;\n            var colDiff = -start.column + end.column;\n            for (; i < n; i++) {\n                var r = ranges[i];\n                if (r.start.row > startRow)\n                    break;\n                if (r.start.row == startRow && r.start.column >= start.column) {\n                    if (r.start.column == start.column && this.$bias <= 0) {\n                    }\n                    else {\n                        r.start.column += colDiff;\n                        r.start.row += lineDif;\n                    }\n                }\n                if (r.end.row == startRow && r.end.column >= start.column) {\n                    if (r.end.column == start.column && this.$bias < 0) {\n                        continue;\n                    }\n                    if (r.end.column == start.column && colDiff > 0 && i < n - 1) {\n                        if (r.end.column > r.start.column && r.end.column == ranges[i + 1].start.column)\n                            r.end.column -= colDiff;\n                    }\n                    r.end.column += colDiff;\n                    r.end.row += lineDif;\n                }\n            }\n        }\n        else {\n            var lineDif = startRow - endRow;\n            var colDiff = start.column - end.column;\n            for (; i < n; i++) {\n                var r = ranges[i];\n                if (r.start.row > endRow)\n                    break;\n                if (r.end.row < endRow\n                    && (startRow < r.end.row\n                        || startRow == r.end.row && start.column < r.end.column)) {\n                    r.end.row = startRow;\n                    r.end.column = start.column;\n                }\n                else if (r.end.row == endRow) {\n                    if (r.end.column <= end.column) {\n                        if (lineDif || r.end.column > start.column) {\n                            r.end.column = start.column;\n                            r.end.row = start.row;\n                        }\n                    }\n                    else {\n                        r.end.column += colDiff;\n                        r.end.row += lineDif;\n                    }\n                }\n                else if (r.end.row > endRow) {\n                    r.end.row += lineDif;\n                }\n                if (r.start.row < endRow\n                    && (startRow < r.start.row\n                        || startRow == r.start.row && start.column < r.start.column)) {\n                    r.start.row = startRow;\n                    r.start.column = start.column;\n                }\n                else if (r.start.row == endRow) {\n                    if (r.start.column <= end.column) {\n                        if (lineDif || r.start.column > start.column) {\n                            r.start.column = start.column;\n                            r.start.row = start.row;\n                        }\n                    }\n                    else {\n                        r.start.column += colDiff;\n                        r.start.row += lineDif;\n                    }\n                }\n                else if (r.start.row > endRow) {\n                    r.start.row += lineDif;\n                }\n            }\n        }\n        if (lineDif != 0 && i < n) {\n            for (; i < n; i++) {\n                var r = ranges[i];\n                r.start.row += lineDif;\n                r.end.row += lineDif;\n            }\n        }\n    };\n    return RangeList;\n}());\nRangeList.prototype.comparePoints = comparePoints;\nexports.RangeList = RangeList;\n\n});\n\nace.define(\"ace/edit_session/fold\",[\"require\",\"exports\",\"module\",\"ace/range_list\"], function(require, exports, module){\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar RangeList = require(\"../range_list\").RangeList;\nvar Fold = /** @class */ (function (_super) {\n    __extends(Fold, _super);\n    function Fold(range, placeholder) {\n        var _this = _super.call(this) || this;\n        _this.foldLine = null;\n        _this.placeholder = placeholder;\n        _this.range = range;\n        _this.start = range.start;\n        _this.end = range.end;\n        _this.sameRow = range.start.row == range.end.row;\n        _this.subFolds = _this.ranges = [];\n        return _this;\n    }\n    Fold.prototype.toString = function () {\n        return '\"' + this.placeholder + '\" ' + this.range.toString();\n    };\n    Fold.prototype.setFoldLine = function (foldLine) {\n        this.foldLine = foldLine;\n        this.subFolds.forEach(function (fold) {\n            fold.setFoldLine(foldLine);\n        });\n    };\n    Fold.prototype.clone = function () {\n        var range = this.range.clone();\n        var fold = new Fold(range, this.placeholder);\n        this.subFolds.forEach(function (subFold) {\n            fold.subFolds.push(subFold.clone());\n        });\n        fold.collapseChildren = this.collapseChildren;\n        return fold;\n    };\n    Fold.prototype.addSubFold = function (fold) {\n        if (this.range.isEqual(fold))\n            return;\n        consumeRange(fold, this.start);\n        var row = fold.start.row, column = fold.start.column;\n        for (var i = 0, cmp = -1; i < this.subFolds.length; i++) {\n            cmp = this.subFolds[i].range.compare(row, column);\n            if (cmp != 1)\n                break;\n        }\n        var afterStart = this.subFolds[i];\n        var firstConsumed = 0;\n        if (cmp == 0) {\n            if (afterStart.range.containsRange(fold))\n                return afterStart.addSubFold(fold);\n            else\n                firstConsumed = 1;\n        }\n        var row = fold.range.end.row, column = fold.range.end.column;\n        for (var j = i, cmp = -1; j < this.subFolds.length; j++) {\n            cmp = this.subFolds[j].range.compare(row, column);\n            if (cmp != 1)\n                break;\n        }\n        if (cmp == 0)\n            j++;\n        var consumedFolds = this.subFolds.splice(i, j - i, fold);\n        var last = cmp == 0 ? consumedFolds.length - 1 : consumedFolds.length;\n        for (var k = firstConsumed; k < last; k++) {\n            fold.addSubFold(consumedFolds[k]);\n        }\n        fold.setFoldLine(this.foldLine);\n        return fold;\n    };\n    Fold.prototype.restoreRange = function (range) {\n        return restoreRange(range, this.start);\n    };\n    return Fold;\n}(RangeList));\nfunction consumePoint(point, anchor) {\n    point.row -= anchor.row;\n    if (point.row == 0)\n        point.column -= anchor.column;\n}\nfunction consumeRange(range, anchor) {\n    consumePoint(range.start, anchor);\n    consumePoint(range.end, anchor);\n}\nfunction restorePoint(point, anchor) {\n    if (point.row == 0)\n        point.column += anchor.column;\n    point.row += anchor.row;\n}\nfunction restoreRange(range, anchor) {\n    restorePoint(range.start, anchor);\n    restorePoint(range.end, anchor);\n}\nexports.Fold = Fold;\n\n});\n\nace.define(\"ace/edit_session/folding\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/edit_session/fold_line\",\"ace/edit_session/fold\",\"ace/token_iterator\",\"ace/mouse/mouse_event\"], function(require, exports, module){// @ts-nocheck\n\"use strict\";\nvar Range = require(\"../range\").Range;\nvar FoldLine = require(\"./fold_line\").FoldLine;\nvar Fold = require(\"./fold\").Fold;\nvar TokenIterator = require(\"../token_iterator\").TokenIterator;\nvar MouseEvent = require(\"../mouse/mouse_event\").MouseEvent;\nfunction Folding() {\n    this.getFoldAt = function (row, column, side) {\n        var foldLine = this.getFoldLine(row);\n        if (!foldLine)\n            return null;\n        var folds = foldLine.folds;\n        for (var i = 0; i < folds.length; i++) {\n            var range = folds[i].range;\n            if (range.contains(row, column)) {\n                if (side == 1 && range.isEnd(row, column) && !range.isEmpty()) {\n                    continue;\n                }\n                else if (side == -1 && range.isStart(row, column) && !range.isEmpty()) {\n                    continue;\n                }\n                return folds[i];\n            }\n        }\n    };\n    this.getFoldsInRange = function (range) {\n        var start = range.start;\n        var end = range.end;\n        var foldLines = this.$foldData;\n        var foundFolds = [];\n        start.column += 1;\n        end.column -= 1;\n        for (var i = 0; i < foldLines.length; i++) {\n            var cmp = foldLines[i].range.compareRange(range);\n            if (cmp == 2) {\n                continue;\n            }\n            else if (cmp == -2) {\n                break;\n            }\n            var folds = foldLines[i].folds;\n            for (var j = 0; j < folds.length; j++) {\n                var fold = folds[j];\n                cmp = fold.range.compareRange(range);\n                if (cmp == -2) {\n                    break;\n                }\n                else if (cmp == 2) {\n                    continue;\n                }\n                else \n                if (cmp == 42) {\n                    break;\n                }\n                foundFolds.push(fold);\n            }\n        }\n        start.column -= 1;\n        end.column += 1;\n        return foundFolds;\n    };\n    this.getFoldsInRangeList = function (ranges) {\n        if (Array.isArray(ranges)) {\n            var folds = [];\n            ranges.forEach(function (range) {\n                folds = folds.concat(this.getFoldsInRange(range));\n            }, this);\n        }\n        else {\n            var folds = this.getFoldsInRange(ranges);\n        }\n        return folds;\n    };\n    this.getAllFolds = function () {\n        var folds = [];\n        var foldLines = this.$foldData;\n        for (var i = 0; i < foldLines.length; i++)\n            for (var j = 0; j < foldLines[i].folds.length; j++)\n                folds.push(foldLines[i].folds[j]);\n        return folds;\n    };\n    this.getFoldStringAt = function (row, column, trim, foldLine) {\n        foldLine = foldLine || this.getFoldLine(row);\n        if (!foldLine)\n            return null;\n        var lastFold = {\n            end: { column: 0 }\n        };\n        var str, fold;\n        for (var i = 0; i < foldLine.folds.length; i++) {\n            fold = foldLine.folds[i];\n            var cmp = fold.range.compareEnd(row, column);\n            if (cmp == -1) {\n                str = this\n                    .getLine(fold.start.row)\n                    .substring(lastFold.end.column, fold.start.column);\n                break;\n            }\n            else if (cmp === 0) {\n                return null;\n            }\n            lastFold = fold;\n        }\n        if (!str)\n            str = this.getLine(fold.start.row).substring(lastFold.end.column);\n        if (trim == -1)\n            return str.substring(0, column - lastFold.end.column);\n        else if (trim == 1)\n            return str.substring(column - lastFold.end.column);\n        else\n            return str;\n    };\n    this.getFoldLine = function (docRow, startFoldLine) {\n        var foldData = this.$foldData;\n        var i = 0;\n        if (startFoldLine)\n            i = foldData.indexOf(startFoldLine);\n        if (i == -1)\n            i = 0;\n        for (i; i < foldData.length; i++) {\n            var foldLine = foldData[i];\n            if (foldLine.start.row <= docRow && foldLine.end.row >= docRow) {\n                return foldLine;\n            }\n            else if (foldLine.end.row > docRow) {\n                return null;\n            }\n        }\n        return null;\n    };\n    this.getNextFoldLine = function (docRow, startFoldLine) {\n        var foldData = this.$foldData;\n        var i = 0;\n        if (startFoldLine)\n            i = foldData.indexOf(startFoldLine);\n        if (i == -1)\n            i = 0;\n        for (i; i < foldData.length; i++) {\n            var foldLine = foldData[i];\n            if (foldLine.end.row >= docRow) {\n                return foldLine;\n            }\n        }\n        return null;\n    };\n    this.getFoldedRowCount = function (first, last) {\n        var foldData = this.$foldData, rowCount = last - first + 1;\n        for (var i = 0; i < foldData.length; i++) {\n            var foldLine = foldData[i], end = foldLine.end.row, start = foldLine.start.row;\n            if (end >= last) {\n                if (start < last) {\n                    if (start >= first)\n                        rowCount -= last - start;\n                    else\n                        rowCount = 0; // in one fold\n                }\n                break;\n            }\n            else if (end >= first) {\n                if (start >= first) // fold inside range\n                    rowCount -= end - start;\n                else\n                    rowCount -= end - first + 1;\n            }\n        }\n        return rowCount;\n    };\n    this.$addFoldLine = function (foldLine) {\n        this.$foldData.push(foldLine);\n        this.$foldData.sort(function (a, b) {\n            return a.start.row - b.start.row;\n        });\n        return foldLine;\n    };\n    this.addFold = function (placeholder, range) {\n        var foldData = this.$foldData;\n        var added = false;\n        var fold;\n        if (placeholder instanceof Fold)\n            fold = placeholder;\n        else {\n            fold = new Fold(range, placeholder);\n            fold.collapseChildren = range.collapseChildren;\n        }\n        this.$clipRangeToDocument(fold.range);\n        var startRow = fold.start.row;\n        var startColumn = fold.start.column;\n        var endRow = fold.end.row;\n        var endColumn = fold.end.column;\n        var startFold = this.getFoldAt(startRow, startColumn, 1);\n        var endFold = this.getFoldAt(endRow, endColumn, -1);\n        if (startFold && endFold == startFold)\n            return startFold.addSubFold(fold);\n        if (startFold && !startFold.range.isStart(startRow, startColumn))\n            this.removeFold(startFold);\n        if (endFold && !endFold.range.isEnd(endRow, endColumn))\n            this.removeFold(endFold);\n        var folds = this.getFoldsInRange(fold.range);\n        if (folds.length > 0) {\n            this.removeFolds(folds);\n            if (!fold.collapseChildren) {\n                folds.forEach(function (subFold) {\n                    fold.addSubFold(subFold);\n                });\n            }\n        }\n        for (var i = 0; i < foldData.length; i++) {\n            var foldLine = foldData[i];\n            if (endRow == foldLine.start.row) {\n                foldLine.addFold(fold);\n                added = true;\n                break;\n            }\n            else if (startRow == foldLine.end.row) {\n                foldLine.addFold(fold);\n                added = true;\n                if (!fold.sameRow) {\n                    var foldLineNext = foldData[i + 1];\n                    if (foldLineNext && foldLineNext.start.row == endRow) {\n                        foldLine.merge(foldLineNext);\n                        break;\n                    }\n                }\n                break;\n            }\n            else if (endRow <= foldLine.start.row) {\n                break;\n            }\n        }\n        if (!added)\n            foldLine = this.$addFoldLine(new FoldLine(this.$foldData, fold));\n        if (this.$useWrapMode)\n            this.$updateWrapData(foldLine.start.row, foldLine.start.row);\n        else\n            this.$updateRowLengthCache(foldLine.start.row, foldLine.start.row);\n        this.$modified = true;\n        this._signal(\"changeFold\", { data: fold, action: \"add\" });\n        return fold;\n    };\n    this.addFolds = function (folds) {\n        folds.forEach(function (fold) {\n            this.addFold(fold);\n        }, this);\n    };\n    this.removeFold = function (fold) {\n        var foldLine = fold.foldLine;\n        var startRow = foldLine.start.row;\n        var endRow = foldLine.end.row;\n        var foldLines = this.$foldData;\n        var folds = foldLine.folds;\n        if (folds.length == 1) {\n            foldLines.splice(foldLines.indexOf(foldLine), 1);\n        }\n        else \n        if (foldLine.range.isEnd(fold.end.row, fold.end.column)) {\n            folds.pop();\n            foldLine.end.row = folds[folds.length - 1].end.row;\n            foldLine.end.column = folds[folds.length - 1].end.column;\n        }\n        else \n        if (foldLine.range.isStart(fold.start.row, fold.start.column)) {\n            folds.shift();\n            foldLine.start.row = folds[0].start.row;\n            foldLine.start.column = folds[0].start.column;\n        }\n        else \n        if (fold.sameRow) {\n            folds.splice(folds.indexOf(fold), 1);\n        }\n        else \n        {\n            var newFoldLine = foldLine.split(fold.start.row, fold.start.column);\n            folds = newFoldLine.folds;\n            folds.shift();\n            newFoldLine.start.row = folds[0].start.row;\n            newFoldLine.start.column = folds[0].start.column;\n        }\n        if (!this.$updating) {\n            if (this.$useWrapMode)\n                this.$updateWrapData(startRow, endRow);\n            else\n                this.$updateRowLengthCache(startRow, endRow);\n        }\n        this.$modified = true;\n        this._signal(\"changeFold\", { data: fold, action: \"remove\" });\n    };\n    this.removeFolds = function (folds) {\n        var cloneFolds = [];\n        for (var i = 0; i < folds.length; i++) {\n            cloneFolds.push(folds[i]);\n        }\n        cloneFolds.forEach(function (fold) {\n            this.removeFold(fold);\n        }, this);\n        this.$modified = true;\n    };\n    this.expandFold = function (fold) {\n        this.removeFold(fold);\n        fold.subFolds.forEach(function (subFold) {\n            fold.restoreRange(subFold);\n            this.addFold(subFold);\n        }, this);\n        if (fold.collapseChildren > 0) {\n            this.foldAll(fold.start.row + 1, fold.end.row, fold.collapseChildren - 1);\n        }\n        fold.subFolds = [];\n    };\n    this.expandFolds = function (folds) {\n        folds.forEach(function (fold) {\n            this.expandFold(fold);\n        }, this);\n    };\n    this.unfold = function (location, expandInner) {\n        var range, folds;\n        if (location == null) {\n            range = new Range(0, 0, this.getLength(), 0);\n            if (expandInner == null)\n                expandInner = true;\n        }\n        else if (typeof location == \"number\") {\n            range = new Range(location, 0, location, this.getLine(location).length);\n        }\n        else if (\"row\" in location) {\n            range = Range.fromPoints(location, location);\n        }\n        else if (Array.isArray(location)) {\n            folds = [];\n            location.forEach(function (range) {\n                folds = folds.concat(this.unfold(range));\n            }, this);\n            return folds;\n        }\n        else {\n            range = location;\n        }\n        folds = this.getFoldsInRangeList(range);\n        var outermostFolds = folds;\n        while (folds.length == 1\n            && Range.comparePoints(folds[0].start, range.start) < 0\n            && Range.comparePoints(folds[0].end, range.end) > 0) {\n            this.expandFolds(folds);\n            folds = this.getFoldsInRangeList(range);\n        }\n        if (expandInner != false) {\n            this.removeFolds(folds);\n        }\n        else {\n            this.expandFolds(folds);\n        }\n        if (outermostFolds.length)\n            return outermostFolds;\n    };\n    this.isRowFolded = function (docRow, startFoldRow) {\n        return !!this.getFoldLine(docRow, startFoldRow);\n    };\n    this.getRowFoldEnd = function (docRow, startFoldRow) {\n        var foldLine = this.getFoldLine(docRow, startFoldRow);\n        return foldLine ? foldLine.end.row : docRow;\n    };\n    this.getRowFoldStart = function (docRow, startFoldRow) {\n        var foldLine = this.getFoldLine(docRow, startFoldRow);\n        return foldLine ? foldLine.start.row : docRow;\n    };\n    this.getFoldDisplayLine = function (foldLine, endRow, endColumn, startRow, startColumn) {\n        if (startRow == null)\n            startRow = foldLine.start.row;\n        if (startColumn == null)\n            startColumn = 0;\n        if (endRow == null)\n            endRow = foldLine.end.row;\n        if (endColumn == null)\n            endColumn = this.getLine(endRow).length;\n        var doc = this.doc;\n        var textLine = \"\";\n        foldLine.walk(function (placeholder, row, column, lastColumn) {\n            if (row < startRow)\n                return;\n            if (row == startRow) {\n                if (column < startColumn)\n                    return;\n                lastColumn = Math.max(startColumn, lastColumn);\n            }\n            if (placeholder != null) {\n                textLine += placeholder;\n            }\n            else {\n                textLine += doc.getLine(row).substring(lastColumn, column);\n            }\n        }, endRow, endColumn);\n        return textLine;\n    };\n    this.getDisplayLine = function (row, endColumn, startRow, startColumn) {\n        var foldLine = this.getFoldLine(row);\n        if (!foldLine) {\n            var line;\n            line = this.doc.getLine(row);\n            return line.substring(startColumn || 0, endColumn || line.length);\n        }\n        else {\n            return this.getFoldDisplayLine(foldLine, row, endColumn, startRow, startColumn);\n        }\n    };\n    this.$cloneFoldData = function () {\n        var fd = [];\n        fd = this.$foldData.map(function (foldLine) {\n            var folds = foldLine.folds.map(function (fold) {\n                return fold.clone();\n            });\n            return new FoldLine(fd, folds);\n        });\n        return fd;\n    };\n    this.toggleFold = function (tryToUnfold) {\n        var selection = this.selection;\n        var range = selection.getRange();\n        var fold;\n        var bracketPos;\n        if (range.isEmpty()) {\n            var cursor = range.start;\n            fold = this.getFoldAt(cursor.row, cursor.column);\n            if (fold) {\n                this.expandFold(fold);\n                return;\n            }\n            else if (bracketPos = this.findMatchingBracket(cursor)) {\n                if (range.comparePoint(bracketPos) == 1) {\n                    range.end = bracketPos;\n                }\n                else {\n                    range.start = bracketPos;\n                    range.start.column++;\n                    range.end.column--;\n                }\n            }\n            else if (bracketPos = this.findMatchingBracket({ row: cursor.row, column: cursor.column + 1 })) {\n                if (range.comparePoint(bracketPos) == 1)\n                    range.end = bracketPos;\n                else\n                    range.start = bracketPos;\n                range.start.column++;\n            }\n            else {\n                range = this.getCommentFoldRange(cursor.row, cursor.column) || range;\n            }\n        }\n        else {\n            var folds = this.getFoldsInRange(range);\n            if (tryToUnfold && folds.length) {\n                this.expandFolds(folds);\n                return;\n            }\n            else if (folds.length == 1) {\n                fold = folds[0];\n            }\n        }\n        if (!fold)\n            fold = this.getFoldAt(range.start.row, range.start.column);\n        if (fold && fold.range.toString() == range.toString()) {\n            this.expandFold(fold);\n            return;\n        }\n        var placeholder = \"...\";\n        if (!range.isMultiLine()) {\n            placeholder = this.getTextRange(range);\n            if (placeholder.length < 4)\n                return;\n            placeholder = placeholder.trim().substring(0, 2) + \"..\";\n        }\n        this.addFold(placeholder, range);\n    };\n    this.getCommentFoldRange = function (row, column, dir) {\n        var iterator = new TokenIterator(this, row, column);\n        var token = iterator.getCurrentToken();\n        var type = token && token.type;\n        if (token && /^comment|string/.test(type)) {\n            type = type.match(/comment|string/)[0];\n            if (type == \"comment\")\n                type += \"|doc-start|\\\\.doc\";\n            var re = new RegExp(type);\n            var range = new Range();\n            if (dir != 1) {\n                do {\n                    token = iterator.stepBackward();\n                } while (token && re.test(token.type));\n                token = iterator.stepForward();\n            }\n            range.start.row = iterator.getCurrentTokenRow();\n            range.start.column = iterator.getCurrentTokenColumn() + token.value.length;\n            iterator = new TokenIterator(this, row, column);\n            var initState = this.getState(iterator.$row);\n            if (dir != -1) {\n                var lastRow = -1;\n                do {\n                    token = iterator.stepForward();\n                    if (lastRow == -1) {\n                        var state = this.getState(iterator.$row);\n                        if (initState.toString() !== state.toString())\n                            lastRow = iterator.$row;\n                    }\n                    else if (iterator.$row > lastRow) {\n                        break;\n                    }\n                } while (token && re.test(token.type));\n                token = iterator.stepBackward();\n            }\n            else\n                token = iterator.getCurrentToken();\n            range.end.row = iterator.getCurrentTokenRow();\n            range.end.column = iterator.getCurrentTokenColumn();\n            return range;\n        }\n    };\n    this.foldAll = function (startRow, endRow, depth, test) {\n        if (depth == undefined)\n            depth = 100000; // JSON.stringify doesn't hanle Infinity\n        var foldWidgets = this.foldWidgets;\n        if (!foldWidgets)\n            return; // mode doesn't support folding\n        endRow = endRow || this.getLength();\n        startRow = startRow || 0;\n        for (var row = startRow; row < endRow; row++) {\n            if (foldWidgets[row] == null)\n                foldWidgets[row] = this.getFoldWidget(row);\n            if (foldWidgets[row] != \"start\")\n                continue;\n            if (test && !test(row))\n                continue;\n            var range = this.getFoldWidgetRange(row);\n            if (range && range.isMultiLine()\n                && range.end.row <= endRow\n                && range.start.row >= startRow) {\n                row = range.end.row;\n                range.collapseChildren = depth;\n                this.addFold(\"...\", range);\n            }\n        }\n    };\n    this.foldToLevel = function (level) {\n        this.foldAll();\n        while (level-- > 0)\n            this.unfold(null, false);\n    };\n    this.foldAllComments = function () {\n        var session = this;\n        this.foldAll(null, null, null, function (row) {\n            var tokens = session.getTokens(row);\n            for (var i = 0; i < tokens.length; i++) {\n                var token = tokens[i];\n                if (token.type == \"text\" && /^\\s+$/.test(token.value))\n                    continue;\n                if (/comment/.test(token.type))\n                    return true;\n                return false;\n            }\n        });\n    };\n    this.$foldStyles = {\n        \"manual\": 1,\n        \"markbegin\": 1,\n        \"markbeginend\": 1\n    };\n    this.$foldStyle = \"markbegin\";\n    this.setFoldStyle = function (style) {\n        if (!this.$foldStyles[style])\n            throw new Error(\"invalid fold style: \" + style + \"[\" + Object.keys(this.$foldStyles).join(\", \") + \"]\");\n        if (this.$foldStyle == style)\n            return;\n        this.$foldStyle = style;\n        if (style == \"manual\")\n            this.unfold();\n        var mode = this.$foldMode;\n        this.$setFolding(null);\n        this.$setFolding(mode);\n    };\n    this.$setFolding = function (foldMode) {\n        if (this.$foldMode == foldMode)\n            return;\n        this.$foldMode = foldMode;\n        this.off('change', this.$updateFoldWidgets);\n        this.off('tokenizerUpdate', this.$tokenizerUpdateFoldWidgets);\n        this._signal(\"changeAnnotation\");\n        if (!foldMode || this.$foldStyle == \"manual\") {\n            this.foldWidgets = null;\n            return;\n        }\n        this.foldWidgets = [];\n        this.getFoldWidget = foldMode.getFoldWidget.bind(foldMode, this, this.$foldStyle);\n        this.getFoldWidgetRange = foldMode.getFoldWidgetRange.bind(foldMode, this, this.$foldStyle);\n        this.$updateFoldWidgets = this.updateFoldWidgets.bind(this);\n        this.$tokenizerUpdateFoldWidgets = this.tokenizerUpdateFoldWidgets.bind(this);\n        this.on('change', this.$updateFoldWidgets);\n        this.on('tokenizerUpdate', this.$tokenizerUpdateFoldWidgets);\n    };\n    this.getParentFoldRangeData = function (row, ignoreCurrent) {\n        var fw = this.foldWidgets;\n        if (!fw || (ignoreCurrent && fw[row]))\n            return {};\n        var i = row - 1, firstRange;\n        while (i >= 0) {\n            var c = fw[i];\n            if (c == null)\n                c = fw[i] = this.getFoldWidget(i);\n            if (c == \"start\") {\n                var range = this.getFoldWidgetRange(i);\n                if (!firstRange)\n                    firstRange = range;\n                if (range && range.end.row >= row)\n                    break;\n            }\n            i--;\n        }\n        return {\n            range: i !== -1 && range,\n            firstRange: firstRange\n        };\n    };\n    this.onFoldWidgetClick = function (row, e) {\n        if (e instanceof MouseEvent)\n            e = e.domEvent;\n        var options = {\n            children: e.shiftKey,\n            all: e.ctrlKey || e.metaKey,\n            siblings: e.altKey\n        };\n        var range = this.$toggleFoldWidget(row, options);\n        if (!range) {\n            var el = (e.target || e.srcElement);\n            if (el && /ace_fold-widget/.test(el.className))\n                el.className += \" ace_invalid\";\n        }\n    };\n    this.$toggleFoldWidget = function (row, options) {\n        if (!this.getFoldWidget)\n            return;\n        var type = this.getFoldWidget(row);\n        var line = this.getLine(row);\n        var dir = type === \"end\" ? -1 : 1;\n        var fold = this.getFoldAt(row, dir === -1 ? 0 : line.length, dir);\n        if (fold) {\n            if (options.children || options.all)\n                this.removeFold(fold);\n            else\n                this.expandFold(fold);\n            return fold;\n        }\n        var range = this.getFoldWidgetRange(row, true);\n        if (range && !range.isMultiLine()) {\n            fold = this.getFoldAt(range.start.row, range.start.column, 1);\n            if (fold && range.isEqual(fold.range)) {\n                this.removeFold(fold);\n                return fold;\n            }\n        }\n        if (options.siblings) {\n            var data = this.getParentFoldRangeData(row);\n            if (data.range) {\n                var startRow = data.range.start.row + 1;\n                var endRow = data.range.end.row;\n            }\n            this.foldAll(startRow, endRow, options.all ? 10000 : 0);\n        }\n        else if (options.children) {\n            endRow = range ? range.end.row : this.getLength();\n            this.foldAll(row + 1, endRow, options.all ? 10000 : 0);\n        }\n        else if (range) {\n            if (options.all)\n                range.collapseChildren = 10000;\n            this.addFold(\"...\", range);\n        }\n        return range;\n    };\n    this.toggleFoldWidget = function (toggleParent) {\n        var row = this.selection.getCursor().row;\n        row = this.getRowFoldStart(row);\n        var range = this.$toggleFoldWidget(row, {});\n        if (range)\n            return;\n        var data = this.getParentFoldRangeData(row, true);\n        range = data.range || data.firstRange;\n        if (range) {\n            row = range.start.row;\n            var fold = this.getFoldAt(row, this.getLine(row).length, 1);\n            if (fold) {\n                this.removeFold(fold);\n            }\n            else {\n                this.addFold(\"...\", range);\n            }\n        }\n    };\n    this.updateFoldWidgets = function (delta) {\n        var firstRow = delta.start.row;\n        var len = delta.end.row - firstRow;\n        if (len === 0) {\n            this.foldWidgets[firstRow] = null;\n        }\n        else if (delta.action == 'remove') {\n            this.foldWidgets.splice(firstRow, len + 1, null);\n        }\n        else {\n            var args = Array(len + 1);\n            args.unshift(firstRow, 1);\n            this.foldWidgets.splice.apply(this.foldWidgets, args);\n        }\n    };\n    this.tokenizerUpdateFoldWidgets = function (e) {\n        var rows = e.data;\n        if (rows.first != rows.last) {\n            if (this.foldWidgets.length > rows.first)\n                this.foldWidgets.splice(rows.first, this.foldWidgets.length);\n        }\n    };\n}\nexports.Folding = Folding;\n\n});\n\nace.define(\"ace/edit_session/bracket_match\",[\"require\",\"exports\",\"module\",\"ace/token_iterator\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar TokenIterator = require(\"../token_iterator\").TokenIterator;\nvar Range = require(\"../range\").Range;\nfunction BracketMatch() {\n    this.findMatchingBracket = function (position, chr) {\n        if (position.column == 0)\n            return null;\n        var charBeforeCursor = chr || this.getLine(position.row).charAt(position.column - 1);\n        if (charBeforeCursor == \"\")\n            return null;\n        var match = charBeforeCursor.match(/([\\(\\[\\{])|([\\)\\]\\}])/);\n        if (!match)\n            return null;\n        if (match[1])\n            return this.$findClosingBracket(match[1], position);\n        else\n            return this.$findOpeningBracket(match[2], position);\n    };\n    this.getBracketRange = function (pos) {\n        var line = this.getLine(pos.row);\n        var before = true, range;\n        var chr = line.charAt(pos.column - 1);\n        var match = chr && chr.match(/([\\(\\[\\{])|([\\)\\]\\}])/);\n        if (!match) {\n            chr = line.charAt(pos.column);\n            pos = { row: pos.row, column: pos.column + 1 };\n            match = chr && chr.match(/([\\(\\[\\{])|([\\)\\]\\}])/);\n            before = false;\n        }\n        if (!match)\n            return null;\n        if (match[1]) {\n            var bracketPos = this.$findClosingBracket(match[1], pos);\n            if (!bracketPos)\n                return null;\n            range = Range.fromPoints(pos, bracketPos);\n            if (!before) {\n                range.end.column++;\n                range.start.column--;\n            }\n            range.cursor = range.end;\n        }\n        else {\n            var bracketPos = this.$findOpeningBracket(match[2], pos);\n            if (!bracketPos)\n                return null;\n            range = Range.fromPoints(bracketPos, pos);\n            if (!before) {\n                range.start.column++;\n                range.end.column--;\n            }\n            range.cursor = range.start;\n        }\n        return range;\n    };\n    this.getMatchingBracketRanges = function (pos, isBackwards) {\n        var line = this.getLine(pos.row);\n        var bracketsRegExp = /([\\(\\[\\{])|([\\)\\]\\}])/;\n        var chr = !isBackwards && line.charAt(pos.column - 1);\n        var match = chr && chr.match(bracketsRegExp);\n        if (!match) {\n            chr = (isBackwards === undefined || isBackwards) && line.charAt(pos.column);\n            pos = {\n                row: pos.row,\n                column: pos.column + 1\n            };\n            match = chr && chr.match(bracketsRegExp);\n        }\n        if (!match)\n            return null;\n        var startRange = new Range(pos.row, pos.column - 1, pos.row, pos.column);\n        var bracketPos = match[1] ? this.$findClosingBracket(match[1], pos)\n            : this.$findOpeningBracket(match[2], pos);\n        if (!bracketPos)\n            return [startRange];\n        var endRange = new Range(bracketPos.row, bracketPos.column, bracketPos.row, bracketPos.column + 1);\n        return [startRange, endRange];\n    };\n    this.$brackets = {\n        \")\": \"(\",\n        \"(\": \")\",\n        \"]\": \"[\",\n        \"[\": \"]\",\n        \"{\": \"}\",\n        \"}\": \"{\",\n        \"<\": \">\",\n        \">\": \"<\"\n    };\n    this.$findOpeningBracket = function (bracket, position, typeRe) {\n        var openBracket = this.$brackets[bracket];\n        var depth = 1;\n        var iterator = new TokenIterator(this, position.row, position.column);\n        var token = iterator.getCurrentToken();\n        if (!token)\n            token = iterator.stepForward();\n        if (!token)\n            return;\n        if (!typeRe) {\n            typeRe = new RegExp(\"(\\\\.?\" +\n                token.type.replace(\".\", \"\\\\.\").replace(\"rparen\", \".paren\")\n                    .replace(/\\b(?:end)\\b/, \"(?:start|begin|end)\")\n                    .replace(/-close\\b/, \"-(close|open)\")\n                + \")+\");\n        }\n        var valueIndex = position.column - iterator.getCurrentTokenColumn() - 2;\n        var value = token.value;\n        while (true) {\n            while (valueIndex >= 0) {\n                var chr = value.charAt(valueIndex);\n                if (chr == openBracket) {\n                    depth -= 1;\n                    if (depth == 0) {\n                        return { row: iterator.getCurrentTokenRow(),\n                            column: valueIndex + iterator.getCurrentTokenColumn() };\n                    }\n                }\n                else if (chr == bracket) {\n                    depth += 1;\n                }\n                valueIndex -= 1;\n            }\n            do {\n                token = iterator.stepBackward();\n            } while (token && !typeRe.test(token.type));\n            if (token == null)\n                break;\n            value = token.value;\n            valueIndex = value.length - 1;\n        }\n        return null;\n    };\n    this.$findClosingBracket = function (bracket, position, typeRe) {\n        var closingBracket = this.$brackets[bracket];\n        var depth = 1;\n        var iterator = new TokenIterator(this, position.row, position.column);\n        var token = iterator.getCurrentToken();\n        if (!token)\n            token = iterator.stepForward();\n        if (!token)\n            return;\n        if (!typeRe) {\n            typeRe = new RegExp(\"(\\\\.?\" +\n                token.type.replace(\".\", \"\\\\.\").replace(\"lparen\", \".paren\")\n                    .replace(/\\b(?:start|begin)\\b/, \"(?:start|begin|end)\")\n                    .replace(/-open\\b/, \"-(close|open)\")\n                + \")+\");\n        }\n        var valueIndex = position.column - iterator.getCurrentTokenColumn();\n        while (true) {\n            var value = token.value;\n            var valueLength = value.length;\n            while (valueIndex < valueLength) {\n                var chr = value.charAt(valueIndex);\n                if (chr == closingBracket) {\n                    depth -= 1;\n                    if (depth == 0) {\n                        return { row: iterator.getCurrentTokenRow(),\n                            column: valueIndex + iterator.getCurrentTokenColumn() };\n                    }\n                }\n                else if (chr == bracket) {\n                    depth += 1;\n                }\n                valueIndex += 1;\n            }\n            do {\n                token = iterator.stepForward();\n            } while (token && !typeRe.test(token.type));\n            if (token == null)\n                break;\n            valueIndex = 0;\n        }\n        return null;\n    };\n    this.getMatchingTags = function (pos) {\n        var iterator = new TokenIterator(this, pos.row, pos.column);\n        var token = this.$findTagName(iterator);\n        if (!token)\n            return;\n        var prevToken = iterator.stepBackward();\n        if (prevToken.value === '<') {\n            return this.$findClosingTag(iterator, token);\n        }\n        else {\n            return this.$findOpeningTag(iterator, token);\n        }\n    };\n    this.$findTagName = function (iterator) {\n        var token = iterator.getCurrentToken();\n        var found = false;\n        var backward = false;\n        if (token && token.type.indexOf('tag-name') === -1) {\n            do {\n                if (backward)\n                    token = iterator.stepBackward();\n                else\n                    token = iterator.stepForward();\n                if (token) {\n                    if (token.value === \"/>\") {\n                        backward = true;\n                    }\n                    else if (token.type.indexOf('tag-name') !== -1) {\n                        found = true;\n                    }\n                }\n            } while (token && !found);\n        }\n        return token;\n    };\n    this.$findClosingTag = function (iterator, token) {\n        var prevToken;\n        var currentTag = token.value;\n        var tag = token.value;\n        var depth = 0;\n        var openTagStart = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn(), iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + 1);\n        token = iterator.stepForward();\n        var openTagName = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn(), iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + token.value.length);\n        var foundOpenTagEnd = false;\n        do {\n            prevToken = token;\n            if (prevToken.type.indexOf('tag-close') !== -1 && !foundOpenTagEnd) {\n                var openTagEnd = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn(), iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + 1); //Range for `>`\n                foundOpenTagEnd = true;\n            }\n            token = iterator.stepForward();\n            if (token) {\n                if (token.value === '>' && !foundOpenTagEnd) {\n                    var openTagEnd = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn(), iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + 1); //Range for `>`\n                    foundOpenTagEnd = true;\n                }\n                if (token.type.indexOf('tag-name') !== -1) {\n                    currentTag = token.value;\n                    if (tag === currentTag) {\n                        if (prevToken.value === '<') {\n                            depth++;\n                        }\n                        else if (prevToken.value === '</') {\n                            depth--;\n                            if (depth < 0) { //found closing tag\n                                iterator.stepBackward();\n                                var closeTagStart = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn(), iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + 2); //Range for </\n                                token = iterator.stepForward();\n                                var closeTagName = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn(), iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + token.value.length);\n                                if (token.type.indexOf('tag-close') === -1) {\n                                    token = iterator.stepForward();\n                                }\n                                if (token && token.value === '>') {\n                                    var closeTagEnd = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn(), iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + 1); //Range for >\n                                }\n                                else {\n                                    return;\n                                }\n                            }\n                        }\n                    }\n                }\n                else if (tag === currentTag && token.value === '/>') { // self-closing tag\n                    depth--;\n                    if (depth < 0) { //found self-closing tag end\n                        var closeTagStart = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn(), iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + 2);\n                        var closeTagName = closeTagStart;\n                        var closeTagEnd = closeTagName;\n                        var openTagEnd = new Range(openTagName.end.row, openTagName.end.column, openTagName.end.row, openTagName.end.column + 1);\n                    }\n                }\n            }\n        } while (token && depth >= 0);\n        if (openTagStart && openTagEnd && closeTagStart && closeTagEnd && openTagName && closeTagName) {\n            return {\n                openTag: new Range(openTagStart.start.row, openTagStart.start.column, openTagEnd.end.row, openTagEnd.end.column),\n                closeTag: new Range(closeTagStart.start.row, closeTagStart.start.column, closeTagEnd.end.row, closeTagEnd.end.column),\n                openTagName: openTagName,\n                closeTagName: closeTagName\n            };\n        }\n    };\n    this.$findOpeningTag = function (iterator, token) {\n        var prevToken = iterator.getCurrentToken();\n        var tag = token.value;\n        var depth = 0;\n        var startRow = iterator.getCurrentTokenRow();\n        var startColumn = iterator.getCurrentTokenColumn();\n        var endColumn = startColumn + 2;\n        var closeTagStart = new Range(startRow, startColumn, startRow, endColumn); //Range for </\n        iterator.stepForward();\n        var closeTagName = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn(), iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + token.value.length);\n        if (token.type.indexOf('tag-close') === -1) {\n            token = iterator.stepForward();\n        }\n        if (!token || token.value !== \">\")\n            return;\n        var closeTagEnd = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn(), iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + 1); //Range for >\n        iterator.stepBackward();\n        iterator.stepBackward();\n        do {\n            token = prevToken;\n            startRow = iterator.getCurrentTokenRow();\n            startColumn = iterator.getCurrentTokenColumn();\n            endColumn = startColumn + token.value.length;\n            prevToken = iterator.stepBackward();\n            if (token) {\n                if (token.type.indexOf('tag-name') !== -1) {\n                    if (tag === token.value) {\n                        if (prevToken.value === '<') {\n                            depth++;\n                            if (depth > 0) { //found opening tag\n                                var openTagName = new Range(startRow, startColumn, startRow, endColumn);\n                                var openTagStart = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn(), iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + 1); //Range for <\n                                do {\n                                    token = iterator.stepForward();\n                                } while (token && token.value !== '>');\n                                var openTagEnd = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn(), iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + 1); //Range for >\n                            }\n                        }\n                        else if (prevToken.value === '</') {\n                            depth--;\n                        }\n                    }\n                }\n                else if (token.value === '/>') { // self-closing tag\n                    var stepCount = 0;\n                    var tmpToken = prevToken;\n                    while (tmpToken) {\n                        if (tmpToken.type.indexOf('tag-name') !== -1 && tmpToken.value === tag) {\n                            depth--;\n                            break;\n                        }\n                        else if (tmpToken.value === '<') {\n                            break;\n                        }\n                        tmpToken = iterator.stepBackward();\n                        stepCount++;\n                    }\n                    for (var i = 0; i < stepCount; i++) {\n                        iterator.stepForward();\n                    }\n                }\n            }\n        } while (prevToken && depth <= 0);\n        if (openTagStart && openTagEnd && closeTagStart && closeTagEnd && openTagName && closeTagName) {\n            return {\n                openTag: new Range(openTagStart.start.row, openTagStart.start.column, openTagEnd.end.row, openTagEnd.end.column),\n                closeTag: new Range(closeTagStart.start.row, closeTagStart.start.column, closeTagEnd.end.row, closeTagEnd.end.column),\n                openTagName: openTagName,\n                closeTagName: closeTagName\n            };\n        }\n    };\n}\nexports.BracketMatch = BracketMatch;\n\n});\n\nace.define(\"ace/edit_session\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/bidihandler\",\"ace/config\",\"ace/lib/event_emitter\",\"ace/selection\",\"ace/mode/text\",\"ace/range\",\"ace/line_widgets\",\"ace/document\",\"ace/background_tokenizer\",\"ace/search_highlight\",\"ace/undomanager\",\"ace/edit_session/folding\",\"ace/edit_session/bracket_match\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"./lib/oop\");\nvar lang = require(\"./lib/lang\");\nvar BidiHandler = require(\"./bidihandler\").BidiHandler;\nvar config = require(\"./config\");\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar Selection = require(\"./selection\").Selection;\nvar TextMode = require(\"./mode/text\").Mode;\nvar Range = require(\"./range\").Range;\nvar LineWidgets = require(\"./line_widgets\").LineWidgets;\nvar Document = require(\"./document\").Document;\nvar BackgroundTokenizer = require(\"./background_tokenizer\").BackgroundTokenizer;\nvar SearchHighlight = require(\"./search_highlight\").SearchHighlight;\nvar UndoManager = require(\"./undomanager\").UndoManager;\nvar EditSession = /** @class */ (function () {\n    function EditSession(text, mode) { this.doc;\n        this.$breakpoints = [];\n        this.$decorations = [];\n        this.$frontMarkers = {};\n        this.$backMarkers = {};\n        this.$markerId = 1;\n        this.$undoSelect = true;\n        this.$editor = null;\n        this.prevOp = {};\n        this.$foldData = [];\n        this.id = \"session\" + (++EditSession.$uid);\n        this.$foldData.toString = function () {\n            return this.join(\"\\n\");\n        };\n        this.bgTokenizer = new BackgroundTokenizer((new TextMode()).getTokenizer(), this);\n        var _self = this;\n        this.bgTokenizer.on(\"update\", function (e) {\n            _self._signal(\"tokenizerUpdate\", e);\n        });\n        this.on(\"changeFold\", this.onChangeFold.bind(this));\n        this.$onChange = this.onChange.bind(this);\n        if (typeof text != \"object\" || !text.getLine)\n            text = new Document(/**@type{string}*/ (text));\n        this.setDocument(text);\n        this.selection = new Selection(this);\n        this.$onSelectionChange = this.onSelectionChange.bind(this);\n        this.selection.on(\"changeSelection\", this.$onSelectionChange);\n        this.selection.on(\"changeCursor\", this.$onSelectionChange);\n        this.$bidiHandler = new BidiHandler(this);\n        config.resetOptions(this);\n        this.setMode(mode);\n        config._signal(\"session\", this);\n        this.destroyed = false;\n        this.$initOperationListeners();\n    }\n    EditSession.prototype.$initOperationListeners = function () {\n        var _this = this;\n        this.curOp = null;\n        this.on(\"change\", function () {\n            if (!_this.curOp) {\n                _this.startOperation();\n                _this.curOp.selectionBefore = _this.$lastSel;\n            }\n            _this.curOp.docChanged = true;\n        }, true);\n        this.on(\"changeSelection\", function () {\n            if (!_this.curOp) {\n                _this.startOperation();\n                _this.curOp.selectionBefore = _this.$lastSel;\n            }\n            _this.curOp.selectionChanged = true;\n        }, true);\n        this.$operationResetTimer = lang.delayedCall(this.endOperation.bind(this, true));\n    };\n    EditSession.prototype.startOperation = function (commandEvent) {\n        if (this.curOp) {\n            if (!commandEvent || this.curOp.command) {\n                return;\n            }\n            this.prevOp = this.curOp;\n        }\n        if (!commandEvent) {\n            commandEvent = {};\n        }\n        this.$operationResetTimer.schedule();\n        this.curOp = {\n            command: commandEvent.command || {},\n            args: commandEvent.args\n        };\n        this.curOp.selectionBefore = this.selection.toJSON();\n        this._signal(\"startOperation\", commandEvent);\n    };\n    EditSession.prototype.endOperation = function (e) {\n        if (this.curOp) {\n            if (e && e.returnValue === false) {\n                this.curOp = null;\n                this._signal(\"endOperation\", e);\n                return;\n            }\n            if (e == true && this.curOp.command && this.curOp.command.name == \"mouse\") {\n                return;\n            }\n            var currentSelection = this.selection.toJSON();\n            this.curOp.selectionAfter = currentSelection;\n            this.$lastSel = this.selection.toJSON();\n            this.getUndoManager().addSelection(currentSelection);\n            this._signal(\"beforeEndOperation\");\n            this.prevOp = this.curOp;\n            this.curOp = null;\n            this._signal(\"endOperation\", e);\n        }\n    };\n    EditSession.prototype.setDocument = function (doc) {\n        if (this.doc)\n            this.doc.off(\"change\", this.$onChange);\n        this.doc = doc;\n        doc.on(\"change\", this.$onChange, true);\n        this.bgTokenizer.setDocument(this.getDocument());\n        this.resetCaches();\n    };\n    EditSession.prototype.getDocument = function () {\n        return this.doc;\n    };\n    Object.defineProperty(EditSession.prototype, \"widgetManager\", {\n        get: function () {\n            var widgetManager = new LineWidgets(this);\n            this.widgetManager = widgetManager;\n            if (this.$editor)\n                widgetManager.attach(this.$editor);\n            return widgetManager;\n        },\n        set: function (value) {\n            Object.defineProperty(this, \"widgetManager\", {\n                writable: true,\n                enumerable: true,\n                configurable: true,\n                value: value,\n            });\n        },\n        enumerable: false,\n        configurable: true\n    });\n    EditSession.prototype.$resetRowCache = function (docRow) {\n        if (!docRow) {\n            this.$docRowCache = [];\n            this.$screenRowCache = [];\n            return;\n        }\n        var l = this.$docRowCache.length;\n        var i = this.$getRowCacheIndex(this.$docRowCache, docRow) + 1;\n        if (l > i) {\n            this.$docRowCache.splice(i, l);\n            this.$screenRowCache.splice(i, l);\n        }\n    };\n    EditSession.prototype.$getRowCacheIndex = function (cacheArray, val) {\n        var low = 0;\n        var hi = cacheArray.length - 1;\n        while (low <= hi) {\n            var mid = (low + hi) >> 1;\n            var c = cacheArray[mid];\n            if (val > c)\n                low = mid + 1;\n            else if (val < c)\n                hi = mid - 1;\n            else\n                return mid;\n        }\n        return low - 1;\n    };\n    EditSession.prototype.resetCaches = function () {\n        this.$modified = true;\n        this.$wrapData = [];\n        this.$rowLengthCache = [];\n        this.$resetRowCache(0);\n        if (!this.destroyed)\n            this.bgTokenizer.start(0);\n    };\n    EditSession.prototype.onChangeFold = function (e) {\n        var fold = e.data;\n        this.$resetRowCache(fold.start.row);\n    };\n    EditSession.prototype.onChange = function (delta) {\n        this.$modified = true;\n        this.$bidiHandler.onChange(delta);\n        this.$resetRowCache(delta.start.row);\n        var removedFolds = this.$updateInternalDataOnChange(delta);\n        if (!this.$fromUndo && this.$undoManager) {\n            if (removedFolds && removedFolds.length) {\n                this.$undoManager.add({\n                    action: \"removeFolds\",\n                    folds: removedFolds\n                }, this.mergeUndoDeltas);\n                this.mergeUndoDeltas = true;\n            }\n            this.$undoManager.add(delta, this.mergeUndoDeltas);\n            this.mergeUndoDeltas = true;\n            this.$informUndoManager.schedule();\n        }\n        this.bgTokenizer.$updateOnChange(delta);\n        this._signal(\"change\", delta);\n    };\n    EditSession.prototype.onSelectionChange = function () {\n        this._signal(\"changeSelection\");\n    };\n    EditSession.prototype.setValue = function (text) {\n        this.doc.setValue(text);\n        this.selection.moveTo(0, 0);\n        this.$resetRowCache(0);\n        this.setUndoManager(this.$undoManager);\n        this.getUndoManager().reset();\n    };\n    EditSession.fromJSON = function (session) {\n        if (typeof session == \"string\")\n            session = JSON.parse(session);\n        var undoManager = new UndoManager();\n        undoManager.$undoStack = session.history.undo;\n        undoManager.$redoStack = session.history.redo;\n        undoManager.mark = session.history.mark;\n        undoManager.$rev = session.history.rev;\n        var editSession = new EditSession(session.value);\n        session.folds.forEach(function (fold) {\n            editSession.addFold(\"...\", Range.fromPoints(fold.start, fold.end));\n        });\n        editSession.setAnnotations(session.annotations);\n        editSession.setBreakpoints(session.breakpoints);\n        editSession.setMode(session.mode);\n        editSession.setScrollLeft(session.scrollLeft);\n        editSession.setScrollTop(session.scrollTop);\n        editSession.setUndoManager(undoManager);\n        editSession.selection.fromJSON(session.selection);\n        return editSession;\n    };\n    EditSession.prototype.toJSON = function () {\n        return {\n            annotations: this.$annotations,\n            breakpoints: this.$breakpoints,\n            folds: this.getAllFolds().map(function (fold) {\n                return fold.range;\n            }),\n            history: this.getUndoManager(),\n            mode: this.$mode.$id,\n            scrollLeft: this.$scrollLeft,\n            scrollTop: this.$scrollTop,\n            selection: this.selection.toJSON(),\n            value: this.doc.getValue()\n        };\n    };\n    EditSession.prototype.toString = function () {\n        return this.doc.getValue();\n    };\n    EditSession.prototype.getSelection = function () {\n        return this.selection;\n    };\n    EditSession.prototype.getState = function (row) {\n        return this.bgTokenizer.getState(row);\n    };\n    EditSession.prototype.getTokens = function (row) {\n        return this.bgTokenizer.getTokens(row);\n    };\n    EditSession.prototype.getTokenAt = function (row, column) {\n        var tokens = this.bgTokenizer.getTokens(row);\n        var token, c = 0;\n        if (column == null) {\n            var i = tokens.length - 1;\n            c = this.getLine(row).length;\n        }\n        else {\n            for (var i = 0; i < tokens.length; i++) {\n                c += tokens[i].value.length;\n                if (c >= column)\n                    break;\n            }\n        }\n        token = tokens[i];\n        if (!token)\n            return null;\n        token.index = i;\n        token.start = c - token.value.length;\n        return token;\n    };\n    EditSession.prototype.setUndoManager = function (undoManager) {\n        this.$undoManager = undoManager;\n        if (this.$informUndoManager)\n            this.$informUndoManager.cancel();\n        if (undoManager) {\n            var self = this;\n            undoManager.addSession(this);\n            this.$syncInformUndoManager = function () {\n                self.$informUndoManager.cancel();\n                self.mergeUndoDeltas = false;\n            };\n            this.$informUndoManager = lang.delayedCall(this.$syncInformUndoManager);\n        }\n        else {\n            this.$syncInformUndoManager = function () { };\n        }\n    };\n    EditSession.prototype.markUndoGroup = function () {\n        if (this.$syncInformUndoManager)\n            this.$syncInformUndoManager();\n    };\n    EditSession.prototype.getUndoManager = function () {\n        return this.$undoManager || this.$defaultUndoManager;\n    };\n    EditSession.prototype.getTabString = function () {\n        if (this.getUseSoftTabs()) {\n            return lang.stringRepeat(\" \", this.getTabSize());\n        }\n        else {\n            return \"\\t\";\n        }\n    };\n    EditSession.prototype.setUseSoftTabs = function (val) {\n        this.setOption(\"useSoftTabs\", val);\n    };\n    EditSession.prototype.getUseSoftTabs = function () {\n        return this.$useSoftTabs && !this.$mode.$indentWithTabs;\n    };\n    EditSession.prototype.setTabSize = function (tabSize) {\n        this.setOption(\"tabSize\", tabSize);\n    };\n    EditSession.prototype.getTabSize = function () {\n        return this.$tabSize;\n    };\n    EditSession.prototype.isTabStop = function (position) {\n        return this.$useSoftTabs && (position.column % this.$tabSize === 0);\n    };\n    EditSession.prototype.setNavigateWithinSoftTabs = function (navigateWithinSoftTabs) {\n        this.setOption(\"navigateWithinSoftTabs\", navigateWithinSoftTabs);\n    };\n    EditSession.prototype.getNavigateWithinSoftTabs = function () {\n        return this.$navigateWithinSoftTabs;\n    };\n    EditSession.prototype.setOverwrite = function (overwrite) {\n        this.setOption(\"overwrite\", overwrite);\n    };\n    EditSession.prototype.getOverwrite = function () {\n        return this.$overwrite;\n    };\n    EditSession.prototype.toggleOverwrite = function () {\n        this.setOverwrite(!this.$overwrite);\n    };\n    EditSession.prototype.addGutterDecoration = function (row, className) {\n        if (!this.$decorations[row])\n            this.$decorations[row] = \"\";\n        this.$decorations[row] += \" \" + className;\n        this._signal(\"changeBreakpoint\", {});\n    };\n    EditSession.prototype.removeGutterDecoration = function (row, className) {\n        this.$decorations[row] = (this.$decorations[row] || \"\").replace(\" \" + className, \"\");\n        this._signal(\"changeBreakpoint\", {});\n    };\n    EditSession.prototype.getBreakpoints = function () {\n        return this.$breakpoints;\n    };\n    EditSession.prototype.setBreakpoints = function (rows) {\n        this.$breakpoints = [];\n        for (var i = 0; i < rows.length; i++) {\n            this.$breakpoints[rows[i]] = \"ace_breakpoint\";\n        }\n        this._signal(\"changeBreakpoint\", {});\n    };\n    EditSession.prototype.clearBreakpoints = function () {\n        this.$breakpoints = [];\n        this._signal(\"changeBreakpoint\", {});\n    };\n    EditSession.prototype.setBreakpoint = function (row, className) {\n        if (className === undefined)\n            className = \"ace_breakpoint\";\n        if (className)\n            this.$breakpoints[row] = className;\n        else\n            delete this.$breakpoints[row];\n        this._signal(\"changeBreakpoint\", {});\n    };\n    EditSession.prototype.clearBreakpoint = function (row) {\n        delete this.$breakpoints[row];\n        this._signal(\"changeBreakpoint\", {});\n    };\n    EditSession.prototype.addMarker = function (range, clazz, type, inFront) {\n        var id = this.$markerId++;\n        var marker = {\n            range: range,\n            type: type || \"line\",\n            renderer: typeof type == \"function\" ? type : null,\n            clazz: clazz,\n            inFront: !!inFront,\n            id: id\n        };\n        if (inFront) {\n            this.$frontMarkers[id] = marker;\n            this._signal(\"changeFrontMarker\");\n        }\n        else {\n            this.$backMarkers[id] = marker;\n            this._signal(\"changeBackMarker\");\n        }\n        return id;\n    };\n    EditSession.prototype.addDynamicMarker = function (marker, inFront) {\n        if (!marker.update)\n            return;\n        var id = this.$markerId++;\n        marker.id = id;\n        marker.inFront = !!inFront;\n        if (inFront) {\n            this.$frontMarkers[id] = marker;\n            this._signal(\"changeFrontMarker\");\n        }\n        else {\n            this.$backMarkers[id] = marker;\n            this._signal(\"changeBackMarker\");\n        }\n        return marker;\n    };\n    EditSession.prototype.removeMarker = function (markerId) {\n        var marker = this.$frontMarkers[markerId] || this.$backMarkers[markerId];\n        if (!marker)\n            return;\n        var markers = marker.inFront ? this.$frontMarkers : this.$backMarkers;\n        delete (markers[markerId]);\n        this._signal(marker.inFront ? \"changeFrontMarker\" : \"changeBackMarker\");\n    };\n    EditSession.prototype.getMarkers = function (inFront) {\n        return inFront ? this.$frontMarkers : this.$backMarkers;\n    };\n    EditSession.prototype.highlight = function (re) {\n        if (!this.$searchHighlight) {\n            var highlight = new SearchHighlight(null, \"ace_selected-word\", \"text\");\n            this.$searchHighlight = this.addDynamicMarker(highlight);\n        }\n        this.$searchHighlight.setRegexp(re);\n    };\n    EditSession.prototype.highlightLines = function (startRow, endRow, clazz, inFront) {\n        if (typeof endRow != \"number\") {\n            clazz = endRow;\n            endRow = startRow;\n        }\n        if (!clazz)\n            clazz = \"ace_step\";\n        var range = new Range(startRow, 0, endRow, Infinity);\n        range.id = this.addMarker(range, clazz, \"fullLine\", inFront);\n        return range;\n    };\n    EditSession.prototype.setAnnotations = function (annotations) {\n        this.$annotations = annotations;\n        this._signal(\"changeAnnotation\", {});\n    };\n    EditSession.prototype.getAnnotations = function () {\n        return this.$annotations || [];\n    };\n    EditSession.prototype.clearAnnotations = function () {\n        this.setAnnotations([]);\n    };\n    EditSession.prototype.$detectNewLine = function (text) {\n        var match = text.match(/^.*?(\\r?\\n)/m);\n        if (match) {\n            this.$autoNewLine = match[1];\n        }\n        else {\n            this.$autoNewLine = \"\\n\";\n        }\n    };\n    EditSession.prototype.getWordRange = function (row, column) {\n        var line = this.getLine(row);\n        var inToken = false;\n        if (column > 0)\n            inToken = !!line.charAt(column - 1).match(this.tokenRe);\n        if (!inToken)\n            inToken = !!line.charAt(column).match(this.tokenRe);\n        if (inToken)\n            var re = this.tokenRe;\n        else if (/^\\s+$/.test(line.slice(column - 1, column + 1)))\n            var re = /\\s/;\n        else\n            var re = this.nonTokenRe;\n        var start = column;\n        if (start > 0) {\n            do {\n                start--;\n            } while (start >= 0 && line.charAt(start).match(re));\n            start++;\n        }\n        var end = column;\n        while (end < line.length && line.charAt(end).match(re)) {\n            end++;\n        }\n        return new Range(row, start, row, end);\n    };\n    EditSession.prototype.getAWordRange = function (row, column) {\n        var wordRange = this.getWordRange(row, column);\n        var line = this.getLine(wordRange.end.row);\n        while (line.charAt(wordRange.end.column).match(/[ \\t]/)) {\n            wordRange.end.column += 1;\n        }\n        return wordRange;\n    };\n    EditSession.prototype.setNewLineMode = function (newLineMode) {\n        this.doc.setNewLineMode(newLineMode);\n    };\n    EditSession.prototype.getNewLineMode = function () {\n        return this.doc.getNewLineMode();\n    };\n    EditSession.prototype.setUseWorker = function (useWorker) { this.setOption(\"useWorker\", useWorker); };\n    EditSession.prototype.getUseWorker = function () { return this.$useWorker; };\n    EditSession.prototype.onReloadTokenizer = function (e) {\n        var rows = e.data;\n        this.bgTokenizer.start(rows.first);\n        this._signal(\"tokenizerUpdate\", e);\n    };\n    EditSession.prototype.setMode = function (mode, cb) {\n        if (mode && typeof mode === \"object\") {\n            if (mode.getTokenizer)\n                return this.$onChangeMode(mode);\n            var options = mode;\n            var path = options.path;\n        }\n        else {\n            path = /**@type{string}*/ (mode) || \"ace/mode/text\";\n        }\n        if (!this.$modes[\"ace/mode/text\"])\n            this.$modes[\"ace/mode/text\"] = new TextMode();\n        if (this.$modes[path] && !options) {\n            this.$onChangeMode(this.$modes[path]);\n            cb && cb();\n            return;\n        }\n        this.$modeId = path;\n        config.loadModule([\"mode\", path], function (m) {\n            if (this.$modeId !== path)\n                return cb && cb();\n            if (this.$modes[path] && !options) {\n                this.$onChangeMode(this.$modes[path]);\n            }\n            else if (m && m.Mode) {\n                m = new m.Mode(options);\n                if (!options) {\n                    this.$modes[path] = m;\n                    m.$id = path;\n                }\n                this.$onChangeMode(m);\n            }\n            cb && cb();\n        }.bind(this));\n        if (!this.$mode)\n            this.$onChangeMode(this.$modes[\"ace/mode/text\"], true);\n    };\n    EditSession.prototype.$onChangeMode = function (mode, $isPlaceholder) {\n        if (!$isPlaceholder)\n            this.$modeId = mode.$id;\n        if (this.$mode === mode)\n            return;\n        var oldMode = this.$mode;\n        this.$mode = mode;\n        this.$stopWorker();\n        if (this.$useWorker)\n            this.$startWorker();\n        var tokenizer = mode.getTokenizer();\n        if (tokenizer.on !== undefined) {\n            var onReloadTokenizer = this.onReloadTokenizer.bind(this);\n            tokenizer.on(\"update\", onReloadTokenizer);\n        }\n        this.bgTokenizer.setTokenizer(tokenizer);\n        this.bgTokenizer.setDocument(this.getDocument());\n        this.tokenRe = mode.tokenRe;\n        this.nonTokenRe = mode.nonTokenRe;\n        if (!$isPlaceholder) {\n            if (mode.attachToSession)\n                mode.attachToSession(this);\n            this.$options.wrapMethod.set.call(this, this.$wrapMethod);\n            this.$setFolding(mode.foldingRules);\n            this.bgTokenizer.start(0);\n            this._emit(\"changeMode\", { oldMode: oldMode, mode: mode });\n        }\n    };\n    EditSession.prototype.$stopWorker = function () {\n        if (this.$worker) {\n            this.$worker.terminate();\n            this.$worker = null;\n        }\n    };\n    EditSession.prototype.$startWorker = function () {\n        try {\n            this.$worker = this.$mode.createWorker(this);\n        }\n        catch (e) {\n            config.warn(\"Could not load worker\", e);\n            this.$worker = null;\n        }\n    };\n    EditSession.prototype.getMode = function () {\n        return this.$mode;\n    };\n    EditSession.prototype.setScrollTop = function (scrollTop) {\n        if (this.$scrollTop === scrollTop || isNaN(scrollTop))\n            return;\n        this.$scrollTop = scrollTop;\n        this._signal(\"changeScrollTop\", scrollTop);\n    };\n    EditSession.prototype.getScrollTop = function () {\n        return this.$scrollTop;\n    };\n    EditSession.prototype.setScrollLeft = function (scrollLeft) {\n        if (this.$scrollLeft === scrollLeft || isNaN(scrollLeft))\n            return;\n        this.$scrollLeft = scrollLeft;\n        this._signal(\"changeScrollLeft\", scrollLeft);\n    };\n    EditSession.prototype.getScrollLeft = function () {\n        return this.$scrollLeft;\n    };\n    EditSession.prototype.getScreenWidth = function () {\n        this.$computeWidth();\n        if (this.lineWidgets)\n            return Math.max(this.getLineWidgetMaxWidth(), this.screenWidth);\n        return this.screenWidth;\n    };\n    EditSession.prototype.getLineWidgetMaxWidth = function () {\n        if (this.lineWidgetsWidth != null)\n            return this.lineWidgetsWidth;\n        var width = 0;\n        this.lineWidgets.forEach(function (w) {\n            if (w && w.screenWidth > width)\n                width = w.screenWidth;\n        });\n        return this.lineWidgetWidth = width;\n    };\n    EditSession.prototype.$computeWidth = function (force) {\n        if (this.$modified || force) {\n            this.$modified = false;\n            if (this.$useWrapMode)\n                return this.screenWidth = this.$wrapLimit;\n            var lines = this.doc.getAllLines();\n            var cache = this.$rowLengthCache;\n            var longestScreenLine = 0;\n            var foldIndex = 0;\n            var foldLine = this.$foldData[foldIndex];\n            var foldStart = foldLine ? foldLine.start.row : Infinity;\n            var len = lines.length;\n            for (var i = 0; i < len; i++) {\n                if (i > foldStart) {\n                    i = foldLine.end.row + 1;\n                    if (i >= len)\n                        break;\n                    foldLine = this.$foldData[foldIndex++];\n                    foldStart = foldLine ? foldLine.start.row : Infinity;\n                }\n                if (cache[i] == null)\n                    cache[i] = this.$getStringScreenWidth(lines[i])[0];\n                if (cache[i] > longestScreenLine)\n                    longestScreenLine = cache[i];\n            }\n            this.screenWidth = longestScreenLine;\n        }\n    };\n    EditSession.prototype.getLine = function (row) {\n        return this.doc.getLine(row);\n    };\n    EditSession.prototype.getLines = function (firstRow, lastRow) {\n        return this.doc.getLines(firstRow, lastRow);\n    };\n    EditSession.prototype.getLength = function () {\n        return this.doc.getLength();\n    };\n    EditSession.prototype.getTextRange = function (range) {\n        return this.doc.getTextRange(range || this.selection.getRange());\n    };\n    EditSession.prototype.insert = function (position, text) {\n        return this.doc.insert(position, text);\n    };\n    EditSession.prototype.remove = function (range) {\n        return this.doc.remove(range);\n    };\n    EditSession.prototype.removeFullLines = function (firstRow, lastRow) {\n        return this.doc.removeFullLines(firstRow, lastRow);\n    };\n    EditSession.prototype.undoChanges = function (deltas, dontSelect) {\n        if (!deltas.length)\n            return;\n        this.$fromUndo = true;\n        for (var i = deltas.length - 1; i != -1; i--) {\n            var delta = deltas[i];\n            if (delta.action == \"insert\" || delta.action == \"remove\") {\n                this.doc.revertDelta(delta);\n            }\n            else if (delta.folds) {\n                this.addFolds(delta.folds);\n            }\n        }\n        if (!dontSelect && this.$undoSelect) {\n            if (deltas.selectionBefore)\n                this.selection.fromJSON(deltas.selectionBefore);\n            else\n                this.selection.setRange(this.$getUndoSelection(deltas, true));\n        }\n        this.$fromUndo = false;\n    };\n    EditSession.prototype.redoChanges = function (deltas, dontSelect) {\n        if (!deltas.length)\n            return;\n        this.$fromUndo = true;\n        for (var i = 0; i < deltas.length; i++) {\n            var delta = deltas[i];\n            if (delta.action == \"insert\" || delta.action == \"remove\") {\n                this.doc.$safeApplyDelta(delta);\n            }\n        }\n        if (!dontSelect && this.$undoSelect) {\n            if (deltas.selectionAfter)\n                this.selection.fromJSON(deltas.selectionAfter);\n            else\n                this.selection.setRange(this.$getUndoSelection(deltas, false));\n        }\n        this.$fromUndo = false;\n    };\n    EditSession.prototype.setUndoSelect = function (enable) {\n        this.$undoSelect = enable;\n    };\n    EditSession.prototype.$getUndoSelection = function (deltas, isUndo) {\n        function isInsert(delta) {\n            return isUndo ? delta.action !== \"insert\" : delta.action === \"insert\";\n        }\n        var range, point;\n        for (var i = 0; i < deltas.length; i++) {\n            var delta = deltas[i];\n            if (!delta.start)\n                continue; // skip folds\n            if (!range) {\n                if (isInsert(delta)) {\n                    range = Range.fromPoints(delta.start, delta.end);\n                }\n                else {\n                    range = Range.fromPoints(delta.start, delta.start);\n                }\n                continue;\n            }\n            if (isInsert(delta)) {\n                point = delta.start;\n                if (range.compare(point.row, point.column) == -1) {\n                    range.setStart(point);\n                }\n                point = delta.end;\n                if (range.compare(point.row, point.column) == 1) {\n                    range.setEnd(point);\n                }\n            }\n            else {\n                point = delta.start;\n                if (range.compare(point.row, point.column) == -1) {\n                    range = Range.fromPoints(delta.start, delta.start);\n                }\n            }\n        }\n        return range;\n    };\n    EditSession.prototype.replace = function (range, text) {\n        return this.doc.replace(range, text);\n    };\n    EditSession.prototype.moveText = function (fromRange, toPosition, copy) {\n        var text = this.getTextRange(fromRange);\n        var folds = this.getFoldsInRange(fromRange);\n        var toRange = Range.fromPoints(toPosition, toPosition);\n        if (!copy) {\n            this.remove(fromRange);\n            var rowDiff = fromRange.start.row - fromRange.end.row;\n            var collDiff = rowDiff ? -fromRange.end.column : fromRange.start.column - fromRange.end.column;\n            if (collDiff) {\n                if (toRange.start.row == fromRange.end.row && toRange.start.column > fromRange.end.column)\n                    toRange.start.column += collDiff;\n                if (toRange.end.row == fromRange.end.row && toRange.end.column > fromRange.end.column)\n                    toRange.end.column += collDiff;\n            }\n            if (rowDiff && toRange.start.row >= fromRange.end.row) {\n                toRange.start.row += rowDiff;\n                toRange.end.row += rowDiff;\n            }\n        }\n        toRange.end = this.insert(toRange.start, text);\n        if (folds.length) {\n            var oldStart = fromRange.start;\n            var newStart = toRange.start;\n            var rowDiff = newStart.row - oldStart.row;\n            var collDiff = newStart.column - oldStart.column;\n            this.addFolds(folds.map(function (x) {\n                x = x.clone();\n                if (x.start.row == oldStart.row)\n                    x.start.column += collDiff;\n                if (x.end.row == oldStart.row)\n                    x.end.column += collDiff;\n                x.start.row += rowDiff;\n                x.end.row += rowDiff;\n                return x;\n            }));\n        }\n        return toRange;\n    };\n    EditSession.prototype.indentRows = function (startRow, endRow, indentString) {\n        indentString = indentString.replace(/\\t/g, this.getTabString());\n        for (var row = startRow; row <= endRow; row++)\n            this.doc.insertInLine({ row: row, column: 0 }, indentString);\n    };\n    EditSession.prototype.outdentRows = function (range) {\n        var rowRange = range.collapseRows();\n        var deleteRange = new Range(0, 0, 0, 0);\n        var size = this.getTabSize();\n        for (var i = rowRange.start.row; i <= rowRange.end.row; ++i) {\n            var line = this.getLine(i);\n            deleteRange.start.row = i;\n            deleteRange.end.row = i;\n            for (var j = 0; j < size; ++j)\n                if (line.charAt(j) != ' ')\n                    break;\n            if (j < size && line.charAt(j) == '\\t') {\n                deleteRange.start.column = j;\n                deleteRange.end.column = j + 1;\n            }\n            else {\n                deleteRange.start.column = 0;\n                deleteRange.end.column = j;\n            }\n            this.remove(deleteRange);\n        }\n    };\n    EditSession.prototype.$moveLines = function (firstRow, lastRow, dir) {\n        firstRow = this.getRowFoldStart(firstRow);\n        lastRow = this.getRowFoldEnd(lastRow);\n        if (dir < 0) {\n            var row = this.getRowFoldStart(firstRow + dir);\n            if (row < 0)\n                return 0;\n            var diff = row - firstRow;\n        }\n        else if (dir > 0) {\n            var row = this.getRowFoldEnd(lastRow + dir);\n            if (row > this.doc.getLength() - 1)\n                return 0;\n            var diff = row - lastRow;\n        }\n        else {\n            firstRow = this.$clipRowToDocument(firstRow);\n            lastRow = this.$clipRowToDocument(lastRow);\n            var diff = lastRow - firstRow + 1;\n        }\n        var range = new Range(firstRow, 0, lastRow, Number.MAX_VALUE);\n        var folds = this.getFoldsInRange(range).map(function (x) {\n            x = x.clone();\n            x.start.row += diff;\n            x.end.row += diff;\n            return x;\n        });\n        var lines = dir == 0\n            ? this.doc.getLines(firstRow, lastRow)\n            : this.doc.removeFullLines(firstRow, lastRow);\n        this.doc.insertFullLines(firstRow + diff, lines);\n        folds.length && this.addFolds(folds);\n        return diff;\n    };\n    EditSession.prototype.moveLinesUp = function (firstRow, lastRow) {\n        return this.$moveLines(firstRow, lastRow, -1);\n    };\n    EditSession.prototype.moveLinesDown = function (firstRow, lastRow) {\n        return this.$moveLines(firstRow, lastRow, 1);\n    };\n    EditSession.prototype.duplicateLines = function (firstRow, lastRow) {\n        return this.$moveLines(firstRow, lastRow, 0);\n    };\n    EditSession.prototype.$clipRowToDocument = function (row) {\n        return Math.max(0, Math.min(row, this.doc.getLength() - 1));\n    };\n    EditSession.prototype.$clipColumnToRow = function (row, column) {\n        if (column < 0)\n            return 0;\n        return Math.min(this.doc.getLine(row).length, column);\n    };\n    EditSession.prototype.$clipPositionToDocument = function (row, column) {\n        column = Math.max(0, column);\n        if (row < 0) {\n            row = 0;\n            column = 0;\n        }\n        else {\n            var len = this.doc.getLength();\n            if (row >= len) {\n                row = len - 1;\n                column = this.doc.getLine(len - 1).length;\n            }\n            else {\n                column = Math.min(this.doc.getLine(row).length, column);\n            }\n        }\n        return {\n            row: row,\n            column: column\n        };\n    };\n    EditSession.prototype.$clipRangeToDocument = function (range) {\n        if (range.start.row < 0) {\n            range.start.row = 0;\n            range.start.column = 0;\n        }\n        else {\n            range.start.column = this.$clipColumnToRow(range.start.row, range.start.column);\n        }\n        var len = this.doc.getLength() - 1;\n        if (range.end.row > len) {\n            range.end.row = len;\n            range.end.column = this.doc.getLine(len).length;\n        }\n        else {\n            range.end.column = this.$clipColumnToRow(range.end.row, range.end.column);\n        }\n        return range;\n    };\n    EditSession.prototype.setUseWrapMode = function (useWrapMode) {\n        if (useWrapMode != this.$useWrapMode) {\n            this.$useWrapMode = useWrapMode;\n            this.$modified = true;\n            this.$resetRowCache(0);\n            if (useWrapMode) {\n                var len = this.getLength();\n                this.$wrapData = Array(len);\n                this.$updateWrapData(0, len - 1);\n            }\n            this._signal(\"changeWrapMode\");\n        }\n    };\n    EditSession.prototype.getUseWrapMode = function () {\n        return this.$useWrapMode;\n    };\n    EditSession.prototype.setWrapLimitRange = function (min, max) {\n        if (this.$wrapLimitRange.min !== min || this.$wrapLimitRange.max !== max) {\n            this.$wrapLimitRange = { min: min, max: max };\n            this.$modified = true;\n            this.$bidiHandler.markAsDirty();\n            if (this.$useWrapMode)\n                this._signal(\"changeWrapMode\");\n        }\n    };\n    EditSession.prototype.adjustWrapLimit = function (desiredLimit, $printMargin) {\n        var limits = this.$wrapLimitRange;\n        if (limits.max < 0)\n            limits = { min: $printMargin, max: $printMargin };\n        var wrapLimit = this.$constrainWrapLimit(desiredLimit, limits.min, limits.max);\n        if (wrapLimit != this.$wrapLimit && wrapLimit > 1) {\n            this.$wrapLimit = wrapLimit;\n            this.$modified = true;\n            if (this.$useWrapMode) {\n                this.$updateWrapData(0, this.getLength() - 1);\n                this.$resetRowCache(0);\n                this._signal(\"changeWrapLimit\");\n            }\n            return true;\n        }\n        return false;\n    };\n    EditSession.prototype.$constrainWrapLimit = function (wrapLimit, min, max) {\n        if (min)\n            wrapLimit = Math.max(min, wrapLimit);\n        if (max)\n            wrapLimit = Math.min(max, wrapLimit);\n        return wrapLimit;\n    };\n    EditSession.prototype.getWrapLimit = function () {\n        return this.$wrapLimit;\n    };\n    EditSession.prototype.setWrapLimit = function (limit) {\n        this.setWrapLimitRange(limit, limit);\n    };\n    EditSession.prototype.getWrapLimitRange = function () {\n        return {\n            min: this.$wrapLimitRange.min,\n            max: this.$wrapLimitRange.max\n        };\n    };\n    EditSession.prototype.$updateInternalDataOnChange = function (delta) {\n        var useWrapMode = this.$useWrapMode;\n        var action = delta.action;\n        var start = delta.start;\n        var end = delta.end;\n        var firstRow = start.row;\n        var lastRow = end.row;\n        var len = lastRow - firstRow;\n        var removedFolds = null;\n        this.$updating = true;\n        if (len != 0) {\n            if (action === \"remove\") {\n                this[useWrapMode ? \"$wrapData\" : \"$rowLengthCache\"].splice(firstRow, len);\n                var foldLines = this.$foldData;\n                removedFolds = this.getFoldsInRange(delta);\n                this.removeFolds(removedFolds);\n                var foldLine = this.getFoldLine(end.row);\n                var idx = 0;\n                if (foldLine) {\n                    foldLine.addRemoveChars(end.row, end.column, start.column - end.column);\n                    foldLine.shiftRow(-len);\n                    var foldLineBefore = this.getFoldLine(firstRow);\n                    if (foldLineBefore && foldLineBefore !== foldLine) {\n                        foldLineBefore.merge(foldLine);\n                        foldLine = foldLineBefore;\n                    }\n                    idx = foldLines.indexOf(foldLine) + 1;\n                }\n                for (idx; idx < foldLines.length; idx++) {\n                    var foldLine = foldLines[idx];\n                    if (foldLine.start.row >= end.row) {\n                        foldLine.shiftRow(-len);\n                    }\n                }\n                lastRow = firstRow;\n            }\n            else {\n                var args = Array(len);\n                args.unshift(firstRow, 0);\n                var arr = useWrapMode ? this.$wrapData : this.$rowLengthCache;\n                arr.splice.apply(arr, args);\n                var foldLines = this.$foldData;\n                var foldLine = this.getFoldLine(firstRow);\n                var idx = 0;\n                if (foldLine) {\n                    var cmp = foldLine.range.compareInside(start.row, start.column);\n                    if (cmp == 0) {\n                        foldLine = foldLine.split(start.row, start.column);\n                        if (foldLine) {\n                            foldLine.shiftRow(len);\n                            foldLine.addRemoveChars(lastRow, 0, end.column - start.column);\n                        }\n                    }\n                    else \n                    if (cmp == -1) {\n                        foldLine.addRemoveChars(firstRow, 0, end.column - start.column);\n                        foldLine.shiftRow(len);\n                    }\n                    idx = foldLines.indexOf(foldLine) + 1;\n                }\n                for (idx; idx < foldLines.length; idx++) {\n                    var foldLine = foldLines[idx];\n                    if (foldLine.start.row >= firstRow) {\n                        foldLine.shiftRow(len);\n                    }\n                }\n            }\n        }\n        else {\n            len = Math.abs(delta.start.column - delta.end.column);\n            if (action === \"remove\") {\n                removedFolds = this.getFoldsInRange(delta);\n                this.removeFolds(removedFolds);\n                len = -len;\n            }\n            var foldLine = this.getFoldLine(firstRow);\n            if (foldLine) {\n                foldLine.addRemoveChars(firstRow, start.column, len);\n            }\n        }\n        if (useWrapMode && this.$wrapData.length != this.doc.getLength()) {\n            console.error(\"doc.getLength() and $wrapData.length have to be the same!\");\n        }\n        this.$updating = false;\n        if (useWrapMode)\n            this.$updateWrapData(firstRow, lastRow);\n        else\n            this.$updateRowLengthCache(firstRow, lastRow);\n        return removedFolds;\n    };\n    EditSession.prototype.$updateRowLengthCache = function (firstRow, lastRow) {\n        this.$rowLengthCache[firstRow] = null;\n        this.$rowLengthCache[lastRow] = null;\n    };\n    EditSession.prototype.$updateWrapData = function (firstRow, lastRow) {\n        var lines = this.doc.getAllLines();\n        var tabSize = this.getTabSize();\n        var wrapData = this.$wrapData;\n        var wrapLimit = this.$wrapLimit;\n        var tokens;\n        var foldLine;\n        var row = firstRow;\n        lastRow = Math.min(lastRow, lines.length - 1);\n        while (row <= lastRow) {\n            foldLine = this.getFoldLine(row, foldLine);\n            if (!foldLine) {\n                tokens = this.$getDisplayTokens(lines[row]);\n                wrapData[row] = this.$computeWrapSplits(tokens, wrapLimit, tabSize);\n                row++;\n            }\n            else {\n                tokens = [];\n                foldLine.walk(function (placeholder, row, column, lastColumn) {\n                    var walkTokens;\n                    if (placeholder != null) {\n                        walkTokens = this.$getDisplayTokens(placeholder, tokens.length);\n                        walkTokens[0] = PLACEHOLDER_START;\n                        for (var i = 1; i < walkTokens.length; i++) {\n                            walkTokens[i] = PLACEHOLDER_BODY;\n                        }\n                    }\n                    else {\n                        walkTokens = this.$getDisplayTokens(lines[row].substring(lastColumn, column), tokens.length);\n                    }\n                    tokens = tokens.concat(walkTokens);\n                }.bind(this), foldLine.end.row, lines[foldLine.end.row].length + 1);\n                wrapData[foldLine.start.row] = this.$computeWrapSplits(tokens, wrapLimit, tabSize);\n                row = foldLine.end.row + 1;\n            }\n        }\n    };\n    EditSession.prototype.$computeWrapSplits = function (tokens, wrapLimit, tabSize) {\n        if (tokens.length == 0) {\n            return [];\n        }\n        var splits = [];\n        var displayLength = tokens.length;\n        var lastSplit = 0, lastDocSplit = 0;\n        var isCode = this.$wrapAsCode;\n        var indentedSoftWrap = this.$indentedSoftWrap;\n        var maxIndent = wrapLimit <= Math.max(2 * tabSize, 8)\n            || indentedSoftWrap === false ? 0 : Math.floor(wrapLimit / 2);\n        function getWrapIndent() {\n            var indentation = 0;\n            if (maxIndent === 0)\n                return indentation;\n            if (indentedSoftWrap) {\n                for (var i = 0; i < tokens.length; i++) {\n                    var token = tokens[i];\n                    if (token == SPACE)\n                        indentation += 1;\n                    else if (token == TAB)\n                        indentation += tabSize;\n                    else if (token == TAB_SPACE)\n                        continue;\n                    else\n                        break;\n                }\n            }\n            if (isCode && indentedSoftWrap !== false)\n                indentation += tabSize;\n            return Math.min(indentation, maxIndent);\n        }\n        function addSplit(screenPos) {\n            var len = screenPos - lastSplit;\n            for (var i = lastSplit; i < screenPos; i++) {\n                var ch = tokens[i];\n                if (ch === 12 || ch === 2)\n                    len -= 1;\n            }\n            if (!splits.length) {\n                indent = getWrapIndent();\n                splits.indent = indent;\n            }\n            lastDocSplit += len;\n            splits.push(lastDocSplit);\n            lastSplit = screenPos;\n        }\n        var indent = 0;\n        while (displayLength - lastSplit > wrapLimit - indent) {\n            var split = lastSplit + wrapLimit - indent;\n            if (tokens[split - 1] >= SPACE && tokens[split] >= SPACE) {\n                addSplit(split);\n                continue;\n            }\n            if (tokens[split] == PLACEHOLDER_START || tokens[split] == PLACEHOLDER_BODY) {\n                for (split; split != lastSplit - 1; split--) {\n                    if (tokens[split] == PLACEHOLDER_START) {\n                        break;\n                    }\n                }\n                if (split > lastSplit) {\n                    addSplit(split);\n                    continue;\n                }\n                split = lastSplit + wrapLimit;\n                for (split; split < tokens.length; split++) {\n                    if (tokens[split] != PLACEHOLDER_BODY) {\n                        break;\n                    }\n                }\n                if (split == tokens.length) {\n                    break; // Breaks the while-loop.\n                }\n                addSplit(split);\n                continue;\n            }\n            var minSplit = Math.max(split - (wrapLimit - (wrapLimit >> 2)), lastSplit - 1);\n            while (split > minSplit && tokens[split] < PLACEHOLDER_START) {\n                split--;\n            }\n            if (isCode) {\n                while (split > minSplit && tokens[split] < PLACEHOLDER_START) {\n                    split--;\n                }\n                while (split > minSplit && tokens[split] == PUNCTUATION) {\n                    split--;\n                }\n            }\n            else {\n                while (split > minSplit && tokens[split] < SPACE) {\n                    split--;\n                }\n            }\n            if (split > minSplit) {\n                addSplit(++split);\n                continue;\n            }\n            split = lastSplit + wrapLimit;\n            if (tokens[split] == CHAR_EXT)\n                split--;\n            addSplit(split - indent);\n        }\n        return splits;\n    };\n    EditSession.prototype.$getDisplayTokens = function (str, offset) {\n        var arr = [];\n        var tabSize;\n        offset = offset || 0;\n        for (var i = 0; i < str.length; i++) {\n            var c = str.charCodeAt(i);\n            if (c == 9) {\n                tabSize = this.getScreenTabSize(arr.length + offset);\n                arr.push(TAB);\n                for (var n = 1; n < tabSize; n++) {\n                    arr.push(TAB_SPACE);\n                }\n            }\n            else if (c == 32) {\n                arr.push(SPACE);\n            }\n            else if ((c > 39 && c < 48) || (c > 57 && c < 64)) {\n                arr.push(PUNCTUATION);\n            }\n            else if (c >= 0x1100 && isFullWidth(c)) {\n                arr.push(CHAR, CHAR_EXT);\n            }\n            else {\n                arr.push(CHAR);\n            }\n        }\n        return arr;\n    };\n    EditSession.prototype.$getStringScreenWidth = function (str, maxScreenColumn, screenColumn) {\n        if (maxScreenColumn == 0)\n            return [0, 0];\n        if (maxScreenColumn == null)\n            maxScreenColumn = Infinity;\n        screenColumn = screenColumn || 0;\n        var c, column;\n        for (column = 0; column < str.length; column++) {\n            c = str.charCodeAt(column);\n            if (c == 9) {\n                screenColumn += this.getScreenTabSize(screenColumn);\n            }\n            else if (c >= 0x1100 && isFullWidth(c)) {\n                screenColumn += 2;\n            }\n            else {\n                screenColumn += 1;\n            }\n            if (screenColumn > maxScreenColumn) {\n                break;\n            }\n        }\n        return [screenColumn, column];\n    };\n    EditSession.prototype.getRowLength = function (row) {\n        var h = 1;\n        if (this.lineWidgets)\n            h += this.lineWidgets[row] && this.lineWidgets[row].rowCount || 0;\n        if (!this.$useWrapMode || !this.$wrapData[row])\n            return h;\n        else\n            return this.$wrapData[row].length + h;\n    };\n    EditSession.prototype.getRowLineCount = function (row) {\n        if (!this.$useWrapMode || !this.$wrapData[row]) {\n            return 1;\n        }\n        else {\n            return this.$wrapData[row].length + 1;\n        }\n    };\n    EditSession.prototype.getRowWrapIndent = function (screenRow) {\n        if (this.$useWrapMode) {\n            var pos = this.screenToDocumentPosition(screenRow, Number.MAX_VALUE);\n            var splits = this.$wrapData[pos.row];\n            return splits.length && splits[0] < pos.column ? splits.indent : 0;\n        }\n        else {\n            return 0;\n        }\n    };\n    EditSession.prototype.getScreenLastRowColumn = function (screenRow) {\n        var pos = this.screenToDocumentPosition(screenRow, Number.MAX_VALUE);\n        return this.documentToScreenColumn(pos.row, pos.column);\n    };\n    EditSession.prototype.getDocumentLastRowColumn = function (docRow, docColumn) {\n        var screenRow = this.documentToScreenRow(docRow, docColumn);\n        return this.getScreenLastRowColumn(screenRow);\n    };\n    EditSession.prototype.getDocumentLastRowColumnPosition = function (docRow, docColumn) {\n        var screenRow = this.documentToScreenRow(docRow, docColumn);\n        return this.screenToDocumentPosition(screenRow, Number.MAX_VALUE / 10);\n    };\n    EditSession.prototype.getRowSplitData = function (row) {\n        if (!this.$useWrapMode) {\n            return undefined;\n        }\n        else {\n            return this.$wrapData[row];\n        }\n    };\n    EditSession.prototype.getScreenTabSize = function (screenColumn) {\n        return this.$tabSize - (screenColumn % this.$tabSize | 0);\n    };\n    EditSession.prototype.screenToDocumentRow = function (screenRow, screenColumn) {\n        return this.screenToDocumentPosition(screenRow, screenColumn).row;\n    };\n    EditSession.prototype.screenToDocumentColumn = function (screenRow, screenColumn) {\n        return this.screenToDocumentPosition(screenRow, screenColumn).column;\n    };\n    EditSession.prototype.screenToDocumentPosition = function (screenRow, screenColumn, offsetX) {\n        if (screenRow < 0)\n            return { row: 0, column: 0 };\n        var line;\n        var docRow = 0;\n        var docColumn = 0;\n        var column;\n        var row = 0;\n        var rowLength = 0;\n        var rowCache = this.$screenRowCache;\n        var i = this.$getRowCacheIndex(rowCache, screenRow);\n        var l = rowCache.length;\n        if (l && i >= 0) {\n            var row = rowCache[i];\n            var docRow = this.$docRowCache[i];\n            var doCache = screenRow > rowCache[l - 1];\n        }\n        else {\n            var doCache = !l;\n        }\n        var maxRow = this.getLength() - 1;\n        var foldLine = this.getNextFoldLine(docRow);\n        var foldStart = foldLine ? foldLine.start.row : Infinity;\n        while (row <= screenRow) {\n            rowLength = this.getRowLength(docRow);\n            if (row + rowLength > screenRow || docRow >= maxRow) {\n                break;\n            }\n            else {\n                row += rowLength;\n                docRow++;\n                if (docRow > foldStart) {\n                    docRow = foldLine.end.row + 1;\n                    foldLine = this.getNextFoldLine(docRow, foldLine);\n                    foldStart = foldLine ? foldLine.start.row : Infinity;\n                }\n            }\n            if (doCache) {\n                this.$docRowCache.push(docRow);\n                this.$screenRowCache.push(row);\n            }\n        }\n        if (foldLine && foldLine.start.row <= docRow) {\n            line = this.getFoldDisplayLine(foldLine);\n            docRow = foldLine.start.row;\n        }\n        else if (row + rowLength <= screenRow || docRow > maxRow) {\n            return {\n                row: maxRow,\n                column: this.getLine(maxRow).length\n            };\n        }\n        else {\n            line = this.getLine(docRow);\n            foldLine = null;\n        }\n        var wrapIndent = 0, splitIndex = Math.floor(screenRow - row);\n        if (this.$useWrapMode) {\n            var splits = this.$wrapData[docRow];\n            if (splits) {\n                column = splits[splitIndex];\n                if (splitIndex > 0 && splits.length) {\n                    wrapIndent = splits.indent;\n                    docColumn = splits[splitIndex - 1] || splits[splits.length - 1];\n                    line = line.substring(docColumn);\n                }\n            }\n        }\n        if (offsetX !== undefined && this.$bidiHandler.isBidiRow(row + splitIndex, docRow, splitIndex))\n            screenColumn = this.$bidiHandler.offsetToCol(offsetX);\n        docColumn += this.$getStringScreenWidth(line, screenColumn - wrapIndent)[1];\n        if (this.$useWrapMode && docColumn >= column)\n            docColumn = column - 1;\n        if (foldLine)\n            return foldLine.idxToPosition(docColumn);\n        return { row: docRow, column: docColumn };\n    };\n    EditSession.prototype.documentToScreenPosition = function (docRow, docColumn) {\n        if (typeof docColumn === \"undefined\")\n            var pos = this.$clipPositionToDocument(/**@type{Point}*/ (docRow).row, /**@type{Point}*/ (docRow).column);\n        else\n            pos = this.$clipPositionToDocument(/**@type{number}*/ (docRow), docColumn);\n        docRow = pos.row;\n        docColumn = pos.column;\n        var screenRow = 0;\n        var foldStartRow = null;\n        var fold = null;\n        fold = this.getFoldAt(docRow, docColumn, 1);\n        if (fold) {\n            docRow = fold.start.row;\n            docColumn = fold.start.column;\n        }\n        var rowEnd, row = 0;\n        var rowCache = this.$docRowCache;\n        var i = this.$getRowCacheIndex(rowCache, docRow);\n        var l = rowCache.length;\n        if (l && i >= 0) {\n            var row = rowCache[i];\n            var screenRow = this.$screenRowCache[i];\n            var doCache = docRow > rowCache[l - 1];\n        }\n        else {\n            var doCache = !l;\n        }\n        var foldLine = this.getNextFoldLine(row);\n        var foldStart = foldLine ? foldLine.start.row : Infinity;\n        while (row < docRow) {\n            if (row >= foldStart) {\n                rowEnd = foldLine.end.row + 1;\n                if (rowEnd > docRow)\n                    break;\n                foldLine = this.getNextFoldLine(rowEnd, foldLine);\n                foldStart = foldLine ? foldLine.start.row : Infinity;\n            }\n            else {\n                rowEnd = row + 1;\n            }\n            screenRow += this.getRowLength(row);\n            row = rowEnd;\n            if (doCache) {\n                this.$docRowCache.push(row);\n                this.$screenRowCache.push(screenRow);\n            }\n        }\n        var textLine = \"\";\n        if (foldLine && row >= foldStart) {\n            textLine = this.getFoldDisplayLine(foldLine, docRow, docColumn);\n            foldStartRow = foldLine.start.row;\n        }\n        else {\n            textLine = this.getLine(docRow).substring(0, docColumn);\n            foldStartRow = docRow;\n        }\n        var wrapIndent = 0;\n        if (this.$useWrapMode) {\n            var wrapRow = this.$wrapData[foldStartRow];\n            if (wrapRow) {\n                var screenRowOffset = 0;\n                while (textLine.length >= wrapRow[screenRowOffset]) {\n                    screenRow++;\n                    screenRowOffset++;\n                }\n                textLine = textLine.substring(wrapRow[screenRowOffset - 1] || 0, textLine.length);\n                wrapIndent = screenRowOffset > 0 ? wrapRow.indent : 0;\n            }\n        }\n        if (this.lineWidgets && this.lineWidgets[row] && this.lineWidgets[row].rowsAbove)\n            screenRow += this.lineWidgets[row].rowsAbove;\n        return {\n            row: screenRow,\n            column: wrapIndent + this.$getStringScreenWidth(textLine)[0]\n        };\n    };\n    EditSession.prototype.documentToScreenColumn = function (row, docColumn) {\n        return this.documentToScreenPosition(row, docColumn).column;\n    };\n    EditSession.prototype.documentToScreenRow = function (docRow, docColumn) {\n        return this.documentToScreenPosition(docRow, docColumn).row;\n    };\n    EditSession.prototype.getScreenLength = function () {\n        var screenRows = 0;\n        var fold = null;\n        if (!this.$useWrapMode) {\n            screenRows = this.getLength();\n            var foldData = this.$foldData;\n            for (var i = 0; i < foldData.length; i++) {\n                fold = foldData[i];\n                screenRows -= fold.end.row - fold.start.row;\n            }\n        }\n        else {\n            var lastRow = this.$wrapData.length;\n            var row = 0, i = 0;\n            var fold = this.$foldData[i++];\n            var foldStart = fold ? fold.start.row : Infinity;\n            while (row < lastRow) {\n                var splits = this.$wrapData[row];\n                screenRows += splits ? splits.length + 1 : 1;\n                row++;\n                if (row > foldStart) {\n                    row = fold.end.row + 1;\n                    fold = this.$foldData[i++];\n                    foldStart = fold ? fold.start.row : Infinity;\n                }\n            }\n        }\n        if (this.lineWidgets)\n            screenRows += this.$getWidgetScreenLength();\n        return screenRows;\n    };\n    EditSession.prototype.$setFontMetrics = function (fm) {\n        if (!this.$enableVarChar)\n            return;\n        this.$getStringScreenWidth = function (str, maxScreenColumn, screenColumn) {\n            if (maxScreenColumn === 0)\n                return [0, 0];\n            if (!maxScreenColumn)\n                maxScreenColumn = Infinity;\n            screenColumn = screenColumn || 0;\n            var c, column;\n            for (column = 0; column < str.length; column++) {\n                c = str.charAt(column);\n                if (c === \"\\t\") {\n                    screenColumn += this.getScreenTabSize(screenColumn);\n                }\n                else {\n                    screenColumn += fm.getCharacterWidth(c);\n                }\n                if (screenColumn > maxScreenColumn) {\n                    break;\n                }\n            }\n            return [screenColumn, column];\n        };\n    };\n    EditSession.prototype.getPrecedingCharacter = function () {\n        var pos = this.selection.getCursor();\n        if (pos.column === 0) {\n            return pos.row === 0 ? \"\" : this.doc.getNewLineCharacter();\n        }\n        var currentLine = this.getLine(pos.row);\n        return currentLine[pos.column - 1];\n    };\n    EditSession.prototype.destroy = function () {\n        if (!this.destroyed) {\n            this.bgTokenizer.setDocument(null);\n            this.bgTokenizer.cleanup();\n            this.destroyed = true;\n        }\n        this.endOperation();\n        this.$stopWorker();\n        this.removeAllListeners();\n        if (this.doc) {\n            this.doc.off(\"change\", this.$onChange);\n        }\n        if (this.selection) {\n            this.selection.off(\"changeCursor\", this.$onSelectionChange);\n            this.selection.off(\"changeSelection\", this.$onSelectionChange);\n        }\n        this.selection.detach();\n    };\n    return EditSession;\n}());\nEditSession.$uid = 0;\nEditSession.prototype.$modes = config.$modes;\nEditSession.prototype.getValue = EditSession.prototype.toString;\nEditSession.prototype.$defaultUndoManager = {\n    undo: function () { },\n    redo: function () { },\n    hasUndo: function () { },\n    hasRedo: function () { },\n    reset: function () { },\n    add: function () { },\n    addSelection: function () { },\n    startNewGroup: function () { },\n    addSession: function () { }\n};\nEditSession.prototype.$overwrite = false;\nEditSession.prototype.$mode = null;\nEditSession.prototype.$modeId = null;\nEditSession.prototype.$scrollTop = 0;\nEditSession.prototype.$scrollLeft = 0;\nEditSession.prototype.$wrapLimit = 80;\nEditSession.prototype.$useWrapMode = false;\nEditSession.prototype.$wrapLimitRange = {\n    min: null,\n    max: null\n};\nEditSession.prototype.lineWidgets = null;\nEditSession.prototype.isFullWidth = isFullWidth;\noop.implement(EditSession.prototype, EventEmitter);\nvar CHAR = 1, CHAR_EXT = 2, PLACEHOLDER_START = 3, PLACEHOLDER_BODY = 4, PUNCTUATION = 9, SPACE = 10, TAB = 11, TAB_SPACE = 12;\nfunction isFullWidth(c) {\n    if (c < 0x1100)\n        return false;\n    return c >= 0x1100 && c <= 0x115F ||\n        c >= 0x11A3 && c <= 0x11A7 ||\n        c >= 0x11FA && c <= 0x11FF ||\n        c >= 0x2329 && c <= 0x232A ||\n        c >= 0x2E80 && c <= 0x2E99 ||\n        c >= 0x2E9B && c <= 0x2EF3 ||\n        c >= 0x2F00 && c <= 0x2FD5 ||\n        c >= 0x2FF0 && c <= 0x2FFB ||\n        c >= 0x3000 && c <= 0x303E ||\n        c >= 0x3041 && c <= 0x3096 ||\n        c >= 0x3099 && c <= 0x30FF ||\n        c >= 0x3105 && c <= 0x312D ||\n        c >= 0x3131 && c <= 0x318E ||\n        c >= 0x3190 && c <= 0x31BA ||\n        c >= 0x31C0 && c <= 0x31E3 ||\n        c >= 0x31F0 && c <= 0x321E ||\n        c >= 0x3220 && c <= 0x3247 ||\n        c >= 0x3250 && c <= 0x32FE ||\n        c >= 0x3300 && c <= 0x4DBF ||\n        c >= 0x4E00 && c <= 0xA48C ||\n        c >= 0xA490 && c <= 0xA4C6 ||\n        c >= 0xA960 && c <= 0xA97C ||\n        c >= 0xAC00 && c <= 0xD7A3 ||\n        c >= 0xD7B0 && c <= 0xD7C6 ||\n        c >= 0xD7CB && c <= 0xD7FB ||\n        c >= 0xF900 && c <= 0xFAFF ||\n        c >= 0xFE10 && c <= 0xFE19 ||\n        c >= 0xFE30 && c <= 0xFE52 ||\n        c >= 0xFE54 && c <= 0xFE66 ||\n        c >= 0xFE68 && c <= 0xFE6B ||\n        c >= 0xFF01 && c <= 0xFF60 ||\n        c >= 0xFFE0 && c <= 0xFFE6;\n}\nrequire(\"./edit_session/folding\").Folding.call(EditSession.prototype);\nrequire(\"./edit_session/bracket_match\").BracketMatch.call(EditSession.prototype);\nconfig.defineOptions(EditSession.prototype, \"session\", {\n    wrap: {\n        set: function (value) {\n            if (!value || value == \"off\")\n                value = false;\n            else if (value == \"free\")\n                value = true;\n            else if (value == \"printMargin\")\n                value = -1;\n            else if (typeof value == \"string\")\n                value = parseInt(value, 10) || false;\n            if (this.$wrap == value)\n                return;\n            this.$wrap = value;\n            if (!value) {\n                this.setUseWrapMode(false);\n            }\n            else {\n                var col = typeof value == \"number\" ? value : null;\n                this.setWrapLimitRange(col, col);\n                this.setUseWrapMode(true);\n            }\n        },\n        get: function () {\n            if (this.getUseWrapMode()) {\n                if (this.$wrap == -1)\n                    return \"printMargin\";\n                if (!this.getWrapLimitRange().min)\n                    return \"free\";\n                return this.$wrap;\n            }\n            return \"off\";\n        },\n        handlesSet: true\n    },\n    wrapMethod: {\n        set: function (val) {\n            val = val == \"auto\"\n                ? this.$mode.type != \"text\"\n                : val != \"text\";\n            if (val != this.$wrapAsCode) {\n                this.$wrapAsCode = val;\n                if (this.$useWrapMode) {\n                    this.$useWrapMode = false;\n                    this.setUseWrapMode(true);\n                }\n            }\n        },\n        initialValue: \"auto\"\n    },\n    indentedSoftWrap: {\n        set: function () {\n            if (this.$useWrapMode) {\n                this.$useWrapMode = false;\n                this.setUseWrapMode(true);\n            }\n        },\n        initialValue: true\n    },\n    firstLineNumber: {\n        set: function () { this._signal(\"changeBreakpoint\"); },\n        initialValue: 1\n    },\n    useWorker: {\n        set: function (useWorker) {\n            this.$useWorker = useWorker;\n            this.$stopWorker();\n            if (useWorker)\n                this.$startWorker();\n        },\n        initialValue: true\n    },\n    useSoftTabs: { initialValue: true },\n    tabSize: {\n        set: function (tabSize) {\n            tabSize = parseInt(tabSize);\n            if (tabSize > 0 && this.$tabSize !== tabSize) {\n                this.$modified = true;\n                this.$rowLengthCache = [];\n                this.$tabSize = tabSize;\n                this._signal(\"changeTabSize\");\n            }\n        },\n        initialValue: 4,\n        handlesSet: true\n    },\n    navigateWithinSoftTabs: { initialValue: false },\n    foldStyle: {\n        set: function (val) { this.setFoldStyle(val); },\n        handlesSet: true\n    },\n    overwrite: {\n        set: function (val) { this._signal(\"changeOverwrite\"); },\n        initialValue: false\n    },\n    newLineMode: {\n        set: function (val) { this.doc.setNewLineMode(val); },\n        get: function () { return this.doc.getNewLineMode(); },\n        handlesSet: true\n    },\n    mode: {\n        set: function (val) { this.setMode(val); },\n        get: function () { return this.$modeId; },\n        handlesSet: true\n    }\n});\nexports.EditSession = EditSession;\n\n});\n\nace.define(\"ace/search\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/oop\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar lang = require(\"./lib/lang\");\nvar oop = require(\"./lib/oop\");\nvar Range = require(\"./range\").Range;\nvar Search = /** @class */ (function () {\n    function Search() {\n        this.$options = {};\n    }\n    Search.prototype.set = function (options) {\n        oop.mixin(this.$options, options);\n        return this;\n    };\n    Search.prototype.getOptions = function () {\n        return lang.copyObject(this.$options);\n    };\n    Search.prototype.setOptions = function (options) {\n        this.$options = options;\n    };\n    Search.prototype.find = function (session) {\n        var options = this.$options;\n        var iterator = this.$matchIterator(session, options);\n        if (!iterator)\n            return false;\n        var firstRange = null;\n        iterator.forEach(function (sr, sc, er, ec) {\n            firstRange = new Range(sr, sc, er, ec);\n            if (sc == ec && options.start && /**@type{Range}*/ (options.start).start\n                && options.skipCurrent != false && firstRange.isEqual(/**@type{Range}*/ (options.start))) {\n                firstRange = null;\n                return false;\n            }\n            return true;\n        });\n        return firstRange;\n    };\n    Search.prototype.findAll = function (session) {\n        var options = this.$options;\n        if (!options.needle)\n            return [];\n        this.$assembleRegExp(options);\n        var range = options.range;\n        var lines = range\n            ? session.getLines(range.start.row, range.end.row)\n            : session.doc.getAllLines();\n        var ranges = [];\n        var re = options.re;\n        if (options.$isMultiLine) {\n            var len = re.length;\n            var maxRow = lines.length - len;\n            var prevRange;\n            outer: for (var row = re.offset || 0; row <= maxRow; row++) {\n                for (var j = 0; j < len; j++)\n                    if (lines[row + j].search(re[j]) == -1)\n                        continue outer;\n                var startLine = lines[row];\n                var line = lines[row + len - 1];\n                var startIndex = startLine.length - startLine.match(re[0])[0].length;\n                var endIndex = line.match(re[len - 1])[0].length;\n                if (prevRange && prevRange.end.row === row &&\n                    prevRange.end.column > startIndex) {\n                    continue;\n                }\n                ranges.push(prevRange = new Range(row, startIndex, row + len - 1, endIndex));\n                if (len > 2)\n                    row = row + len - 2;\n            }\n        }\n        else {\n            for (var i = 0; i < lines.length; i++) {\n                var matches = lang.getMatchOffsets(lines[i], re);\n                for (var j = 0; j < matches.length; j++) {\n                    var match = matches[j];\n                    ranges.push(new Range(i, match.offset, i, match.offset + match.length));\n                }\n            }\n        }\n        if (range) {\n            var startColumn = range.start.column;\n            var endColumn = range.end.column;\n            var i = 0, j = ranges.length - 1;\n            while (i < j && ranges[i].start.column < startColumn && ranges[i].start.row == 0)\n                i++;\n            var endRow = range.end.row - range.start.row;\n            while (i < j && ranges[j].end.column > endColumn && ranges[j].end.row == endRow)\n                j--;\n            ranges = ranges.slice(i, j + 1);\n            for (i = 0, j = ranges.length; i < j; i++) {\n                ranges[i].start.row += range.start.row;\n                ranges[i].end.row += range.start.row;\n            }\n        }\n        return ranges;\n    };\n    Search.prototype.replace = function (input, replacement) {\n        var options = this.$options;\n        var re = this.$assembleRegExp(options);\n        if (options.$isMultiLine)\n            return replacement;\n        if (!re)\n            return;\n        var match = re.exec(input);\n        if (!match || match[0].length != input.length)\n            return null;\n        if (!options.regExp) {\n            replacement = replacement.replace(/\\$/g, \"$$$$\");\n        }\n        replacement = input.replace(re, replacement);\n        if (options.preserveCase) {\n            replacement = replacement.split(\"\");\n            for (var i = Math.min(input.length, input.length); i--;) {\n                var ch = input[i];\n                if (ch && ch.toLowerCase() != ch)\n                    replacement[i] = replacement[i].toUpperCase();\n                else\n                    replacement[i] = replacement[i].toLowerCase();\n            }\n            replacement = replacement.join(\"\");\n        }\n        return replacement;\n    };\n    Search.prototype.$assembleRegExp = function (options, $disableFakeMultiline) {\n        if (options.needle instanceof RegExp)\n            return options.re = options.needle;\n        var needle = options.needle;\n        if (!options.needle)\n            return options.re = false;\n        if (!options.regExp)\n            needle = lang.escapeRegExp(needle);\n        var modifier = options.caseSensitive ? \"gm\" : \"gmi\";\n        try {\n            new RegExp(needle, \"u\");\n            options.$supportsUnicodeFlag = true;\n            modifier += \"u\";\n        }\n        catch (e) {\n            options.$supportsUnicodeFlag = false; //left for backward compatibility with previous versions for cases like /ab\\{2}/gu\n        }\n        if (options.wholeWord)\n            needle = addWordBoundary(needle, options);\n        options.$isMultiLine = !$disableFakeMultiline && /[\\n\\r]/.test(needle);\n        if (options.$isMultiLine)\n            return options.re = this.$assembleMultilineRegExp(needle, modifier);\n        try {\n            var re = new RegExp(needle, modifier);\n        }\n        catch (e) {\n            re = false;\n        }\n        return options.re = re;\n    };\n    Search.prototype.$assembleMultilineRegExp = function (needle, modifier) {\n        var parts = needle.replace(/\\r\\n|\\r|\\n/g, \"$\\n^\").split(\"\\n\");\n        var re = [];\n        for (var i = 0; i < parts.length; i++)\n            try {\n                re.push(new RegExp(parts[i], modifier));\n            }\n            catch (e) {\n                return false;\n            }\n        return re;\n    };\n    Search.prototype.$matchIterator = function (session, options) {\n        var re = this.$assembleRegExp(options);\n        if (!re)\n            return false;\n        var backwards = options.backwards == true;\n        var skipCurrent = options.skipCurrent != false;\n        var supportsUnicodeFlag = re.unicode;\n        var range = options.range;\n        var start = options.start;\n        if (!start)\n            start = range ? range[backwards ? \"end\" : \"start\"] : session.selection.getRange();\n        if (start.start)\n            start = start[skipCurrent != backwards ? \"end\" : \"start\"];\n        var firstRow = range ? range.start.row : 0;\n        var lastRow = range ? range.end.row : session.getLength() - 1;\n        if (backwards) {\n            var forEach = function (callback) {\n                var row = start.row;\n                if (forEachInLine(row, start.column, callback))\n                    return;\n                for (row--; row >= firstRow; row--)\n                    if (forEachInLine(row, Number.MAX_VALUE, callback))\n                        return;\n                if (options.wrap == false)\n                    return;\n                for (row = lastRow, firstRow = start.row; row >= firstRow; row--)\n                    if (forEachInLine(row, Number.MAX_VALUE, callback))\n                        return;\n            };\n        }\n        else {\n            var forEach = function (callback) {\n                var row = start.row;\n                if (forEachInLine(row, start.column, callback))\n                    return;\n                for (row = row + 1; row <= lastRow; row++)\n                    if (forEachInLine(row, 0, callback))\n                        return;\n                if (options.wrap == false)\n                    return;\n                for (row = firstRow, lastRow = start.row; row <= lastRow; row++)\n                    if (forEachInLine(row, 0, callback))\n                        return;\n            };\n        }\n        if (options.$isMultiLine) {\n            var len = re.length;\n            var forEachInLine = function (row, offset, callback) {\n                var startRow = backwards ? row - len + 1 : row;\n                if (startRow < 0 || startRow + len > session.getLength())\n                    return;\n                var line = session.getLine(startRow);\n                var startIndex = line.search(re[0]);\n                if (!backwards && startIndex < offset || startIndex === -1)\n                    return;\n                for (var i = 1; i < len; i++) {\n                    line = session.getLine(startRow + i);\n                    if (line.search(re[i]) == -1)\n                        return;\n                }\n                var endIndex = line.match(re[len - 1])[0].length;\n                if (backwards && endIndex > offset)\n                    return;\n                if (callback(startRow, startIndex, startRow + len - 1, endIndex))\n                    return true;\n            };\n        }\n        else if (backwards) {\n            var forEachInLine = function (row, endIndex, callback) {\n                var line = session.getLine(row);\n                var matches = [];\n                var m, last = 0;\n                re.lastIndex = 0;\n                while ((m = re.exec(line))) {\n                    var length = m[0].length;\n                    last = m.index;\n                    if (!length) {\n                        if (last >= line.length)\n                            break;\n                        re.lastIndex = last += lang.skipEmptyMatch(line, last, supportsUnicodeFlag);\n                    }\n                    if (m.index + length > endIndex)\n                        break;\n                    matches.push(m.index, length);\n                }\n                for (var i = matches.length - 1; i >= 0; i -= 2) {\n                    var column = matches[i - 1];\n                    var length = matches[i];\n                    if (callback(row, column, row, column + length))\n                        return true;\n                }\n            };\n        }\n        else {\n            var forEachInLine = function (row, startIndex, callback) {\n                var line = session.getLine(row);\n                var last;\n                var m;\n                re.lastIndex = startIndex;\n                while ((m = re.exec(line))) {\n                    var length = m[0].length;\n                    last = m.index;\n                    if (callback(row, last, row, last + length))\n                        return true;\n                    if (!length) {\n                        re.lastIndex = last += lang.skipEmptyMatch(line, last, supportsUnicodeFlag);\n                        if (last >= line.length)\n                            return false;\n                    }\n                }\n            };\n        }\n        return { forEach: forEach };\n    };\n    return Search;\n}());\nfunction addWordBoundary(needle, options) {\n    var supportsLookbehind = lang.supportsLookbehind();\n    function wordBoundary(c, firstChar) {\n        if (firstChar === void 0) { firstChar = true; }\n        var wordRegExp = supportsLookbehind && options.$supportsUnicodeFlag ? new RegExp(\"[\\\\p{L}\\\\p{N}_]\", \"u\") : new RegExp(\"\\\\w\");\n        if (wordRegExp.test(c) || options.regExp) {\n            if (supportsLookbehind && options.$supportsUnicodeFlag) {\n                if (firstChar)\n                    return \"(?<=^|[^\\\\p{L}\\\\p{N}_])\";\n                return \"(?=[^\\\\p{L}\\\\p{N}_]|$)\";\n            }\n            return \"\\\\b\";\n        }\n        return \"\";\n    }\n    var needleArray = Array.from(needle);\n    var firstChar = needleArray[0];\n    var lastChar = needleArray[needleArray.length - 1];\n    return wordBoundary(firstChar) + needle + wordBoundary(lastChar, false);\n}\nexports.Search = Search;\n\n});\n\nace.define(\"ace/keyboard/hash_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/useragent\"], function(require, exports, module){\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})(); var keyUtil = require(\"../lib/keys\");\nvar useragent = require(\"../lib/useragent\");\nvar KEY_MODS = keyUtil.KEY_MODS;\nvar MultiHashHandler = /** @class */ (function () {\n    function MultiHashHandler(config, platform) {\n        this.$init(config, platform, false);\n    }\n    MultiHashHandler.prototype.$init = function (config, platform, $singleCommand) {\n        this.platform = platform || (useragent.isMac ? \"mac\" : \"win\");\n        this.commands = {};\n        this.commandKeyBinding = {};\n        this.addCommands(config);\n        this.$singleCommand = $singleCommand;\n    };\n    MultiHashHandler.prototype.addCommand = function (command) {\n        if (this.commands[command.name])\n            this.removeCommand(command);\n        this.commands[command.name] = command;\n        if (command.bindKey)\n            this._buildKeyHash(command);\n    };\n    MultiHashHandler.prototype.removeCommand = function (command, keepCommand) {\n        var name = command && (typeof command === 'string' ? command : command.name);\n        command = this.commands[name];\n        if (!keepCommand)\n            delete this.commands[name];\n        var ckb = this.commandKeyBinding;\n        for (var keyId in ckb) {\n            var cmdGroup = ckb[keyId];\n            if (cmdGroup == command) {\n                delete ckb[keyId];\n            }\n            else if (Array.isArray(cmdGroup)) {\n                var i = cmdGroup.indexOf(command);\n                if (i != -1) {\n                    cmdGroup.splice(i, 1);\n                    if (cmdGroup.length == 1)\n                        ckb[keyId] = cmdGroup[0];\n                }\n            }\n        }\n    };\n    MultiHashHandler.prototype.bindKey = function (key, command, position) {\n        if (typeof key == \"object\" && key) {\n            if (position == undefined)\n                position = key.position;\n            key = key[this.platform];\n        }\n        if (!key)\n            return;\n        if (typeof command == \"function\")\n            return this.addCommand({ exec: command, bindKey: key, name: command.name || /**@type{string}*/ (key) }); (key).split(\"|\").forEach(function (keyPart) {\n            var chain = \"\";\n            if (keyPart.indexOf(\" \") != -1) {\n                var parts = keyPart.split(/\\s+/);\n                keyPart = parts.pop();\n                parts.forEach(function (keyPart) {\n                    var binding = this.parseKeys(keyPart);\n                    var id = KEY_MODS[binding.hashId] + binding.key;\n                    chain += (chain ? \" \" : \"\") + id;\n                    this._addCommandToBinding(chain, \"chainKeys\");\n                }, this);\n                chain += \" \";\n            }\n            var binding = this.parseKeys(keyPart);\n            var id = KEY_MODS[binding.hashId] + binding.key;\n            this._addCommandToBinding(chain + id, command, position);\n        }, this);\n    };\n    MultiHashHandler.prototype._addCommandToBinding = function (keyId, command, position) {\n        var ckb = this.commandKeyBinding, i;\n        if (!command) {\n            delete ckb[keyId];\n        }\n        else if (!ckb[keyId] || this.$singleCommand) {\n            ckb[keyId] = command;\n        }\n        else {\n            if (!Array.isArray(ckb[keyId])) {\n                ckb[keyId] = [ckb[keyId]];\n            }\n            else if ((i = ckb[keyId].indexOf(command)) != -1) {\n                ckb[keyId].splice(i, 1);\n            }\n            if (typeof position != \"number\") {\n                position = getPosition(command);\n            }\n            var commands = ckb[keyId];\n            for (i = 0; i < commands.length; i++) {\n                var other = commands[i];\n                var otherPos = getPosition(other);\n                if (otherPos > position)\n                    break;\n            }\n            commands.splice(i, 0, command);\n        }\n    };\n    MultiHashHandler.prototype.addCommands = function (commands) {\n        commands && Object.keys(commands).forEach(function (name) {\n            var command = commands[name];\n            if (!command)\n                return;\n            if (typeof command === \"string\")\n                return this.bindKey(command, name);\n            if (typeof command === \"function\")\n                command = { exec: command };\n            if (typeof command !== \"object\")\n                return;\n            if (!command.name)\n                command.name = name;\n            this.addCommand(command);\n        }, this);\n    };\n    MultiHashHandler.prototype.removeCommands = function (commands) {\n        Object.keys(commands).forEach(function (name) {\n            this.removeCommand(commands[name]);\n        }, this);\n    };\n    MultiHashHandler.prototype.bindKeys = function (keyList) {\n        Object.keys(keyList).forEach(function (key) {\n            this.bindKey(key, keyList[key]);\n        }, this);\n    };\n    MultiHashHandler.prototype._buildKeyHash = function (command) {\n        this.bindKey(command.bindKey, command);\n    };\n    MultiHashHandler.prototype.parseKeys = function (keys) {\n        var parts = keys.toLowerCase().split(/[\\-\\+]([\\-\\+])?/).filter(function (x) { return x; });\n        var key = parts.pop();\n        var keyCode = keyUtil[key];\n        if (keyUtil.FUNCTION_KEYS[keyCode])\n            key = keyUtil.FUNCTION_KEYS[keyCode].toLowerCase();\n        else if (!parts.length)\n            return { key: key, hashId: -1 };\n        else if (parts.length == 1 && parts[0] == \"shift\")\n            return { key: key.toUpperCase(), hashId: -1 };\n        var hashId = 0;\n        for (var i = parts.length; i--;) {\n            var modifier = keyUtil.KEY_MODS[parts[i]];\n            if (modifier == null) {\n                if (typeof console != \"undefined\")\n                    console.error(\"invalid modifier \" + parts[i] + \" in \" + keys);\n                return false;\n            }\n            hashId |= modifier;\n        }\n        return { key: key, hashId: hashId };\n    };\n    MultiHashHandler.prototype.findKeyCommand = function (hashId, keyString) {\n        var key = KEY_MODS[hashId] + keyString;\n        return this.commandKeyBinding[key];\n    };\n    MultiHashHandler.prototype.handleKeyboard = function (data, hashId, keyString, keyCode) {\n        if (keyCode < 0)\n            return;\n        var key = KEY_MODS[hashId] + keyString;\n        var command = this.commandKeyBinding[key];\n        if (data.$keyChain) {\n            data.$keyChain += \" \" + key;\n            command = this.commandKeyBinding[data.$keyChain] || command;\n        }\n        if (command) {\n            if (command == \"chainKeys\" || command[command.length - 1] == \"chainKeys\") {\n                data.$keyChain = data.$keyChain || key;\n                return { command: \"null\" };\n            }\n        }\n        if (data.$keyChain) {\n            if ((!hashId || hashId == 4) && keyString.length == 1)\n                data.$keyChain = data.$keyChain.slice(0, -key.length - 1); // wait for input\n            else if (hashId == -1 || keyCode > 0)\n                data.$keyChain = \"\"; // reset keyChain\n        }\n        return { command: command };\n    };\n    MultiHashHandler.prototype.getStatusText = function (editor, data) {\n        return data.$keyChain || \"\";\n    };\n    return MultiHashHandler;\n}());\nfunction getPosition(command) {\n    return typeof command == \"object\" && command.bindKey\n        && command.bindKey.position\n        || (command.isDefault ? -100 : 0);\n}\nvar HashHandler = /** @class */ (function (_super) {\n    __extends(HashHandler, _super);\n    function HashHandler(config, platform) {\n        var _this = _super.call(this, config, platform) || this;\n        _this.$singleCommand = true;\n        return _this;\n    }\n    return HashHandler;\n}(MultiHashHandler));\nHashHandler.call = function (thisArg, config, platform) {\n    MultiHashHandler.prototype.$init.call(thisArg, config, platform, true);\n};\nMultiHashHandler.call = function (thisArg, config, platform) {\n    MultiHashHandler.prototype.$init.call(thisArg, config, platform, false);\n};\nexports.HashHandler = HashHandler;\nexports.MultiHashHandler = MultiHashHandler;\n\n});\n\nace.define(\"ace/commands/command_manager\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/keyboard/hash_handler\",\"ace/lib/event_emitter\"], function(require, exports, module){\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar oop = require(\"../lib/oop\");\nvar MultiHashHandler = require(\"../keyboard/hash_handler\").MultiHashHandler;\nvar EventEmitter = require(\"../lib/event_emitter\").EventEmitter;\nvar CommandManager = /** @class */ (function (_super) {\n    __extends(CommandManager, _super);\n    function CommandManager(platform, commands) {\n        var _this = _super.call(this, commands, platform) || this;\n        _this.byName = _this.commands;\n        _this.setDefaultHandler(\"exec\", function (e) {\n            if (!e.args) {\n                return e.command.exec(e.editor, {}, e.event, true);\n            }\n            return e.command.exec(e.editor, e.args, e.event, false);\n        });\n        return _this;\n    }\n    CommandManager.prototype.exec = function (command, editor, args) {\n        if (Array.isArray(command)) {\n            for (var i = command.length; i--;) {\n                if (this.exec(command[i], editor, args))\n                    return true;\n            }\n            return false;\n        }\n        if (typeof command === \"string\")\n            command = this.commands[command];\n        if (!this.canExecute(command, editor)) {\n            return false;\n        }\n        var e = { editor: editor, command: command, args: args };\n        e.returnValue = this._emit(\"exec\", e);\n        this._signal(\"afterExec\", e);\n        return e.returnValue === false ? false : true;\n    };\n    CommandManager.prototype.canExecute = function (command, editor) {\n        if (typeof command === \"string\")\n            command = this.commands[command];\n        if (!command)\n            return false;\n        if (editor && editor.$readOnly && !command.readOnly)\n            return false;\n        if (this.$checkCommandState != false && command.isAvailable && !command.isAvailable(editor))\n            return false;\n        return true;\n    };\n    CommandManager.prototype.toggleRecording = function (editor) {\n        if (this.$inReplay)\n            return;\n        editor && editor._emit(\"changeStatus\");\n        if (this.recording) {\n            this.macro.pop();\n            this.off(\"exec\", this.$addCommandToMacro);\n            if (!this.macro.length)\n                this.macro = this.oldMacro;\n            return this.recording = false;\n        }\n        if (!this.$addCommandToMacro) {\n            this.$addCommandToMacro = function (e) {\n                this.macro.push([e.command, e.args]);\n            }.bind(this);\n        }\n        this.oldMacro = this.macro;\n        this.macro = [];\n        this.on(\"exec\", this.$addCommandToMacro);\n        return this.recording = true;\n    };\n    CommandManager.prototype.replay = function (editor) {\n        if (this.$inReplay || !this.macro)\n            return;\n        if (this.recording)\n            return this.toggleRecording(editor);\n        try {\n            this.$inReplay = true;\n            this.macro.forEach(function (x) {\n                if (typeof x == \"string\")\n                    this.exec(x, editor);\n                else\n                    this.exec(x[0], editor, x[1]);\n            }, this);\n        }\n        finally {\n            this.$inReplay = false;\n        }\n    };\n    CommandManager.prototype.trimMacro = function (m) {\n        return m.map(function (x) {\n            if (typeof x[0] != \"string\")\n                x[0] = x[0].name;\n            if (!x[1])\n                x = x[0];\n            return x;\n        });\n    };\n    return CommandManager;\n}(MultiHashHandler));\noop.implement(CommandManager.prototype, EventEmitter);\nexports.CommandManager = CommandManager;\n\n});\n\nace.define(\"ace/commands/default_commands\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/config\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar lang = require(\"../lib/lang\");\nvar config = require(\"../config\");\nvar Range = require(\"../range\").Range;\nfunction bindKey(win, mac) {\n    return { win: win, mac: mac };\n}\nexports.commands = [{\n        name: \"showSettingsMenu\",\n        description: \"Show settings menu\",\n        bindKey: bindKey(\"Ctrl-,\", \"Command-,\"),\n        exec: function (editor) {\n            config.loadModule(\"ace/ext/settings_menu\", function (module) {\n                module.init(editor);\n                editor.showSettingsMenu();\n            });\n        },\n        readOnly: true\n    }, {\n        name: \"goToNextError\",\n        description: \"Go to next error\",\n        bindKey: bindKey(\"Alt-E\", \"F4\"),\n        exec: function (editor) {\n            config.loadModule(\"ace/ext/error_marker\", function (module) {\n                module.showErrorMarker(editor, 1);\n            });\n        },\n        scrollIntoView: \"animate\",\n        readOnly: true\n    }, {\n        name: \"goToPreviousError\",\n        description: \"Go to previous error\",\n        bindKey: bindKey(\"Alt-Shift-E\", \"Shift-F4\"),\n        exec: function (editor) {\n            config.loadModule(\"ace/ext/error_marker\", function (module) {\n                module.showErrorMarker(editor, -1);\n            });\n        },\n        scrollIntoView: \"animate\",\n        readOnly: true\n    }, {\n        name: \"selectall\",\n        description: \"Select all\",\n        bindKey: bindKey(\"Ctrl-A\", \"Command-A\"),\n        exec: function (editor) { editor.selectAll(); },\n        readOnly: true\n    }, {\n        name: \"centerselection\",\n        description: \"Center selection\",\n        bindKey: bindKey(null, \"Ctrl-L\"),\n        exec: function (editor) { editor.centerSelection(); },\n        readOnly: true\n    }, {\n        name: \"gotoline\",\n        description: \"Go to line...\",\n        bindKey: bindKey(\"Ctrl-L\", \"Command-L\"),\n        exec: function (editor, line) {\n            if (typeof line === \"number\" && !isNaN(line))\n                editor.gotoLine(line);\n            editor.prompt({ $type: \"gotoLine\" });\n        },\n        readOnly: true\n    }, {\n        name: \"fold\",\n        bindKey: bindKey(\"Alt-L|Ctrl-F1\", \"Command-Alt-L|Command-F1\"),\n        exec: function (editor) { editor.session.toggleFold(false); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"center\",\n        readOnly: true\n    }, {\n        name: \"unfold\",\n        bindKey: bindKey(\"Alt-Shift-L|Ctrl-Shift-F1\", \"Command-Alt-Shift-L|Command-Shift-F1\"),\n        exec: function (editor) { editor.session.toggleFold(true); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"center\",\n        readOnly: true\n    }, {\n        name: \"toggleFoldWidget\",\n        description: \"Toggle fold widget\",\n        bindKey: bindKey(\"F2\", \"F2\"),\n        exec: function (editor) { editor.session.toggleFoldWidget(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"center\",\n        readOnly: true\n    }, {\n        name: \"toggleParentFoldWidget\",\n        description: \"Toggle parent fold widget\",\n        bindKey: bindKey(\"Alt-F2\", \"Alt-F2\"),\n        exec: function (editor) { editor.session.toggleFoldWidget(true); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"center\",\n        readOnly: true\n    }, {\n        name: \"foldall\",\n        description: \"Fold all\",\n        bindKey: bindKey(null, \"Ctrl-Command-Option-0\"),\n        exec: function (editor) { editor.session.foldAll(); },\n        scrollIntoView: \"center\",\n        readOnly: true\n    }, {\n        name: \"foldAllComments\",\n        description: \"Fold all comments\",\n        bindKey: bindKey(null, \"Ctrl-Command-Option-0\"),\n        exec: function (editor) { editor.session.foldAllComments(); },\n        scrollIntoView: \"center\",\n        readOnly: true\n    }, {\n        name: \"foldOther\",\n        description: \"Fold other\",\n        bindKey: bindKey(\"Alt-0\", \"Command-Option-0\"),\n        exec: function (editor) {\n            editor.session.foldAll();\n            editor.session.unfold(editor.selection.getAllRanges());\n        },\n        scrollIntoView: \"center\",\n        readOnly: true\n    }, {\n        name: \"unfoldall\",\n        description: \"Unfold all\",\n        bindKey: bindKey(\"Alt-Shift-0\", \"Command-Option-Shift-0\"),\n        exec: function (editor) { editor.session.unfold(); },\n        scrollIntoView: \"center\",\n        readOnly: true\n    }, {\n        name: \"findnext\",\n        description: \"Find next\",\n        bindKey: bindKey(\"Ctrl-K\", \"Command-G\"),\n        exec: function (editor) { editor.findNext(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"center\",\n        readOnly: true\n    }, {\n        name: \"findprevious\",\n        description: \"Find previous\",\n        bindKey: bindKey(\"Ctrl-Shift-K\", \"Command-Shift-G\"),\n        exec: function (editor) { editor.findPrevious(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"center\",\n        readOnly: true\n    }, {\n        name: \"selectOrFindNext\",\n        description: \"Select or find next\",\n        bindKey: bindKey(\"Alt-K\", \"Ctrl-G\"),\n        exec: function (editor) {\n            if (editor.selection.isEmpty())\n                editor.selection.selectWord();\n            else\n                editor.findNext();\n        },\n        readOnly: true\n    }, {\n        name: \"selectOrFindPrevious\",\n        description: \"Select or find previous\",\n        bindKey: bindKey(\"Alt-Shift-K\", \"Ctrl-Shift-G\"),\n        exec: function (editor) {\n            if (editor.selection.isEmpty())\n                editor.selection.selectWord();\n            else\n                editor.findPrevious();\n        },\n        readOnly: true\n    }, {\n        name: \"find\",\n        description: \"Find\",\n        bindKey: bindKey(\"Ctrl-F\", \"Command-F\"),\n        exec: function (editor) {\n            config.loadModule(\"ace/ext/searchbox\", function (e) { e.Search(editor); });\n        },\n        readOnly: true\n    }, {\n        name: \"overwrite\",\n        description: \"Overwrite\",\n        bindKey: \"Insert\",\n        exec: function (editor) { editor.toggleOverwrite(); },\n        readOnly: true\n    }, {\n        name: \"selecttostart\",\n        description: \"Select to start\",\n        bindKey: bindKey(\"Ctrl-Shift-Home\", \"Command-Shift-Home|Command-Shift-Up\"),\n        exec: function (editor) { editor.getSelection().selectFileStart(); },\n        multiSelectAction: \"forEach\",\n        readOnly: true,\n        scrollIntoView: \"animate\",\n        aceCommandGroup: \"fileJump\"\n    }, {\n        name: \"gotostart\",\n        description: \"Go to start\",\n        bindKey: bindKey(\"Ctrl-Home\", \"Command-Home|Command-Up\"),\n        exec: function (editor) { editor.navigateFileStart(); },\n        multiSelectAction: \"forEach\",\n        readOnly: true,\n        scrollIntoView: \"animate\",\n        aceCommandGroup: \"fileJump\"\n    }, {\n        name: \"selectup\",\n        description: \"Select up\",\n        bindKey: bindKey(\"Shift-Up\", \"Shift-Up|Ctrl-Shift-P\"),\n        exec: function (editor) { editor.getSelection().selectUp(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"golineup\",\n        description: \"Go line up\",\n        bindKey: bindKey(\"Up\", \"Up|Ctrl-P\"),\n        exec: function (editor, args) { editor.navigateUp(args.times); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"selecttoend\",\n        description: \"Select to end\",\n        bindKey: bindKey(\"Ctrl-Shift-End\", \"Command-Shift-End|Command-Shift-Down\"),\n        exec: function (editor) { editor.getSelection().selectFileEnd(); },\n        multiSelectAction: \"forEach\",\n        readOnly: true,\n        scrollIntoView: \"animate\",\n        aceCommandGroup: \"fileJump\"\n    }, {\n        name: \"gotoend\",\n        description: \"Go to end\",\n        bindKey: bindKey(\"Ctrl-End\", \"Command-End|Command-Down\"),\n        exec: function (editor) { editor.navigateFileEnd(); },\n        multiSelectAction: \"forEach\",\n        readOnly: true,\n        scrollIntoView: \"animate\",\n        aceCommandGroup: \"fileJump\"\n    }, {\n        name: \"selectdown\",\n        description: \"Select down\",\n        bindKey: bindKey(\"Shift-Down\", \"Shift-Down|Ctrl-Shift-N\"),\n        exec: function (editor) { editor.getSelection().selectDown(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"golinedown\",\n        description: \"Go line down\",\n        bindKey: bindKey(\"Down\", \"Down|Ctrl-N\"),\n        exec: function (editor, args) { editor.navigateDown(args.times); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"selectwordleft\",\n        description: \"Select word left\",\n        bindKey: bindKey(\"Ctrl-Shift-Left\", \"Option-Shift-Left\"),\n        exec: function (editor) { editor.getSelection().selectWordLeft(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"gotowordleft\",\n        description: \"Go to word left\",\n        bindKey: bindKey(\"Ctrl-Left\", \"Option-Left\"),\n        exec: function (editor) { editor.navigateWordLeft(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"selecttolinestart\",\n        description: \"Select to line start\",\n        bindKey: bindKey(\"Alt-Shift-Left\", \"Command-Shift-Left|Ctrl-Shift-A\"),\n        exec: function (editor) { editor.getSelection().selectLineStart(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"gotolinestart\",\n        description: \"Go to line start\",\n        bindKey: bindKey(\"Alt-Left|Home\", \"Command-Left|Home|Ctrl-A\"),\n        exec: function (editor) { editor.navigateLineStart(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"selectleft\",\n        description: \"Select left\",\n        bindKey: bindKey(\"Shift-Left\", \"Shift-Left|Ctrl-Shift-B\"),\n        exec: function (editor) { editor.getSelection().selectLeft(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"gotoleft\",\n        description: \"Go to left\",\n        bindKey: bindKey(\"Left\", \"Left|Ctrl-B\"),\n        exec: function (editor, args) { editor.navigateLeft(args.times); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"selectwordright\",\n        description: \"Select word right\",\n        bindKey: bindKey(\"Ctrl-Shift-Right\", \"Option-Shift-Right\"),\n        exec: function (editor) { editor.getSelection().selectWordRight(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"gotowordright\",\n        description: \"Go to word right\",\n        bindKey: bindKey(\"Ctrl-Right\", \"Option-Right\"),\n        exec: function (editor) { editor.navigateWordRight(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"selecttolineend\",\n        description: \"Select to line end\",\n        bindKey: bindKey(\"Alt-Shift-Right\", \"Command-Shift-Right|Shift-End|Ctrl-Shift-E\"),\n        exec: function (editor) { editor.getSelection().selectLineEnd(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"gotolineend\",\n        description: \"Go to line end\",\n        bindKey: bindKey(\"Alt-Right|End\", \"Command-Right|End|Ctrl-E\"),\n        exec: function (editor) { editor.navigateLineEnd(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"selectright\",\n        description: \"Select right\",\n        bindKey: bindKey(\"Shift-Right\", \"Shift-Right\"),\n        exec: function (editor) { editor.getSelection().selectRight(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"gotoright\",\n        description: \"Go to right\",\n        bindKey: bindKey(\"Right\", \"Right|Ctrl-F\"),\n        exec: function (editor, args) { editor.navigateRight(args.times); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"selectpagedown\",\n        description: \"Select page down\",\n        bindKey: \"Shift-PageDown\",\n        exec: function (editor) { editor.selectPageDown(); },\n        readOnly: true\n    }, {\n        name: \"pagedown\",\n        description: \"Page down\",\n        bindKey: bindKey(null, \"Option-PageDown\"),\n        exec: function (editor) { editor.scrollPageDown(); },\n        readOnly: true\n    }, {\n        name: \"gotopagedown\",\n        description: \"Go to page down\",\n        bindKey: bindKey(\"PageDown\", \"PageDown|Ctrl-V\"),\n        exec: function (editor) { editor.gotoPageDown(); },\n        readOnly: true\n    }, {\n        name: \"selectpageup\",\n        description: \"Select page up\",\n        bindKey: \"Shift-PageUp\",\n        exec: function (editor) { editor.selectPageUp(); },\n        readOnly: true\n    }, {\n        name: \"pageup\",\n        description: \"Page up\",\n        bindKey: bindKey(null, \"Option-PageUp\"),\n        exec: function (editor) { editor.scrollPageUp(); },\n        readOnly: true\n    }, {\n        name: \"gotopageup\",\n        description: \"Go to page up\",\n        bindKey: \"PageUp\",\n        exec: function (editor) { editor.gotoPageUp(); },\n        readOnly: true\n    }, {\n        name: \"scrollup\",\n        description: \"Scroll up\",\n        bindKey: bindKey(\"Ctrl-Up\", null),\n        exec: function (e) { e.renderer.scrollBy(0, -2 * e.renderer.layerConfig.lineHeight); },\n        readOnly: true\n    }, {\n        name: \"scrolldown\",\n        description: \"Scroll down\",\n        bindKey: bindKey(\"Ctrl-Down\", null),\n        exec: function (e) { e.renderer.scrollBy(0, 2 * e.renderer.layerConfig.lineHeight); },\n        readOnly: true\n    }, {\n        name: \"selectlinestart\",\n        description: \"Select line start\",\n        bindKey: \"Shift-Home\",\n        exec: function (editor) { editor.getSelection().selectLineStart(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"selectlineend\",\n        description: \"Select line end\",\n        bindKey: \"Shift-End\",\n        exec: function (editor) { editor.getSelection().selectLineEnd(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"togglerecording\",\n        description: \"Toggle recording\",\n        bindKey: bindKey(\"Ctrl-Alt-E\", \"Command-Option-E\"),\n        exec: function (editor) { editor.commands.toggleRecording(editor); },\n        readOnly: true\n    }, {\n        name: \"replaymacro\",\n        description: \"Replay macro\",\n        bindKey: bindKey(\"Ctrl-Shift-E\", \"Command-Shift-E\"),\n        exec: function (editor) { editor.commands.replay(editor); },\n        readOnly: true\n    }, {\n        name: \"jumptomatching\",\n        description: \"Jump to matching\",\n        bindKey: bindKey(\"Ctrl-\\\\|Ctrl-P\", \"Command-\\\\\"),\n        exec: function (editor) { editor.jumpToMatching(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"animate\",\n        readOnly: true\n    }, {\n        name: \"selecttomatching\",\n        description: \"Select to matching\",\n        bindKey: bindKey(\"Ctrl-Shift-\\\\|Ctrl-Shift-P\", \"Command-Shift-\\\\\"),\n        exec: function (editor) { editor.jumpToMatching(true); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"animate\",\n        readOnly: true\n    }, {\n        name: \"expandToMatching\",\n        description: \"Expand to matching\",\n        bindKey: bindKey(\"Ctrl-Shift-M\", \"Ctrl-Shift-M\"),\n        exec: function (editor) { editor.jumpToMatching(true, true); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"animate\",\n        readOnly: true\n    }, {\n        name: \"passKeysToBrowser\",\n        description: \"Pass keys to browser\",\n        bindKey: bindKey(null, null),\n        exec: function () { },\n        passEvent: true,\n        readOnly: true\n    }, {\n        name: \"copy\",\n        description: \"Copy\",\n        exec: function (editor) {\n        },\n        readOnly: true\n    },\n    {\n        name: \"cut\",\n        description: \"Cut\",\n        exec: function (editor) {\n            var cutLine = editor.$copyWithEmptySelection && editor.selection.isEmpty();\n            var range = cutLine ? editor.selection.getLineRange() : editor.selection.getRange();\n            editor._emit(\"cut\", range);\n            if (!range.isEmpty())\n                editor.session.remove(range);\n            editor.clearSelection();\n        },\n        scrollIntoView: \"cursor\",\n        multiSelectAction: \"forEach\"\n    }, {\n        name: \"paste\",\n        description: \"Paste\",\n        exec: function (editor, args) {\n            editor.$handlePaste(args);\n        },\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"removeline\",\n        description: \"Remove line\",\n        bindKey: bindKey(\"Ctrl-D\", \"Command-D\"),\n        exec: function (editor) { editor.removeLines(); },\n        scrollIntoView: \"cursor\",\n        multiSelectAction: \"forEachLine\"\n    }, {\n        name: \"duplicateSelection\",\n        description: \"Duplicate selection\",\n        bindKey: bindKey(\"Ctrl-Shift-D\", \"Command-Shift-D\"),\n        exec: function (editor) { editor.duplicateSelection(); },\n        scrollIntoView: \"cursor\",\n        multiSelectAction: \"forEach\"\n    }, {\n        name: \"sortlines\",\n        description: \"Sort lines\",\n        bindKey: bindKey(\"Ctrl-Alt-S\", \"Command-Alt-S\"),\n        exec: function (editor) { editor.sortLines(); },\n        scrollIntoView: \"selection\",\n        multiSelectAction: \"forEachLine\"\n    }, {\n        name: \"togglecomment\",\n        description: \"Toggle comment\",\n        bindKey: bindKey(\"Ctrl-/\", \"Command-/\"),\n        exec: function (editor) { editor.toggleCommentLines(); },\n        multiSelectAction: \"forEachLine\",\n        scrollIntoView: \"selectionPart\"\n    }, {\n        name: \"toggleBlockComment\",\n        description: \"Toggle block comment\",\n        bindKey: bindKey(\"Ctrl-Shift-/\", \"Command-Shift-/\"),\n        exec: function (editor) { editor.toggleBlockComment(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"selectionPart\"\n    }, {\n        name: \"modifyNumberUp\",\n        description: \"Modify number up\",\n        bindKey: bindKey(\"Ctrl-Shift-Up\", \"Alt-Shift-Up\"),\n        exec: function (editor) { editor.modifyNumber(1); },\n        scrollIntoView: \"cursor\",\n        multiSelectAction: \"forEach\"\n    }, {\n        name: \"modifyNumberDown\",\n        description: \"Modify number down\",\n        bindKey: bindKey(\"Ctrl-Shift-Down\", \"Alt-Shift-Down\"),\n        exec: function (editor) { editor.modifyNumber(-1); },\n        scrollIntoView: \"cursor\",\n        multiSelectAction: \"forEach\"\n    }, {\n        name: \"replace\",\n        description: \"Replace\",\n        bindKey: bindKey(\"Ctrl-H\", \"Command-Option-F\"),\n        exec: function (editor) {\n            config.loadModule(\"ace/ext/searchbox\", function (e) { e.Search(editor, true); });\n        }\n    }, {\n        name: \"undo\",\n        description: \"Undo\",\n        bindKey: bindKey(\"Ctrl-Z\", \"Command-Z\"),\n        exec: function (editor) { editor.undo(); }\n    }, {\n        name: \"redo\",\n        description: \"Redo\",\n        bindKey: bindKey(\"Ctrl-Shift-Z|Ctrl-Y\", \"Command-Shift-Z|Command-Y\"),\n        exec: function (editor) { editor.redo(); }\n    }, {\n        name: \"copylinesup\",\n        description: \"Copy lines up\",\n        bindKey: bindKey(\"Alt-Shift-Up\", \"Command-Option-Up\"),\n        exec: function (editor) { editor.copyLinesUp(); },\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"movelinesup\",\n        description: \"Move lines up\",\n        bindKey: bindKey(\"Alt-Up\", \"Option-Up\"),\n        exec: function (editor) { editor.moveLinesUp(); },\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"copylinesdown\",\n        description: \"Copy lines down\",\n        bindKey: bindKey(\"Alt-Shift-Down\", \"Command-Option-Down\"),\n        exec: function (editor) { editor.copyLinesDown(); },\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"movelinesdown\",\n        description: \"Move lines down\",\n        bindKey: bindKey(\"Alt-Down\", \"Option-Down\"),\n        exec: function (editor) { editor.moveLinesDown(); },\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"del\",\n        description: \"Delete\",\n        bindKey: bindKey(\"Delete\", \"Delete|Ctrl-D|Shift-Delete\"),\n        exec: function (editor) { editor.remove(\"right\"); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"backspace\",\n        description: \"Backspace\",\n        bindKey: bindKey(\"Shift-Backspace|Backspace\", \"Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H\"),\n        exec: function (editor) { editor.remove(\"left\"); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"cut_or_delete\",\n        description: \"Cut or delete\",\n        bindKey: bindKey(\"Shift-Delete\", null),\n        exec: function (editor) {\n            if (editor.selection.isEmpty()) {\n                editor.remove(\"left\");\n            }\n            else {\n                return false;\n            }\n        },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"removetolinestart\",\n        description: \"Remove to line start\",\n        bindKey: bindKey(\"Alt-Backspace\", \"Command-Backspace\"),\n        exec: function (editor) { editor.removeToLineStart(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"removetolineend\",\n        description: \"Remove to line end\",\n        bindKey: bindKey(\"Alt-Delete\", \"Ctrl-K|Command-Delete\"),\n        exec: function (editor) { editor.removeToLineEnd(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"removetolinestarthard\",\n        description: \"Remove to line start hard\",\n        bindKey: bindKey(\"Ctrl-Shift-Backspace\", null),\n        exec: function (editor) {\n            var range = editor.selection.getRange();\n            range.start.column = 0;\n            editor.session.remove(range);\n        },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"removetolineendhard\",\n        description: \"Remove to line end hard\",\n        bindKey: bindKey(\"Ctrl-Shift-Delete\", null),\n        exec: function (editor) {\n            var range = editor.selection.getRange();\n            range.end.column = Number.MAX_VALUE;\n            editor.session.remove(range);\n        },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"removewordleft\",\n        description: \"Remove word left\",\n        bindKey: bindKey(\"Ctrl-Backspace\", \"Alt-Backspace|Ctrl-Alt-Backspace\"),\n        exec: function (editor) { editor.removeWordLeft(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"removewordright\",\n        description: \"Remove word right\",\n        bindKey: bindKey(\"Ctrl-Delete\", \"Alt-Delete\"),\n        exec: function (editor) { editor.removeWordRight(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"outdent\",\n        description: \"Outdent\",\n        bindKey: bindKey(\"Shift-Tab\", \"Shift-Tab\"),\n        exec: function (editor) { editor.blockOutdent(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"selectionPart\"\n    }, {\n        name: \"indent\",\n        description: \"Indent\",\n        bindKey: bindKey(\"Tab\", \"Tab\"),\n        exec: function (editor) { editor.indent(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"selectionPart\"\n    }, {\n        name: \"blockoutdent\",\n        description: \"Block outdent\",\n        bindKey: bindKey(\"Ctrl-[\", \"Ctrl-[\"),\n        exec: function (editor) { editor.blockOutdent(); },\n        multiSelectAction: \"forEachLine\",\n        scrollIntoView: \"selectionPart\"\n    }, {\n        name: \"blockindent\",\n        description: \"Block indent\",\n        bindKey: bindKey(\"Ctrl-]\", \"Ctrl-]\"),\n        exec: function (editor) { editor.blockIndent(); },\n        multiSelectAction: \"forEachLine\",\n        scrollIntoView: \"selectionPart\"\n    }, {\n        name: \"insertstring\",\n        description: \"Insert string\",\n        exec: function (editor, str) { editor.insert(str); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"inserttext\",\n        description: \"Insert text\",\n        exec: function (editor, args) {\n            editor.insert(lang.stringRepeat(args.text || \"\", args.times || 1));\n        },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"splitline\",\n        description: \"Split line\",\n        bindKey: bindKey(null, \"Ctrl-O\"),\n        exec: function (editor) { editor.splitLine(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"transposeletters\",\n        description: \"Transpose letters\",\n        bindKey: bindKey(\"Alt-Shift-X\", \"Ctrl-T\"),\n        exec: function (editor) { editor.transposeLetters(); },\n        multiSelectAction: function (editor) { editor.transposeSelections(1); },\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"touppercase\",\n        description: \"To uppercase\",\n        bindKey: bindKey(\"Ctrl-U\", \"Ctrl-U\"),\n        exec: function (editor) { editor.toUpperCase(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"tolowercase\",\n        description: \"To lowercase\",\n        bindKey: bindKey(\"Ctrl-Shift-U\", \"Ctrl-Shift-U\"),\n        exec: function (editor) { editor.toLowerCase(); },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"autoindent\",\n        description: \"Auto Indent\",\n        bindKey: bindKey(null, null),\n        exec: function (editor) { editor.autoIndent(); },\n        scrollIntoView: \"animate\"\n    }, {\n        name: \"expandtoline\",\n        description: \"Expand to line\",\n        bindKey: bindKey(\"Ctrl-Shift-L\", \"Command-Shift-L\"),\n        exec: function (editor) {\n            var range = editor.selection.getRange();\n            range.start.column = range.end.column = 0;\n            range.end.row++;\n            editor.selection.setRange(range, false);\n        },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"openlink\",\n        bindKey: bindKey(\"Ctrl+F3\", \"F3\"),\n        exec: function (editor) { editor.openLink(); }\n    }, {\n        name: \"joinlines\",\n        description: \"Join lines\",\n        bindKey: bindKey(null, null),\n        exec: function (editor) {\n            var isBackwards = editor.selection.isBackwards();\n            var selectionStart = isBackwards ? editor.selection.getSelectionLead() : editor.selection.getSelectionAnchor();\n            var selectionEnd = isBackwards ? editor.selection.getSelectionAnchor() : editor.selection.getSelectionLead();\n            var firstLineEndCol = editor.session.doc.getLine(selectionStart.row).length;\n            var selectedText = editor.session.doc.getTextRange(editor.selection.getRange());\n            var selectedCount = selectedText.replace(/\\n\\s*/, \" \").length;\n            var insertLine = editor.session.doc.getLine(selectionStart.row);\n            for (var i = selectionStart.row + 1; i <= selectionEnd.row + 1; i++) {\n                var curLine = lang.stringTrimLeft(lang.stringTrimRight(editor.session.doc.getLine(i)));\n                if (curLine.length !== 0) {\n                    curLine = \" \" + curLine;\n                }\n                insertLine += curLine;\n            }\n            if (selectionEnd.row + 1 < (editor.session.doc.getLength() - 1)) {\n                insertLine += editor.session.doc.getNewLineCharacter();\n            }\n            editor.clearSelection();\n            editor.session.doc.replace(new Range(selectionStart.row, 0, selectionEnd.row + 2, 0), insertLine);\n            if (selectedCount > 0) {\n                editor.selection.moveCursorTo(selectionStart.row, selectionStart.column);\n                editor.selection.selectTo(selectionStart.row, selectionStart.column + selectedCount);\n            }\n            else {\n                firstLineEndCol = editor.session.doc.getLine(selectionStart.row).length > firstLineEndCol ? (firstLineEndCol + 1) : firstLineEndCol;\n                editor.selection.moveCursorTo(selectionStart.row, firstLineEndCol);\n            }\n        },\n        multiSelectAction: \"forEach\",\n        readOnly: true\n    }, {\n        name: \"invertSelection\",\n        description: \"Invert selection\",\n        bindKey: bindKey(null, null),\n        exec: function (editor) {\n            var endRow = editor.session.doc.getLength() - 1;\n            var endCol = editor.session.doc.getLine(endRow).length;\n            var ranges = editor.selection.rangeList.ranges;\n            var newRanges = [];\n            if (ranges.length < 1) {\n                ranges = [editor.selection.getRange()];\n            }\n            for (var i = 0; i < ranges.length; i++) {\n                if (i == (ranges.length - 1)) {\n                    if (!(ranges[i].end.row === endRow && ranges[i].end.column === endCol)) {\n                        newRanges.push(new Range(ranges[i].end.row, ranges[i].end.column, endRow, endCol));\n                    }\n                }\n                if (i === 0) {\n                    if (!(ranges[i].start.row === 0 && ranges[i].start.column === 0)) {\n                        newRanges.push(new Range(0, 0, ranges[i].start.row, ranges[i].start.column));\n                    }\n                }\n                else {\n                    newRanges.push(new Range(ranges[i - 1].end.row, ranges[i - 1].end.column, ranges[i].start.row, ranges[i].start.column));\n                }\n            }\n            editor.exitMultiSelectMode();\n            editor.clearSelection();\n            for (var i = 0; i < newRanges.length; i++) {\n                editor.selection.addRange(newRanges[i], false);\n            }\n        },\n        readOnly: true,\n        scrollIntoView: \"none\"\n    }, {\n        name: \"addLineAfter\",\n        description: \"Add new line after the current line\",\n        exec: function (editor) {\n            editor.selection.clearSelection();\n            editor.navigateLineEnd();\n            editor.insert(\"\\n\");\n        },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"addLineBefore\",\n        description: \"Add new line before the current line\",\n        exec: function (editor) {\n            editor.selection.clearSelection();\n            var cursor = editor.getCursorPosition();\n            editor.selection.moveTo(cursor.row - 1, Number.MAX_VALUE);\n            editor.insert(\"\\n\");\n            if (cursor.row === 0)\n                editor.navigateUp();\n        },\n        multiSelectAction: \"forEach\",\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"openCommandPallete\",\n        exec: function (editor) {\n            console.warn(\"This is an obsolete command. Please use `openCommandPalette` instead.\");\n            editor.prompt({ $type: \"commands\" });\n        },\n        readOnly: true\n    }, {\n        name: \"openCommandPalette\",\n        description: \"Open command palette\",\n        bindKey: bindKey(\"F1\", \"F1\"),\n        exec: function (editor) {\n            editor.prompt({ $type: \"commands\" });\n        },\n        readOnly: true\n    }, {\n        name: \"modeSelect\",\n        description: \"Change language mode...\",\n        bindKey: bindKey(null, null),\n        exec: function (editor) {\n            editor.prompt({ $type: \"modes\" });\n        },\n        readOnly: true\n    }];\nfor (var i = 1; i < 9; i++) {\n    exports.commands.push({\n        name: \"foldToLevel\" + i,\n        description: \"Fold To Level \" + i,\n        level: i,\n        exec: function (editor) { editor.session.foldToLevel(this.level); },\n        scrollIntoView: \"center\",\n        readOnly: true\n    });\n}\n\n});\n\nace.define(\"ace/keyboard/gutter_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/mouse/default_gutter_handler\"], function(require, exports, module){\"use strict\";\nvar keys = require('../lib/keys');\nvar GutterTooltip = require(\"../mouse/default_gutter_handler\").GutterTooltip;\nvar GutterKeyboardHandler = /** @class */ (function () {\n    function GutterKeyboardHandler(editor) {\n        this.editor = editor;\n        this.gutterLayer = editor.renderer.$gutterLayer;\n        this.element = editor.renderer.$gutter;\n        this.lines = editor.renderer.$gutterLayer.$lines;\n        this.activeRowIndex = null;\n        this.activeLane = null;\n        this.annotationTooltip = new GutterTooltip(this.editor);\n    }\n    GutterKeyboardHandler.prototype.addListener = function () {\n        this.element.addEventListener(\"keydown\", this.$onGutterKeyDown.bind(this));\n        this.element.addEventListener(\"focusout\", this.$blurGutter.bind(this));\n        this.editor.on(\"mousewheel\", this.$blurGutter.bind(this));\n    };\n    GutterKeyboardHandler.prototype.removeListener = function () {\n        this.element.removeEventListener(\"keydown\", this.$onGutterKeyDown.bind(this));\n        this.element.removeEventListener(\"focusout\", this.$blurGutter.bind(this));\n        this.editor.off(\"mousewheel\", this.$blurGutter.bind(this));\n    };\n    GutterKeyboardHandler.prototype.$onGutterKeyDown = function (e) {\n        if (this.annotationTooltip.isOpen) {\n            e.preventDefault();\n            if (e.keyCode === keys[\"escape\"])\n                this.annotationTooltip.hideTooltip();\n            return;\n        }\n        if (e.target === this.element) {\n            if (e.keyCode != keys[\"enter\"]) {\n                return;\n            }\n            e.preventDefault();\n            var row = this.editor.getCursorPosition().row;\n            if (!this.editor.isRowVisible(row))\n                this.editor.scrollToLine(row, true, true);\n            setTimeout(\n            function () {\n                var index = this.$rowToRowIndex(this.gutterLayer.$cursorCell.row);\n                var nearestFoldIndex = this.$findNearestFoldWidget(index);\n                var nearestAnnotationIndex = this.$findNearestAnnotation(index);\n                if (nearestFoldIndex === null && nearestAnnotationIndex === null)\n                    return;\n                if (nearestFoldIndex === null && nearestAnnotationIndex !== null) {\n                    this.activeRowIndex = nearestAnnotationIndex;\n                    this.activeLane = \"annotation\";\n                    this.$focusAnnotation(this.activeRowIndex);\n                    return;\n                }\n                if (nearestFoldIndex !== null && nearestAnnotationIndex === null) {\n                    this.activeRowIndex = nearestFoldIndex;\n                    this.activeLane = \"fold\";\n                    this.$focusFoldWidget(this.activeRowIndex);\n                    return;\n                }\n                if (Math.abs(nearestAnnotationIndex - index) < Math.abs(nearestFoldIndex - index)) {\n                    this.activeRowIndex = nearestAnnotationIndex;\n                    this.activeLane = \"annotation\";\n                    this.$focusAnnotation(this.activeRowIndex);\n                    return;\n                }\n                else {\n                    this.activeRowIndex = nearestFoldIndex;\n                    this.activeLane = \"fold\";\n                    this.$focusFoldWidget(this.activeRowIndex);\n                    return;\n                }\n            }.bind(this), 10);\n            return;\n        }\n        this.$handleGutterKeyboardInteraction(e);\n        setTimeout(function () {\n            this.editor._signal(\"gutterkeydown\", new GutterKeyboardEvent(e, this));\n        }.bind(this), 10);\n    };\n    GutterKeyboardHandler.prototype.$handleGutterKeyboardInteraction = function (e) {\n        if (e.keyCode === keys[\"tab\"]) {\n            e.preventDefault();\n            return;\n        }\n        if (e.keyCode === keys[\"escape\"]) {\n            e.preventDefault();\n            this.$blurGutter();\n            this.element.focus();\n            this.lane = null;\n            return;\n        }\n        if (e.keyCode === keys[\"up\"]) {\n            e.preventDefault();\n            switch (this.activeLane) {\n                case \"fold\":\n                    this.$moveFoldWidgetUp();\n                    break;\n                case \"annotation\":\n                    this.$moveAnnotationUp();\n                    break;\n            }\n            return;\n        }\n        if (e.keyCode === keys[\"down\"]) {\n            e.preventDefault();\n            switch (this.activeLane) {\n                case \"fold\":\n                    this.$moveFoldWidgetDown();\n                    break;\n                case \"annotation\":\n                    this.$moveAnnotationDown();\n                    break;\n            }\n            return;\n        }\n        if (e.keyCode === keys[\"left\"]) {\n            e.preventDefault();\n            this.$switchLane(\"annotation\");\n            return;\n        }\n        if (e.keyCode === keys[\"right\"]) {\n            e.preventDefault();\n            this.$switchLane(\"fold\");\n            return;\n        }\n        if (e.keyCode === keys[\"enter\"] || e.keyCode === keys[\"space\"]) {\n            e.preventDefault();\n            switch (this.activeLane) {\n                case \"fold\":\n                    if (this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)] === 'start') {\n                        var rowFoldingWidget = this.$rowIndexToRow(this.activeRowIndex);\n                        this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex), e);\n                        setTimeout(\n                        function () {\n                            if (this.$rowIndexToRow(this.activeRowIndex) !== rowFoldingWidget) {\n                                this.$blurFoldWidget(this.activeRowIndex);\n                                this.activeRowIndex = this.$rowToRowIndex(rowFoldingWidget);\n                                this.$focusFoldWidget(this.activeRowIndex);\n                            }\n                        }.bind(this), 10);\n                        break;\n                    }\n                    else if (this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)] === 'end') {\n                        break;\n                    }\n                    return;\n                case \"annotation\":\n                    var gutterElement = this.lines.cells[this.activeRowIndex].element.childNodes[2];\n                    var rect = gutterElement.getBoundingClientRect();\n                    var style = this.annotationTooltip.getElement().style;\n                    style.left = rect.right + \"px\";\n                    style.top = rect.bottom + \"px\";\n                    this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex));\n                    break;\n            }\n            return;\n        }\n    };\n    GutterKeyboardHandler.prototype.$blurGutter = function () {\n        if (this.activeRowIndex !== null) {\n            switch (this.activeLane) {\n                case \"fold\":\n                    this.$blurFoldWidget(this.activeRowIndex);\n                    break;\n                case \"annotation\":\n                    this.$blurAnnotation(this.activeRowIndex);\n                    break;\n            }\n        }\n        if (this.annotationTooltip.isOpen)\n            this.annotationTooltip.hideTooltip();\n        return;\n    };\n    GutterKeyboardHandler.prototype.$isFoldWidgetVisible = function (index) {\n        var isRowFullyVisible = this.editor.isRowFullyVisible(this.$rowIndexToRow(index));\n        var isIconVisible = this.$getFoldWidget(index).style.display !== \"none\";\n        return isRowFullyVisible && isIconVisible;\n    };\n    GutterKeyboardHandler.prototype.$isAnnotationVisible = function (index) {\n        var isRowFullyVisible = this.editor.isRowFullyVisible(this.$rowIndexToRow(index));\n        var isIconVisible = this.$getAnnotation(index).style.display !== \"none\";\n        return isRowFullyVisible && isIconVisible;\n    };\n    GutterKeyboardHandler.prototype.$getFoldWidget = function (index) {\n        var cell = this.lines.get(index);\n        var element = cell.element;\n        return element.childNodes[1];\n    };\n    GutterKeyboardHandler.prototype.$getAnnotation = function (index) {\n        var cell = this.lines.get(index);\n        var element = cell.element;\n        return element.childNodes[2];\n    };\n    GutterKeyboardHandler.prototype.$findNearestFoldWidget = function (index) {\n        if (this.$isFoldWidgetVisible(index))\n            return index;\n        var i = 0;\n        while (index - i > 0 || index + i < this.lines.getLength() - 1) {\n            i++;\n            if (index - i >= 0 && this.$isFoldWidgetVisible(index - i))\n                return index - i;\n            if (index + i <= this.lines.getLength() - 1 && this.$isFoldWidgetVisible(index + i))\n                return index + i;\n        }\n        return null;\n    };\n    GutterKeyboardHandler.prototype.$findNearestAnnotation = function (index) {\n        if (this.$isAnnotationVisible(index))\n            return index;\n        var i = 0;\n        while (index - i > 0 || index + i < this.lines.getLength() - 1) {\n            i++;\n            if (index - i >= 0 && this.$isAnnotationVisible(index - i))\n                return index - i;\n            if (index + i <= this.lines.getLength() - 1 && this.$isAnnotationVisible(index + i))\n                return index + i;\n        }\n        return null;\n    };\n    GutterKeyboardHandler.prototype.$focusFoldWidget = function (index) {\n        if (index == null)\n            return;\n        var foldWidget = this.$getFoldWidget(index);\n        foldWidget.classList.add(this.editor.renderer.keyboardFocusClassName);\n        foldWidget.focus();\n    };\n    GutterKeyboardHandler.prototype.$focusAnnotation = function (index) {\n        if (index == null)\n            return;\n        var annotation = this.$getAnnotation(index);\n        annotation.classList.add(this.editor.renderer.keyboardFocusClassName);\n        annotation.focus();\n    };\n    GutterKeyboardHandler.prototype.$blurFoldWidget = function (index) {\n        var foldWidget = this.$getFoldWidget(index);\n        foldWidget.classList.remove(this.editor.renderer.keyboardFocusClassName);\n        foldWidget.blur();\n    };\n    GutterKeyboardHandler.prototype.$blurAnnotation = function (index) {\n        var annotation = this.$getAnnotation(index);\n        annotation.classList.remove(this.editor.renderer.keyboardFocusClassName);\n        annotation.blur();\n    };\n    GutterKeyboardHandler.prototype.$moveFoldWidgetUp = function () {\n        var index = this.activeRowIndex;\n        while (index > 0) {\n            index--;\n            if (this.$isFoldWidgetVisible(index)) {\n                this.$blurFoldWidget(this.activeRowIndex);\n                this.activeRowIndex = index;\n                this.$focusFoldWidget(this.activeRowIndex);\n                return;\n            }\n        }\n        return;\n    };\n    GutterKeyboardHandler.prototype.$moveFoldWidgetDown = function () {\n        var index = this.activeRowIndex;\n        while (index < this.lines.getLength() - 1) {\n            index++;\n            if (this.$isFoldWidgetVisible(index)) {\n                this.$blurFoldWidget(this.activeRowIndex);\n                this.activeRowIndex = index;\n                this.$focusFoldWidget(this.activeRowIndex);\n                return;\n            }\n        }\n        return;\n    };\n    GutterKeyboardHandler.prototype.$moveAnnotationUp = function () {\n        var index = this.activeRowIndex;\n        while (index > 0) {\n            index--;\n            if (this.$isAnnotationVisible(index)) {\n                this.$blurAnnotation(this.activeRowIndex);\n                this.activeRowIndex = index;\n                this.$focusAnnotation(this.activeRowIndex);\n                return;\n            }\n        }\n        return;\n    };\n    GutterKeyboardHandler.prototype.$moveAnnotationDown = function () {\n        var index = this.activeRowIndex;\n        while (index < this.lines.getLength() - 1) {\n            index++;\n            if (this.$isAnnotationVisible(index)) {\n                this.$blurAnnotation(this.activeRowIndex);\n                this.activeRowIndex = index;\n                this.$focusAnnotation(this.activeRowIndex);\n                return;\n            }\n        }\n        return;\n    };\n    GutterKeyboardHandler.prototype.$switchLane = function (desinationLane) {\n        switch (desinationLane) {\n            case \"annotation\":\n                if (this.activeLane === \"annotation\") {\n                    break;\n                }\n                var annotationIndex = this.$findNearestAnnotation(this.activeRowIndex);\n                if (annotationIndex == null) {\n                    break;\n                }\n                this.activeLane = \"annotation\";\n                this.$blurFoldWidget(this.activeRowIndex);\n                this.activeRowIndex = annotationIndex;\n                this.$focusAnnotation(this.activeRowIndex);\n                break;\n            case \"fold\":\n                if (this.activeLane === \"fold\") {\n                    break;\n                }\n                var foldWidgetIndex = this.$findNearestFoldWidget(this.activeRowIndex);\n                if (foldWidgetIndex == null) {\n                    break;\n                }\n                this.activeLane = \"fold\";\n                this.$blurAnnotation(this.activeRowIndex);\n                this.activeRowIndex = foldWidgetIndex;\n                this.$focusFoldWidget(this.activeRowIndex);\n                break;\n        }\n        return;\n    };\n    GutterKeyboardHandler.prototype.$rowIndexToRow = function (index) {\n        var cell = this.lines.get(index);\n        if (cell)\n            return cell.row;\n        return null;\n    };\n    GutterKeyboardHandler.prototype.$rowToRowIndex = function (row) {\n        for (var i = 0; i < this.lines.getLength(); i++) {\n            var cell = this.lines.get(i);\n            if (cell.row == row)\n                return i;\n        }\n        return null;\n    };\n    return GutterKeyboardHandler;\n}());\nexports.GutterKeyboardHandler = GutterKeyboardHandler;\nvar GutterKeyboardEvent = /** @class */ (function () {\n    function GutterKeyboardEvent(domEvent, gutterKeyboardHandler) {\n        this.gutterKeyboardHandler = gutterKeyboardHandler;\n        this.domEvent = domEvent;\n    }\n    GutterKeyboardEvent.prototype.getKey = function () {\n        return keys.keyCodeToString(this.domEvent.keyCode);\n    };\n    GutterKeyboardEvent.prototype.getRow = function () {\n        return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex);\n    };\n    GutterKeyboardEvent.prototype.isInAnnotationLane = function () {\n        return this.gutterKeyboardHandler.activeLane === \"annotation\";\n    };\n    GutterKeyboardEvent.prototype.isInFoldLane = function () {\n        return this.gutterKeyboardHandler.activeLane === \"fold\";\n    };\n    return GutterKeyboardEvent;\n}());\nexports.GutterKeyboardEvent = GutterKeyboardEvent;\n\n});\n\nace.define(\"ace/editor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/useragent\",\"ace/keyboard/textinput\",\"ace/mouse/mouse_handler\",\"ace/mouse/fold_handler\",\"ace/keyboard/keybinding\",\"ace/edit_session\",\"ace/search\",\"ace/range\",\"ace/lib/event_emitter\",\"ace/commands/command_manager\",\"ace/commands/default_commands\",\"ace/config\",\"ace/token_iterator\",\"ace/keyboard/gutter_handler\",\"ace/config\",\"ace/clipboard\",\"ace/lib/keys\"], function(require, exports, module){\"use strict\";\nvar __values = (this && this.__values) || function(o) {\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n    if (m) return m.call(o);\n    if (o && typeof o.length === \"number\") return {\n        next: function () {\n            if (o && i >= o.length) o = void 0;\n            return { value: o && o[i++], done: !o };\n        }\n    };\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar oop = require(\"./lib/oop\");\nvar dom = require(\"./lib/dom\");\nvar lang = require(\"./lib/lang\");\nvar useragent = require(\"./lib/useragent\");\nvar TextInput = require(\"./keyboard/textinput\").TextInput;\nvar MouseHandler = require(\"./mouse/mouse_handler\").MouseHandler;\nvar FoldHandler = require(\"./mouse/fold_handler\").FoldHandler;\nvar KeyBinding = require(\"./keyboard/keybinding\").KeyBinding;\nvar EditSession = require(\"./edit_session\").EditSession;\nvar Search = require(\"./search\").Search;\nvar Range = require(\"./range\").Range;\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar CommandManager = require(\"./commands/command_manager\").CommandManager;\nvar defaultCommands = require(\"./commands/default_commands\").commands;\nvar config = require(\"./config\");\nvar TokenIterator = require(\"./token_iterator\").TokenIterator;\nvar GutterKeyboardHandler = require(\"./keyboard/gutter_handler\").GutterKeyboardHandler;\nvar nls = require(\"./config\").nls;\nvar clipboard = require(\"./clipboard\");\nvar keys = require('./lib/keys');\nvar Editor = /** @class */ (function () {\n    function Editor(renderer, session, options) { this.session;\n        this.$toDestroy = [];\n        var container = renderer.getContainerElement();\n        this.container = container;\n        this.renderer = renderer;\n        this.id = \"editor\" + (++Editor.$uid);\n        this.commands = new CommandManager(useragent.isMac ? \"mac\" : \"win\", defaultCommands);\n        if (typeof document == \"object\") {\n            this.textInput = new TextInput(renderer.getTextAreaContainer(), this);\n            this.renderer.textarea = this.textInput.getElement();\n            this.$mouseHandler = new MouseHandler(this);\n            new FoldHandler(this);\n        }\n        this.keyBinding = new KeyBinding(this);\n        this.$search = new Search().set({\n            wrap: true\n        });\n        this.$historyTracker = this.$historyTracker.bind(this);\n        this.commands.on(\"exec\", this.$historyTracker);\n        this.$initOperationListeners();\n        this._$emitInputEvent = lang.delayedCall(function () {\n            this._signal(\"input\", {});\n            if (this.session && !this.session.destroyed)\n                this.session.bgTokenizer.scheduleStart();\n        }.bind(this));\n        this.on(\"change\", function (_, _self) {\n            _self._$emitInputEvent.schedule(31);\n        });\n        this.setSession(session || options && options.session || new EditSession(\"\"));\n        config.resetOptions(this);\n        if (options)\n            this.setOptions(options);\n        config._signal(\"editor\", this);\n    }\n    Editor.prototype.$initOperationListeners = function () {\n        this.commands.on(\"exec\", this.startOperation.bind(this), true);\n        this.commands.on(\"afterExec\", this.endOperation.bind(this), true);\n    };\n    Editor.prototype.startOperation = function (commandEvent) {\n        this.session.startOperation(commandEvent);\n    };\n    Editor.prototype.endOperation = function (e) {\n        this.session.endOperation(e);\n    };\n    Editor.prototype.onStartOperation = function (commandEvent) {\n        this.curOp = this.session.curOp;\n        this.curOp.scrollTop = this.renderer.scrollTop;\n        this.prevOp = this.session.prevOp;\n        if (!commandEvent) {\n            this.previousCommand = null;\n        }\n    };\n    Editor.prototype.onEndOperation = function (e) {\n        if (this.curOp && this.session) {\n            if (e && e.returnValue === false) {\n                this.curOp = null;\n                return;\n            }\n            this._signal(\"beforeEndOperation\");\n            if (!this.curOp)\n                return;\n            var command = this.curOp.command;\n            var scrollIntoView = command && command.scrollIntoView;\n            if (scrollIntoView) {\n                switch (scrollIntoView) {\n                    case \"center-animate\":\n                        scrollIntoView = \"animate\";\n                    case \"center\":\n                        this.renderer.scrollCursorIntoView(null, 0.5);\n                        break;\n                    case \"animate\":\n                    case \"cursor\":\n                        this.renderer.scrollCursorIntoView();\n                        break;\n                    case \"selectionPart\":\n                        var range = this.selection.getRange();\n                        var config = this.renderer.layerConfig;\n                        if (range.start.row >= config.lastRow || range.end.row <= config.firstRow) {\n                            this.renderer.scrollSelectionIntoView(this.selection.anchor, this.selection.lead);\n                        }\n                        break;\n                    default:\n                        break;\n                }\n                if (scrollIntoView == \"animate\")\n                    this.renderer.animateScrolling(this.curOp.scrollTop);\n            }\n            this.$lastSel = this.session.selection.toJSON();\n            this.prevOp = this.curOp;\n            this.curOp = null;\n        }\n    };\n    Editor.prototype.$historyTracker = function (e) {\n        if (!this.$mergeUndoDeltas)\n            return;\n        var prev = this.prevOp;\n        var mergeableCommands = this.$mergeableCommands;\n        var shouldMerge = prev.command && (e.command.name == prev.command.name);\n        if (e.command.name == \"insertstring\") {\n            var text = e.args;\n            if (this.mergeNextCommand === undefined)\n                this.mergeNextCommand = true;\n            shouldMerge = shouldMerge\n                && this.mergeNextCommand // previous command allows to coalesce with\n                && (!/\\s/.test(text) || /\\s/.test(prev.args)); // previous insertion was of same type\n            this.mergeNextCommand = true;\n        }\n        else {\n            shouldMerge = shouldMerge\n                && mergeableCommands.indexOf(e.command.name) !== -1; // the command is mergeable\n        }\n        if (this.$mergeUndoDeltas != \"always\"\n            && Date.now() - this.sequenceStartTime > 2000) {\n            shouldMerge = false; // the sequence is too long\n        }\n        if (shouldMerge)\n            this.session.mergeUndoDeltas = true;\n        else if (mergeableCommands.indexOf(e.command.name) !== -1)\n            this.sequenceStartTime = Date.now();\n    };\n    Editor.prototype.setKeyboardHandler = function (keyboardHandler, cb) {\n        if (keyboardHandler && typeof keyboardHandler === \"string\" && keyboardHandler != \"ace\") {\n            this.$keybindingId = keyboardHandler;\n            var _self = this;\n            config.loadModule([\"keybinding\", keyboardHandler], function (module) {\n                if (_self.$keybindingId == keyboardHandler)\n                    _self.keyBinding.setKeyboardHandler(module && module.handler);\n                cb && cb();\n            });\n        }\n        else {\n            this.$keybindingId = null;\n            this.keyBinding.setKeyboardHandler(keyboardHandler);\n            cb && cb();\n        }\n    };\n    Editor.prototype.getKeyboardHandler = function () {\n        return this.keyBinding.getKeyboardHandler();\n    };\n    Editor.prototype.setSession = function (session) {\n        if (this.session == session)\n            return;\n        if (this.curOp)\n            this.endOperation();\n        this.curOp = {};\n        var oldSession = this.session;\n        if (oldSession) {\n            this.session.off(\"change\", this.$onDocumentChange);\n            this.session.off(\"changeMode\", this.$onChangeMode);\n            this.session.off(\"tokenizerUpdate\", this.$onTokenizerUpdate);\n            this.session.off(\"changeTabSize\", this.$onChangeTabSize);\n            this.session.off(\"changeWrapLimit\", this.$onChangeWrapLimit);\n            this.session.off(\"changeWrapMode\", this.$onChangeWrapMode);\n            this.session.off(\"changeFold\", this.$onChangeFold);\n            this.session.off(\"changeFrontMarker\", this.$onChangeFrontMarker);\n            this.session.off(\"changeBackMarker\", this.$onChangeBackMarker);\n            this.session.off(\"changeBreakpoint\", this.$onChangeBreakpoint);\n            this.session.off(\"changeAnnotation\", this.$onChangeAnnotation);\n            this.session.off(\"changeOverwrite\", this.$onCursorChange);\n            this.session.off(\"changeScrollTop\", this.$onScrollTopChange);\n            this.session.off(\"changeScrollLeft\", this.$onScrollLeftChange);\n            this.session.off(\"startOperation\", this.$onStartOperation);\n            this.session.off(\"endOperation\", this.$onEndOperation);\n            var selection = this.session.getSelection();\n            selection.off(\"changeCursor\", this.$onCursorChange);\n            selection.off(\"changeSelection\", this.$onSelectionChange);\n        }\n        this.session = session;\n        if (session) {\n            this.$onDocumentChange = this.onDocumentChange.bind(this);\n            session.on(\"change\", this.$onDocumentChange);\n            this.renderer.setSession(session);\n            this.$onChangeMode = this.onChangeMode.bind(this);\n            session.on(\"changeMode\", this.$onChangeMode);\n            this.$onTokenizerUpdate = this.onTokenizerUpdate.bind(this);\n            session.on(\"tokenizerUpdate\", this.$onTokenizerUpdate);\n            this.$onChangeTabSize = this.renderer.onChangeTabSize.bind(this.renderer);\n            session.on(\"changeTabSize\", this.$onChangeTabSize);\n            this.$onChangeWrapLimit = this.onChangeWrapLimit.bind(this);\n            session.on(\"changeWrapLimit\", this.$onChangeWrapLimit);\n            this.$onChangeWrapMode = this.onChangeWrapMode.bind(this);\n            session.on(\"changeWrapMode\", this.$onChangeWrapMode);\n            this.$onChangeFold = this.onChangeFold.bind(this);\n            session.on(\"changeFold\", this.$onChangeFold);\n            this.$onChangeFrontMarker = this.onChangeFrontMarker.bind(this);\n            this.session.on(\"changeFrontMarker\", this.$onChangeFrontMarker);\n            this.$onChangeBackMarker = this.onChangeBackMarker.bind(this);\n            this.session.on(\"changeBackMarker\", this.$onChangeBackMarker);\n            this.$onChangeBreakpoint = this.onChangeBreakpoint.bind(this);\n            this.session.on(\"changeBreakpoint\", this.$onChangeBreakpoint);\n            this.$onChangeAnnotation = this.onChangeAnnotation.bind(this);\n            this.session.on(\"changeAnnotation\", this.$onChangeAnnotation);\n            this.$onCursorChange = this.onCursorChange.bind(this);\n            this.session.on(\"changeOverwrite\", this.$onCursorChange);\n            this.$onScrollTopChange = this.onScrollTopChange.bind(this);\n            this.session.on(\"changeScrollTop\", this.$onScrollTopChange);\n            this.$onScrollLeftChange = this.onScrollLeftChange.bind(this);\n            this.session.on(\"changeScrollLeft\", this.$onScrollLeftChange);\n            this.selection = session.getSelection();\n            this.selection.on(\"changeCursor\", this.$onCursorChange);\n            this.$onSelectionChange = this.onSelectionChange.bind(this);\n            this.selection.on(\"changeSelection\", this.$onSelectionChange);\n            this.$onStartOperation = this.onStartOperation.bind(this);\n            this.session.on(\"startOperation\", this.$onStartOperation);\n            this.$onEndOperation = this.onEndOperation.bind(this);\n            this.session.on(\"endOperation\", this.$onEndOperation);\n            this.onChangeMode();\n            this.onCursorChange();\n            this.onScrollTopChange();\n            this.onScrollLeftChange();\n            this.onSelectionChange();\n            this.onChangeFrontMarker();\n            this.onChangeBackMarker();\n            this.onChangeBreakpoint();\n            this.onChangeAnnotation();\n            this.session.getUseWrapMode() && this.renderer.adjustWrapLimit();\n            this.renderer.updateFull();\n        }\n        else {\n            this.selection = null;\n            this.renderer.setSession(session);\n        }\n        this._signal(\"changeSession\", {\n            session: session,\n            oldSession: oldSession\n        });\n        this.curOp = null;\n        oldSession && oldSession._signal(\"changeEditor\", { oldEditor: this });\n        if (oldSession)\n            oldSession.$editor = null;\n        session && session._signal(\"changeEditor\", { editor: this });\n        if (session)\n            session.$editor = this;\n        if (session && !session.destroyed)\n            session.bgTokenizer.scheduleStart();\n    };\n    Editor.prototype.getSession = function () {\n        return this.session;\n    };\n    Editor.prototype.setValue = function (val, cursorPos) {\n        this.session.doc.setValue(val);\n        if (!cursorPos)\n            this.selectAll();\n        else if (cursorPos == 1)\n            this.navigateFileEnd();\n        else if (cursorPos == -1)\n            this.navigateFileStart();\n        return val;\n    };\n    Editor.prototype.getValue = function () {\n        return this.session.getValue();\n    };\n    Editor.prototype.getSelection = function () {\n        return this.selection;\n    };\n    Editor.prototype.resize = function (force) {\n        this.renderer.onResize(force);\n    };\n    Editor.prototype.setTheme = function (theme, cb) {\n        this.renderer.setTheme(theme, cb);\n    };\n    Editor.prototype.getTheme = function () {\n        return this.renderer.getTheme();\n    };\n    Editor.prototype.setStyle = function (style) {\n        this.renderer.setStyle(style);\n    };\n    Editor.prototype.unsetStyle = function (style) {\n        this.renderer.unsetStyle(style);\n    };\n    Editor.prototype.getFontSize = function () {\n        return this.getOption(\"fontSize\") ||\n            dom.computedStyle(this.container).fontSize;\n    };\n    Editor.prototype.setFontSize = function (size) {\n        this.setOption(\"fontSize\", size);\n    };\n    Editor.prototype.$highlightBrackets = function () {\n        if (this.$highlightPending) {\n            return;\n        }\n        var self = this;\n        this.$highlightPending = true;\n        setTimeout(function () {\n            self.$highlightPending = false;\n            var session = self.session;\n            if (!session || session.destroyed)\n                return;\n            if (session.$bracketHighlight) {\n                session.$bracketHighlight.markerIds.forEach(function (id) {\n                    session.removeMarker(id);\n                });\n                session.$bracketHighlight = null;\n            }\n            var pos = self.getCursorPosition();\n            var handler = self.getKeyboardHandler();\n            var isBackwards = handler && handler.$getDirectionForHighlight && handler.$getDirectionForHighlight(self);\n            var ranges = session.getMatchingBracketRanges(pos, isBackwards);\n            if (!ranges) {\n                var iterator = new TokenIterator(session, pos.row, pos.column);\n                var token = iterator.getCurrentToken();\n                if (token && /\\b(?:tag-open|tag-name)/.test(token.type)) {\n                    var tagNamesRanges = session.getMatchingTags(pos);\n                    if (tagNamesRanges) {\n                        ranges = [\n                            tagNamesRanges.openTagName.isEmpty() ? tagNamesRanges.openTag : tagNamesRanges.openTagName,\n                            tagNamesRanges.closeTagName.isEmpty() ? tagNamesRanges.closeTag : tagNamesRanges.closeTagName\n                        ];\n                    }\n                }\n            }\n            if (!ranges && session.$mode.getMatching)\n                ranges = session.$mode.getMatching(self.session);\n            if (!ranges) {\n                if (self.getHighlightIndentGuides())\n                    self.renderer.$textLayer.$highlightIndentGuide();\n                return;\n            }\n            var markerType = \"ace_bracket\";\n            if (!Array.isArray(ranges)) {\n                ranges = [ranges];\n            }\n            else if (ranges.length == 1) {\n                markerType = \"ace_error_bracket\";\n            }\n            if (ranges.length == 2) {\n                if (Range.comparePoints(ranges[0].end, ranges[1].start) == 0)\n                    ranges = [Range.fromPoints(ranges[0].start, ranges[1].end)];\n                else if (Range.comparePoints(ranges[0].start, ranges[1].end) == 0)\n                    ranges = [Range.fromPoints(ranges[1].start, ranges[0].end)];\n            }\n            session.$bracketHighlight = {\n                ranges: ranges,\n                markerIds: ranges.map(function (range) {\n                    return session.addMarker(range, markerType, \"text\");\n                })\n            };\n            if (self.getHighlightIndentGuides())\n                self.renderer.$textLayer.$highlightIndentGuide();\n        }, 50);\n    };\n    Editor.prototype.focus = function () {\n        this.textInput.focus();\n    };\n    Editor.prototype.isFocused = function () {\n        return this.textInput.isFocused();\n    };\n    Editor.prototype.blur = function () {\n        this.textInput.blur();\n    };\n    Editor.prototype.onFocus = function (e) {\n        if (this.$isFocused)\n            return;\n        this.$isFocused = true;\n        this.renderer.showCursor();\n        this.renderer.visualizeFocus();\n        this._emit(\"focus\", e);\n    };\n    Editor.prototype.onBlur = function (e) {\n        if (!this.$isFocused)\n            return;\n        this.$isFocused = false;\n        this.renderer.hideCursor();\n        this.renderer.visualizeBlur();\n        this._emit(\"blur\", e);\n    };\n    Editor.prototype.$cursorChange = function () {\n        this.renderer.updateCursor();\n        this.$highlightBrackets();\n        this.$updateHighlightActiveLine();\n    };\n    Editor.prototype.onDocumentChange = function (delta) {\n        var wrap = this.session.$useWrapMode;\n        var lastRow = (delta.start.row == delta.end.row ? delta.end.row : Infinity);\n        this.renderer.updateLines(delta.start.row, lastRow, wrap);\n        this._signal(\"change\", delta);\n        this.$cursorChange();\n    };\n    Editor.prototype.onTokenizerUpdate = function (e) {\n        var rows = e.data;\n        this.renderer.updateLines(rows.first, rows.last);\n    };\n    Editor.prototype.onScrollTopChange = function () {\n        this.renderer.scrollToY(this.session.getScrollTop());\n    };\n    Editor.prototype.onScrollLeftChange = function () {\n        this.renderer.scrollToX(this.session.getScrollLeft());\n    };\n    Editor.prototype.onCursorChange = function () {\n        this.$cursorChange();\n        this._signal(\"changeSelection\");\n    };\n    Editor.prototype.$updateHighlightActiveLine = function () {\n        var session = this.getSession();\n        var highlight;\n        if (this.$highlightActiveLine) {\n            if (this.$selectionStyle != \"line\" || !this.selection.isMultiLine())\n                highlight = this.getCursorPosition();\n            if (this.renderer.theme && this.renderer.theme.$selectionColorConflict && !this.selection.isEmpty())\n                highlight = false;\n            if (this.renderer.$maxLines && this.session.getLength() === 1 && !(this.renderer.$minLines > 1))\n                highlight = false;\n        }\n        if (session.$highlightLineMarker && !highlight) {\n            session.removeMarker(session.$highlightLineMarker.id);\n            session.$highlightLineMarker = null;\n        }\n        else if (!session.$highlightLineMarker && highlight) {\n            var range = new Range(highlight.row, highlight.column, highlight.row, Infinity);\n            range.id = session.addMarker(range, \"ace_active-line\", \"screenLine\");\n            session.$highlightLineMarker = range;\n        }\n        else if (highlight) {\n            session.$highlightLineMarker.start.row = highlight.row;\n            session.$highlightLineMarker.end.row = highlight.row;\n            session.$highlightLineMarker.start.column = highlight.column;\n            session._signal(\"changeBackMarker\");\n        }\n    };\n    Editor.prototype.onSelectionChange = function (e) {\n        var session = this.session;\n        if (session.$selectionMarker) {\n            session.removeMarker(session.$selectionMarker);\n        }\n        session.$selectionMarker = null;\n        if (!this.selection.isEmpty()) {\n            var range = this.selection.getRange();\n            var style = this.getSelectionStyle();\n            session.$selectionMarker = session.addMarker(range, \"ace_selection\", style);\n        }\n        else {\n            this.$updateHighlightActiveLine();\n        }\n        var re = this.$highlightSelectedWord && this.$getSelectionHighLightRegexp();\n        this.session.highlight(re);\n        this._signal(\"changeSelection\");\n    };\n    Editor.prototype.$getSelectionHighLightRegexp = function () {\n        var session = this.session;\n        var selection = this.getSelectionRange();\n        if (selection.isEmpty() || selection.isMultiLine())\n            return;\n        var startColumn = selection.start.column;\n        var endColumn = selection.end.column;\n        var line = session.getLine(selection.start.row);\n        var needle = line.substring(startColumn, endColumn);\n        if (needle.length > 5000 || !/[\\w\\d]/.test(needle))\n            return;\n        var re = this.$search.$assembleRegExp({\n            wholeWord: true,\n            caseSensitive: true,\n            needle: needle\n        });\n        var wordWithBoundary = line.substring(startColumn - 1, endColumn + 1);\n        if (!re.test(wordWithBoundary))\n            return;\n        return re;\n    };\n    Editor.prototype.onChangeFrontMarker = function () {\n        this.renderer.updateFrontMarkers();\n    };\n    Editor.prototype.onChangeBackMarker = function () {\n        this.renderer.updateBackMarkers();\n    };\n    Editor.prototype.onChangeBreakpoint = function () {\n        this.renderer.updateBreakpoints();\n    };\n    Editor.prototype.onChangeAnnotation = function () {\n        this.renderer.setAnnotations(this.session.getAnnotations());\n    };\n    Editor.prototype.onChangeMode = function (e) {\n        this.renderer.updateText();\n        this._emit(\"changeMode\", e);\n    };\n    Editor.prototype.onChangeWrapLimit = function () {\n        this.renderer.updateFull();\n    };\n    Editor.prototype.onChangeWrapMode = function () {\n        this.renderer.onResize(true);\n    };\n    Editor.prototype.onChangeFold = function () {\n        this.$updateHighlightActiveLine();\n        this.renderer.updateFull();\n    };\n    Editor.prototype.getSelectedText = function () {\n        return this.session.getTextRange(this.getSelectionRange());\n    };\n    Editor.prototype.getCopyText = function () {\n        var text = this.getSelectedText();\n        var nl = this.session.doc.getNewLineCharacter();\n        var copyLine = false;\n        if (!text && this.$copyWithEmptySelection) {\n            copyLine = true;\n            var ranges = this.selection.getAllRanges();\n            for (var i = 0; i < ranges.length; i++) {\n                var range = ranges[i];\n                if (i && ranges[i - 1].start.row == range.start.row)\n                    continue;\n                text += this.session.getLine(range.start.row) + nl;\n            }\n        }\n        var e = { text: text };\n        this._signal(\"copy\", e);\n        clipboard.lineMode = copyLine ? e.text : false;\n        return e.text;\n    };\n    Editor.prototype.onCopy = function () {\n        this.commands.exec(\"copy\", this);\n    };\n    Editor.prototype.onCut = function () {\n        this.commands.exec(\"cut\", this);\n    };\n    Editor.prototype.onPaste = function (text, event) {\n        var e = { text: text, event: event };\n        this.commands.exec(\"paste\", this, e);\n    };\n    Editor.prototype.$handlePaste = function (e) {\n        if (typeof e == \"string\")\n            e = { text: e };\n        this._signal(\"paste\", e);\n        var text = e.text;\n        var lineMode = text === clipboard.lineMode;\n        var session = this.session;\n        if (!this.inMultiSelectMode || this.inVirtualSelectionMode) {\n            if (lineMode)\n                session.insert({ row: this.selection.lead.row, column: 0 }, text);\n            else\n                this.insert(text);\n        }\n        else if (lineMode) {\n            this.selection.rangeList.ranges.forEach(function (range) {\n                session.insert({ row: range.start.row, column: 0 }, text);\n            });\n        }\n        else {\n            var lines = text.split(/\\r\\n|\\r|\\n/);\n            var ranges = this.selection.rangeList.ranges;\n            var isFullLine = lines.length == 2 && (!lines[0] || !lines[1]);\n            if (lines.length != ranges.length || isFullLine)\n                return this.commands.exec(\"insertstring\", this, text);\n            for (var i = ranges.length; i--;) {\n                var range = ranges[i];\n                if (!range.isEmpty())\n                    session.remove(range);\n                session.insert(range.start, lines[i]);\n            }\n        }\n    };\n    Editor.prototype.execCommand = function (command, args) {\n        return this.commands.exec(command, this, args);\n    };\n    Editor.prototype.insert = function (text, pasted) {\n        var session = this.session;\n        var mode = session.getMode();\n        var cursor = this.getCursorPosition();\n        if (this.getBehavioursEnabled() && !pasted) {\n            var transform = mode.transformAction(session.getState(cursor.row), 'insertion', this, session, text);\n            if (transform) {\n                if (text !== transform.text) {\n                    if (!this.inVirtualSelectionMode) {\n                        this.session.mergeUndoDeltas = false;\n                        this.mergeNextCommand = false;\n                    }\n                }\n                text = transform.text;\n            }\n        }\n        if (text == \"\\t\")\n            text = this.session.getTabString();\n        if (!this.selection.isEmpty()) {\n            var range = this.getSelectionRange();\n            cursor = this.session.remove(range);\n            this.clearSelection();\n        }\n        else if (this.session.getOverwrite() && text.indexOf(\"\\n\") == -1) {\n            var range = Range.fromPoints(cursor, cursor);\n            range.end.column += text.length;\n            this.session.remove(range);\n        }\n        if (text == \"\\n\" || text == \"\\r\\n\") {\n            var line = session.getLine(cursor.row);\n            if (cursor.column > line.search(/\\S|$/)) {\n                var d = line.substr(cursor.column).search(/\\S|$/);\n                session.doc.removeInLine(cursor.row, cursor.column, cursor.column + d);\n            }\n        }\n        this.clearSelection();\n        var start = cursor.column;\n        var lineState = session.getState(cursor.row);\n        var line = session.getLine(cursor.row);\n        var shouldOutdent = mode.checkOutdent(lineState, line, text);\n        session.insert(cursor, text);\n        if (transform && transform.selection) {\n            if (transform.selection.length == 2) { // Transform relative to the current column\n                this.selection.setSelectionRange(new Range(cursor.row, start + transform.selection[0], cursor.row, start + transform.selection[1]));\n            }\n            else { // Transform relative to the current row.\n                this.selection.setSelectionRange(new Range(cursor.row + transform.selection[0], transform.selection[1], cursor.row + transform.selection[2], transform.selection[3]));\n            }\n        }\n        if (this.$enableAutoIndent) {\n            if (session.getDocument().isNewLine(text)) {\n                var lineIndent = mode.getNextLineIndent(lineState, line.slice(0, cursor.column), session.getTabString());\n                session.insert({ row: cursor.row + 1, column: 0 }, lineIndent);\n            }\n            if (shouldOutdent)\n                mode.autoOutdent(lineState, session, cursor.row);\n        }\n    };\n    Editor.prototype.autoIndent = function () {\n        var session = this.session;\n        var mode = session.getMode();\n        var ranges = this.selection.isEmpty()\n            ? [new Range(0, 0, session.doc.getLength() - 1, 0)]\n            : this.selection.getAllRanges();\n        var prevLineState = \"\";\n        var prevLine = \"\";\n        var lineIndent = \"\";\n        var tab = session.getTabString();\n        for (var i = 0; i < ranges.length; i++) {\n            var startRow = ranges[i].start.row;\n            var endRow = ranges[i].end.row;\n            for (var row = startRow; row <= endRow; row++) {\n                if (row > 0) {\n                    prevLineState = session.getState(row - 1);\n                    prevLine = session.getLine(row - 1);\n                    lineIndent = mode.getNextLineIndent(prevLineState, prevLine, tab);\n                }\n                var line = session.getLine(row);\n                var currIndent = mode.$getIndent(line);\n                if (lineIndent !== currIndent) {\n                    if (currIndent.length > 0) {\n                        var range = new Range(row, 0, row, currIndent.length);\n                        session.remove(range);\n                    }\n                    if (lineIndent.length > 0) {\n                        session.insert({ row: row, column: 0 }, lineIndent);\n                    }\n                }\n                mode.autoOutdent(prevLineState, session, row);\n            }\n        }\n    };\n    Editor.prototype.onTextInput = function (text, composition) {\n        if (!composition)\n            return this.keyBinding.onTextInput(text);\n        this.startOperation({ command: { name: \"insertstring\" } });\n        var applyComposition = this.applyComposition.bind(this, text, composition);\n        if (this.selection.rangeCount)\n            this.forEachSelection(applyComposition);\n        else\n            applyComposition();\n        this.endOperation();\n    };\n    Editor.prototype.applyComposition = function (text, composition) {\n        if (composition.extendLeft || composition.extendRight) {\n            var r = this.selection.getRange();\n            r.start.column -= composition.extendLeft;\n            r.end.column += composition.extendRight;\n            if (r.start.column < 0) {\n                r.start.row--;\n                r.start.column += this.session.getLine(r.start.row).length + 1;\n            }\n            this.selection.setRange(r);\n            if (!text && !r.isEmpty())\n                this.remove();\n        }\n        if (text || !this.selection.isEmpty())\n            this.insert(text, true);\n        if (composition.restoreStart || composition.restoreEnd) {\n            var r = this.selection.getRange();\n            r.start.column -= composition.restoreStart;\n            r.end.column -= composition.restoreEnd;\n            this.selection.setRange(r);\n        }\n    };\n    Editor.prototype.onCommandKey = function (e, hashId, keyCode) {\n        return this.keyBinding.onCommandKey(e, hashId, keyCode);\n    };\n    Editor.prototype.setOverwrite = function (overwrite) {\n        this.session.setOverwrite(overwrite);\n    };\n    Editor.prototype.getOverwrite = function () {\n        return this.session.getOverwrite();\n    };\n    Editor.prototype.toggleOverwrite = function () {\n        this.session.toggleOverwrite();\n    };\n    Editor.prototype.setScrollSpeed = function (speed) {\n        this.setOption(\"scrollSpeed\", speed);\n    };\n    Editor.prototype.getScrollSpeed = function () {\n        return this.getOption(\"scrollSpeed\");\n    };\n    Editor.prototype.setDragDelay = function (dragDelay) {\n        this.setOption(\"dragDelay\", dragDelay);\n    };\n    Editor.prototype.getDragDelay = function () {\n        return this.getOption(\"dragDelay\");\n    };\n    Editor.prototype.setSelectionStyle = function (val) {\n        this.setOption(\"selectionStyle\", val);\n    };\n    Editor.prototype.getSelectionStyle = function () {\n        return this.getOption(\"selectionStyle\");\n    };\n    Editor.prototype.setHighlightActiveLine = function (shouldHighlight) {\n        this.setOption(\"highlightActiveLine\", shouldHighlight);\n    };\n    Editor.prototype.getHighlightActiveLine = function () {\n        return this.getOption(\"highlightActiveLine\");\n    };\n    Editor.prototype.setHighlightGutterLine = function (shouldHighlight) {\n        this.setOption(\"highlightGutterLine\", shouldHighlight);\n    };\n    Editor.prototype.getHighlightGutterLine = function () {\n        return this.getOption(\"highlightGutterLine\");\n    };\n    Editor.prototype.setHighlightSelectedWord = function (shouldHighlight) {\n        this.setOption(\"highlightSelectedWord\", shouldHighlight);\n    };\n    Editor.prototype.getHighlightSelectedWord = function () {\n        return this.$highlightSelectedWord;\n    };\n    Editor.prototype.setAnimatedScroll = function (shouldAnimate) {\n        this.renderer.setAnimatedScroll(shouldAnimate);\n    };\n    Editor.prototype.getAnimatedScroll = function () {\n        return this.renderer.getAnimatedScroll();\n    };\n    Editor.prototype.setShowInvisibles = function (showInvisibles) {\n        this.renderer.setShowInvisibles(showInvisibles);\n    };\n    Editor.prototype.getShowInvisibles = function () {\n        return this.renderer.getShowInvisibles();\n    };\n    Editor.prototype.setDisplayIndentGuides = function (display) {\n        this.renderer.setDisplayIndentGuides(display);\n    };\n    Editor.prototype.getDisplayIndentGuides = function () {\n        return this.renderer.getDisplayIndentGuides();\n    };\n    Editor.prototype.setHighlightIndentGuides = function (highlight) {\n        this.renderer.setHighlightIndentGuides(highlight);\n    };\n    Editor.prototype.getHighlightIndentGuides = function () {\n        return this.renderer.getHighlightIndentGuides();\n    };\n    Editor.prototype.setShowPrintMargin = function (showPrintMargin) {\n        this.renderer.setShowPrintMargin(showPrintMargin);\n    };\n    Editor.prototype.getShowPrintMargin = function () {\n        return this.renderer.getShowPrintMargin();\n    };\n    Editor.prototype.setPrintMarginColumn = function (showPrintMargin) {\n        this.renderer.setPrintMarginColumn(showPrintMargin);\n    };\n    Editor.prototype.getPrintMarginColumn = function () {\n        return this.renderer.getPrintMarginColumn();\n    };\n    Editor.prototype.setReadOnly = function (readOnly) {\n        this.setOption(\"readOnly\", readOnly);\n    };\n    Editor.prototype.getReadOnly = function () {\n        return this.getOption(\"readOnly\");\n    };\n    Editor.prototype.setBehavioursEnabled = function (enabled) {\n        this.setOption(\"behavioursEnabled\", enabled);\n    };\n    Editor.prototype.getBehavioursEnabled = function () {\n        return this.getOption(\"behavioursEnabled\");\n    };\n    Editor.prototype.setWrapBehavioursEnabled = function (enabled) {\n        this.setOption(\"wrapBehavioursEnabled\", enabled);\n    };\n    Editor.prototype.getWrapBehavioursEnabled = function () {\n        return this.getOption(\"wrapBehavioursEnabled\");\n    };\n    Editor.prototype.setShowFoldWidgets = function (show) {\n        this.setOption(\"showFoldWidgets\", show);\n    };\n    Editor.prototype.getShowFoldWidgets = function () {\n        return this.getOption(\"showFoldWidgets\");\n    };\n    Editor.prototype.setFadeFoldWidgets = function (fade) {\n        this.setOption(\"fadeFoldWidgets\", fade);\n    };\n    Editor.prototype.getFadeFoldWidgets = function () {\n        return this.getOption(\"fadeFoldWidgets\");\n    };\n    Editor.prototype.remove = function (dir) {\n        if (this.selection.isEmpty()) {\n            if (dir == \"left\")\n                this.selection.selectLeft();\n            else\n                this.selection.selectRight();\n        }\n        var range = this.getSelectionRange();\n        if (this.getBehavioursEnabled()) {\n            var session = this.session;\n            var state = session.getState(range.start.row);\n            var new_range = session.getMode().transformAction(state, 'deletion', this, session, range);\n            if (range.end.column === 0) {\n                var text = session.getTextRange(range);\n                if (text[text.length - 1] == \"\\n\") {\n                    var line = session.getLine(range.end.row);\n                    if (/^\\s+$/.test(line)) {\n                        range.end.column = line.length;\n                    }\n                }\n            }\n            if (new_range)\n                range = new_range;\n        }\n        this.session.remove(range);\n        this.clearSelection();\n    };\n    Editor.prototype.removeWordRight = function () {\n        if (this.selection.isEmpty())\n            this.selection.selectWordRight();\n        this.session.remove(this.getSelectionRange());\n        this.clearSelection();\n    };\n    Editor.prototype.removeWordLeft = function () {\n        if (this.selection.isEmpty())\n            this.selection.selectWordLeft();\n        this.session.remove(this.getSelectionRange());\n        this.clearSelection();\n    };\n    Editor.prototype.removeToLineStart = function () {\n        if (this.selection.isEmpty())\n            this.selection.selectLineStart();\n        if (this.selection.isEmpty())\n            this.selection.selectLeft();\n        this.session.remove(this.getSelectionRange());\n        this.clearSelection();\n    };\n    Editor.prototype.removeToLineEnd = function () {\n        if (this.selection.isEmpty())\n            this.selection.selectLineEnd();\n        var range = this.getSelectionRange();\n        if (range.start.column == range.end.column && range.start.row == range.end.row) {\n            range.end.column = 0;\n            range.end.row++;\n        }\n        this.session.remove(range);\n        this.clearSelection();\n    };\n    Editor.prototype.splitLine = function () {\n        if (!this.selection.isEmpty()) {\n            this.session.remove(this.getSelectionRange());\n            this.clearSelection();\n        }\n        var cursor = this.getCursorPosition();\n        this.insert(\"\\n\");\n        this.moveCursorToPosition(cursor);\n    };\n    Editor.prototype.setGhostText = function (text, position) {\n        this.renderer.setGhostText(text, position);\n    };\n    Editor.prototype.removeGhostText = function () {\n        this.renderer.removeGhostText();\n    };\n    Editor.prototype.transposeLetters = function () {\n        if (!this.selection.isEmpty()) {\n            return;\n        }\n        var cursor = this.getCursorPosition();\n        var column = cursor.column;\n        if (column === 0)\n            return;\n        var line = this.session.getLine(cursor.row);\n        var swap, range;\n        if (column < line.length) {\n            swap = line.charAt(column) + line.charAt(column - 1);\n            range = new Range(cursor.row, column - 1, cursor.row, column + 1);\n        }\n        else {\n            swap = line.charAt(column - 1) + line.charAt(column - 2);\n            range = new Range(cursor.row, column - 2, cursor.row, column);\n        }\n        this.session.replace(range, swap);\n        this.session.selection.moveToPosition(range.end);\n    };\n    Editor.prototype.toLowerCase = function () {\n        var originalRange = this.getSelectionRange();\n        if (this.selection.isEmpty()) {\n            this.selection.selectWord();\n        }\n        var range = this.getSelectionRange();\n        var text = this.session.getTextRange(range);\n        this.session.replace(range, text.toLowerCase());\n        this.selection.setSelectionRange(originalRange);\n    };\n    Editor.prototype.toUpperCase = function () {\n        var originalRange = this.getSelectionRange();\n        if (this.selection.isEmpty()) {\n            this.selection.selectWord();\n        }\n        var range = this.getSelectionRange();\n        var text = this.session.getTextRange(range);\n        this.session.replace(range, text.toUpperCase());\n        this.selection.setSelectionRange(originalRange);\n    };\n    Editor.prototype.indent = function () {\n        var session = this.session;\n        var range = this.getSelectionRange();\n        if (range.start.row < range.end.row) {\n            var rows = this.$getSelectedRows();\n            session.indentRows(rows.first, rows.last, \"\\t\");\n            return;\n        }\n        else if (range.start.column < range.end.column) {\n            var text = session.getTextRange(range);\n            if (!/^\\s+$/.test(text)) {\n                var rows = this.$getSelectedRows();\n                session.indentRows(rows.first, rows.last, \"\\t\");\n                return;\n            }\n        }\n        var line = session.getLine(range.start.row);\n        var position = range.start;\n        var size = session.getTabSize();\n        var column = session.documentToScreenColumn(position.row, position.column);\n        if (this.session.getUseSoftTabs()) {\n            var count = (size - column % size);\n            var indentString = lang.stringRepeat(\" \", count);\n        }\n        else {\n            var count = column % size;\n            while (line[range.start.column - 1] == \" \" && count) {\n                range.start.column--;\n                count--;\n            }\n            this.selection.setSelectionRange(range);\n            indentString = \"\\t\";\n        }\n        return this.insert(indentString);\n    };\n    Editor.prototype.blockIndent = function () {\n        var rows = this.$getSelectedRows();\n        this.session.indentRows(rows.first, rows.last, \"\\t\");\n    };\n    Editor.prototype.blockOutdent = function () {\n        var selection = this.session.getSelection();\n        this.session.outdentRows(selection.getRange());\n    };\n    Editor.prototype.sortLines = function () {\n        var rows = this.$getSelectedRows();\n        var session = this.session;\n        var lines = [];\n        for (var i = rows.first; i <= rows.last; i++)\n            lines.push(session.getLine(i));\n        lines.sort(function (a, b) {\n            if (a.toLowerCase() < b.toLowerCase())\n                return -1;\n            if (a.toLowerCase() > b.toLowerCase())\n                return 1;\n            return 0;\n        });\n        var deleteRange = new Range(0, 0, 0, 0);\n        for (var i = rows.first; i <= rows.last; i++) {\n            var line = session.getLine(i);\n            deleteRange.start.row = i;\n            deleteRange.end.row = i;\n            deleteRange.end.column = line.length;\n            session.replace(deleteRange, lines[i - rows.first]);\n        }\n    };\n    Editor.prototype.toggleCommentLines = function () {\n        var state = this.session.getState(this.getCursorPosition().row);\n        var rows = this.$getSelectedRows();\n        this.session.getMode().toggleCommentLines(state, this.session, rows.first, rows.last);\n    };\n    Editor.prototype.toggleBlockComment = function () {\n        var cursor = this.getCursorPosition();\n        var state = this.session.getState(cursor.row);\n        var range = this.getSelectionRange();\n        this.session.getMode().toggleBlockComment(state, this.session, range, cursor);\n    };\n    Editor.prototype.getNumberAt = function (row, column) {\n        var _numberRx = /[\\-]?[0-9]+(?:\\.[0-9]+)?/g;\n        _numberRx.lastIndex = 0;\n        var s = this.session.getLine(row);\n        while (_numberRx.lastIndex < column) {\n            var m = _numberRx.exec(s);\n            if (m.index <= column && m.index + m[0].length >= column) {\n                var number = {\n                    value: m[0],\n                    start: m.index,\n                    end: m.index + m[0].length\n                };\n                return number;\n            }\n        }\n        return null;\n    };\n    Editor.prototype.modifyNumber = function (amount) {\n        var row = this.selection.getCursor().row;\n        var column = this.selection.getCursor().column;\n        var charRange = new Range(row, column - 1, row, column);\n        var c = this.session.getTextRange(charRange);\n        if (!isNaN(parseFloat(c)) && isFinite(c)) {\n            var nr = this.getNumberAt(row, column);\n            if (nr) {\n                var fp = nr.value.indexOf(\".\") >= 0 ? nr.start + nr.value.indexOf(\".\") + 1 : nr.end;\n                var decimals = nr.start + nr.value.length - fp;\n                var t = parseFloat(nr.value);\n                t *= Math.pow(10, decimals);\n                if (fp !== nr.end && column < fp) {\n                    amount *= Math.pow(10, nr.end - column - 1);\n                }\n                else {\n                    amount *= Math.pow(10, nr.end - column);\n                }\n                t += amount;\n                t /= Math.pow(10, decimals);\n                var nnr = t.toFixed(decimals);\n                var replaceRange = new Range(row, nr.start, row, nr.end);\n                this.session.replace(replaceRange, nnr);\n                this.moveCursorTo(row, Math.max(nr.start + 1, column + nnr.length - nr.value.length));\n            }\n        }\n        else {\n            this.toggleWord();\n        }\n    };\n    Editor.prototype.toggleWord = function () {\n        var row = this.selection.getCursor().row;\n        var column = this.selection.getCursor().column;\n        this.selection.selectWord();\n        var currentState = this.getSelectedText();\n        var currWordStart = this.selection.getWordRange().start.column;\n        var wordParts = currentState.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g, '$1 ').split(/\\s/);\n        var delta = column - currWordStart - 1;\n        if (delta < 0)\n            delta = 0;\n        var curLength = 0, itLength = 0;\n        var that = this;\n        if (currentState.match(/[A-Za-z0-9_]+/)) {\n            wordParts.forEach(function (item, i) {\n                itLength = curLength + item.length;\n                if (delta >= curLength && delta <= itLength) {\n                    currentState = item;\n                    that.selection.clearSelection();\n                    that.moveCursorTo(row, curLength + currWordStart);\n                    that.selection.selectTo(row, itLength + currWordStart);\n                }\n                curLength = itLength;\n            });\n        }\n        var wordPairs = this.$toggleWordPairs;\n        var reg;\n        for (var i = 0; i < wordPairs.length; i++) {\n            var item = wordPairs[i];\n            for (var j = 0; j <= 1; j++) {\n                var negate = +!j;\n                var firstCondition = currentState.match(new RegExp('^\\\\s?_?(' + lang.escapeRegExp(item[j]) + ')\\\\s?$', 'i'));\n                if (firstCondition) {\n                    var secondCondition = currentState.match(new RegExp('([_]|^|\\\\s)(' + lang.escapeRegExp(firstCondition[1]) + ')($|\\\\s)', 'g'));\n                    if (secondCondition) {\n                        reg = currentState.replace(new RegExp(lang.escapeRegExp(item[j]), 'i'), function (result) {\n                            var res = item[negate];\n                            if (result.toUpperCase() == result) {\n                                res = res.toUpperCase();\n                            }\n                            else if (result.charAt(0).toUpperCase() == result.charAt(0)) {\n                                res = res.substr(0, 0) + item[negate].charAt(0).toUpperCase() + res.substr(1);\n                            }\n                            return res;\n                        });\n                        this.insert(reg);\n                        reg = \"\";\n                    }\n                }\n            }\n        }\n    };\n    Editor.prototype.findLinkAt = function (row, column) {\n        var e_1, _a;\n        var line = this.session.getLine(row);\n        var wordParts = line.split(/((?:https?|ftp):\\/\\/[\\S]+)/);\n        var columnPosition = column;\n        if (columnPosition < 0)\n            columnPosition = 0;\n        var previousPosition = 0, currentPosition = 0, match;\n        try {\n            for (var wordParts_1 = __values(wordParts), wordParts_1_1 = wordParts_1.next(); !wordParts_1_1.done; wordParts_1_1 = wordParts_1.next()) {\n                var item = wordParts_1_1.value;\n                currentPosition = previousPosition + item.length;\n                if (columnPosition >= previousPosition && columnPosition <= currentPosition) {\n                    if (item.match(/((?:https?|ftp):\\/\\/[\\S]+)/)) {\n                        match = item.replace(/[\\s:.,'\";}\\]]+$/, \"\");\n                        break;\n                    }\n                }\n                previousPosition = currentPosition;\n            }\n        }\n        catch (e_1_1) { e_1 = { error: e_1_1 }; }\n        finally {\n            try {\n                if (wordParts_1_1 && !wordParts_1_1.done && (_a = wordParts_1.return)) _a.call(wordParts_1);\n            }\n            finally { if (e_1) throw e_1.error; }\n        }\n        return match;\n    };\n    Editor.prototype.openLink = function () {\n        var cursor = this.selection.getCursor();\n        var url = this.findLinkAt(cursor.row, cursor.column);\n        if (url)\n            window.open(url, '_blank');\n        return url != null;\n    };\n    Editor.prototype.removeLines = function () {\n        var rows = this.$getSelectedRows();\n        this.session.removeFullLines(rows.first, rows.last);\n        this.clearSelection();\n    };\n    Editor.prototype.duplicateSelection = function () {\n        var sel = this.selection;\n        var doc = this.session;\n        var range = sel.getRange();\n        var reverse = sel.isBackwards();\n        if (range.isEmpty()) {\n            var row = range.start.row;\n            doc.duplicateLines(row, row);\n        }\n        else {\n            var point = reverse ? range.start : range.end;\n            var endPoint = doc.insert(point, doc.getTextRange(range));\n            range.start = point;\n            range.end = endPoint;\n            sel.setSelectionRange(range, reverse);\n        }\n    };\n    Editor.prototype.moveLinesDown = function () {\n        this.$moveLines(1, false);\n    };\n    Editor.prototype.moveLinesUp = function () {\n        this.$moveLines(-1, false);\n    };\n    Editor.prototype.moveText = function (range, toPosition, copy) {\n        return this.session.moveText(range, toPosition, copy);\n    };\n    Editor.prototype.copyLinesUp = function () {\n        this.$moveLines(-1, true);\n    };\n    Editor.prototype.copyLinesDown = function () {\n        this.$moveLines(1, true);\n    };\n    Editor.prototype.$moveLines = function (dir, copy) {\n        var rows, moved;\n        var selection = this.selection;\n        if (!selection.inMultiSelectMode || this.inVirtualSelectionMode) {\n            var range = selection.toOrientedRange();\n            rows = this.$getSelectedRows(range);\n            moved = this.session.$moveLines(rows.first, rows.last, copy ? 0 : dir);\n            if (copy && dir == -1)\n                moved = 0;\n            range.moveBy(moved, 0);\n            selection.fromOrientedRange(range);\n        }\n        else {\n            var ranges = selection.rangeList.ranges;\n            selection.rangeList.detach(this.session);\n            this.inVirtualSelectionMode = true;\n            var diff = 0;\n            var totalDiff = 0;\n            var l = ranges.length;\n            for (var i = 0; i < l; i++) {\n                var rangeIndex = i;\n                ranges[i].moveBy(diff, 0);\n                rows = this.$getSelectedRows(ranges[i]);\n                var first = rows.first;\n                var last = rows.last;\n                while (++i < l) {\n                    if (totalDiff)\n                        ranges[i].moveBy(totalDiff, 0);\n                    var subRows = this.$getSelectedRows(ranges[i]);\n                    if (copy && subRows.first != last)\n                        break;\n                    else if (!copy && subRows.first > last + 1)\n                        break;\n                    last = subRows.last;\n                }\n                i--;\n                diff = this.session.$moveLines(first, last, copy ? 0 : dir);\n                if (copy && dir == -1)\n                    rangeIndex = i + 1;\n                while (rangeIndex <= i) {\n                    ranges[rangeIndex].moveBy(diff, 0);\n                    rangeIndex++;\n                }\n                if (!copy)\n                    diff = 0;\n                totalDiff += diff;\n            }\n            selection.fromOrientedRange(selection.ranges[0]);\n            selection.rangeList.attach(this.session);\n            this.inVirtualSelectionMode = false;\n        }\n    };\n    Editor.prototype.$getSelectedRows = function (range) {\n        range = (range || this.getSelectionRange()).collapseRows();\n        return {\n            first: this.session.getRowFoldStart(range.start.row),\n            last: this.session.getRowFoldEnd(range.end.row)\n        };\n    };\n    Editor.prototype.onCompositionStart = function (compositionState) {\n        this.renderer.showComposition(compositionState);\n    };\n    Editor.prototype.onCompositionUpdate = function (text) {\n        this.renderer.setCompositionText(text);\n    };\n    Editor.prototype.onCompositionEnd = function () {\n        this.renderer.hideComposition();\n    };\n    Editor.prototype.getFirstVisibleRow = function () {\n        return this.renderer.getFirstVisibleRow();\n    };\n    Editor.prototype.getLastVisibleRow = function () {\n        return this.renderer.getLastVisibleRow();\n    };\n    Editor.prototype.isRowVisible = function (row) {\n        return (row >= this.getFirstVisibleRow() && row <= this.getLastVisibleRow());\n    };\n    Editor.prototype.isRowFullyVisible = function (row) {\n        return (row >= this.renderer.getFirstFullyVisibleRow() && row <= this.renderer.getLastFullyVisibleRow());\n    };\n    Editor.prototype.$getVisibleRowCount = function () {\n        return this.renderer.getScrollBottomRow() - this.renderer.getScrollTopRow() + 1;\n    };\n    Editor.prototype.$moveByPage = function (dir, select) {\n        var renderer = this.renderer;\n        var config = this.renderer.layerConfig;\n        var rows = dir * Math.floor(config.height / config.lineHeight);\n        if (select === true) {\n            this.selection.$moveSelection(function () {\n                this.moveCursorBy(rows, 0);\n            });\n        }\n        else if (select === false) {\n            this.selection.moveCursorBy(rows, 0);\n            this.selection.clearSelection();\n        }\n        var scrollTop = renderer.scrollTop;\n        renderer.scrollBy(0, rows * config.lineHeight);\n        if (select != null)\n            renderer.scrollCursorIntoView(null, 0.5);\n        renderer.animateScrolling(scrollTop);\n    };\n    Editor.prototype.selectPageDown = function () {\n        this.$moveByPage(1, true);\n    };\n    Editor.prototype.selectPageUp = function () {\n        this.$moveByPage(-1, true);\n    };\n    Editor.prototype.gotoPageDown = function () {\n        this.$moveByPage(1, false);\n    };\n    Editor.prototype.gotoPageUp = function () {\n        this.$moveByPage(-1, false);\n    };\n    Editor.prototype.scrollPageDown = function () {\n        this.$moveByPage(1);\n    };\n    Editor.prototype.scrollPageUp = function () {\n        this.$moveByPage(-1);\n    };\n    Editor.prototype.scrollToRow = function (row) {\n        this.renderer.scrollToRow(row);\n    };\n    Editor.prototype.scrollToLine = function (line, center, animate, callback) {\n        this.renderer.scrollToLine(line, center, animate, callback);\n    };\n    Editor.prototype.centerSelection = function () {\n        var range = this.getSelectionRange();\n        var pos = {\n            row: Math.floor(range.start.row + (range.end.row - range.start.row) / 2),\n            column: Math.floor(range.start.column + (range.end.column - range.start.column) / 2)\n        };\n        this.renderer.alignCursor(pos, 0.5);\n    };\n    Editor.prototype.getCursorPosition = function () {\n        return this.selection.getCursor();\n    };\n    Editor.prototype.getCursorPositionScreen = function () {\n        return this.session.documentToScreenPosition(this.getCursorPosition());\n    };\n    Editor.prototype.getSelectionRange = function () {\n        return this.selection.getRange();\n    };\n    Editor.prototype.selectAll = function () {\n        this.selection.selectAll();\n    };\n    Editor.prototype.clearSelection = function () {\n        this.selection.clearSelection();\n    };\n    Editor.prototype.moveCursorTo = function (row, column) {\n        this.selection.moveCursorTo(row, column);\n    };\n    Editor.prototype.moveCursorToPosition = function (pos) {\n        this.selection.moveCursorToPosition(pos);\n    };\n    Editor.prototype.jumpToMatching = function (select, expand) {\n        var cursor = this.getCursorPosition();\n        var iterator = new TokenIterator(this.session, cursor.row, cursor.column);\n        var prevToken = iterator.getCurrentToken();\n        var tokenCount = 0;\n        if (prevToken && prevToken.type.indexOf('tag-name') !== -1) {\n            prevToken = iterator.stepBackward();\n        }\n        var token = prevToken || iterator.stepForward();\n        if (!token)\n            return;\n        var matchType;\n        var found = false;\n        var depth = {};\n        var i = cursor.column - token.start;\n        var bracketType;\n        var brackets = {\n            \")\": \"(\",\n            \"(\": \"(\",\n            \"]\": \"[\",\n            \"[\": \"[\",\n            \"{\": \"{\",\n            \"}\": \"{\"\n        };\n        do {\n            if (token.value.match(/[{}()\\[\\]]/g)) {\n                for (; i < token.value.length && !found; i++) {\n                    if (!brackets[token.value[i]]) {\n                        continue;\n                    }\n                    bracketType = brackets[token.value[i]] + '.' + token.type.replace(\"rparen\", \"lparen\");\n                    if (isNaN(depth[bracketType])) {\n                        depth[bracketType] = 0;\n                    }\n                    switch (token.value[i]) {\n                        case '(':\n                        case '[':\n                        case '{':\n                            depth[bracketType]++;\n                            break;\n                        case ')':\n                        case ']':\n                        case '}':\n                            depth[bracketType]--;\n                            if (depth[bracketType] === -1) {\n                                matchType = 'bracket';\n                                found = true;\n                            }\n                            break;\n                    }\n                }\n            }\n            else if (token.type.indexOf('tag-name') !== -1) {\n                if (isNaN(depth[token.value])) {\n                    depth[token.value] = 0;\n                }\n                if (prevToken.value === '<' && tokenCount > 1) {\n                    depth[token.value]++;\n                }\n                else if (prevToken.value === '</') {\n                    depth[token.value]--;\n                }\n                if (depth[token.value] === -1) {\n                    matchType = 'tag';\n                    found = true;\n                }\n            }\n            if (!found) {\n                prevToken = token;\n                tokenCount++;\n                token = iterator.stepForward();\n                i = 0;\n            }\n        } while (token && !found);\n        if (!matchType)\n            return;\n        var range, pos;\n        if (matchType === 'bracket') {\n            range = this.session.getBracketRange(cursor);\n            if (!range) {\n                range = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + i - 1, iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() + i - 1);\n                pos = range.start;\n                if (expand || pos.row === cursor.row && Math.abs(pos.column - cursor.column)\n                    < 2)\n                    range = this.session.getBracketRange(pos);\n            }\n        }\n        else if (matchType === 'tag') {\n            if (!token || token.type.indexOf('tag-name') === -1)\n                return;\n            range = new Range(iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() - 2, iterator.getCurrentTokenRow(), iterator.getCurrentTokenColumn() - 2);\n            if (range.compare(cursor.row, cursor.column) === 0) {\n                var tagsRanges = this.session.getMatchingTags(cursor);\n                if (tagsRanges) {\n                    if (tagsRanges.openTag.contains(cursor.row, cursor.column)) {\n                        range = tagsRanges.closeTag;\n                        pos = range.start;\n                    }\n                    else {\n                        range = tagsRanges.openTag;\n                        if (tagsRanges.closeTag.start.row === cursor.row && tagsRanges.closeTag.start.column\n                            === cursor.column)\n                            pos = range.end;\n                        else\n                            pos = range.start;\n                    }\n                }\n            }\n            pos = pos || range.start;\n        }\n        pos = range && range.cursor || pos;\n        if (pos) {\n            if (select) {\n                if (range && expand) {\n                    this.selection.setRange(range);\n                }\n                else if (range && range.isEqual(this.getSelectionRange())) {\n                    this.clearSelection();\n                }\n                else {\n                    this.selection.selectTo(pos.row, pos.column);\n                }\n            }\n            else {\n                this.selection.moveTo(pos.row, pos.column);\n            }\n        }\n    };\n    Editor.prototype.gotoLine = function (lineNumber, column, animate) {\n        this.selection.clearSelection();\n        this.session.unfold({ row: lineNumber - 1, column: column || 0 });\n        this.exitMultiSelectMode && this.exitMultiSelectMode();\n        this.moveCursorTo(lineNumber - 1, column || 0);\n        if (!this.isRowFullyVisible(lineNumber - 1))\n            this.scrollToLine(lineNumber - 1, true, animate);\n    };\n    Editor.prototype.navigateTo = function (row, column) {\n        this.selection.moveTo(row, column);\n    };\n    Editor.prototype.navigateUp = function (times) {\n        if (this.selection.isMultiLine() && !this.selection.isBackwards()) {\n            var selectionStart = this.selection.anchor.getPosition();\n            return this.moveCursorToPosition(selectionStart);\n        }\n        this.selection.clearSelection();\n        this.selection.moveCursorBy(-times || -1, 0);\n    };\n    Editor.prototype.navigateDown = function (times) {\n        if (this.selection.isMultiLine() && this.selection.isBackwards()) {\n            var selectionEnd = this.selection.anchor.getPosition();\n            return this.moveCursorToPosition(selectionEnd);\n        }\n        this.selection.clearSelection();\n        this.selection.moveCursorBy(times || 1, 0);\n    };\n    Editor.prototype.navigateLeft = function (times) {\n        if (!this.selection.isEmpty()) {\n            var selectionStart = this.getSelectionRange().start;\n            this.moveCursorToPosition(selectionStart);\n        }\n        else {\n            times = times || 1;\n            while (times--) {\n                this.selection.moveCursorLeft();\n            }\n        }\n        this.clearSelection();\n    };\n    Editor.prototype.navigateRight = function (times) {\n        if (!this.selection.isEmpty()) {\n            var selectionEnd = this.getSelectionRange().end;\n            this.moveCursorToPosition(selectionEnd);\n        }\n        else {\n            times = times || 1;\n            while (times--) {\n                this.selection.moveCursorRight();\n            }\n        }\n        this.clearSelection();\n    };\n    Editor.prototype.navigateLineStart = function () {\n        this.selection.moveCursorLineStart();\n        this.clearSelection();\n    };\n    Editor.prototype.navigateLineEnd = function () {\n        this.selection.moveCursorLineEnd();\n        this.clearSelection();\n    };\n    Editor.prototype.navigateFileEnd = function () {\n        this.selection.moveCursorFileEnd();\n        this.clearSelection();\n    };\n    Editor.prototype.navigateFileStart = function () {\n        this.selection.moveCursorFileStart();\n        this.clearSelection();\n    };\n    Editor.prototype.navigateWordRight = function () {\n        this.selection.moveCursorWordRight();\n        this.clearSelection();\n    };\n    Editor.prototype.navigateWordLeft = function () {\n        this.selection.moveCursorWordLeft();\n        this.clearSelection();\n    };\n    Editor.prototype.replace = function (replacement, options) {\n        if (options)\n            this.$search.set(options);\n        var range = this.$search.find(this.session);\n        var replaced = 0;\n        if (!range)\n            return replaced;\n        if (this.$tryReplace(range, replacement)) {\n            replaced = 1;\n        }\n        this.selection.setSelectionRange(range);\n        this.renderer.scrollSelectionIntoView(range.start, range.end);\n        return replaced;\n    };\n    Editor.prototype.replaceAll = function (replacement, options) {\n        if (options) {\n            this.$search.set(options);\n        }\n        var ranges = this.$search.findAll(this.session);\n        var replaced = 0;\n        if (!ranges.length)\n            return replaced;\n        var selection = this.getSelectionRange();\n        this.selection.moveTo(0, 0);\n        for (var i = ranges.length - 1; i >= 0; --i) {\n            if (this.$tryReplace(ranges[i], replacement)) {\n                replaced++;\n            }\n        }\n        this.selection.setSelectionRange(selection);\n        return replaced;\n    };\n    Editor.prototype.$tryReplace = function (range, replacement) {\n        var input = this.session.getTextRange(range);\n        replacement = this.$search.replace(input, replacement);\n        if (replacement !== null) {\n            range.end = this.session.replace(range, replacement);\n            return range;\n        }\n        else {\n            return null;\n        }\n    };\n    Editor.prototype.getLastSearchOptions = function () {\n        return this.$search.getOptions();\n    };\n    Editor.prototype.find = function (needle, options, animate) {\n        if (!options)\n            options = {};\n        if (typeof needle == \"string\" || needle instanceof RegExp)\n            options.needle = needle;\n        else if (typeof needle == \"object\")\n            oop.mixin(options, needle);\n        var range = this.selection.getRange();\n        if (options.needle == null) {\n            needle = this.session.getTextRange(range)\n                || this.$search.$options.needle;\n            if (!needle) {\n                range = this.session.getWordRange(range.start.row, range.start.column);\n                needle = this.session.getTextRange(range);\n            }\n            this.$search.set({ needle: needle });\n        }\n        this.$search.set(options);\n        if (!options.start)\n            this.$search.set({ start: range });\n        var newRange = this.$search.find(this.session);\n        if (options.preventScroll)\n            return newRange;\n        if (newRange) {\n            this.revealRange(newRange, animate);\n            return newRange;\n        }\n        if (options.backwards)\n            range.start = range.end;\n        else\n            range.end = range.start;\n        this.selection.setRange(range);\n    };\n    Editor.prototype.findNext = function (options, animate) {\n        this.find({ skipCurrent: true, backwards: false }, options, animate);\n    };\n    Editor.prototype.findPrevious = function (options, animate) {\n        this.find(options, { skipCurrent: true, backwards: true }, animate);\n    };\n    Editor.prototype.revealRange = function (range, animate) {\n        this.session.unfold(range);\n        this.selection.setSelectionRange(range);\n        var scrollTop = this.renderer.scrollTop;\n        this.renderer.scrollSelectionIntoView(range.start, range.end, 0.5);\n        if (animate !== false)\n            this.renderer.animateScrolling(scrollTop);\n    };\n    Editor.prototype.undo = function () {\n        this.session.getUndoManager().undo(this.session);\n        this.renderer.scrollCursorIntoView(null, 0.5);\n    };\n    Editor.prototype.redo = function () {\n        this.session.getUndoManager().redo(this.session);\n        this.renderer.scrollCursorIntoView(null, 0.5);\n    };\n    Editor.prototype.destroy = function () {\n        if (this.$toDestroy) {\n            this.$toDestroy.forEach(function (el) {\n                el.destroy();\n            });\n            this.$toDestroy = null;\n        }\n        if (this.$mouseHandler)\n            this.$mouseHandler.destroy();\n        this.renderer.destroy();\n        this._signal(\"destroy\", this);\n        if (this.session)\n            this.session.destroy();\n        if (this._$emitInputEvent)\n            this._$emitInputEvent.cancel();\n        this.removeAllListeners();\n    };\n    Editor.prototype.setAutoScrollEditorIntoView = function (enable) {\n        if (!enable)\n            return;\n        var rect;\n        var self = this;\n        var shouldScroll = false;\n        if (!this.$scrollAnchor)\n            this.$scrollAnchor = document.createElement(\"div\");\n        var scrollAnchor = this.$scrollAnchor;\n        scrollAnchor.style.cssText = \"position:absolute\";\n        this.container.insertBefore(scrollAnchor, this.container.firstChild);\n        var onChangeSelection = this.on(\"changeSelection\", function () {\n            shouldScroll = true;\n        });\n        var onBeforeRender = this.renderer.on(\"beforeRender\", function () {\n            if (shouldScroll)\n                rect = self.renderer.container.getBoundingClientRect();\n        });\n        var onAfterRender = this.renderer.on(\"afterRender\", function () {\n            if (shouldScroll && rect && (self.isFocused()\n                || self.searchBox && self.searchBox.isFocused())) {\n                var renderer = self.renderer;\n                var pos = renderer.$cursorLayer.$pixelPos;\n                var config = renderer.layerConfig;\n                var top = pos.top - config.offset;\n                if (pos.top >= 0 && top + rect.top < 0) {\n                    shouldScroll = true;\n                }\n                else if (pos.top < config.height &&\n                    pos.top + rect.top + config.lineHeight > window.innerHeight) {\n                    shouldScroll = false;\n                }\n                else {\n                    shouldScroll = null;\n                }\n                if (shouldScroll != null) {\n                    scrollAnchor.style.top = top + \"px\";\n                    scrollAnchor.style.left = pos.left + \"px\";\n                    scrollAnchor.style.height = config.lineHeight + \"px\";\n                    scrollAnchor.scrollIntoView(shouldScroll);\n                }\n                shouldScroll = rect = null;\n            }\n        });\n        this.setAutoScrollEditorIntoView = function (enable) {\n            if (enable)\n                return;\n            delete this.setAutoScrollEditorIntoView;\n            this.off(\"changeSelection\", onChangeSelection);\n            this.renderer.off(\"afterRender\", onAfterRender);\n            this.renderer.off(\"beforeRender\", onBeforeRender);\n        };\n    };\n    Editor.prototype.$resetCursorStyle = function () {\n        var style = this.$cursorStyle || \"ace\";\n        var cursorLayer = this.renderer.$cursorLayer;\n        if (!cursorLayer)\n            return;\n        cursorLayer.setSmoothBlinking(/smooth/.test(style));\n        cursorLayer.isBlinking = !this.$readOnly && style != \"wide\";\n        dom.setCssClass(cursorLayer.element, \"ace_slim-cursors\", /slim/.test(style));\n    };\n    Editor.prototype.prompt = function (message, options, callback) {\n        var editor = this;\n        config.loadModule(\"ace/ext/prompt\", function (module) {\n            module.prompt(editor, message, options, callback);\n        });\n    };\n    return Editor;\n}());\nEditor.$uid = 0;\nEditor.prototype.curOp = null;\nEditor.prototype.prevOp = {};\nEditor.prototype.$mergeableCommands = [\"backspace\", \"del\", \"insertstring\"];\nEditor.prototype.$toggleWordPairs = [\n    [\"first\", \"last\"],\n    [\"true\", \"false\"],\n    [\"yes\", \"no\"],\n    [\"width\", \"height\"],\n    [\"top\", \"bottom\"],\n    [\"right\", \"left\"],\n    [\"on\", \"off\"],\n    [\"x\", \"y\"],\n    [\"get\", \"set\"],\n    [\"max\", \"min\"],\n    [\"horizontal\", \"vertical\"],\n    [\"show\", \"hide\"],\n    [\"add\", \"remove\"],\n    [\"up\", \"down\"],\n    [\"before\", \"after\"],\n    [\"even\", \"odd\"],\n    [\"in\", \"out\"],\n    [\"inside\", \"outside\"],\n    [\"next\", \"previous\"],\n    [\"increase\", \"decrease\"],\n    [\"attach\", \"detach\"],\n    [\"&&\", \"||\"],\n    [\"==\", \"!=\"]\n];\noop.implement(Editor.prototype, EventEmitter);\nconfig.defineOptions(Editor.prototype, \"editor\", {\n    selectionStyle: {\n        set: function (style) {\n            this.onSelectionChange();\n            this._signal(\"changeSelectionStyle\", { data: style });\n        },\n        initialValue: \"line\"\n    },\n    highlightActiveLine: {\n        set: function () { this.$updateHighlightActiveLine(); },\n        initialValue: true\n    },\n    highlightSelectedWord: {\n        set: function (shouldHighlight) { this.$onSelectionChange(); },\n        initialValue: true\n    },\n    readOnly: {\n        set: function (readOnly) {\n            this.textInput.setReadOnly(readOnly);\n            this.$resetCursorStyle();\n        },\n        initialValue: false\n    },\n    copyWithEmptySelection: {\n        set: function (value) {\n            this.textInput.setCopyWithEmptySelection(value);\n        },\n        initialValue: false\n    },\n    cursorStyle: {\n        set: function (val) { this.$resetCursorStyle(); },\n        values: [\"ace\", \"slim\", \"smooth\", \"wide\"],\n        initialValue: \"ace\"\n    },\n    mergeUndoDeltas: {\n        values: [false, true, \"always\"],\n        initialValue: true\n    },\n    behavioursEnabled: { initialValue: true },\n    wrapBehavioursEnabled: { initialValue: true },\n    enableAutoIndent: { initialValue: true },\n    autoScrollEditorIntoView: {\n        set: function (val) { this.setAutoScrollEditorIntoView(val); }\n    },\n    keyboardHandler: {\n        set: function (val) { this.setKeyboardHandler(val); },\n        get: function () { return this.$keybindingId; },\n        handlesSet: true\n    },\n    value: {\n        set: function (val) { this.session.setValue(val); },\n        get: function () { return this.getValue(); },\n        handlesSet: true,\n        hidden: true\n    },\n    session: {\n        set: function (val) { this.setSession(val); },\n        get: function () { return this.session; },\n        handlesSet: true,\n        hidden: true\n    },\n    showLineNumbers: {\n        set: function (show) {\n            this.renderer.$gutterLayer.setShowLineNumbers(show);\n            this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER);\n            if (show && this.$relativeLineNumbers)\n                relativeNumberRenderer.attach(this);\n            else\n                relativeNumberRenderer.detach(this);\n        },\n        initialValue: true\n    },\n    relativeLineNumbers: {\n        set: function (value) {\n            if (this.$showLineNumbers && value)\n                relativeNumberRenderer.attach(this);\n            else\n                relativeNumberRenderer.detach(this);\n        }\n    },\n    placeholder: {\n        set: function (message) {\n            if (!this.$updatePlaceholder) {\n                this.$updatePlaceholder = function () {\n                    var hasValue = this.session && (this.renderer.$composition ||\n                        this.session.getLength() > 1 || this.session.getLine(0).length > 0);\n                    if (hasValue && this.renderer.placeholderNode) {\n                        this.renderer.off(\"afterRender\", this.$updatePlaceholder);\n                        dom.removeCssClass(this.container, \"ace_hasPlaceholder\");\n                        this.renderer.placeholderNode.remove();\n                        this.renderer.placeholderNode = null;\n                    }\n                    else if (!hasValue && !this.renderer.placeholderNode) {\n                        this.renderer.on(\"afterRender\", this.$updatePlaceholder);\n                        dom.addCssClass(this.container, \"ace_hasPlaceholder\");\n                        var el = dom.createElement(\"div\");\n                        el.className = \"ace_placeholder\";\n                        el.textContent = this.$placeholder || \"\";\n                        this.renderer.placeholderNode = el;\n                        this.renderer.content.appendChild(this.renderer.placeholderNode);\n                    }\n                    else if (!hasValue && this.renderer.placeholderNode) {\n                        this.renderer.placeholderNode.textContent = this.$placeholder || \"\";\n                    }\n                }.bind(this);\n                this.on(\"input\", this.$updatePlaceholder);\n            }\n            this.$updatePlaceholder();\n        }\n    },\n    enableKeyboardAccessibility: {\n        set: function (value) {\n            var blurCommand = {\n                name: \"blurTextInput\",\n                description: \"Set focus to the editor content div to allow tabbing through the page\",\n                bindKey: \"Esc\",\n                exec: function (editor) {\n                    editor.blur();\n                    editor.renderer.scroller.focus();\n                },\n                readOnly: true\n            };\n            var focusOnEnterKeyup = function (e) {\n                if (e.target == this.renderer.scroller && e.keyCode === keys['enter']) {\n                    e.preventDefault();\n                    var row = this.getCursorPosition().row;\n                    if (!this.isRowVisible(row))\n                        this.scrollToLine(row, true, true);\n                    this.focus();\n                }\n            };\n            var gutterKeyboardHandler;\n            if (value) {\n                this.renderer.enableKeyboardAccessibility = true;\n                this.renderer.keyboardFocusClassName = \"ace_keyboard-focus\";\n                this.textInput.getElement().setAttribute(\"tabindex\", -1);\n                this.textInput.setNumberOfExtraLines(useragent.isWin ? 3 : 0);\n                this.renderer.scroller.setAttribute(\"tabindex\", 0);\n                this.renderer.scroller.setAttribute(\"role\", \"group\");\n                this.renderer.scroller.setAttribute(\"aria-roledescription\", nls(\"editor.scroller.aria-roledescription\", \"editor\"));\n                this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName);\n                this.renderer.scroller.setAttribute(\"aria-label\", nls(\"editor.scroller.aria-label\", \"Editor content, press Enter to start editing, press Escape to exit\"));\n                this.renderer.scroller.addEventListener(\"keyup\", focusOnEnterKeyup.bind(this));\n                this.commands.addCommand(blurCommand);\n                this.renderer.$gutter.setAttribute(\"tabindex\", 0);\n                this.renderer.$gutter.setAttribute(\"aria-hidden\", false);\n                this.renderer.$gutter.setAttribute(\"role\", \"group\");\n                this.renderer.$gutter.setAttribute(\"aria-roledescription\", nls(\"editor.gutter.aria-roledescription\", \"editor\"));\n                this.renderer.$gutter.setAttribute(\"aria-label\", nls(\"editor.gutter.aria-label\", \"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit\"));\n                this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName);\n                this.renderer.content.setAttribute(\"aria-hidden\", true);\n                if (!gutterKeyboardHandler)\n                    gutterKeyboardHandler = new GutterKeyboardHandler(this);\n                gutterKeyboardHandler.addListener();\n                this.textInput.setAriaOptions({\n                    setLabel: true\n                });\n            }\n            else {\n                this.renderer.enableKeyboardAccessibility = false;\n                this.textInput.getElement().setAttribute(\"tabindex\", 0);\n                this.textInput.setNumberOfExtraLines(0);\n                this.renderer.scroller.setAttribute(\"tabindex\", -1);\n                this.renderer.scroller.removeAttribute(\"role\");\n                this.renderer.scroller.removeAttribute(\"aria-roledescription\");\n                this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName);\n                this.renderer.scroller.removeAttribute(\"aria-label\");\n                this.renderer.scroller.removeEventListener(\"keyup\", focusOnEnterKeyup.bind(this));\n                this.commands.removeCommand(blurCommand);\n                this.renderer.content.removeAttribute(\"aria-hidden\");\n                this.renderer.$gutter.setAttribute(\"tabindex\", -1);\n                this.renderer.$gutter.setAttribute(\"aria-hidden\", true);\n                this.renderer.$gutter.removeAttribute(\"role\");\n                this.renderer.$gutter.removeAttribute(\"aria-roledescription\");\n                this.renderer.$gutter.removeAttribute(\"aria-label\");\n                this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName);\n                if (gutterKeyboardHandler)\n                    gutterKeyboardHandler.removeListener();\n            }\n        },\n        initialValue: false\n    },\n    textInputAriaLabel: {\n        set: function (val) { this.$textInputAriaLabel = val; },\n        initialValue: \"\"\n    },\n    enableMobileMenu: {\n        set: function (val) { this.$enableMobileMenu = val; },\n        initialValue: true\n    },\n    customScrollbar: \"renderer\",\n    hScrollBarAlwaysVisible: \"renderer\",\n    vScrollBarAlwaysVisible: \"renderer\",\n    highlightGutterLine: \"renderer\",\n    animatedScroll: \"renderer\",\n    showInvisibles: \"renderer\",\n    showPrintMargin: \"renderer\",\n    printMarginColumn: \"renderer\",\n    printMargin: \"renderer\",\n    fadeFoldWidgets: \"renderer\",\n    showFoldWidgets: \"renderer\",\n    displayIndentGuides: \"renderer\",\n    highlightIndentGuides: \"renderer\",\n    showGutter: \"renderer\",\n    fontSize: \"renderer\",\n    fontFamily: \"renderer\",\n    maxLines: \"renderer\",\n    minLines: \"renderer\",\n    scrollPastEnd: \"renderer\",\n    fixedWidthGutter: \"renderer\",\n    theme: \"renderer\",\n    hasCssTransforms: \"renderer\",\n    maxPixelHeight: \"renderer\",\n    useTextareaForIME: \"renderer\",\n    useResizeObserver: \"renderer\",\n    useSvgGutterIcons: \"renderer\",\n    showFoldedAnnotations: \"renderer\",\n    scrollSpeed: \"$mouseHandler\",\n    dragDelay: \"$mouseHandler\",\n    dragEnabled: \"$mouseHandler\",\n    focusTimeout: \"$mouseHandler\",\n    tooltipFollowsMouse: \"$mouseHandler\",\n    firstLineNumber: \"session\",\n    overwrite: \"session\",\n    newLineMode: \"session\",\n    useWorker: \"session\",\n    useSoftTabs: \"session\",\n    navigateWithinSoftTabs: \"session\",\n    tabSize: \"session\",\n    wrap: \"session\",\n    indentedSoftWrap: \"session\",\n    foldStyle: \"session\",\n    mode: \"session\"\n});\nvar relativeNumberRenderer = {\n    getText: function (/**@type{EditSession}*/ session, /**@type{number}*/ row) {\n        return (Math.abs(session.selection.lead.row - row) || (row + 1 + (row < 9 ? \"\\xb7\" : \"\"))) + \"\";\n    },\n    getWidth: function (session, /**@type{number}*/ lastLineNumber, config) {\n        return Math.max(lastLineNumber.toString().length, (config.lastRow + 1).toString().length, 2) * config.characterWidth;\n    },\n    update: function (e, /**@type{Editor}*/ editor) {\n        editor.renderer.$loop.schedule(editor.renderer.CHANGE_GUTTER);\n    },\n    attach: function (/**@type{Editor}*/ editor) {\n        editor.renderer.$gutterLayer.$renderer = this;\n        editor.on(\"changeSelection\", this.update);\n        this.update(null, editor);\n    },\n    detach: function (/**@type{Editor}*/ editor) {\n        if (editor.renderer.$gutterLayer.$renderer == this)\n            editor.renderer.$gutterLayer.$renderer = null;\n        editor.off(\"changeSelection\", this.update);\n        this.update(null, editor);\n    }\n};\nexports.Editor = Editor;\n\n});\n\nace.define(\"ace/layer/lines\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(require, exports, module){\"use strict\";\nvar dom = require(\"../lib/dom\");\nvar Lines = /** @class */ (function () {\n    function Lines(element, canvasHeight) {\n        this.element = element;\n        this.canvasHeight = canvasHeight || 500000;\n        this.element.style.height = (this.canvasHeight * 2) + \"px\";\n        this.cells = [];\n        this.cellCache = [];\n        this.$offsetCoefficient = 0;\n    }\n    Lines.prototype.moveContainer = function (config) {\n        dom.translate(this.element, 0, -((config.firstRowScreen * config.lineHeight) % this.canvasHeight) - config.offset * this.$offsetCoefficient);\n    };\n    Lines.prototype.pageChanged = function (oldConfig, newConfig) {\n        return (Math.floor((oldConfig.firstRowScreen * oldConfig.lineHeight) / this.canvasHeight) !==\n            Math.floor((newConfig.firstRowScreen * newConfig.lineHeight) / this.canvasHeight));\n    };\n    Lines.prototype.computeLineTop = function (row, config, session) {\n        var screenTop = config.firstRowScreen * config.lineHeight;\n        var screenPage = Math.floor(screenTop / this.canvasHeight);\n        var lineTop = session.documentToScreenRow(row, 0) * config.lineHeight;\n        return lineTop - (screenPage * this.canvasHeight);\n    };\n    Lines.prototype.computeLineHeight = function (row, config, session) {\n        return config.lineHeight * session.getRowLineCount(row);\n    };\n    Lines.prototype.getLength = function () {\n        return this.cells.length;\n    };\n    Lines.prototype.get = function (index) {\n        return this.cells[index];\n    };\n    Lines.prototype.shift = function () {\n        this.$cacheCell(this.cells.shift());\n    };\n    Lines.prototype.pop = function () {\n        this.$cacheCell(this.cells.pop());\n    };\n    Lines.prototype.push = function (cell) {\n        if (Array.isArray(cell)) {\n            this.cells.push.apply(this.cells, cell);\n            var fragment = dom.createFragment(this.element);\n            for (var i = 0; i < cell.length; i++) {\n                fragment.appendChild(cell[i].element);\n            }\n            this.element.appendChild(fragment);\n        }\n        else {\n            this.cells.push(cell);\n            this.element.appendChild(cell.element);\n        }\n    };\n    Lines.prototype.unshift = function (cell) {\n        if (Array.isArray(cell)) {\n            this.cells.unshift.apply(this.cells, cell);\n            var fragment = dom.createFragment(this.element);\n            for (var i = 0; i < cell.length; i++) {\n                fragment.appendChild(cell[i].element);\n            }\n            if (this.element.firstChild)\n                this.element.insertBefore(fragment, this.element.firstChild);\n            else\n                this.element.appendChild(fragment);\n        }\n        else {\n            this.cells.unshift(cell);\n            this.element.insertAdjacentElement(\"afterbegin\", cell.element);\n        }\n    };\n    Lines.prototype.last = function () {\n        if (this.cells.length)\n            return this.cells[this.cells.length - 1];\n        else\n            return null;\n    };\n    Lines.prototype.$cacheCell = function (cell) {\n        if (!cell)\n            return;\n        cell.element.remove();\n        this.cellCache.push(cell);\n    };\n    Lines.prototype.createCell = function (row, config, session, initElement) {\n        var cell = this.cellCache.pop();\n        if (!cell) {\n            var element = dom.createElement(\"div\");\n            if (initElement)\n                initElement(element);\n            this.element.appendChild(element);\n            cell = {\n                element: element,\n                text: \"\",\n                row: row\n            };\n        }\n        cell.row = row;\n        return cell;\n    };\n    return Lines;\n}());\nexports.Lines = Lines;\n\n});\n\nace.define(\"ace/layer/gutter\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/lib/event_emitter\",\"ace/layer/lines\",\"ace/config\"], function(require, exports, module){\"use strict\";\nvar dom = require(\"../lib/dom\");\nvar oop = require(\"../lib/oop\");\nvar lang = require(\"../lib/lang\");\nvar EventEmitter = require(\"../lib/event_emitter\").EventEmitter;\nvar Lines = require(\"./lines\").Lines;\nvar nls = require(\"../config\").nls;\nvar Gutter = /** @class */ (function () {\n    function Gutter(parentEl) {\n        this.element = dom.createElement(\"div\");\n        this.element.className = \"ace_layer ace_gutter-layer\";\n        parentEl.appendChild(this.element);\n        this.setShowFoldWidgets(this.$showFoldWidgets);\n        this.gutterWidth = 0;\n        this.$annotations = [];\n        this.$updateAnnotations = this.$updateAnnotations.bind(this);\n        this.$lines = new Lines(this.element);\n        this.$lines.$offsetCoefficient = 1;\n    }\n    Gutter.prototype.setSession = function (session) {\n        if (this.session)\n            this.session.off(\"change\", this.$updateAnnotations);\n        this.session = session;\n        if (session)\n            session.on(\"change\", this.$updateAnnotations);\n    };\n    Gutter.prototype.addGutterDecoration = function (row, className) {\n        if (window.console)\n            console.warn && console.warn(\"deprecated use session.addGutterDecoration\");\n        this.session.addGutterDecoration(row, className);\n    };\n    Gutter.prototype.removeGutterDecoration = function (row, className) {\n        if (window.console)\n            console.warn && console.warn(\"deprecated use session.removeGutterDecoration\");\n        this.session.removeGutterDecoration(row, className);\n    };\n    Gutter.prototype.setAnnotations = function (annotations) {\n        this.$annotations = [];\n        for (var i = 0; i < annotations.length; i++) {\n            var annotation = annotations[i];\n            var row = annotation.row;\n            var rowInfo = this.$annotations[row];\n            if (!rowInfo)\n                rowInfo = this.$annotations[row] = { text: [], type: [], displayText: [] };\n            var annoText = annotation.text;\n            var displayAnnoText = annotation.text;\n            var annoType = annotation.type;\n            annoText = annoText ? lang.escapeHTML(annoText) : annotation.html || \"\";\n            displayAnnoText = displayAnnoText ? displayAnnoText : annotation.html || \"\";\n            if (rowInfo.text.indexOf(annoText) === -1) {\n                rowInfo.text.push(annoText);\n                rowInfo.type.push(annoType);\n                rowInfo.displayText.push(displayAnnoText);\n            }\n            var className = annotation.className;\n            if (className) {\n                rowInfo.className = className;\n            }\n            else if (annoType === \"error\") {\n                rowInfo.className = \" ace_error\";\n            }\n            else if (annoType === \"security\" && !/\\bace_error\\b/.test(rowInfo.className)) {\n                rowInfo.className = \" ace_security\";\n            }\n            else if (annoType === \"warning\" && !/\\bace_(error|security)\\b/.test(rowInfo.className)) {\n                rowInfo.className = \" ace_warning\";\n            }\n            else if (annoType === \"info\" && !rowInfo.className) {\n                rowInfo.className = \" ace_info\";\n            }\n            else if (annoType === \"hint\" && !rowInfo.className) {\n                rowInfo.className = \" ace_hint\";\n            }\n        }\n    };\n    Gutter.prototype.$updateAnnotations = function (delta) {\n        if (!this.$annotations.length)\n            return;\n        var firstRow = delta.start.row;\n        var len = delta.end.row - firstRow;\n        if (len === 0) {\n        }\n        else if (delta.action == 'remove') {\n            this.$annotations.splice(firstRow, len + 1, null);\n        }\n        else {\n            var args = new Array(len + 1);\n            args.unshift(firstRow, 1);\n            this.$annotations.splice.apply(this.$annotations, args);\n        }\n    };\n    Gutter.prototype.update = function (config) {\n        this.config = config;\n        var session = this.session;\n        var firstRow = config.firstRow;\n        var lastRow = Math.min(config.lastRow + config.gutterOffset, // needed to compensate for hor scollbar\n        session.getLength() - 1);\n        this.oldLastRow = lastRow;\n        this.config = config;\n        this.$lines.moveContainer(config);\n        this.$updateCursorRow();\n        var fold = session.getNextFoldLine(firstRow);\n        var foldStart = fold ? fold.start.row : Infinity;\n        var cell = null;\n        var index = -1;\n        var row = firstRow;\n        while (true) {\n            if (row > foldStart) {\n                row = fold.end.row + 1;\n                fold = session.getNextFoldLine(row, fold);\n                foldStart = fold ? fold.start.row : Infinity;\n            }\n            if (row > lastRow) {\n                while (this.$lines.getLength() > index + 1)\n                    this.$lines.pop();\n                break;\n            }\n            cell = this.$lines.get(++index);\n            if (cell) {\n                cell.row = row;\n            }\n            else {\n                cell = this.$lines.createCell(row, config, this.session, onCreateCell);\n                this.$lines.push(cell);\n            }\n            this.$renderCell(cell, config, fold, row);\n            row++;\n        }\n        this._signal(\"afterRender\");\n        this.$updateGutterWidth(config);\n    };\n    Gutter.prototype.$updateGutterWidth = function (config) {\n        var session = this.session;\n        var gutterRenderer = session.gutterRenderer || this.$renderer;\n        var firstLineNumber = session.$firstLineNumber;\n        var lastLineText = this.$lines.last() ? this.$lines.last().text : \"\";\n        if (this.$fixedWidth || session.$useWrapMode)\n            lastLineText = session.getLength() + firstLineNumber - 1;\n        var gutterWidth = gutterRenderer\n            ? gutterRenderer.getWidth(session, lastLineText, config)\n            : lastLineText.toString().length * config.characterWidth;\n        var padding = this.$padding || this.$computePadding();\n        gutterWidth += padding.left + padding.right;\n        if (gutterWidth !== this.gutterWidth && !isNaN(gutterWidth)) {\n            this.gutterWidth = gutterWidth; (this.element.parentNode).style.width =\n                this.element.style.width = Math.ceil(this.gutterWidth) + \"px\";\n            this._signal(\"changeGutterWidth\", gutterWidth);\n        }\n    };\n    Gutter.prototype.$updateCursorRow = function () {\n        if (!this.$highlightGutterLine)\n            return;\n        var position = this.session.selection.getCursor();\n        if (this.$cursorRow === position.row)\n            return;\n        this.$cursorRow = position.row;\n    };\n    Gutter.prototype.updateLineHighlight = function () {\n        if (!this.$highlightGutterLine)\n            return;\n        var row = this.session.selection.cursor.row;\n        this.$cursorRow = row;\n        if (this.$cursorCell && this.$cursorCell.row == row)\n            return;\n        if (this.$cursorCell)\n            this.$cursorCell.element.className = this.$cursorCell.element.className.replace(\"ace_gutter-active-line \", \"\");\n        var cells = this.$lines.cells;\n        this.$cursorCell = null;\n        for (var i = 0; i < cells.length; i++) {\n            var cell = cells[i];\n            if (cell.row >= this.$cursorRow) {\n                if (cell.row > this.$cursorRow) {\n                    var fold = this.session.getFoldLine(this.$cursorRow);\n                    if (i > 0 && fold && fold.start.row == cells[i - 1].row)\n                        cell = cells[i - 1];\n                    else\n                        break;\n                }\n                cell.element.className = \"ace_gutter-active-line \" + cell.element.className;\n                this.$cursorCell = cell;\n                break;\n            }\n        }\n    };\n    Gutter.prototype.scrollLines = function (config) {\n        var oldConfig = this.config;\n        this.config = config;\n        this.$updateCursorRow();\n        if (this.$lines.pageChanged(oldConfig, config))\n            return this.update(config);\n        this.$lines.moveContainer(config);\n        var lastRow = Math.min(config.lastRow + config.gutterOffset, // needed to compensate for hor scollbar\n        this.session.getLength() - 1);\n        var oldLastRow = this.oldLastRow;\n        this.oldLastRow = lastRow;\n        if (!oldConfig || oldLastRow < config.firstRow)\n            return this.update(config);\n        if (lastRow < oldConfig.firstRow)\n            return this.update(config);\n        if (oldConfig.firstRow < config.firstRow)\n            for (var row = this.session.getFoldedRowCount(oldConfig.firstRow, config.firstRow - 1); row > 0; row--)\n                this.$lines.shift();\n        if (oldLastRow > lastRow)\n            for (var row = this.session.getFoldedRowCount(lastRow + 1, oldLastRow); row > 0; row--)\n                this.$lines.pop();\n        if (config.firstRow < oldConfig.firstRow) {\n            this.$lines.unshift(this.$renderLines(config, config.firstRow, oldConfig.firstRow - 1));\n        }\n        if (lastRow > oldLastRow) {\n            this.$lines.push(this.$renderLines(config, oldLastRow + 1, lastRow));\n        }\n        this.updateLineHighlight();\n        this._signal(\"afterRender\");\n        this.$updateGutterWidth(config);\n    };\n    Gutter.prototype.$renderLines = function (config, firstRow, lastRow) {\n        var fragment = [];\n        var row = firstRow;\n        var foldLine = this.session.getNextFoldLine(row);\n        var foldStart = foldLine ? foldLine.start.row : Infinity;\n        while (true) {\n            if (row > foldStart) {\n                row = foldLine.end.row + 1;\n                foldLine = this.session.getNextFoldLine(row, foldLine);\n                foldStart = foldLine ? foldLine.start.row : Infinity;\n            }\n            if (row > lastRow)\n                break;\n            var cell = this.$lines.createCell(row, config, this.session, onCreateCell);\n            this.$renderCell(cell, config, foldLine, row);\n            fragment.push(cell);\n            row++;\n        }\n        return fragment;\n    };\n    Gutter.prototype.$renderCell = function (cell, config, fold, row) {\n        var element = cell.element;\n        var session = this.session;\n        var textNode = element.childNodes[0];\n        var foldWidget = element.childNodes[1];\n        var annotationNode = element.childNodes[2];\n        var annotationIconNode = annotationNode.firstChild;\n        var firstLineNumber = session.$firstLineNumber;\n        var breakpoints = session.$breakpoints;\n        var decorations = session.$decorations;\n        var gutterRenderer = session.gutterRenderer || this.$renderer;\n        var foldWidgets = this.$showFoldWidgets && session.foldWidgets;\n        var foldStart = fold ? fold.start.row : Number.MAX_VALUE;\n        var lineHeight = config.lineHeight + \"px\";\n        var className = this.$useSvgGutterIcons ? \"ace_gutter-cell_svg-icons \" : \"ace_gutter-cell \";\n        var iconClassName = this.$useSvgGutterIcons ? \"ace_icon_svg\" : \"ace_icon\";\n        var rowText = (gutterRenderer\n            ? gutterRenderer.getText(session, row)\n            : row + firstLineNumber).toString();\n        if (this.$highlightGutterLine) {\n            if (row == this.$cursorRow || (fold && row < this.$cursorRow && row >= foldStart && this.$cursorRow <= fold.end.row)) {\n                className += \"ace_gutter-active-line \";\n                if (this.$cursorCell != cell) {\n                    if (this.$cursorCell)\n                        this.$cursorCell.element.className = this.$cursorCell.element.className.replace(\"ace_gutter-active-line \", \"\");\n                    this.$cursorCell = cell;\n                }\n            }\n        }\n        if (breakpoints[row])\n            className += breakpoints[row];\n        if (decorations[row])\n            className += decorations[row];\n        if (this.$annotations[row] && row !== foldStart)\n            className += this.$annotations[row].className;\n        if (foldWidgets) {\n            var c = foldWidgets[row];\n            if (c == null)\n                c = foldWidgets[row] = session.getFoldWidget(row);\n        }\n        if (c) {\n            var foldClass = \"ace_fold-widget ace_\" + c;\n            var isClosedFold = c == \"start\" && row == foldStart && row < fold.end.row;\n            if (isClosedFold) {\n                foldClass += \" ace_closed\";\n                var foldAnnotationClass = \"\";\n                var annotationInFold = false;\n                for (var i = row + 1; i <= fold.end.row; i++) {\n                    if (!this.$annotations[i])\n                        continue;\n                    if (this.$annotations[i].className === \" ace_error\") {\n                        annotationInFold = true;\n                        foldAnnotationClass = \" ace_error_fold\";\n                        break;\n                    }\n                    if (this.$annotations[i].className === \" ace_security\") {\n                        annotationInFold = true;\n                        foldAnnotationClass = \" ace_security_fold\";\n                    }\n                    else if (this.$annotations[i].className === \" ace_warning\" &&\n                        foldAnnotationClass !== \" ace_security_fold\") {\n                        annotationInFold = true;\n                        foldAnnotationClass = \" ace_warning_fold\";\n                    }\n                }\n                className += foldAnnotationClass;\n            }\n            else\n                foldClass += \" ace_open\";\n            if (foldWidget.className != foldClass)\n                foldWidget.className = foldClass;\n            dom.setStyle(foldWidget.style, \"height\", lineHeight);\n            dom.setStyle(foldWidget.style, \"display\", \"inline-block\");\n            foldWidget.setAttribute(\"role\", \"button\");\n            foldWidget.setAttribute(\"tabindex\", \"-1\");\n            var foldRange = session.getFoldWidgetRange(row);\n            if (foldRange)\n                foldWidget.setAttribute(\"aria-label\", nls(\"gutter.code-folding.range.aria-label\", \"Toggle code folding, rows $0 through $1\", [\n                    foldRange.start.row + 1,\n                    foldRange.end.row + 1\n                ]));\n            else {\n                if (fold)\n                    foldWidget.setAttribute(\"aria-label\", nls(\"gutter.code-folding.closed.aria-label\", \"Toggle code folding, rows $0 through $1\", [\n                        fold.start.row + 1,\n                        fold.end.row + 1\n                    ]));\n                else\n                    foldWidget.setAttribute(\"aria-label\", nls(\"gutter.code-folding.open.aria-label\", \"Toggle code folding, row $0\", [row + 1]));\n            }\n            if (isClosedFold) {\n                foldWidget.setAttribute(\"aria-expanded\", \"false\");\n                foldWidget.setAttribute(\"title\", nls(\"gutter.code-folding.closed.title\", \"Unfold code\"));\n            }\n            else {\n                foldWidget.setAttribute(\"aria-expanded\", \"true\");\n                foldWidget.setAttribute(\"title\", nls(\"gutter.code-folding.open.title\", \"Fold code\"));\n            }\n        }\n        else {\n            if (foldWidget) {\n                dom.setStyle(foldWidget.style, \"display\", \"none\");\n                foldWidget.setAttribute(\"tabindex\", \"0\");\n                foldWidget.removeAttribute(\"role\");\n                foldWidget.removeAttribute(\"aria-label\");\n            }\n        }\n        if (annotationInFold && this.$showFoldedAnnotations) {\n            annotationNode.className = \"ace_gutter_annotation\";\n            annotationIconNode.className = iconClassName;\n            annotationIconNode.className += foldAnnotationClass;\n            dom.setStyle(annotationIconNode.style, \"height\", lineHeight);\n            dom.setStyle(annotationNode.style, \"display\", \"block\");\n            dom.setStyle(annotationNode.style, \"height\", lineHeight);\n            var ariaLabel;\n            switch (foldAnnotationClass) {\n                case \" ace_error_fold\":\n                    ariaLabel = nls(\"gutter.annotation.aria-label.error\", \"Error, read annotations row $0\", [rowText]);\n                    break;\n                case \" ace_security_fold\":\n                    ariaLabel = nls(\"gutter.annotation.aria-label.security\", \"Security finding, read annotations row $0\", [rowText]);\n                    break;\n                case \" ace_warning_fold\":\n                    ariaLabel = nls(\"gutter.annotation.aria-label.warning\", \"Warning, read annotations row $0\", [rowText]);\n                    break;\n            }\n            annotationNode.setAttribute(\"aria-label\", ariaLabel);\n            annotationNode.setAttribute(\"tabindex\", \"-1\");\n            annotationNode.setAttribute(\"role\", \"button\");\n        }\n        else if (this.$annotations[row]) {\n            annotationNode.className = \"ace_gutter_annotation\";\n            annotationIconNode.className = iconClassName;\n            if (this.$useSvgGutterIcons)\n                annotationIconNode.className += this.$annotations[row].className;\n            else\n                element.classList.add(this.$annotations[row].className.replace(\" \", \"\"));\n            dom.setStyle(annotationIconNode.style, \"height\", lineHeight);\n            dom.setStyle(annotationNode.style, \"display\", \"block\");\n            dom.setStyle(annotationNode.style, \"height\", lineHeight);\n            var ariaLabel;\n            switch (this.$annotations[row].className) {\n                case \" ace_error\":\n                    ariaLabel = nls(\"gutter.annotation.aria-label.error\", \"Error, read annotations row $0\", [rowText]);\n                    break;\n                case \" ace_security\":\n                    ariaLabel = nls(\"gutter.annotation.aria-label.security\", \"Security finding, read annotations row $0\", [rowText]);\n                    break;\n                case \" ace_warning\":\n                    ariaLabel = nls(\"gutter.annotation.aria-label.warning\", \"Warning, read annotations row $0\", [rowText]);\n                    break;\n                case \" ace_info\":\n                    ariaLabel = nls(\"gutter.annotation.aria-label.info\", \"Info, read annotations row $0\", [rowText]);\n                    break;\n                case \" ace_hint\":\n                    ariaLabel = nls(\"gutter.annotation.aria-label.hint\", \"Suggestion, read annotations row $0\", [rowText]);\n                    break;\n            }\n            annotationNode.setAttribute(\"aria-label\", ariaLabel);\n            annotationNode.setAttribute(\"tabindex\", \"-1\");\n            annotationNode.setAttribute(\"role\", \"button\");\n        }\n        else {\n            dom.setStyle(annotationNode.style, \"display\", \"none\");\n            annotationNode.removeAttribute(\"aria-label\");\n            annotationNode.removeAttribute(\"role\");\n            annotationNode.setAttribute(\"tabindex\", \"0\");\n        }\n        if (rowText !== textNode.data) {\n            textNode.data = rowText;\n        }\n        if (element.className != className)\n            element.className = className;\n        dom.setStyle(cell.element.style, \"height\", this.$lines.computeLineHeight(row, config, session) + \"px\");\n        dom.setStyle(cell.element.style, \"top\", this.$lines.computeLineTop(row, config, session) + \"px\");\n        cell.text = rowText;\n        if (annotationNode.style.display === \"none\" && foldWidget.style.display === \"none\")\n            cell.element.setAttribute(\"aria-hidden\", true);\n        else\n            cell.element.setAttribute(\"aria-hidden\", false);\n        return cell;\n    };\n    Gutter.prototype.setHighlightGutterLine = function (highlightGutterLine) {\n        this.$highlightGutterLine = highlightGutterLine;\n    };\n    Gutter.prototype.setShowLineNumbers = function (show) {\n        this.$renderer = !show && {\n            getWidth: function () { return 0; },\n            getText: function () { return \"\"; }\n        };\n    };\n    Gutter.prototype.getShowLineNumbers = function () {\n        return this.$showLineNumbers;\n    };\n    Gutter.prototype.setShowFoldWidgets = function (show) {\n        if (show)\n            dom.addCssClass(this.element, \"ace_folding-enabled\");\n        else\n            dom.removeCssClass(this.element, \"ace_folding-enabled\");\n        this.$showFoldWidgets = show;\n        this.$padding = null;\n    };\n    Gutter.prototype.getShowFoldWidgets = function () {\n        return this.$showFoldWidgets;\n    };\n    Gutter.prototype.$computePadding = function () {\n        if (!this.element.firstChild)\n            return { left: 0, right: 0 };\n        var style = dom.computedStyle(/**@type{Element}*/ (this.element.firstChild));\n        this.$padding = {};\n        this.$padding.left = (parseInt(style.borderLeftWidth) || 0)\n            + (parseInt(style.paddingLeft) || 0) + 1;\n        this.$padding.right = (parseInt(style.borderRightWidth) || 0)\n            + (parseInt(style.paddingRight) || 0);\n        return this.$padding;\n    };\n    Gutter.prototype.getRegion = function (point) {\n        var padding = this.$padding || this.$computePadding();\n        var rect = this.element.getBoundingClientRect();\n        if (point.x < padding.left + rect.left)\n            return \"markers\";\n        if (this.$showFoldWidgets && point.x > rect.right - padding.right)\n            return \"foldWidgets\";\n    };\n    return Gutter;\n}());\nGutter.prototype.$fixedWidth = false;\nGutter.prototype.$highlightGutterLine = true;\nGutter.prototype.$renderer = \"\";\nGutter.prototype.$showLineNumbers = true;\nGutter.prototype.$showFoldWidgets = true;\noop.implement(Gutter.prototype, EventEmitter);\nfunction onCreateCell(element) {\n    var textNode = document.createTextNode('');\n    element.appendChild(textNode);\n    var foldWidget = dom.createElement(\"span\");\n    element.appendChild(foldWidget);\n    var annotationNode = dom.createElement(\"span\");\n    element.appendChild(annotationNode);\n    var annotationIconNode = dom.createElement(\"span\");\n    annotationNode.appendChild(annotationIconNode);\n    return element;\n}\nexports.Gutter = Gutter;\n\n});\n\nace.define(\"ace/layer/marker\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/lib/dom\"], function(require, exports, module){\"use strict\";\nvar Range = require(\"../range\").Range;\nvar dom = require(\"../lib/dom\");\nvar Marker = /** @class */ (function () {\n    function Marker(parentEl) {\n        this.element = dom.createElement(\"div\");\n        this.element.className = \"ace_layer ace_marker-layer\";\n        parentEl.appendChild(this.element);\n    }\n    Marker.prototype.setPadding = function (padding) {\n        this.$padding = padding;\n    };\n    Marker.prototype.setSession = function (session) {\n        this.session = session;\n    };\n    Marker.prototype.setMarkers = function (markers) {\n        this.markers = markers;\n    };\n    Marker.prototype.elt = function (className, css) {\n        var x = this.i != -1 && this.element.childNodes[this.i];\n        if (!x) {\n            x = document.createElement(\"div\");\n            this.element.appendChild(x);\n            this.i = -1;\n        }\n        else {\n            this.i++;\n        }\n        x.style.cssText = css;\n        x.className = className;\n    };\n    Marker.prototype.update = function (config) {\n        if (!config)\n            return;\n        this.config = config;\n        this.i = 0;\n        var html;\n        for (var key in this.markers) {\n            var marker = this.markers[key];\n            if (!marker.range) {\n                marker.update(html, this, this.session, config);\n                continue;\n            }\n            var range = marker.range.clipRows(config.firstRow, config.lastRow);\n            if (range.isEmpty())\n                continue;\n            range = range.toScreenRange(this.session);\n            if (marker.renderer) {\n                var top = this.$getTop(range.start.row, config);\n                var left = this.$padding + range.start.column * config.characterWidth;\n                marker.renderer(html, range, left, top, config);\n            }\n            else if (marker.type == \"fullLine\") {\n                this.drawFullLineMarker(html, range, marker.clazz, config);\n            }\n            else if (marker.type == \"screenLine\") {\n                this.drawScreenLineMarker(html, range, marker.clazz, config);\n            }\n            else if (range.isMultiLine()) {\n                if (marker.type == \"text\")\n                    this.drawTextMarker(html, range, marker.clazz, config);\n                else\n                    this.drawMultiLineMarker(html, range, marker.clazz, config);\n            }\n            else {\n                this.drawSingleLineMarker(html, range, marker.clazz + \" ace_start\" + \" ace_br15\", config);\n            }\n        }\n        if (this.i != -1) {\n            while (this.i < this.element.childElementCount)\n                this.element.removeChild(this.element.lastChild);\n        }\n    };\n    Marker.prototype.$getTop = function (row, layerConfig) {\n        return (row - layerConfig.firstRowScreen) * layerConfig.lineHeight;\n    };\n    Marker.prototype.drawTextMarker = function (stringBuilder, range, clazz, layerConfig, extraStyle) {\n        var session = this.session;\n        var start = range.start.row;\n        var end = range.end.row;\n        var row = start;\n        var prev = 0;\n        var curr = 0;\n        var next = session.getScreenLastRowColumn(row);\n        var lineRange = new Range(row, range.start.column, row, curr);\n        for (; row <= end; row++) {\n            lineRange.start.row = lineRange.end.row = row;\n            lineRange.start.column = row == start ? range.start.column : session.getRowWrapIndent(row);\n            lineRange.end.column = next;\n            prev = curr;\n            curr = next;\n            next = row + 1 < end ? session.getScreenLastRowColumn(row + 1) : row == end ? 0 : range.end.column;\n            this.drawSingleLineMarker(stringBuilder, lineRange, clazz + (row == start ? \" ace_start\" : \"\") + \" ace_br\"\n                + getBorderClass(row == start || row == start + 1 && range.start.column, prev < curr, curr > next, row == end), layerConfig, row == end ? 0 : 1, extraStyle);\n        }\n    };\n    Marker.prototype.drawMultiLineMarker = function (stringBuilder, range, clazz, config, extraStyle) {\n        var padding = this.$padding;\n        var height = config.lineHeight;\n        var top = this.$getTop(range.start.row, config);\n        var left = padding + range.start.column * config.characterWidth;\n        extraStyle = extraStyle || \"\";\n        if (this.session.$bidiHandler.isBidiRow(range.start.row)) {\n            var range1 = range.clone();\n            range1.end.row = range1.start.row;\n            range1.end.column = this.session.getLine(range1.start.row).length;\n            this.drawBidiSingleLineMarker(stringBuilder, range1, clazz + \" ace_br1 ace_start\", config, null, extraStyle);\n        }\n        else {\n            this.elt(clazz + \" ace_br1 ace_start\", \"height:\" + height + \"px;\" + \"right:\" + padding + \"px;\" + \"top:\" + top + \"px;left:\" + left + \"px;\" + (extraStyle || \"\"));\n        }\n        if (this.session.$bidiHandler.isBidiRow(range.end.row)) {\n            var range1 = range.clone();\n            range1.start.row = range1.end.row;\n            range1.start.column = 0;\n            this.drawBidiSingleLineMarker(stringBuilder, range1, clazz + \" ace_br12\", config, null, extraStyle);\n        }\n        else {\n            top = this.$getTop(range.end.row, config);\n            var width = range.end.column * config.characterWidth;\n            this.elt(clazz + \" ace_br12\", \"height:\" + height + \"px;\" +\n                \"width:\" + width + \"px;\" +\n                \"top:\" + top + \"px;\" +\n                \"left:\" + padding + \"px;\" + (extraStyle || \"\"));\n        }\n        height = (range.end.row - range.start.row - 1) * config.lineHeight;\n        if (height <= 0)\n            return;\n        top = this.$getTop(range.start.row + 1, config);\n        var radiusClass = (range.start.column ? 1 : 0) | (range.end.column ? 0 : 8);\n        this.elt(clazz + (radiusClass ? \" ace_br\" + radiusClass : \"\"), \"height:\" + height + \"px;\" +\n            \"right:\" + padding + \"px;\" +\n            \"top:\" + top + \"px;\" +\n            \"left:\" + padding + \"px;\" + (extraStyle || \"\"));\n    };\n    Marker.prototype.drawSingleLineMarker = function (stringBuilder, range, clazz, config, extraLength, extraStyle) {\n        if (this.session.$bidiHandler.isBidiRow(range.start.row))\n            return this.drawBidiSingleLineMarker(stringBuilder, range, clazz, config, extraLength, extraStyle);\n        var height = config.lineHeight;\n        var width = (range.end.column + (extraLength || 0) - range.start.column) * config.characterWidth;\n        var top = this.$getTop(range.start.row, config);\n        var left = this.$padding + range.start.column * config.characterWidth;\n        this.elt(clazz, \"height:\" + height + \"px;\" +\n            \"width:\" + width + \"px;\" +\n            \"top:\" + top + \"px;\" +\n            \"left:\" + left + \"px;\" + (extraStyle || \"\"));\n    };\n    Marker.prototype.drawBidiSingleLineMarker = function (stringBuilder, range, clazz, config, extraLength, extraStyle) {\n        var height = config.lineHeight, top = this.$getTop(range.start.row, config), padding = this.$padding;\n        var selections = this.session.$bidiHandler.getSelections(range.start.column, range.end.column);\n        selections.forEach(function (selection) {\n            this.elt(clazz, \"height:\" + height + \"px;\" +\n                \"width:\" + (selection.width + (extraLength || 0)) + \"px;\" +\n                \"top:\" + top + \"px;\" +\n                \"left:\" + (padding + selection.left) + \"px;\" + (extraStyle || \"\"));\n        }, this);\n    };\n    Marker.prototype.drawFullLineMarker = function (stringBuilder, range, clazz, config, extraStyle) {\n        var top = this.$getTop(range.start.row, config);\n        var height = config.lineHeight;\n        if (range.start.row != range.end.row)\n            height += this.$getTop(range.end.row, config) - top;\n        this.elt(clazz, \"height:\" + height + \"px;\" +\n            \"top:\" + top + \"px;\" +\n            \"left:0;right:0;\" + (extraStyle || \"\"));\n    };\n    Marker.prototype.drawScreenLineMarker = function (stringBuilder, range, clazz, config, extraStyle) {\n        var top = this.$getTop(range.start.row, config);\n        var height = config.lineHeight;\n        this.elt(clazz, \"height:\" + height + \"px;\" +\n            \"top:\" + top + \"px;\" +\n            \"left:0;right:0;\" + (extraStyle || \"\"));\n    };\n    return Marker;\n}());\nMarker.prototype.$padding = 0;\nfunction getBorderClass(tl, tr, br, bl) {\n    return (tl ? 1 : 0) | (tr ? 2 : 0) | (br ? 4 : 0) | (bl ? 8 : 0);\n}\nexports.Marker = Marker;\n\n});\n\nace.define(\"ace/layer/text_util\",[\"require\",\"exports\",\"module\"], function(require, exports, module){// Tokens for which Ace just uses a simple TextNode and does not add any special className.\nvar textTokens = new Set([\"text\", \"rparen\", \"lparen\"]);\nexports.isTextToken = function (tokenType) {\n    return textTokens.has(tokenType);\n};\n\n});\n\nace.define(\"ace/layer/text\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/layer/lines\",\"ace/lib/event_emitter\",\"ace/config\",\"ace/layer/text_util\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar dom = require(\"../lib/dom\");\nvar lang = require(\"../lib/lang\");\nvar Lines = require(\"./lines\").Lines;\nvar EventEmitter = require(\"../lib/event_emitter\").EventEmitter;\nvar nls = require(\"../config\").nls;\nvar isTextToken = require(\"./text_util\").isTextToken;\nvar Text = /** @class */ (function () {\n    function Text(parentEl) {\n        this.dom = dom;\n        this.element = this.dom.createElement(\"div\");\n        this.element.className = \"ace_layer ace_text-layer\";\n        parentEl.appendChild(this.element);\n        this.$updateEolChar = this.$updateEolChar.bind(this);\n        this.$lines = new Lines(this.element);\n    }\n    Text.prototype.$updateEolChar = function () {\n        var doc = this.session.doc;\n        var unixMode = doc.getNewLineCharacter() == \"\\n\" && doc.getNewLineMode() != \"windows\";\n        var EOL_CHAR = unixMode ? this.EOL_CHAR_LF : this.EOL_CHAR_CRLF;\n        if (this.EOL_CHAR != EOL_CHAR) {\n            this.EOL_CHAR = EOL_CHAR;\n            return true;\n        }\n    };\n    Text.prototype.setPadding = function (padding) {\n        this.$padding = padding;\n        this.element.style.margin = \"0 \" + padding + \"px\";\n    };\n    Text.prototype.getLineHeight = function () {\n        return this.$fontMetrics.$characterSize.height || 0;\n    };\n    Text.prototype.getCharacterWidth = function () {\n        return this.$fontMetrics.$characterSize.width || 0;\n    };\n    Text.prototype.$setFontMetrics = function (measure) {\n        this.$fontMetrics = measure;\n        this.$fontMetrics.on(\"changeCharacterSize\", \n        function (e) {\n            this._signal(\"changeCharacterSize\", e);\n        }.bind(this));\n        this.$pollSizeChanges();\n    };\n    Text.prototype.checkForSizeChanges = function () {\n        this.$fontMetrics.checkForSizeChanges();\n    };\n    Text.prototype.$pollSizeChanges = function () {\n        return this.$pollSizeChangesTimer = this.$fontMetrics.$pollSizeChanges();\n    };\n    Text.prototype.setSession = function (session) {\n        this.session = session;\n        if (session)\n            this.$computeTabString();\n    };\n    Text.prototype.setShowInvisibles = function (showInvisibles) {\n        if (this.showInvisibles == showInvisibles)\n            return false;\n        this.showInvisibles = showInvisibles;\n        if (typeof showInvisibles == \"string\") {\n            this.showSpaces = /tab/i.test(showInvisibles);\n            this.showTabs = /space/i.test(showInvisibles);\n            this.showEOL = /eol/i.test(showInvisibles);\n        }\n        else {\n            this.showSpaces = this.showTabs = this.showEOL = showInvisibles;\n        }\n        this.$computeTabString();\n        return true;\n    };\n    Text.prototype.setDisplayIndentGuides = function (display) {\n        if (this.displayIndentGuides == display)\n            return false;\n        this.displayIndentGuides = display;\n        this.$computeTabString();\n        return true;\n    };\n    Text.prototype.setHighlightIndentGuides = function (highlight) {\n        if (this.$highlightIndentGuides === highlight)\n            return false;\n        this.$highlightIndentGuides = highlight;\n        return highlight;\n    };\n    Text.prototype.$computeTabString = function () {\n        var tabSize = this.session.getTabSize();\n        this.tabSize = tabSize; var tabStr = this.$tabStrings = [0];\n        for (var i = 1; i < tabSize + 1; i++) {\n            if (this.showTabs) {\n                var span = this.dom.createElement(\"span\");\n                span.className = \"ace_invisible ace_invisible_tab\";\n                span.textContent = lang.stringRepeat(this.TAB_CHAR, i);\n                tabStr.push(span);\n            }\n            else {\n                tabStr.push(this.dom.createTextNode(lang.stringRepeat(\" \", i), this.element));\n            }\n        }\n        if (this.displayIndentGuides) {\n            this.$indentGuideRe = /\\s\\S| \\t|\\t |\\s$/;\n            var className = \"ace_indent-guide\";\n            var spaceClass = this.showSpaces ? \" ace_invisible ace_invisible_space\" : \"\";\n            var spaceContent = this.showSpaces\n                ? lang.stringRepeat(this.SPACE_CHAR, this.tabSize)\n                : lang.stringRepeat(\" \", this.tabSize);\n            var tabClass = this.showTabs ? \" ace_invisible ace_invisible_tab\" : \"\";\n            var tabContent = this.showTabs\n                ? lang.stringRepeat(this.TAB_CHAR, this.tabSize)\n                : spaceContent;\n            var span = this.dom.createElement(\"span\");\n            span.className = className + spaceClass;\n            span.textContent = spaceContent;\n            this.$tabStrings[\" \"] = span;\n            var span = this.dom.createElement(\"span\");\n            span.className = className + tabClass;\n            span.textContent = tabContent;\n            this.$tabStrings[\"\\t\"] = span;\n        }\n    };\n    Text.prototype.updateLines = function (config, firstRow, lastRow) {\n        if (this.config.lastRow != config.lastRow ||\n            this.config.firstRow != config.firstRow) {\n            return this.update(config);\n        }\n        this.config = config;\n        var first = Math.max(firstRow, config.firstRow);\n        var last = Math.min(lastRow, config.lastRow);\n        var lineElements = this.element.childNodes;\n        var lineElementsIdx = 0;\n        for (var row = config.firstRow; row < first; row++) {\n            var foldLine = this.session.getFoldLine(row);\n            if (foldLine) {\n                if (foldLine.containsRow(first)) {\n                    first = foldLine.start.row;\n                    break;\n                }\n                else {\n                    row = foldLine.end.row;\n                }\n            }\n            lineElementsIdx++;\n        }\n        var heightChanged = false;\n        var row = first;\n        var foldLine = this.session.getNextFoldLine(row);\n        var foldStart = foldLine ? foldLine.start.row : Infinity;\n        while (true) {\n            if (row > foldStart) {\n                row = foldLine.end.row + 1;\n                foldLine = this.session.getNextFoldLine(row, foldLine);\n                foldStart = foldLine ? foldLine.start.row : Infinity;\n            }\n            if (row > last)\n                break; var lineElement = lineElements[lineElementsIdx++];\n            if (lineElement) {\n                this.dom.removeChildren(lineElement);\n                this.$renderLine(lineElement, row, row == foldStart ? foldLine : false);\n                if (heightChanged)\n                    lineElement.style.top = this.$lines.computeLineTop(row, config, this.session) + \"px\";\n                var height = (config.lineHeight * this.session.getRowLength(row)) + \"px\";\n                if (lineElement.style.height != height) {\n                    heightChanged = true;\n                    lineElement.style.height = height;\n                }\n            }\n            row++;\n        }\n        if (heightChanged) {\n            while (lineElementsIdx < this.$lines.cells.length) {\n                var cell = this.$lines.cells[lineElementsIdx++];\n                cell.element.style.top = this.$lines.computeLineTop(cell.row, config, this.session) + \"px\";\n            }\n        }\n    };\n    Text.prototype.scrollLines = function (config) {\n        var oldConfig = this.config;\n        this.config = config;\n        if (this.$lines.pageChanged(oldConfig, config))\n            return this.update(config);\n        this.$lines.moveContainer(config);\n        var lastRow = config.lastRow;\n        var oldLastRow = oldConfig ? oldConfig.lastRow : -1;\n        if (!oldConfig || oldLastRow < config.firstRow)\n            return this.update(config);\n        if (lastRow < oldConfig.firstRow)\n            return this.update(config);\n        if (!oldConfig || oldConfig.lastRow < config.firstRow)\n            return this.update(config);\n        if (config.lastRow < oldConfig.firstRow)\n            return this.update(config);\n        if (oldConfig.firstRow < config.firstRow)\n            for (var row = this.session.getFoldedRowCount(oldConfig.firstRow, config.firstRow - 1); row > 0; row--)\n                this.$lines.shift();\n        if (oldConfig.lastRow > config.lastRow)\n            for (var row = this.session.getFoldedRowCount(config.lastRow + 1, oldConfig.lastRow); row > 0; row--)\n                this.$lines.pop();\n        if (config.firstRow < oldConfig.firstRow) {\n            this.$lines.unshift(this.$renderLinesFragment(config, config.firstRow, oldConfig.firstRow - 1));\n        }\n        if (config.lastRow > oldConfig.lastRow) {\n            this.$lines.push(this.$renderLinesFragment(config, oldConfig.lastRow + 1, config.lastRow));\n        }\n        this.$highlightIndentGuide();\n    };\n    Text.prototype.$renderLinesFragment = function (config, firstRow, lastRow) {\n        var fragment = [];\n        var row = firstRow;\n        var foldLine = this.session.getNextFoldLine(row);\n        var foldStart = foldLine ? foldLine.start.row : Infinity;\n        while (true) {\n            if (row > foldStart) {\n                row = foldLine.end.row + 1;\n                foldLine = this.session.getNextFoldLine(row, foldLine);\n                foldStart = foldLine ? foldLine.start.row : Infinity;\n            }\n            if (row > lastRow)\n                break;\n            var line = this.$lines.createCell(row, config, this.session);\n            var lineEl = line.element;\n            this.dom.removeChildren(lineEl);\n            dom.setStyle(lineEl.style, \"height\", this.$lines.computeLineHeight(row, config, this.session) + \"px\");\n            dom.setStyle(lineEl.style, \"top\", this.$lines.computeLineTop(row, config, this.session) + \"px\");\n            this.$renderLine(lineEl, row, row == foldStart ? foldLine : false);\n            if (this.$useLineGroups()) {\n                lineEl.className = \"ace_line_group\";\n            }\n            else {\n                lineEl.className = \"ace_line\";\n            }\n            fragment.push(line);\n            row++;\n        }\n        return fragment;\n    };\n    Text.prototype.update = function (config) {\n        this.$lines.moveContainer(config);\n        this.config = config;\n        var firstRow = config.firstRow;\n        var lastRow = config.lastRow;\n        var lines = this.$lines;\n        while (lines.getLength())\n            lines.pop();\n        lines.push(this.$renderLinesFragment(config, firstRow, lastRow));\n    };\n    Text.prototype.$renderToken = function (parent, screenColumn, token, value) {\n        var self = this;\n        var re = /(\\t)|( +)|([\\x00-\\x1f\\x80-\\xa0\\xad\\u1680\\u180E\\u2000-\\u200f\\u2028\\u2029\\u202F\\u205F\\uFEFF\\uFFF9-\\uFFFC\\u2066\\u2067\\u2068\\u202A\\u202B\\u202D\\u202E\\u202C\\u2069\\u2060\\u2061\\u2062\\u2063\\u2064\\u206A\\u206B\\u206B\\u206C\\u206D\\u206E\\u206F]+)|(\\u3000)|([\\u1100-\\u115F\\u11A3-\\u11A7\\u11FA-\\u11FF\\u2329-\\u232A\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3001-\\u303E\\u3041-\\u3096\\u3099-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u3190-\\u31BA\\u31C0-\\u31E3\\u31F0-\\u321E\\u3220-\\u3247\\u3250-\\u32FE\\u3300-\\u4DBF\\u4E00-\\uA48C\\uA490-\\uA4C6\\uA960-\\uA97C\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFAFF\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFF01-\\uFF60\\uFFE0-\\uFFE6]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/g;\n        var valueFragment = this.dom.createFragment(this.element);\n        var m;\n        var i = 0;\n        while (m = re.exec(value)) {\n            var tab = m[1];\n            var simpleSpace = m[2];\n            var controlCharacter = m[3];\n            var cjkSpace = m[4];\n            var cjk = m[5];\n            if (!self.showSpaces && simpleSpace)\n                continue;\n            var before = i != m.index ? value.slice(i, m.index) : \"\";\n            i = m.index + m[0].length;\n            if (before) {\n                valueFragment.appendChild(this.dom.createTextNode(before, this.element));\n            }\n            if (tab) {\n                var tabSize = self.session.getScreenTabSize(screenColumn + m.index);\n                valueFragment.appendChild(self.$tabStrings[tabSize].cloneNode(true));\n                screenColumn += tabSize - 1;\n            }\n            else if (simpleSpace) {\n                if (self.showSpaces) {\n                    var span = this.dom.createElement(\"span\");\n                    span.className = \"ace_invisible ace_invisible_space\";\n                    span.textContent = lang.stringRepeat(self.SPACE_CHAR, simpleSpace.length);\n                    valueFragment.appendChild(span);\n                }\n                else {\n                    valueFragment.appendChild(this.dom.createTextNode(simpleSpace, this.element));\n                }\n            }\n            else if (controlCharacter) {\n                var span = this.dom.createElement(\"span\");\n                span.className = \"ace_invisible ace_invisible_space ace_invalid\";\n                span.textContent = lang.stringRepeat(self.SPACE_CHAR, controlCharacter.length);\n                valueFragment.appendChild(span);\n            }\n            else if (cjkSpace) {\n                screenColumn += 1;\n                var span = this.dom.createElement(\"span\");\n                span.style.width = (self.config.characterWidth * 2) + \"px\";\n                span.className = self.showSpaces ? \"ace_cjk ace_invisible ace_invisible_space\" : \"ace_cjk\";\n                span.textContent = self.showSpaces ? self.SPACE_CHAR : cjkSpace;\n                valueFragment.appendChild(span);\n            }\n            else if (cjk) {\n                screenColumn += 1;\n                var span = this.dom.createElement(\"span\");\n                span.style.width = (self.config.characterWidth * 2) + \"px\";\n                span.className = \"ace_cjk\";\n                span.textContent = cjk;\n                valueFragment.appendChild(span);\n            }\n        }\n        valueFragment.appendChild(this.dom.createTextNode(i ? value.slice(i) : value, this.element));\n        if (!isTextToken(token.type)) {\n            var classes = \"ace_\" + token.type.replace(/\\./g, \" ace_\");\n            var span = this.dom.createElement(\"span\");\n            if (token.type == \"fold\") {\n                span.style.width = (token.value.length * this.config.characterWidth) + \"px\";\n                span.setAttribute(\"title\", nls(\"inline-fold.closed.title\", \"Unfold code\"));\n            }\n            span.className = classes;\n            span.appendChild(valueFragment);\n            parent.appendChild(span);\n        }\n        else {\n            parent.appendChild(valueFragment);\n        }\n        return screenColumn + value.length;\n    };\n    Text.prototype.renderIndentGuide = function (parent, value, max) {\n        var cols = value.search(this.$indentGuideRe);\n        if (cols <= 0 || cols >= max)\n            return value;\n        if (value[0] == \" \") {\n            cols -= cols % this.tabSize;\n            var count = cols / this.tabSize;\n            for (var i = 0; i < count; i++) {\n                parent.appendChild(this.$tabStrings[\" \"].cloneNode(true));\n            }\n            this.$highlightIndentGuide();\n            return value.substr(cols);\n        }\n        else if (value[0] == \"\\t\") {\n            for (var i = 0; i < cols; i++) {\n                parent.appendChild(this.$tabStrings[\"\\t\"].cloneNode(true));\n            }\n            this.$highlightIndentGuide();\n            return value.substr(cols);\n        }\n        this.$highlightIndentGuide();\n        return value;\n    };\n    Text.prototype.$highlightIndentGuide = function () {\n        if (!this.$highlightIndentGuides || !this.displayIndentGuides)\n            return;\n        this.$highlightIndentGuideMarker = {\n            indentLevel: undefined,\n            start: undefined,\n            end: undefined,\n            dir: undefined\n        };\n        var lines = this.session.doc.$lines;\n        if (!lines)\n            return;\n        var cursor = this.session.selection.getCursor();\n        var initialIndent = /^\\s*/.exec(this.session.doc.getLine(cursor.row))[0].length;\n        var elementIndentLevel = Math.floor(initialIndent / this.tabSize);\n        this.$highlightIndentGuideMarker = {\n            indentLevel: elementIndentLevel,\n            start: cursor.row\n        };\n        var bracketHighlight = this.session.$bracketHighlight;\n        if (bracketHighlight) {\n            var ranges = this.session.$bracketHighlight.ranges;\n            for (var i = 0; i < ranges.length; i++) {\n                if (cursor.row !== ranges[i].start.row) {\n                    this.$highlightIndentGuideMarker.end = ranges[i].start.row;\n                    if (cursor.row > ranges[i].start.row) {\n                        this.$highlightIndentGuideMarker.dir = -1;\n                    }\n                    else {\n                        this.$highlightIndentGuideMarker.dir = 1;\n                    }\n                    break;\n                }\n            }\n        }\n        if (!this.$highlightIndentGuideMarker.end) {\n            if (lines[cursor.row] !== '' && cursor.column === lines[cursor.row].length) {\n                this.$highlightIndentGuideMarker.dir = 1;\n                for (var i = cursor.row + 1; i < lines.length; i++) {\n                    var line = lines[i];\n                    var currentIndent = /^\\s*/.exec(line)[0].length;\n                    if (line !== '') {\n                        this.$highlightIndentGuideMarker.end = i;\n                        if (currentIndent <= initialIndent)\n                            break;\n                    }\n                }\n            }\n        }\n        this.$renderHighlightIndentGuide();\n    };\n    Text.prototype.$clearActiveIndentGuide = function () {\n        var cells = this.$lines.cells;\n        for (var i = 0; i < cells.length; i++) {\n            var cell = cells[i];\n            var childNodes = cell.element.childNodes;\n            if (childNodes.length > 0) {\n                for (var j = 0; j < childNodes.length; j++) {\n                    if (childNodes[j].classList && childNodes[j].classList.contains(\"ace_indent-guide-active\")) {\n                        childNodes[j].classList.remove(\"ace_indent-guide-active\");\n                        break;\n                    }\n                }\n            }\n        }\n    };\n    Text.prototype.$setIndentGuideActive = function (cell, indentLevel) {\n        var line = this.session.doc.getLine(cell.row);\n        if (line !== \"\") {\n            var childNodes = cell.element.childNodes;\n            if (childNodes) {\n                var node = childNodes[indentLevel - 1];\n                if (node && node.classList && node.classList.contains(\"ace_indent-guide\"))\n                    node.classList.add(\"ace_indent-guide-active\");\n            }\n        }\n    };\n    Text.prototype.$renderHighlightIndentGuide = function () {\n        if (!this.$lines)\n            return;\n        var cells = this.$lines.cells;\n        this.$clearActiveIndentGuide();\n        var indentLevel = this.$highlightIndentGuideMarker.indentLevel;\n        if (indentLevel !== 0) {\n            if (this.$highlightIndentGuideMarker.dir === 1) {\n                for (var i = 0; i < cells.length; i++) {\n                    var cell = cells[i];\n                    if (this.$highlightIndentGuideMarker.end && cell.row >= this.$highlightIndentGuideMarker.start\n                        + 1) {\n                        if (cell.row >= this.$highlightIndentGuideMarker.end)\n                            break;\n                        this.$setIndentGuideActive(cell, indentLevel);\n                    }\n                }\n            }\n            else {\n                for (var i = cells.length - 1; i >= 0; i--) {\n                    var cell = cells[i];\n                    if (this.$highlightIndentGuideMarker.end && cell.row < this.$highlightIndentGuideMarker.start) {\n                        if (cell.row <= this.$highlightIndentGuideMarker.end)\n                            break;\n                        this.$setIndentGuideActive(cell, indentLevel);\n                    }\n                }\n            }\n        }\n    };\n    Text.prototype.$createLineElement = function (parent) {\n        var lineEl = this.dom.createElement(\"div\");\n        lineEl.className = \"ace_line\";\n        lineEl.style.height = this.config.lineHeight + \"px\";\n        return lineEl;\n    };\n    Text.prototype.$renderWrappedLine = function (parent, tokens, splits) {\n        var chars = 0;\n        var split = 0;\n        var splitChars = splits[0];\n        var screenColumn = 0;\n        var lineEl = this.$createLineElement();\n        parent.appendChild(lineEl);\n        for (var i = 0; i < tokens.length; i++) {\n            var token = tokens[i];\n            var value = token.value;\n            if (i == 0 && this.displayIndentGuides) {\n                chars = value.length;\n                value = this.renderIndentGuide(lineEl, value, splitChars);\n                if (!value)\n                    continue;\n                chars -= value.length;\n            }\n            if (chars + value.length < splitChars) {\n                screenColumn = this.$renderToken(lineEl, screenColumn, token, value);\n                chars += value.length;\n            }\n            else {\n                while (chars + value.length >= splitChars) {\n                    screenColumn = this.$renderToken(lineEl, screenColumn, token, value.substring(0, splitChars - chars));\n                    value = value.substring(splitChars - chars);\n                    chars = splitChars;\n                    lineEl = this.$createLineElement();\n                    parent.appendChild(lineEl);\n                    lineEl.appendChild(this.dom.createTextNode(lang.stringRepeat(\"\\xa0\", splits.indent), this.element));\n                    split++;\n                    screenColumn = 0;\n                    splitChars = splits[split] || Number.MAX_VALUE;\n                }\n                if (value.length != 0) {\n                    chars += value.length;\n                    screenColumn = this.$renderToken(lineEl, screenColumn, token, value);\n                }\n            }\n        }\n        if (splits[splits.length - 1] > this.MAX_LINE_LENGTH)\n            this.$renderOverflowMessage(lineEl, screenColumn, null, \"\", true);\n    };\n    Text.prototype.$renderSimpleLine = function (parent, tokens) {\n        var screenColumn = 0;\n        for (var i = 0; i < tokens.length; i++) {\n            var token = tokens[i];\n            var value = token.value;\n            if (i == 0 && this.displayIndentGuides) {\n                value = this.renderIndentGuide(parent, value);\n                if (!value)\n                    continue;\n            }\n            if (screenColumn + value.length > this.MAX_LINE_LENGTH)\n                return this.$renderOverflowMessage(parent, screenColumn, token, value);\n            screenColumn = this.$renderToken(parent, screenColumn, token, value);\n        }\n    };\n    Text.prototype.$renderOverflowMessage = function (parent, screenColumn, token, value, hide) {\n        token && this.$renderToken(parent, screenColumn, token, value.slice(0, this.MAX_LINE_LENGTH - screenColumn));\n        var overflowEl = this.dom.createElement(\"span\");\n        overflowEl.className = \"ace_inline_button ace_keyword ace_toggle_wrap\";\n        overflowEl.textContent = hide ? \"<hide>\" : \"<click to see more...>\";\n        parent.appendChild(overflowEl);\n    };\n    Text.prototype.$renderLine = function (parent, row, foldLine) {\n        if (!foldLine && foldLine != false)\n            foldLine = this.session.getFoldLine(row);\n        if (foldLine)\n            var tokens = this.$getFoldLineTokens(row, foldLine);\n        else\n            var tokens = this.session.getTokens(row);\n        var lastLineEl = parent;\n        if (tokens.length) {\n            var splits = this.session.getRowSplitData(row);\n            if (splits && splits.length) {\n                this.$renderWrappedLine(parent, tokens, splits);\n                var lastLineEl = parent.lastChild;\n            }\n            else {\n                var lastLineEl = parent;\n                if (this.$useLineGroups()) {\n                    lastLineEl = this.$createLineElement();\n                    parent.appendChild(lastLineEl);\n                }\n                this.$renderSimpleLine(lastLineEl, tokens);\n            }\n        }\n        else if (this.$useLineGroups()) {\n            lastLineEl = this.$createLineElement();\n            parent.appendChild(lastLineEl);\n        }\n        if (this.showEOL && lastLineEl) {\n            if (foldLine)\n                row = foldLine.end.row;\n            var invisibleEl = this.dom.createElement(\"span\");\n            invisibleEl.className = \"ace_invisible ace_invisible_eol\";\n            invisibleEl.textContent = row == this.session.getLength() - 1 ? this.EOF_CHAR : this.EOL_CHAR;\n            lastLineEl.appendChild(invisibleEl);\n        }\n    };\n    Text.prototype.$getFoldLineTokens = function (row, foldLine) {\n        var session = this.session;\n        var renderTokens = [];\n        function addTokens(tokens, from, to) {\n            var idx = 0, col = 0;\n            while ((col + tokens[idx].value.length) < from) {\n                col += tokens[idx].value.length;\n                idx++;\n                if (idx == tokens.length)\n                    return;\n            }\n            if (col != from) {\n                var value = tokens[idx].value.substring(from - col);\n                if (value.length > (to - from))\n                    value = value.substring(0, to - from);\n                renderTokens.push({\n                    type: tokens[idx].type,\n                    value: value\n                });\n                col = from + value.length;\n                idx += 1;\n            }\n            while (col < to && idx < tokens.length) {\n                var value = tokens[idx].value;\n                if (value.length + col > to) {\n                    renderTokens.push({\n                        type: tokens[idx].type,\n                        value: value.substring(0, to - col)\n                    });\n                }\n                else\n                    renderTokens.push(tokens[idx]);\n                col += value.length;\n                idx += 1;\n            }\n        }\n        var tokens = session.getTokens(row);\n        foldLine.walk(function (placeholder, row, column, lastColumn, isNewRow) {\n            if (placeholder != null) {\n                renderTokens.push({\n                    type: \"fold\",\n                    value: placeholder\n                });\n            }\n            else {\n                if (isNewRow)\n                    tokens = session.getTokens(row);\n                if (tokens.length)\n                    addTokens(tokens, lastColumn, column);\n            }\n        }, foldLine.end.row, this.session.getLine(foldLine.end.row).length);\n        return renderTokens;\n    };\n    Text.prototype.$useLineGroups = function () {\n        return this.session.getUseWrapMode();\n    };\n    return Text;\n}());\nText.prototype.EOF_CHAR = \"\\xB6\";\nText.prototype.EOL_CHAR_LF = \"\\xAC\";\nText.prototype.EOL_CHAR_CRLF = \"\\xa4\";\nText.prototype.EOL_CHAR = Text.prototype.EOL_CHAR_LF;\nText.prototype.TAB_CHAR = \"\\u2014\"; //\"\\u21E5\";\nText.prototype.SPACE_CHAR = \"\\xB7\";\nText.prototype.$padding = 0;\nText.prototype.MAX_LINE_LENGTH = 10000;\nText.prototype.showInvisibles = false;\nText.prototype.showSpaces = false;\nText.prototype.showTabs = false;\nText.prototype.showEOL = false;\nText.prototype.displayIndentGuides = true;\nText.prototype.$highlightIndentGuides = true;\nText.prototype.$tabStrings = [];\nText.prototype.destroy = {};\nText.prototype.onChangeTabSize = Text.prototype.$computeTabString;\noop.implement(Text.prototype, EventEmitter);\nexports.Text = Text;\n\n});\n\nace.define(\"ace/layer/cursor\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(require, exports, module){\"use strict\";\nvar dom = require(\"../lib/dom\");\nvar Cursor = /** @class */ (function () {\n    function Cursor(parentEl) {\n        this.element = dom.createElement(\"div\");\n        this.element.className = \"ace_layer ace_cursor-layer\";\n        parentEl.appendChild(this.element);\n        this.isVisible = false;\n        this.isBlinking = true;\n        this.blinkInterval = 1000;\n        this.smoothBlinking = false;\n        this.cursors = [];\n        this.cursor = this.addCursor();\n        dom.addCssClass(this.element, \"ace_hidden-cursors\");\n        this.$updateCursors = this.$updateOpacity.bind(this);\n    }\n    Cursor.prototype.$updateOpacity = function (val) {\n        var cursors = this.cursors;\n        for (var i = cursors.length; i--;)\n            dom.setStyle(cursors[i].style, \"opacity\", val ? \"\" : \"0\");\n    };\n    Cursor.prototype.$startCssAnimation = function () {\n        var cursors = this.cursors;\n        for (var i = cursors.length; i--;)\n            cursors[i].style.animationDuration = this.blinkInterval + \"ms\";\n        this.$isAnimating = true;\n        setTimeout(function () {\n            if (this.$isAnimating) {\n                dom.addCssClass(this.element, \"ace_animate-blinking\");\n            }\n        }.bind(this));\n    };\n    Cursor.prototype.$stopCssAnimation = function () {\n        this.$isAnimating = false;\n        dom.removeCssClass(this.element, \"ace_animate-blinking\");\n    };\n    Cursor.prototype.setPadding = function (padding) {\n        this.$padding = padding;\n    };\n    Cursor.prototype.setSession = function (session) {\n        this.session = session;\n    };\n    Cursor.prototype.setBlinking = function (blinking) {\n        if (blinking != this.isBlinking) {\n            this.isBlinking = blinking;\n            this.restartTimer();\n        }\n    };\n    Cursor.prototype.setBlinkInterval = function (blinkInterval) {\n        if (blinkInterval != this.blinkInterval) {\n            this.blinkInterval = blinkInterval;\n            this.restartTimer();\n        }\n    };\n    Cursor.prototype.setSmoothBlinking = function (smoothBlinking) {\n        if (smoothBlinking != this.smoothBlinking) {\n            this.smoothBlinking = smoothBlinking;\n            dom.setCssClass(this.element, \"ace_smooth-blinking\", smoothBlinking);\n            this.$updateCursors(true);\n            this.restartTimer();\n        }\n    };\n    Cursor.prototype.addCursor = function () {\n        var el = dom.createElement(\"div\");\n        el.className = \"ace_cursor\";\n        this.element.appendChild(el);\n        this.cursors.push(el);\n        return el;\n    };\n    Cursor.prototype.removeCursor = function () {\n        if (this.cursors.length > 1) {\n            var el = this.cursors.pop();\n            el.parentNode.removeChild(el);\n            return el;\n        }\n    };\n    Cursor.prototype.hideCursor = function () {\n        this.isVisible = false;\n        dom.addCssClass(this.element, \"ace_hidden-cursors\");\n        this.restartTimer();\n    };\n    Cursor.prototype.showCursor = function () {\n        this.isVisible = true;\n        dom.removeCssClass(this.element, \"ace_hidden-cursors\");\n        this.restartTimer();\n    };\n    Cursor.prototype.restartTimer = function () {\n        var update = this.$updateCursors;\n        clearInterval(this.intervalId);\n        clearTimeout(this.timeoutId);\n        this.$stopCssAnimation();\n        if (this.smoothBlinking) {\n            this.$isSmoothBlinking = false;\n            dom.removeCssClass(this.element, \"ace_smooth-blinking\");\n        }\n        update(true);\n        if (!this.isBlinking || !this.blinkInterval || !this.isVisible) {\n            this.$stopCssAnimation();\n            return;\n        }\n        if (this.smoothBlinking) {\n            this.$isSmoothBlinking = true;\n            setTimeout(function () {\n                if (this.$isSmoothBlinking) {\n                    dom.addCssClass(this.element, \"ace_smooth-blinking\");\n                }\n            }.bind(this));\n        }\n        if (dom.HAS_CSS_ANIMATION) {\n            this.$startCssAnimation();\n        }\n        else {\n            var blink = /**@this{Cursor}*/ function () {\n                this.timeoutId = setTimeout(function () {\n                    update(false);\n                }, 0.6 * this.blinkInterval);\n            }.bind(this);\n            this.intervalId = setInterval(function () {\n                update(true);\n                blink();\n            }, this.blinkInterval);\n            blink();\n        }\n    };\n    Cursor.prototype.getPixelPosition = function (position, onScreen) {\n        if (!this.config || !this.session)\n            return { left: 0, top: 0 };\n        if (!position)\n            position = this.session.selection.getCursor();\n        var pos = this.session.documentToScreenPosition(position);\n        var cursorLeft = this.$padding + (this.session.$bidiHandler.isBidiRow(pos.row, position.row)\n            ? this.session.$bidiHandler.getPosLeft(pos.column)\n            : pos.column * this.config.characterWidth);\n        var cursorTop = (pos.row - (onScreen ? this.config.firstRowScreen : 0)) *\n            this.config.lineHeight;\n        return { left: cursorLeft, top: cursorTop };\n    };\n    Cursor.prototype.isCursorInView = function (pixelPos, config) {\n        return pixelPos.top >= 0 && pixelPos.top < config.maxHeight;\n    };\n    Cursor.prototype.update = function (config) {\n        this.config = config;\n        var selections = this.session.$selectionMarkers;\n        var i = 0, cursorIndex = 0;\n        if (selections === undefined || selections.length === 0) {\n            selections = [{ cursor: null }];\n        }\n        for (var i = 0, n = selections.length; i < n; i++) {\n            var pixelPos = this.getPixelPosition(selections[i].cursor, true);\n            if ((pixelPos.top > config.height + config.offset ||\n                pixelPos.top < 0) && i > 1) {\n                continue;\n            }\n            var element = this.cursors[cursorIndex++] || this.addCursor();\n            var style = element.style;\n            if (!this.drawCursor) {\n                if (!this.isCursorInView(pixelPos, config)) {\n                    dom.setStyle(style, \"display\", \"none\");\n                }\n                else {\n                    dom.setStyle(style, \"display\", \"block\");\n                    dom.translate(element, pixelPos.left, pixelPos.top);\n                    dom.setStyle(style, \"width\", Math.round(config.characterWidth) + \"px\");\n                    dom.setStyle(style, \"height\", config.lineHeight + \"px\");\n                }\n            }\n            else {\n                this.drawCursor(element, pixelPos, config, selections[i], this.session);\n            }\n        }\n        while (this.cursors.length > cursorIndex)\n            this.removeCursor();\n        var overwrite = this.session.getOverwrite();\n        this.$setOverwrite(overwrite);\n        this.$pixelPos = pixelPos;\n        this.restartTimer();\n    };\n    Cursor.prototype.$setOverwrite = function (overwrite) {\n        if (overwrite != this.overwrite) {\n            this.overwrite = overwrite;\n            if (overwrite)\n                dom.addCssClass(this.element, \"ace_overwrite-cursors\");\n            else\n                dom.removeCssClass(this.element, \"ace_overwrite-cursors\");\n        }\n    };\n    Cursor.prototype.destroy = function () {\n        clearInterval(this.intervalId);\n        clearTimeout(this.timeoutId);\n    };\n    return Cursor;\n}());\nCursor.prototype.$padding = 0;\nCursor.prototype.drawCursor = null;\nexports.Cursor = Cursor;\n\n});\n\nace.define(\"ace/scrollbar\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/event_emitter\"], function(require, exports, module){\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar oop = require(\"./lib/oop\");\nvar dom = require(\"./lib/dom\");\nvar event = require(\"./lib/event\");\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar MAX_SCROLL_H = 0x8000;\nvar Scrollbar = /** @class */ (function () {\n    function Scrollbar(parent, classSuffix) {\n        this.element = dom.createElement(\"div\");\n        this.element.className = \"ace_scrollbar ace_scrollbar\" + classSuffix;\n        this.inner = dom.createElement(\"div\");\n        this.inner.className = \"ace_scrollbar-inner\";\n        this.inner.textContent = \"\\xa0\";\n        this.element.appendChild(this.inner);\n        parent.appendChild(this.element);\n        this.setVisible(false);\n        this.skipEvent = false;\n        event.addListener(this.element, \"scroll\", this.onScroll.bind(this));\n        event.addListener(this.element, \"mousedown\", event.preventDefault);\n    }\n    Scrollbar.prototype.setVisible = function (isVisible) {\n        this.element.style.display = isVisible ? \"\" : \"none\";\n        this.isVisible = isVisible;\n        this.coeff = 1;\n    };\n    return Scrollbar;\n}());\noop.implement(Scrollbar.prototype, EventEmitter);\nvar VScrollBar = /** @class */ (function (_super) {\n    __extends(VScrollBar, _super);\n    function VScrollBar(parent, renderer) {\n        var _this = _super.call(this, parent, '-v') || this;\n        _this.scrollTop = 0;\n        _this.scrollHeight = 0;\n        renderer.$scrollbarWidth =\n            _this.width = dom.scrollbarWidth(parent.ownerDocument);\n        _this.inner.style.width =\n            _this.element.style.width = (_this.width || 15) + 5 + \"px\";\n        _this.$minWidth = 0;\n        return _this;\n    }\n    VScrollBar.prototype.onScroll = function () {\n        if (!this.skipEvent) {\n            this.scrollTop = this.element.scrollTop;\n            if (this.coeff != 1) {\n                var h = this.element.clientHeight / this.scrollHeight;\n                this.scrollTop = this.scrollTop * (1 - h) / (this.coeff - h);\n            }\n            this._emit(\"scroll\", { data: this.scrollTop });\n        }\n        this.skipEvent = false;\n    };\n    VScrollBar.prototype.getWidth = function () {\n        return Math.max(this.isVisible ? this.width : 0, this.$minWidth || 0);\n    };\n    VScrollBar.prototype.setHeight = function (height) {\n        this.element.style.height = height + \"px\";\n    };\n    VScrollBar.prototype.setScrollHeight = function (height) {\n        this.scrollHeight = height;\n        if (height > MAX_SCROLL_H) {\n            this.coeff = MAX_SCROLL_H / height;\n            height = MAX_SCROLL_H;\n        }\n        else if (this.coeff != 1) {\n            this.coeff = 1;\n        }\n        this.inner.style.height = height + \"px\";\n    };\n    VScrollBar.prototype.setScrollTop = function (scrollTop) {\n        if (this.scrollTop != scrollTop) {\n            this.skipEvent = true;\n            this.scrollTop = scrollTop;\n            this.element.scrollTop = scrollTop * this.coeff;\n        }\n    };\n    return VScrollBar;\n}(Scrollbar));\nVScrollBar.prototype.setInnerHeight = VScrollBar.prototype.setScrollHeight;\nvar HScrollBar = /** @class */ (function (_super) {\n    __extends(HScrollBar, _super);\n    function HScrollBar(parent, renderer) {\n        var _this = _super.call(this, parent, '-h') || this;\n        _this.scrollLeft = 0;\n        _this.height = renderer.$scrollbarWidth;\n        _this.inner.style.height =\n            _this.element.style.height = (_this.height || 15) + 5 + \"px\";\n        return _this;\n    }\n    HScrollBar.prototype.onScroll = function () {\n        if (!this.skipEvent) {\n            this.scrollLeft = this.element.scrollLeft;\n            this._emit(\"scroll\", { data: this.scrollLeft });\n        }\n        this.skipEvent = false;\n    };\n    HScrollBar.prototype.getHeight = function () {\n        return this.isVisible ? this.height : 0;\n    };\n    HScrollBar.prototype.setWidth = function (width) {\n        this.element.style.width = width + \"px\";\n    };\n    HScrollBar.prototype.setInnerWidth = function (width) {\n        this.inner.style.width = width + \"px\";\n    };\n    HScrollBar.prototype.setScrollWidth = function (width) {\n        this.inner.style.width = width + \"px\";\n    };\n    HScrollBar.prototype.setScrollLeft = function (scrollLeft) {\n        if (this.scrollLeft != scrollLeft) {\n            this.skipEvent = true;\n            this.scrollLeft = this.element.scrollLeft = scrollLeft;\n        }\n    };\n    return HScrollBar;\n}(Scrollbar));\nexports.ScrollBar = VScrollBar; // backward compatibility\nexports.ScrollBarV = VScrollBar; // backward compatibility\nexports.ScrollBarH = HScrollBar; // backward compatibility\nexports.VScrollBar = VScrollBar;\nexports.HScrollBar = HScrollBar;\n\n});\n\nace.define(\"ace/scrollbar_custom\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/event_emitter\"], function(require, exports, module){\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar oop = require(\"./lib/oop\");\nvar dom = require(\"./lib/dom\");\nvar event = require(\"./lib/event\");\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\ndom.importCssString(\".ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{\\n  position: absolute;\\n  background: rgba(128, 128, 128, 0.6);\\n  -moz-box-sizing: border-box;\\n  box-sizing: border-box;\\n  border: 1px solid #bbb;\\n  border-radius: 2px;\\n  z-index: 8;\\n}\\n.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {\\n  position: absolute;\\n  z-index: 6;\\n  background: none;\\n  overflow: hidden!important;\\n}\\n.ace_editor>.ace_sb-v {\\n  z-index: 6;\\n  right: 0;\\n  top: 0;\\n  width: 12px;\\n}\\n.ace_editor>.ace_sb-v div {\\n  z-index: 8;\\n  right: 0;\\n  width: 100%;\\n}\\n.ace_editor>.ace_sb-h {\\n  bottom: 0;\\n  left: 0;\\n  height: 12px;\\n}\\n.ace_editor>.ace_sb-h div {\\n  bottom: 0;\\n  height: 100%;\\n}\\n.ace_editor>.ace_sb_grabbed {\\n  z-index: 8;\\n  background: #000;\\n}\", \"ace_scrollbar.css\", false);\nvar ScrollBar = /** @class */ (function () {\n    function ScrollBar(parent, classSuffix) {\n        this.element = dom.createElement(\"div\");\n        this.element.className = \"ace_sb\" + classSuffix;\n        this.inner = dom.createElement(\"div\");\n        this.inner.className = \"\";\n        this.element.appendChild(this.inner);\n        this.VScrollWidth = 12;\n        this.HScrollHeight = 12;\n        parent.appendChild(this.element);\n        this.setVisible(false);\n        this.skipEvent = false;\n        event.addMultiMouseDownListener(this.element, [500, 300, 300], this, \"onMouseDown\");\n    }\n    ScrollBar.prototype.setVisible = function (isVisible) {\n        this.element.style.display = isVisible ? \"\" : \"none\";\n        this.isVisible = isVisible;\n        this.coeff = 1;\n    };\n    return ScrollBar;\n}());\noop.implement(ScrollBar.prototype, EventEmitter);\nvar VScrollBar = /** @class */ (function (_super) {\n    __extends(VScrollBar, _super);\n    function VScrollBar(parent, renderer) {\n        var _this = _super.call(this, parent, '-v') || this;\n        _this.scrollTop = 0;\n        _this.scrollHeight = 0;\n        _this.parent = parent;\n        _this.width = _this.VScrollWidth;\n        _this.renderer = renderer;\n        _this.inner.style.width = _this.element.style.width = (_this.width || 15) + \"px\";\n        _this.$minWidth = 0;\n        return _this;\n    }\n    VScrollBar.prototype.onMouseDown = function (eType, e) {\n        if (eType !== \"mousedown\")\n            return;\n        if (event.getButton(e) !== 0 || e.detail === 2) {\n            return;\n        }\n        if (e.target === this.inner) {\n            var self = this;\n            var mousePageY = e.clientY;\n            var onMouseMove = function (e) {\n                mousePageY = e.clientY;\n            };\n            var onMouseUp = function () {\n                clearInterval(timerId);\n            };\n            var startY = e.clientY;\n            var startTop = this.thumbTop;\n            var onScrollInterval = function () {\n                if (mousePageY === undefined)\n                    return;\n                var scrollTop = self.scrollTopFromThumbTop(startTop + mousePageY - startY);\n                if (scrollTop === self.scrollTop)\n                    return;\n                self._emit(\"scroll\", { data: scrollTop });\n            };\n            event.capture(this.inner, onMouseMove, onMouseUp);\n            var timerId = setInterval(onScrollInterval, 20);\n            return event.preventDefault(e);\n        }\n        var top = e.clientY - this.element.getBoundingClientRect().top - this.thumbHeight / 2;\n        this._emit(\"scroll\", { data: this.scrollTopFromThumbTop(top) });\n        return event.preventDefault(e);\n    };\n    VScrollBar.prototype.getHeight = function () {\n        return this.height;\n    };\n    VScrollBar.prototype.scrollTopFromThumbTop = function (thumbTop) {\n        var scrollTop = thumbTop * (this.pageHeight - this.viewHeight) / (this.slideHeight - this.thumbHeight);\n        scrollTop = scrollTop >> 0;\n        if (scrollTop < 0) {\n            scrollTop = 0;\n        }\n        else if (scrollTop > this.pageHeight - this.viewHeight) {\n            scrollTop = this.pageHeight - this.viewHeight;\n        }\n        return scrollTop;\n    };\n    VScrollBar.prototype.getWidth = function () {\n        return Math.max(this.isVisible ? this.width : 0, this.$minWidth || 0);\n    };\n    VScrollBar.prototype.setHeight = function (height) {\n        this.height = Math.max(0, height);\n        this.slideHeight = this.height;\n        this.viewHeight = this.height;\n        this.setScrollHeight(this.pageHeight, true);\n    };\n    VScrollBar.prototype.setScrollHeight = function (height, force) {\n        if (this.pageHeight === height && !force)\n            return;\n        this.pageHeight = height;\n        this.thumbHeight = this.slideHeight * this.viewHeight / this.pageHeight;\n        if (this.thumbHeight > this.slideHeight)\n            this.thumbHeight = this.slideHeight;\n        if (this.thumbHeight < 15)\n            this.thumbHeight = 15;\n        this.inner.style.height = this.thumbHeight + \"px\";\n        if (this.scrollTop > (this.pageHeight - this.viewHeight)) {\n            this.scrollTop = (this.pageHeight - this.viewHeight);\n            if (this.scrollTop < 0)\n                this.scrollTop = 0;\n            this._emit(\"scroll\", { data: this.scrollTop });\n        }\n    };\n    VScrollBar.prototype.setScrollTop = function (scrollTop) {\n        this.scrollTop = scrollTop;\n        if (scrollTop < 0)\n            scrollTop = 0;\n        this.thumbTop = scrollTop * (this.slideHeight - this.thumbHeight) / (this.pageHeight - this.viewHeight);\n        this.inner.style.top = this.thumbTop + \"px\";\n    };\n    return VScrollBar;\n}(ScrollBar));\nVScrollBar.prototype.setInnerHeight = VScrollBar.prototype.setScrollHeight;\nvar HScrollBar = /** @class */ (function (_super) {\n    __extends(HScrollBar, _super);\n    function HScrollBar(parent, renderer) {\n        var _this = _super.call(this, parent, '-h') || this;\n        _this.scrollLeft = 0;\n        _this.scrollWidth = 0;\n        _this.height = _this.HScrollHeight;\n        _this.inner.style.height = _this.element.style.height = (_this.height || 12) + \"px\";\n        _this.renderer = renderer;\n        return _this;\n    }\n    HScrollBar.prototype.onMouseDown = function (eType, e) {\n        if (eType !== \"mousedown\")\n            return;\n        if (event.getButton(e) !== 0 || e.detail === 2) {\n            return;\n        }\n        if (e.target === this.inner) {\n            var self = this;\n            var mousePageX = e.clientX;\n            var onMouseMove = function (e) {\n                mousePageX = e.clientX;\n            };\n            var onMouseUp = function () {\n                clearInterval(timerId);\n            };\n            var startX = e.clientX;\n            var startLeft = this.thumbLeft;\n            var onScrollInterval = function () {\n                if (mousePageX === undefined)\n                    return;\n                var scrollLeft = self.scrollLeftFromThumbLeft(startLeft + mousePageX - startX);\n                if (scrollLeft === self.scrollLeft)\n                    return;\n                self._emit(\"scroll\", { data: scrollLeft });\n            };\n            event.capture(this.inner, onMouseMove, onMouseUp);\n            var timerId = setInterval(onScrollInterval, 20);\n            return event.preventDefault(e);\n        }\n        var left = e.clientX - this.element.getBoundingClientRect().left - this.thumbWidth / 2;\n        this._emit(\"scroll\", { data: this.scrollLeftFromThumbLeft(left) });\n        return event.preventDefault(e);\n    };\n    HScrollBar.prototype.getHeight = function () {\n        return this.isVisible ? this.height : 0;\n    };\n    HScrollBar.prototype.scrollLeftFromThumbLeft = function (thumbLeft) {\n        var scrollLeft = thumbLeft * (this.pageWidth - this.viewWidth) / (this.slideWidth - this.thumbWidth);\n        scrollLeft = scrollLeft >> 0;\n        if (scrollLeft < 0) {\n            scrollLeft = 0;\n        }\n        else if (scrollLeft > this.pageWidth - this.viewWidth) {\n            scrollLeft = this.pageWidth - this.viewWidth;\n        }\n        return scrollLeft;\n    };\n    HScrollBar.prototype.setWidth = function (width) {\n        this.width = Math.max(0, width);\n        this.element.style.width = this.width + \"px\";\n        this.slideWidth = this.width;\n        this.viewWidth = this.width;\n        this.setScrollWidth(this.pageWidth, true);\n    };\n    HScrollBar.prototype.setScrollWidth = function (width, force) {\n        if (this.pageWidth === width && !force)\n            return;\n        this.pageWidth = width;\n        this.thumbWidth = this.slideWidth * this.viewWidth / this.pageWidth;\n        if (this.thumbWidth > this.slideWidth)\n            this.thumbWidth = this.slideWidth;\n        if (this.thumbWidth < 15)\n            this.thumbWidth = 15;\n        this.inner.style.width = this.thumbWidth + \"px\";\n        if (this.scrollLeft > (this.pageWidth - this.viewWidth)) {\n            this.scrollLeft = (this.pageWidth - this.viewWidth);\n            if (this.scrollLeft < 0)\n                this.scrollLeft = 0;\n            this._emit(\"scroll\", { data: this.scrollLeft });\n        }\n    };\n    HScrollBar.prototype.setScrollLeft = function (scrollLeft) {\n        this.scrollLeft = scrollLeft;\n        if (scrollLeft < 0)\n            scrollLeft = 0;\n        this.thumbLeft = scrollLeft * (this.slideWidth - this.thumbWidth) / (this.pageWidth - this.viewWidth);\n        this.inner.style.left = (this.thumbLeft) + \"px\";\n    };\n    return HScrollBar;\n}(ScrollBar));\nHScrollBar.prototype.setInnerWidth = HScrollBar.prototype.setScrollWidth;\nexports.ScrollBar = VScrollBar; // backward compatibility\nexports.ScrollBarV = VScrollBar; // backward compatibility\nexports.ScrollBarH = HScrollBar; // backward compatibility\nexports.VScrollBar = VScrollBar;\nexports.HScrollBar = HScrollBar;\n\n});\n\nace.define(\"ace/renderloop\",[\"require\",\"exports\",\"module\",\"ace/lib/event\"], function(require, exports, module){\"use strict\";\nvar event = require(\"./lib/event\");\nvar RenderLoop = /** @class */ (function () {\n    function RenderLoop(onRender, win) {\n        this.onRender = onRender;\n        this.pending = false;\n        this.changes = 0;\n        this.$recursionLimit = 2;\n        this.window = win || window;\n        var _self = this;\n        this._flush = function (ts) {\n            _self.pending = false;\n            var changes = _self.changes;\n            if (changes) {\n                event.blockIdle(100);\n                _self.changes = 0;\n                _self.onRender(changes);\n            }\n            if (_self.changes) {\n                if (_self.$recursionLimit-- < 0)\n                    return;\n                _self.schedule();\n            }\n            else {\n                _self.$recursionLimit = 2;\n            }\n        };\n    }\n    RenderLoop.prototype.schedule = function (change) {\n        this.changes = this.changes | change;\n        if (this.changes && !this.pending) {\n            event.nextFrame(this._flush);\n            this.pending = true;\n        }\n    };\n    RenderLoop.prototype.clear = function (change) {\n        var changes = this.changes;\n        this.changes = 0;\n        return changes;\n    };\n    return RenderLoop;\n}());\nexports.RenderLoop = RenderLoop;\n\n});\n\nace.define(\"ace/layer/font_metrics\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/event\",\"ace/lib/useragent\",\"ace/lib/event_emitter\"], function(require, exports, module){var oop = require(\"../lib/oop\");\nvar dom = require(\"../lib/dom\");\nvar lang = require(\"../lib/lang\");\nvar event = require(\"../lib/event\");\nvar useragent = require(\"../lib/useragent\");\nvar EventEmitter = require(\"../lib/event_emitter\").EventEmitter;\nvar CHAR_COUNT = 512;\nvar USE_OBSERVER = typeof ResizeObserver == \"function\";\nvar L = 200;\nvar FontMetrics = /** @class */ (function () {\n    function FontMetrics(parentEl) {\n        this.el = dom.createElement(\"div\");\n        this.$setMeasureNodeStyles(this.el.style, true);\n        this.$main = dom.createElement(\"div\");\n        this.$setMeasureNodeStyles(this.$main.style);\n        this.$measureNode = dom.createElement(\"div\");\n        this.$setMeasureNodeStyles(this.$measureNode.style);\n        this.el.appendChild(this.$main);\n        this.el.appendChild(this.$measureNode);\n        parentEl.appendChild(this.el);\n        this.$measureNode.textContent = lang.stringRepeat(\"X\", CHAR_COUNT);\n        this.$characterSize = { width: 0, height: 0 };\n        if (USE_OBSERVER)\n            this.$addObserver();\n        else\n            this.checkForSizeChanges();\n    }\n    FontMetrics.prototype.$setMeasureNodeStyles = function (style, isRoot) {\n        style.width = style.height = \"auto\";\n        style.left = style.top = \"0px\";\n        style.visibility = \"hidden\";\n        style.position = \"absolute\";\n        style.whiteSpace = \"pre\";\n        if (useragent.isIE < 8) {\n            style[\"font-family\"] = \"inherit\";\n        }\n        else {\n            style.font = \"inherit\";\n        }\n        style.overflow = isRoot ? \"hidden\" : \"visible\";\n    };\n    FontMetrics.prototype.checkForSizeChanges = function (size) {\n        if (size === undefined)\n            size = this.$measureSizes();\n        if (size && (this.$characterSize.width !== size.width || this.$characterSize.height !== size.height)) {\n            this.$measureNode.style.fontWeight = \"bold\";\n            var boldSize = this.$measureSizes();\n            this.$measureNode.style.fontWeight = \"\";\n            this.$characterSize = size;\n            this.charSizes = Object.create(null);\n            this.allowBoldFonts = boldSize && boldSize.width === size.width && boldSize.height === size.height;\n            this._emit(\"changeCharacterSize\", { data: size });\n        }\n    };\n    FontMetrics.prototype.$addObserver = function () {\n        var self = this;\n        this.$observer = new window.ResizeObserver(function (e) {\n            self.checkForSizeChanges();\n        });\n        this.$observer.observe(this.$measureNode);\n    };\n    FontMetrics.prototype.$pollSizeChanges = function () {\n        if (this.$pollSizeChangesTimer || this.$observer)\n            return this.$pollSizeChangesTimer;\n        var self = this;\n        return this.$pollSizeChangesTimer = event.onIdle(function cb() {\n            self.checkForSizeChanges();\n            event.onIdle(cb, 500);\n        }, 500);\n    };\n    FontMetrics.prototype.setPolling = function (val) {\n        if (val) {\n            this.$pollSizeChanges();\n        }\n        else if (this.$pollSizeChangesTimer) {\n            clearInterval(this.$pollSizeChangesTimer);\n            this.$pollSizeChangesTimer = 0;\n        }\n    };\n    FontMetrics.prototype.$measureSizes = function (node) {\n        var size = {\n            height: (node || this.$measureNode).clientHeight,\n            width: (node || this.$measureNode).clientWidth / CHAR_COUNT\n        };\n        if (size.width === 0 || size.height === 0)\n            return null;\n        return size;\n    };\n    FontMetrics.prototype.$measureCharWidth = function (ch) {\n        this.$main.textContent = lang.stringRepeat(ch, CHAR_COUNT);\n        var rect = this.$main.getBoundingClientRect();\n        return rect.width / CHAR_COUNT;\n    };\n    FontMetrics.prototype.getCharacterWidth = function (ch) {\n        var w = this.charSizes[ch];\n        if (w === undefined) {\n            w = this.charSizes[ch] = this.$measureCharWidth(ch) / this.$characterSize.width;\n        }\n        return w;\n    };\n    FontMetrics.prototype.destroy = function () {\n        clearInterval(this.$pollSizeChangesTimer);\n        if (this.$observer)\n            this.$observer.disconnect();\n        if (this.el && this.el.parentNode)\n            this.el.parentNode.removeChild(this.el);\n    };\n    FontMetrics.prototype.$getZoom = function (element) {\n        if (!element || !element.parentElement)\n            return 1;\n        return (Number(window.getComputedStyle(element)[\"zoom\"]) || 1) * this.$getZoom(element.parentElement);\n    };\n    FontMetrics.prototype.$initTransformMeasureNodes = function () {\n        var t = function (t, l) {\n            return [\"div\", {\n                    style: \"position: absolute;top:\" + t + \"px;left:\" + l + \"px;\"\n                }];\n        };\n        this.els = dom.buildDom([t(0, 0), t(L, 0), t(0, L), t(L, L)], this.el);\n    };\n    FontMetrics.prototype.transformCoordinates = function (clientPos, elPos) {\n        if (clientPos) {\n            var zoom = this.$getZoom(this.el);\n            clientPos = mul(1 / zoom, clientPos);\n        }\n        function solve(l1, l2, r) {\n            var det = l1[1] * l2[0] - l1[0] * l2[1];\n            return [\n                (-l2[1] * r[0] + l2[0] * r[1]) / det,\n                (+l1[1] * r[0] - l1[0] * r[1]) / det\n            ];\n        }\n        function sub(a, b) { return [a[0] - b[0], a[1] - b[1]]; }\n        function add(a, b) { return [a[0] + b[0], a[1] + b[1]]; }\n        function mul(a, b) { return [a * b[0], a * b[1]]; }\n        if (!this.els)\n            this.$initTransformMeasureNodes();\n        function p(el) {\n            var r = el.getBoundingClientRect();\n            return [r.left, r.top];\n        }\n        var a = p(this.els[0]);\n        var b = p(this.els[1]);\n        var c = p(this.els[2]);\n        var d = p(this.els[3]);\n        var h = solve(sub(d, b), sub(d, c), sub(add(b, c), add(d, a)));\n        var m1 = mul(1 + h[0], sub(b, a));\n        var m2 = mul(1 + h[1], sub(c, a));\n        if (elPos) {\n            var x = elPos;\n            var k = h[0] * x[0] / L + h[1] * x[1] / L + 1;\n            var ut = add(mul(x[0], m1), mul(x[1], m2));\n            return add(mul(1 / k / L, ut), a);\n        }\n        var u = sub(clientPos, a);\n        var f = solve(sub(m1, mul(h[0], u)), sub(m2, mul(h[1], u)), u);\n        return mul(L, f);\n    };\n    return FontMetrics;\n}());\nFontMetrics.prototype.$characterSize = { width: 0, height: 0 };\noop.implement(FontMetrics.prototype, EventEmitter);\nexports.FontMetrics = FontMetrics;\n\n});\n\nace.define(\"ace/css/editor-css\",[\"require\",\"exports\",\"module\"], function(require, exports, module){/*\nstyles = []\nfor (var i = 1; i < 16; i++) {\n    styles.push(\".ace_br\" + i + \"{\" + (\n        [\"top-left\", \"top-right\", \"bottom-right\", \"bottom-left\"]\n    ).map(function(x, j) {\n        return i & (1<<j) ? \"border-\" + x + \"-radius: 3px;\" : \"\"\n    }).filter(Boolean).join(\" \") + \"}\")\n}\nstyles.join(\"\\\\n\")\n*/\nmodule.exports = \"\\n.ace_br1 {border-top-left-radius    : 3px;}\\n.ace_br2 {border-top-right-radius   : 3px;}\\n.ace_br3 {border-top-left-radius    : 3px; border-top-right-radius:    3px;}\\n.ace_br4 {border-bottom-right-radius: 3px;}\\n.ace_br5 {border-top-left-radius    : 3px; border-bottom-right-radius: 3px;}\\n.ace_br6 {border-top-right-radius   : 3px; border-bottom-right-radius: 3px;}\\n.ace_br7 {border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px;}\\n.ace_br8 {border-bottom-left-radius : 3px;}\\n.ace_br9 {border-top-left-radius    : 3px; border-bottom-left-radius:  3px;}\\n.ace_br10{border-top-right-radius   : 3px; border-bottom-left-radius:  3px;}\\n.ace_br11{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-left-radius:  3px;}\\n.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\\n.ace_br13{border-top-left-radius    : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\\n.ace_br14{border-top-right-radius   : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\\n.ace_br15{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\\n\\n\\n.ace_editor {\\n    position: relative;\\n    overflow: hidden;\\n    padding: 0;\\n    font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;\\n    direction: ltr;\\n    text-align: left;\\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n    forced-color-adjust: none;\\n}\\n\\n.ace_scroller {\\n    position: absolute;\\n    overflow: hidden;\\n    top: 0;\\n    bottom: 0;\\n    background-color: inherit;\\n    -ms-user-select: none;\\n    -moz-user-select: none;\\n    -webkit-user-select: none;\\n    user-select: none;\\n    cursor: text;\\n}\\n\\n.ace_content {\\n    position: absolute;\\n    box-sizing: border-box;\\n    min-width: 100%;\\n    contain: style size layout;\\n    font-variant-ligatures: no-common-ligatures;\\n}\\n\\n.ace_keyboard-focus:focus {\\n    box-shadow: inset 0 0 0 2px #5E9ED6;\\n    outline: none;\\n}\\n\\n.ace_dragging .ace_scroller:before{\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    right: 0;\\n    bottom: 0;\\n    content: '';\\n    background: rgba(250, 250, 250, 0.01);\\n    z-index: 1000;\\n}\\n.ace_dragging.ace_dark .ace_scroller:before{\\n    background: rgba(0, 0, 0, 0.01);\\n}\\n\\n.ace_gutter {\\n    position: absolute;\\n    overflow : hidden;\\n    width: auto;\\n    top: 0;\\n    bottom: 0;\\n    left: 0;\\n    cursor: default;\\n    z-index: 4;\\n    -ms-user-select: none;\\n    -moz-user-select: none;\\n    -webkit-user-select: none;\\n    user-select: none;\\n    contain: style size layout;\\n}\\n\\n.ace_gutter-active-line {\\n    position: absolute;\\n    left: 0;\\n    right: 0;\\n}\\n\\n.ace_scroller.ace_scroll-left:after {\\n    content: \\\"\\\";\\n    position: absolute;\\n    top: 0;\\n    right: 0;\\n    bottom: 0;\\n    left: 0;\\n    box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\\n    pointer-events: none;\\n}\\n\\n.ace_gutter-cell, .ace_gutter-cell_svg-icons {\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    right: 0;\\n    padding-left: 19px;\\n    padding-right: 6px;\\n    background-repeat: no-repeat;\\n}\\n\\n.ace_gutter-cell_svg-icons .ace_gutter_annotation {\\n    margin-left: -14px;\\n    float: left;\\n}\\n\\n.ace_gutter-cell .ace_gutter_annotation {\\n    margin-left: -19px;\\n    float: left;\\n}\\n\\n.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {\\n    background-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==\\\");\\n    background-repeat: no-repeat;\\n    background-position: 2px center;\\n}\\n\\n.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {\\n    background-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==\\\");\\n    background-repeat: no-repeat;\\n    background-position: 2px center;\\n}\\n\\n.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {\\n    background-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=\\\");\\n    background-repeat: no-repeat;\\n    background-position: 2px center;\\n}\\n\\n.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {\\n    background-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC\\\");\\n}\\n\\n.ace_icon_svg.ace_error {\\n    -webkit-mask-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+\\\");\\n    background-color: crimson;\\n}\\n.ace_icon_svg.ace_security {\\n    -webkit-mask-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+\\\");\\n    background-color: crimson;\\n}\\n.ace_icon_svg.ace_warning {\\n    -webkit-mask-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==\\\");\\n    background-color: darkorange;\\n}\\n.ace_icon_svg.ace_info {\\n    -webkit-mask-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==\\\");\\n    background-color: royalblue;\\n}\\n.ace_icon_svg.ace_hint {\\n    -webkit-mask-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==\\\");\\n    background-color: silver;\\n}\\n\\n.ace_icon_svg.ace_error_fold {\\n    -webkit-mask-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=\\\");\\n    background-color: crimson;\\n}\\n.ace_icon_svg.ace_security_fold {\\n    -webkit-mask-image: url(\\\"data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=\\\");\\n    background-color: crimson;\\n}\\n.ace_icon_svg.ace_warning_fold {\\n    -webkit-mask-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=\\\");\\n    background-color: darkorange;\\n}\\n\\n.ace_scrollbar {\\n    contain: strict;\\n    position: absolute;\\n    right: 0;\\n    bottom: 0;\\n    z-index: 6;\\n}\\n\\n.ace_scrollbar-inner {\\n    position: absolute;\\n    cursor: text;\\n    left: 0;\\n    top: 0;\\n}\\n\\n.ace_scrollbar-v{\\n    overflow-x: hidden;\\n    overflow-y: scroll;\\n    top: 0;\\n}\\n\\n.ace_scrollbar-h {\\n    overflow-x: scroll;\\n    overflow-y: hidden;\\n    left: 0;\\n}\\n\\n.ace_print-margin {\\n    position: absolute;\\n    height: 100%;\\n}\\n\\n.ace_text-input {\\n    position: absolute;\\n    z-index: 0;\\n    width: 0.5em;\\n    height: 1em;\\n    opacity: 0;\\n    background: transparent;\\n    -moz-appearance: none;\\n    appearance: none;\\n    border: none;\\n    resize: none;\\n    outline: none;\\n    overflow: hidden;\\n    font: inherit;\\n    padding: 0 1px;\\n    margin: 0 -1px;\\n    contain: strict;\\n    -ms-user-select: text;\\n    -moz-user-select: text;\\n    -webkit-user-select: text;\\n    user-select: text;\\n    /*with `pre-line` chrome inserts &nbsp; instead of space*/\\n    white-space: pre!important;\\n}\\n.ace_text-input.ace_composition {\\n    background: transparent;\\n    color: inherit;\\n    z-index: 1000;\\n    opacity: 1;\\n}\\n.ace_composition_placeholder { color: transparent }\\n.ace_composition_marker { \\n    border-bottom: 1px solid;\\n    position: absolute;\\n    border-radius: 0;\\n    margin-top: 1px;\\n}\\n\\n[ace_nocontext=true] {\\n    transform: none!important;\\n    filter: none!important;\\n    clip-path: none!important;\\n    mask : none!important;\\n    contain: none!important;\\n    perspective: none!important;\\n    mix-blend-mode: initial!important;\\n    z-index: auto;\\n}\\n\\n.ace_layer {\\n    z-index: 1;\\n    position: absolute;\\n    overflow: hidden;\\n    /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/\\n    word-wrap: normal;\\n    white-space: pre;\\n    height: 100%;\\n    width: 100%;\\n    box-sizing: border-box;\\n    /* setting pointer-events: auto; on node under the mouse, which changes\\n        during scroll, will break mouse wheel scrolling in Safari */\\n    pointer-events: none;\\n}\\n\\n.ace_gutter-layer {\\n    position: relative;\\n    width: auto;\\n    text-align: right;\\n    pointer-events: auto;\\n    height: 1000000px;\\n    contain: style size layout;\\n}\\n\\n.ace_text-layer {\\n    font: inherit !important;\\n    position: absolute;\\n    height: 1000000px;\\n    width: 1000000px;\\n    contain: style size layout;\\n}\\n\\n.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {\\n    contain: style size layout;\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    right: 0;\\n}\\n\\n.ace_hidpi .ace_text-layer,\\n.ace_hidpi .ace_gutter-layer,\\n.ace_hidpi .ace_content,\\n.ace_hidpi .ace_gutter {\\n    contain: strict;\\n}\\n.ace_hidpi .ace_text-layer > .ace_line, \\n.ace_hidpi .ace_text-layer > .ace_line_group {\\n    contain: strict;\\n}\\n\\n.ace_cjk {\\n    display: inline-block;\\n    text-align: center;\\n}\\n\\n.ace_cursor-layer {\\n    z-index: 4;\\n}\\n\\n.ace_cursor {\\n    z-index: 4;\\n    position: absolute;\\n    box-sizing: border-box;\\n    border-left: 2px solid;\\n    /* workaround for smooth cursor repaintng whole screen in chrome */\\n    transform: translatez(0);\\n}\\n\\n.ace_multiselect .ace_cursor {\\n    border-left-width: 1px;\\n}\\n\\n.ace_slim-cursors .ace_cursor {\\n    border-left-width: 1px;\\n}\\n\\n.ace_overwrite-cursors .ace_cursor {\\n    border-left-width: 0;\\n    border-bottom: 1px solid;\\n}\\n\\n.ace_hidden-cursors .ace_cursor {\\n    opacity: 0.2;\\n}\\n\\n.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {\\n    opacity: 0;\\n}\\n\\n.ace_smooth-blinking .ace_cursor {\\n    transition: opacity 0.18s;\\n}\\n\\n.ace_animate-blinking .ace_cursor {\\n    animation-duration: 1000ms;\\n    animation-timing-function: step-end;\\n    animation-name: blink-ace-animate;\\n    animation-iteration-count: infinite;\\n}\\n\\n.ace_animate-blinking.ace_smooth-blinking .ace_cursor {\\n    animation-duration: 1000ms;\\n    animation-timing-function: ease-in-out;\\n    animation-name: blink-ace-animate-smooth;\\n}\\n    \\n@keyframes blink-ace-animate {\\n    from, to { opacity: 1; }\\n    60% { opacity: 0; }\\n}\\n\\n@keyframes blink-ace-animate-smooth {\\n    from, to { opacity: 1; }\\n    45% { opacity: 1; }\\n    60% { opacity: 0; }\\n    85% { opacity: 0; }\\n}\\n\\n.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\\n    position: absolute;\\n    z-index: 3;\\n}\\n\\n.ace_marker-layer .ace_selection {\\n    position: absolute;\\n    z-index: 5;\\n}\\n\\n.ace_marker-layer .ace_bracket {\\n    position: absolute;\\n    z-index: 6;\\n}\\n\\n.ace_marker-layer .ace_error_bracket {\\n    position: absolute;\\n    border-bottom: 1px solid #DE5555;\\n    border-radius: 0;\\n}\\n\\n.ace_marker-layer .ace_active-line {\\n    position: absolute;\\n    z-index: 2;\\n}\\n\\n.ace_marker-layer .ace_selected-word {\\n    position: absolute;\\n    z-index: 4;\\n    box-sizing: border-box;\\n}\\n\\n.ace_line .ace_fold {\\n    box-sizing: border-box;\\n\\n    display: inline-block;\\n    height: 11px;\\n    margin-top: -2px;\\n    vertical-align: middle;\\n\\n    background-image:\\n        url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII=\\\"),\\n        url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=\\\");\\n    background-repeat: no-repeat, repeat-x;\\n    background-position: center center, top left;\\n    color: transparent;\\n\\n    border: 1px solid black;\\n    border-radius: 2px;\\n\\n    cursor: pointer;\\n    pointer-events: auto;\\n}\\n\\n.ace_dark .ace_fold {\\n}\\n\\n.ace_fold:hover{\\n    background-image:\\n        url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII=\\\"),\\n        url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC\\\");\\n}\\n\\n.ace_tooltip {\\n    background-color: #f5f5f5;\\n    border: 1px solid gray;\\n    border-radius: 1px;\\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\\n    color: black;\\n    max-width: 100%;\\n    padding: 3px 4px;\\n    position: fixed;\\n    z-index: 999999;\\n    box-sizing: border-box;\\n    cursor: default;\\n    white-space: pre-wrap;\\n    word-wrap: break-word;\\n    line-height: normal;\\n    font-style: normal;\\n    font-weight: normal;\\n    letter-spacing: normal;\\n    pointer-events: none;\\n    overflow: auto;\\n    max-width: min(60em, 66vw);\\n    overscroll-behavior: contain;\\n}\\n.ace_tooltip pre {\\n    white-space: pre-wrap;\\n}\\n\\n.ace_tooltip.ace_dark {\\n    background-color: #636363;\\n    color: #fff;\\n}\\n\\n.ace_tooltip:focus {\\n    outline: 1px solid #5E9ED6;\\n}\\n\\n.ace_icon {\\n    display: inline-block;\\n    width: 18px;\\n    vertical-align: top;\\n}\\n\\n.ace_icon_svg {\\n    display: inline-block;\\n    width: 12px;\\n    vertical-align: top;\\n    -webkit-mask-repeat: no-repeat;\\n    -webkit-mask-size: 12px;\\n    -webkit-mask-position: center;\\n}\\n\\n.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {\\n    padding-right: 13px;\\n}\\n\\n.ace_fold-widget {\\n    box-sizing: border-box;\\n\\n    margin: 0 -12px 0 1px;\\n    display: none;\\n    width: 11px;\\n    vertical-align: top;\\n\\n    background-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==\\\");\\n    background-repeat: no-repeat;\\n    background-position: center;\\n\\n    border-radius: 3px;\\n    \\n    border: 1px solid transparent;\\n    cursor: pointer;\\n}\\n\\n.ace_folding-enabled .ace_fold-widget {\\n    display: inline-block;   \\n}\\n\\n.ace_fold-widget.ace_end {\\n    background-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==\\\");\\n}\\n\\n.ace_fold-widget.ace_closed {\\n    background-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==\\\");\\n}\\n\\n.ace_fold-widget:hover {\\n    border: 1px solid rgba(0, 0, 0, 0.3);\\n    background-color: rgba(255, 255, 255, 0.2);\\n    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\\n}\\n\\n.ace_fold-widget:active {\\n    border: 1px solid rgba(0, 0, 0, 0.4);\\n    background-color: rgba(0, 0, 0, 0.05);\\n    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\\n}\\n/**\\n * Dark version for fold widgets\\n */\\n.ace_dark .ace_fold-widget {\\n    background-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC\\\");\\n}\\n.ace_dark .ace_fold-widget.ace_end {\\n    background-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==\\\");\\n}\\n.ace_dark .ace_fold-widget.ace_closed {\\n    background-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==\\\");\\n}\\n.ace_dark .ace_fold-widget:hover {\\n    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\\n    background-color: rgba(255, 255, 255, 0.1);\\n}\\n.ace_dark .ace_fold-widget:active {\\n    box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\\n}\\n\\n.ace_inline_button {\\n    border: 1px solid lightgray;\\n    display: inline-block;\\n    margin: -1px 8px;\\n    padding: 0 5px;\\n    pointer-events: auto;\\n    cursor: pointer;\\n}\\n.ace_inline_button:hover {\\n    border-color: gray;\\n    background: rgba(200,200,200,0.2);\\n    display: inline-block;\\n    pointer-events: auto;\\n}\\n\\n.ace_fold-widget.ace_invalid {\\n    background-color: #FFB4B4;\\n    border-color: #DE5555;\\n}\\n\\n.ace_fade-fold-widgets .ace_fold-widget {\\n    transition: opacity 0.4s ease 0.05s;\\n    opacity: 0;\\n}\\n\\n.ace_fade-fold-widgets:hover .ace_fold-widget {\\n    transition: opacity 0.05s ease 0.05s;\\n    opacity:1;\\n}\\n\\n.ace_underline {\\n    text-decoration: underline;\\n}\\n\\n.ace_bold {\\n    font-weight: bold;\\n}\\n\\n.ace_nobold .ace_bold {\\n    font-weight: normal;\\n}\\n\\n.ace_italic {\\n    font-style: italic;\\n}\\n\\n\\n.ace_error-marker {\\n    background-color: rgba(255, 0, 0,0.2);\\n    position: absolute;\\n    z-index: 9;\\n}\\n\\n.ace_highlight-marker {\\n    background-color: rgba(255, 255, 0,0.2);\\n    position: absolute;\\n    z-index: 8;\\n}\\n\\n.ace_mobile-menu {\\n    position: absolute;\\n    line-height: 1.5;\\n    border-radius: 4px;\\n    -ms-user-select: none;\\n    -moz-user-select: none;\\n    -webkit-user-select: none;\\n    user-select: none;\\n    background: white;\\n    box-shadow: 1px 3px 2px grey;\\n    border: 1px solid #dcdcdc;\\n    color: black;\\n}\\n.ace_dark > .ace_mobile-menu {\\n    background: #333;\\n    color: #ccc;\\n    box-shadow: 1px 3px 2px grey;\\n    border: 1px solid #444;\\n\\n}\\n.ace_mobile-button {\\n    padding: 2px;\\n    cursor: pointer;\\n    overflow: hidden;\\n}\\n.ace_mobile-button:hover {\\n    background-color: #eee;\\n    opacity:1;\\n}\\n.ace_mobile-button:active {\\n    background-color: #ddd;\\n}\\n\\n.ace_placeholder {\\n    position: relative;\\n    font-family: arial;\\n    transform: scale(0.9);\\n    transform-origin: left;\\n    white-space: pre;\\n    opacity: 0.7;\\n    margin: 0 10px;\\n    z-index: 1;\\n}\\n\\n.ace_ghost_text {\\n    opacity: 0.5;\\n    font-style: italic;\\n}\\n\\n.ace_ghost_text_container > div {\\n    white-space: pre;\\n}\\n\\n.ghost_text_line_wrapped::after {\\n    content: \\\"\\u21A9\\\";\\n    position: absolute;\\n}\\n\\n.ace_lineWidgetContainer.ace_ghost_text {\\n    margin: 0px 4px\\n}\\n\\n.ace_screenreader-only {\\n    position:absolute;\\n    left:-10000px;\\n    top:auto;\\n    width:1px;\\n    height:1px;\\n    overflow:hidden;\\n}\\n\\n.ace_hidden_token {\\n    display: none;\\n}\";\n\n});\n\nace.define(\"ace/layer/decorators\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/oop\",\"ace/lib/event_emitter\"], function(require, exports, module){\"use strict\";\nvar dom = require(\"../lib/dom\");\nvar oop = require(\"../lib/oop\");\nvar EventEmitter = require(\"../lib/event_emitter\").EventEmitter;\nvar Decorator = /** @class */ (function () {\n    function Decorator(parent, renderer) {\n        this.canvas = dom.createElement(\"canvas\");\n        this.renderer = renderer;\n        this.pixelRatio = 1;\n        this.maxHeight = renderer.layerConfig.maxHeight;\n        this.lineHeight = renderer.layerConfig.lineHeight;\n        this.canvasHeight = parent.parent.scrollHeight;\n        this.heightRatio = this.canvasHeight / this.maxHeight;\n        this.canvasWidth = parent.width;\n        this.minDecorationHeight = (2 * this.pixelRatio) | 0;\n        this.halfMinDecorationHeight = (this.minDecorationHeight / 2) | 0;\n        this.canvas.width = this.canvasWidth;\n        this.canvas.height = this.canvasHeight;\n        this.canvas.style.top = 0 + \"px\";\n        this.canvas.style.right = 0 + \"px\";\n        this.canvas.style.zIndex = 7 + \"px\";\n        this.canvas.style.position = \"absolute\";\n        this.colors = {};\n        this.colors.dark = {\n            \"error\": \"rgba(255, 18, 18, 1)\",\n            \"warning\": \"rgba(18, 136, 18, 1)\",\n            \"info\": \"rgba(18, 18, 136, 1)\"\n        };\n        this.colors.light = {\n            \"error\": \"rgb(255,51,51)\",\n            \"warning\": \"rgb(32,133,72)\",\n            \"info\": \"rgb(35,68,138)\"\n        };\n        parent.element.appendChild(this.canvas);\n    }\n    Decorator.prototype.$updateDecorators = function (config) {\n        var colors = (this.renderer.theme.isDark === true) ? this.colors.dark : this.colors.light;\n        if (config) {\n            this.maxHeight = config.maxHeight;\n            this.lineHeight = config.lineHeight;\n            this.canvasHeight = config.height;\n            var allLineHeight = (config.lastRow + 1) * this.lineHeight;\n            if (allLineHeight < this.canvasHeight) {\n                this.heightRatio = 1;\n            }\n            else {\n                this.heightRatio = this.canvasHeight / this.maxHeight;\n            }\n        }\n        var ctx = this.canvas.getContext(\"2d\");\n        function compare(a, b) {\n            if (a.priority < b.priority)\n                return -1;\n            if (a.priority > b.priority)\n                return 1;\n            return 0;\n        }\n        var annotations = this.renderer.session.$annotations;\n        ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n        if (annotations) {\n            var priorities = {\n                \"info\": 1,\n                \"warning\": 2,\n                \"error\": 3\n            };\n            annotations.forEach(function (item) {\n                item.priority = priorities[item.type] || null;\n            });\n            annotations = annotations.sort(compare);\n            var foldData = this.renderer.session.$foldData;\n            for (var i = 0; i < annotations.length; i++) {\n                var row = annotations[i].row;\n                var compensateFold = this.compensateFoldRows(row, foldData);\n                var currentY = Math.round((row - compensateFold) * this.lineHeight * this.heightRatio);\n                var y1 = Math.round(((row - compensateFold) * this.lineHeight * this.heightRatio));\n                var y2 = Math.round((((row - compensateFold) * this.lineHeight + this.lineHeight) * this.heightRatio));\n                var height = y2 - y1;\n                if (height < this.minDecorationHeight) {\n                    var yCenter = ((y1 + y2) / 2) | 0;\n                    if (yCenter < this.halfMinDecorationHeight) {\n                        yCenter = this.halfMinDecorationHeight;\n                    }\n                    else if (yCenter + this.halfMinDecorationHeight > this.canvasHeight) {\n                        yCenter = this.canvasHeight - this.halfMinDecorationHeight;\n                    }\n                    y1 = Math.round(yCenter - this.halfMinDecorationHeight);\n                    y2 = Math.round(yCenter + this.halfMinDecorationHeight);\n                }\n                ctx.fillStyle = colors[annotations[i].type] || null;\n                ctx.fillRect(0, currentY, this.canvasWidth, y2 - y1);\n            }\n        }\n        var cursor = this.renderer.session.selection.getCursor();\n        if (cursor) {\n            var compensateFold = this.compensateFoldRows(cursor.row, foldData);\n            var currentY = Math.round((cursor.row - compensateFold) * this.lineHeight * this.heightRatio);\n            ctx.fillStyle = \"rgba(0, 0, 0, 0.5)\";\n            ctx.fillRect(0, currentY, this.canvasWidth, 2);\n        }\n    };\n    Decorator.prototype.compensateFoldRows = function (row, foldData) {\n        var compensateFold = 0;\n        if (foldData && foldData.length > 0) {\n            for (var j = 0; j < foldData.length; j++) {\n                if (row > foldData[j].start.row && row < foldData[j].end.row) {\n                    compensateFold += row - foldData[j].start.row;\n                }\n                else if (row >= foldData[j].end.row) {\n                    compensateFold += foldData[j].end.row - foldData[j].start.row;\n                }\n            }\n        }\n        return compensateFold;\n    };\n    return Decorator;\n}());\noop.implement(Decorator.prototype, EventEmitter);\nexports.Decorator = Decorator;\n\n});\n\nace.define(\"ace/virtual_renderer\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/config\",\"ace/layer/gutter\",\"ace/layer/marker\",\"ace/layer/text\",\"ace/layer/cursor\",\"ace/scrollbar\",\"ace/scrollbar\",\"ace/scrollbar_custom\",\"ace/scrollbar_custom\",\"ace/renderloop\",\"ace/layer/font_metrics\",\"ace/lib/event_emitter\",\"ace/css/editor-css\",\"ace/layer/decorators\",\"ace/lib/useragent\",\"ace/layer/text_util\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"./lib/oop\");\nvar dom = require(\"./lib/dom\");\nvar lang = require(\"./lib/lang\");\nvar config = require(\"./config\");\nvar GutterLayer = require(\"./layer/gutter\").Gutter;\nvar MarkerLayer = require(\"./layer/marker\").Marker;\nvar TextLayer = require(\"./layer/text\").Text;\nvar CursorLayer = require(\"./layer/cursor\").Cursor;\nvar HScrollBar = require(\"./scrollbar\").HScrollBar;\nvar VScrollBar = require(\"./scrollbar\").VScrollBar;\nvar HScrollBarCustom = require(\"./scrollbar_custom\").HScrollBar;\nvar VScrollBarCustom = require(\"./scrollbar_custom\").VScrollBar;\nvar RenderLoop = require(\"./renderloop\").RenderLoop;\nvar FontMetrics = require(\"./layer/font_metrics\").FontMetrics;\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar editorCss = require(\"./css/editor-css\");\nvar Decorator = require(\"./layer/decorators\").Decorator;\nvar useragent = require(\"./lib/useragent\");\nvar isTextToken = require(\"./layer/text_util\").isTextToken;\ndom.importCssString(editorCss, \"ace_editor.css\", false);\nvar VirtualRenderer = /** @class */ (function () {\n    function VirtualRenderer(container, theme) {\n        var _self = this;\n        this.container = container || dom.createElement(\"div\");\n        dom.addCssClass(this.container, \"ace_editor\");\n        if (dom.HI_DPI)\n            dom.addCssClass(this.container, \"ace_hidpi\");\n        this.setTheme(theme);\n        if (config.get(\"useStrictCSP\") == null)\n            config.set(\"useStrictCSP\", false);\n        this.$gutter = dom.createElement(\"div\");\n        this.$gutter.className = \"ace_gutter\";\n        this.container.appendChild(this.$gutter);\n        this.$gutter.setAttribute(\"aria-hidden\", \"true\");\n        this.scroller = dom.createElement(\"div\");\n        this.scroller.className = \"ace_scroller\";\n        this.container.appendChild(this.scroller);\n        this.content = dom.createElement(\"div\");\n        this.content.className = \"ace_content\";\n        this.scroller.appendChild(this.content);\n        this.$gutterLayer = new GutterLayer(this.$gutter);\n        this.$gutterLayer.on(\"changeGutterWidth\", this.onGutterResize.bind(this));\n        this.$markerBack = new MarkerLayer(this.content);\n        var textLayer = this.$textLayer = new TextLayer(this.content);\n        this.canvas = textLayer.element;\n        this.$markerFront = new MarkerLayer(this.content);\n        this.$cursorLayer = new CursorLayer(this.content);\n        this.$horizScroll = false;\n        this.$vScroll = false;\n        this.scrollBar =\n            this.scrollBarV = new VScrollBar(this.container, this);\n        this.scrollBarH = new HScrollBar(this.container, this);\n        this.scrollBarV.on(\"scroll\", function (e) {\n            if (!_self.$scrollAnimation)\n                _self.session.setScrollTop(e.data - _self.scrollMargin.top);\n        });\n        this.scrollBarH.on(\"scroll\", function (e) {\n            if (!_self.$scrollAnimation)\n                _self.session.setScrollLeft(e.data - _self.scrollMargin.left);\n        });\n        this.scrollTop = 0;\n        this.scrollLeft = 0;\n        this.cursorPos = {\n            row: 0,\n            column: 0\n        };\n        this.$fontMetrics = new FontMetrics(this.container);\n        this.$textLayer.$setFontMetrics(this.$fontMetrics);\n        this.$textLayer.on(\"changeCharacterSize\", function (e) {\n            _self.updateCharacterSize();\n            _self.onResize(true, _self.gutterWidth, _self.$size.width, _self.$size.height);\n            _self._signal(\"changeCharacterSize\", e);\n        });\n        this.$size = {\n            width: 0,\n            height: 0,\n            scrollerHeight: 0,\n            scrollerWidth: 0,\n            $dirty: true\n        };\n        this.layerConfig = {\n            width: 1,\n            padding: 0,\n            firstRow: 0,\n            firstRowScreen: 0,\n            lastRow: 0,\n            lineHeight: 0,\n            characterWidth: 0,\n            minHeight: 1,\n            maxHeight: 1,\n            offset: 0,\n            height: 1,\n            gutterOffset: 1\n        };\n        this.scrollMargin = {\n            left: 0,\n            right: 0,\n            top: 0,\n            bottom: 0,\n            v: 0,\n            h: 0\n        };\n        this.margin = {\n            left: 0,\n            right: 0,\n            top: 0,\n            bottom: 0,\n            v: 0,\n            h: 0\n        };\n        this.$keepTextAreaAtCursor = !useragent.isIOS;\n        this.$loop = new RenderLoop(this.$renderChanges.bind(this), this.container.ownerDocument.defaultView);\n        this.$loop.schedule(this.CHANGE_FULL);\n        this.updateCharacterSize();\n        this.setPadding(4);\n        this.$addResizeObserver();\n        config.resetOptions(this);\n        config._signal(\"renderer\", this);\n    }\n    VirtualRenderer.prototype.updateCharacterSize = function () {\n        if (this.$textLayer.allowBoldFonts != this.$allowBoldFonts) {\n            this.$allowBoldFonts = this.$textLayer.allowBoldFonts;\n            this.setStyle(\"ace_nobold\", !this.$allowBoldFonts);\n        }\n        this.layerConfig.characterWidth =\n            this.characterWidth = this.$textLayer.getCharacterWidth();\n        this.layerConfig.lineHeight =\n            this.lineHeight = this.$textLayer.getLineHeight();\n        this.$updatePrintMargin();\n        dom.setStyle(this.scroller.style, \"line-height\", this.lineHeight + \"px\");\n    };\n    VirtualRenderer.prototype.setSession = function (session) {\n        if (this.session)\n            this.session.doc.off(\"changeNewLineMode\", this.onChangeNewLineMode);\n        this.session = session;\n        if (session && this.scrollMargin.top && session.getScrollTop() <= 0)\n            session.setScrollTop(-this.scrollMargin.top);\n        this.$cursorLayer.setSession(session);\n        this.$markerBack.setSession(session);\n        this.$markerFront.setSession(session);\n        this.$gutterLayer.setSession(session);\n        this.$textLayer.setSession(session);\n        if (!session)\n            return;\n        this.$loop.schedule(this.CHANGE_FULL);\n        this.session.$setFontMetrics(this.$fontMetrics);\n        this.scrollBarH.scrollLeft = this.scrollBarV.scrollTop = null;\n        this.onChangeNewLineMode = this.onChangeNewLineMode.bind(this);\n        this.onChangeNewLineMode();\n        this.session.doc.on(\"changeNewLineMode\", this.onChangeNewLineMode);\n    };\n    VirtualRenderer.prototype.updateLines = function (firstRow, lastRow, force) {\n        if (lastRow === undefined)\n            lastRow = Infinity;\n        if (!this.$changedLines) {\n            this.$changedLines = {\n                firstRow: firstRow,\n                lastRow: lastRow\n            };\n        }\n        else {\n            if (this.$changedLines.firstRow > firstRow)\n                this.$changedLines.firstRow = firstRow;\n            if (this.$changedLines.lastRow < lastRow)\n                this.$changedLines.lastRow = lastRow;\n        }\n        if (this.$changedLines.lastRow < this.layerConfig.firstRow) {\n            if (force)\n                this.$changedLines.lastRow = this.layerConfig.lastRow;\n            else\n                return;\n        }\n        if (this.$changedLines.firstRow > this.layerConfig.lastRow)\n            return;\n        this.$loop.schedule(this.CHANGE_LINES);\n    };\n    VirtualRenderer.prototype.onChangeNewLineMode = function () {\n        this.$loop.schedule(this.CHANGE_TEXT);\n        this.$textLayer.$updateEolChar();\n        this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR);\n    };\n    VirtualRenderer.prototype.onChangeTabSize = function () {\n        this.$loop.schedule(this.CHANGE_TEXT | this.CHANGE_MARKER);\n        this.$textLayer.onChangeTabSize();\n    };\n    VirtualRenderer.prototype.updateText = function () {\n        this.$loop.schedule(this.CHANGE_TEXT);\n    };\n    VirtualRenderer.prototype.updateFull = function (force) {\n        if (force)\n            this.$renderChanges(this.CHANGE_FULL, true);\n        else\n            this.$loop.schedule(this.CHANGE_FULL);\n    };\n    VirtualRenderer.prototype.updateFontSize = function () {\n        this.$textLayer.checkForSizeChanges();\n    };\n    VirtualRenderer.prototype.$updateSizeAsync = function () {\n        if (this.$loop.pending)\n            this.$size.$dirty = true;\n        else\n            this.onResize();\n    };\n    VirtualRenderer.prototype.onResize = function (force, gutterWidth, width, height) {\n        if (this.resizing > 2)\n            return;\n        else if (this.resizing > 0)\n            this.resizing++;\n        else\n            this.resizing = force ? 1 : 0;\n        var el = this.container;\n        if (!height)\n            height = el.clientHeight || el.scrollHeight;\n        if (!height && this.$maxLines && this.lineHeight > 1) {\n            if (!el.style.height || el.style.height == \"0px\") {\n                el.style.height = \"1px\";\n                height = el.clientHeight || el.scrollHeight;\n            }\n        }\n        if (!width)\n            width = el.clientWidth || el.scrollWidth;\n        var changes = this.$updateCachedSize(force, gutterWidth, width, height);\n        if (this.$resizeTimer)\n            this.$resizeTimer.cancel();\n        if (!this.$size.scrollerHeight || (!width && !height))\n            return this.resizing = 0;\n        if (force)\n            this.$gutterLayer.$padding = null;\n        if (force)\n            this.$renderChanges(changes | this.$changes, true);\n        else\n            this.$loop.schedule(changes | this.$changes);\n        if (this.resizing)\n            this.resizing = 0;\n        this.scrollBarH.scrollLeft = this.scrollBarV.scrollTop = null;\n        if (this.$customScrollbar) {\n            this.$updateCustomScrollbar(true);\n        }\n    };\n    VirtualRenderer.prototype.$updateCachedSize = function (force, gutterWidth, width, height) {\n        height -= (this.$extraHeight || 0);\n        var changes = 0;\n        var size = this.$size;\n        var oldSize = {\n            width: size.width,\n            height: size.height,\n            scrollerHeight: size.scrollerHeight,\n            scrollerWidth: size.scrollerWidth\n        };\n        if (height && (force || size.height != height)) {\n            size.height = height;\n            changes |= this.CHANGE_SIZE;\n            size.scrollerHeight = size.height;\n            if (this.$horizScroll)\n                size.scrollerHeight -= this.scrollBarH.getHeight();\n            this.scrollBarV.setHeight(size.scrollerHeight);\n            this.scrollBarV.element.style.bottom = this.scrollBarH.getHeight() + \"px\";\n            changes = changes | this.CHANGE_SCROLL;\n        }\n        if (width && (force || size.width != width)) {\n            changes |= this.CHANGE_SIZE;\n            size.width = width;\n            if (gutterWidth == null)\n                gutterWidth = this.$showGutter ? this.$gutter.offsetWidth : 0;\n            this.gutterWidth = gutterWidth;\n            dom.setStyle(this.scrollBarH.element.style, \"left\", gutterWidth + \"px\");\n            dom.setStyle(this.scroller.style, \"left\", gutterWidth + this.margin.left + \"px\");\n            size.scrollerWidth = Math.max(0, width - gutterWidth - this.scrollBarV.getWidth() - this.margin.h);\n            dom.setStyle(this.$gutter.style, \"left\", this.margin.left + \"px\");\n            var right = this.scrollBarV.getWidth() + \"px\";\n            dom.setStyle(this.scrollBarH.element.style, \"right\", right);\n            dom.setStyle(this.scroller.style, \"right\", right);\n            dom.setStyle(this.scroller.style, \"bottom\", this.scrollBarH.getHeight());\n            this.scrollBarH.setWidth(size.scrollerWidth);\n            if (this.session && this.session.getUseWrapMode() && this.adjustWrapLimit() || force) {\n                changes |= this.CHANGE_FULL;\n            }\n        }\n        size.$dirty = !width || !height;\n        if (changes)\n            this._signal(\"resize\", oldSize);\n        return changes;\n    };\n    VirtualRenderer.prototype.onGutterResize = function (width) {\n        var gutterWidth = this.$showGutter ? width : 0;\n        if (gutterWidth != this.gutterWidth)\n            this.$changes |= this.$updateCachedSize(true, gutterWidth, this.$size.width, this.$size.height);\n        if (this.session.getUseWrapMode() && this.adjustWrapLimit()) {\n            this.$loop.schedule(this.CHANGE_FULL);\n        }\n        else if (this.$size.$dirty) {\n            this.$loop.schedule(this.CHANGE_FULL);\n        }\n        else {\n            this.$computeLayerConfig();\n        }\n    };\n    VirtualRenderer.prototype.adjustWrapLimit = function () {\n        var availableWidth = this.$size.scrollerWidth - this.$padding * 2;\n        var limit = Math.floor(availableWidth / this.characterWidth);\n        return this.session.adjustWrapLimit(limit, this.$showPrintMargin && this.$printMarginColumn);\n    };\n    VirtualRenderer.prototype.setAnimatedScroll = function (shouldAnimate) {\n        this.setOption(\"animatedScroll\", shouldAnimate);\n    };\n    VirtualRenderer.prototype.getAnimatedScroll = function () {\n        return this.$animatedScroll;\n    };\n    VirtualRenderer.prototype.setShowInvisibles = function (showInvisibles) {\n        this.setOption(\"showInvisibles\", showInvisibles);\n        this.session.$bidiHandler.setShowInvisibles(showInvisibles);\n    };\n    VirtualRenderer.prototype.getShowInvisibles = function () {\n        return this.getOption(\"showInvisibles\");\n    };\n    VirtualRenderer.prototype.getDisplayIndentGuides = function () {\n        return this.getOption(\"displayIndentGuides\");\n    };\n    VirtualRenderer.prototype.setDisplayIndentGuides = function (display) {\n        this.setOption(\"displayIndentGuides\", display);\n    };\n    VirtualRenderer.prototype.getHighlightIndentGuides = function () {\n        return this.getOption(\"highlightIndentGuides\");\n    };\n    VirtualRenderer.prototype.setHighlightIndentGuides = function (highlight) {\n        this.setOption(\"highlightIndentGuides\", highlight);\n    };\n    VirtualRenderer.prototype.setShowPrintMargin = function (showPrintMargin) {\n        this.setOption(\"showPrintMargin\", showPrintMargin);\n    };\n    VirtualRenderer.prototype.getShowPrintMargin = function () {\n        return this.getOption(\"showPrintMargin\");\n    };\n    VirtualRenderer.prototype.setPrintMarginColumn = function (printMarginColumn) {\n        this.setOption(\"printMarginColumn\", printMarginColumn);\n    };\n    VirtualRenderer.prototype.getPrintMarginColumn = function () {\n        return this.getOption(\"printMarginColumn\");\n    };\n    VirtualRenderer.prototype.getShowGutter = function () {\n        return this.getOption(\"showGutter\");\n    };\n    VirtualRenderer.prototype.setShowGutter = function (show) {\n        return this.setOption(\"showGutter\", show);\n    };\n    VirtualRenderer.prototype.getFadeFoldWidgets = function () {\n        return this.getOption(\"fadeFoldWidgets\");\n    };\n    VirtualRenderer.prototype.setFadeFoldWidgets = function (show) {\n        this.setOption(\"fadeFoldWidgets\", show);\n    };\n    VirtualRenderer.prototype.setHighlightGutterLine = function (shouldHighlight) {\n        this.setOption(\"highlightGutterLine\", shouldHighlight);\n    };\n    VirtualRenderer.prototype.getHighlightGutterLine = function () {\n        return this.getOption(\"highlightGutterLine\");\n    };\n    VirtualRenderer.prototype.$updatePrintMargin = function () {\n        if (!this.$showPrintMargin && !this.$printMarginEl)\n            return;\n        if (!this.$printMarginEl) {\n            var containerEl = dom.createElement(\"div\");\n            containerEl.className = \"ace_layer ace_print-margin-layer\";\n            this.$printMarginEl = dom.createElement(\"div\");\n            this.$printMarginEl.className = \"ace_print-margin\";\n            containerEl.appendChild(this.$printMarginEl);\n            this.content.insertBefore(containerEl, this.content.firstChild);\n        }\n        var style = this.$printMarginEl.style;\n        style.left = Math.round(this.characterWidth * this.$printMarginColumn + this.$padding) + \"px\";\n        style.visibility = this.$showPrintMargin ? \"visible\" : \"hidden\";\n        if (this.session && this.session.$wrap == -1)\n            this.adjustWrapLimit();\n    };\n    VirtualRenderer.prototype.getContainerElement = function () {\n        return this.container;\n    };\n    VirtualRenderer.prototype.getMouseEventTarget = function () {\n        return this.scroller;\n    };\n    VirtualRenderer.prototype.getTextAreaContainer = function () {\n        return this.container;\n    };\n    VirtualRenderer.prototype.$moveTextAreaToCursor = function () {\n        if (this.$isMousePressed)\n            return;\n        var style = this.textarea.style;\n        var composition = this.$composition;\n        if (!this.$keepTextAreaAtCursor && !composition) {\n            dom.translate(this.textarea, -100, 0);\n            return;\n        }\n        var pixelPos = this.$cursorLayer.$pixelPos;\n        if (!pixelPos)\n            return;\n        if (composition && composition.markerRange)\n            pixelPos = this.$cursorLayer.getPixelPosition(composition.markerRange.start, true);\n        var config = this.layerConfig;\n        var posTop = pixelPos.top;\n        var posLeft = pixelPos.left;\n        posTop -= config.offset;\n        var h = composition && composition.useTextareaForIME || useragent.isMobile ? this.lineHeight : 1;\n        if (posTop < 0 || posTop > config.height - h) {\n            dom.translate(this.textarea, 0, 0);\n            return;\n        }\n        var w = 1;\n        var maxTop = this.$size.height - h;\n        if (!composition) {\n            posTop += this.lineHeight;\n        }\n        else {\n            if (composition.useTextareaForIME) {\n                var val = this.textarea.value;\n                w = this.characterWidth * (this.session.$getStringScreenWidth(val)[0]);\n            }\n            else {\n                posTop += this.lineHeight + 2;\n            }\n        }\n        posLeft -= this.scrollLeft;\n        if (posLeft > this.$size.scrollerWidth - w)\n            posLeft = this.$size.scrollerWidth - w;\n        posLeft += this.gutterWidth + this.margin.left;\n        dom.setStyle(style, \"height\", h + \"px\");\n        dom.setStyle(style, \"width\", w + \"px\");\n        dom.translate(this.textarea, Math.min(posLeft, this.$size.scrollerWidth - w), Math.min(posTop, maxTop));\n    };\n    VirtualRenderer.prototype.getFirstVisibleRow = function () {\n        return this.layerConfig.firstRow;\n    };\n    VirtualRenderer.prototype.getFirstFullyVisibleRow = function () {\n        return this.layerConfig.firstRow + (this.layerConfig.offset === 0 ? 0 : 1);\n    };\n    VirtualRenderer.prototype.getLastFullyVisibleRow = function () {\n        var config = this.layerConfig;\n        var lastRow = config.lastRow;\n        var top = this.session.documentToScreenRow(lastRow, 0) * config.lineHeight;\n        if (top - this.session.getScrollTop() > config.height - config.lineHeight)\n            return lastRow - 1;\n        return lastRow;\n    };\n    VirtualRenderer.prototype.getLastVisibleRow = function () {\n        return this.layerConfig.lastRow;\n    };\n    VirtualRenderer.prototype.setPadding = function (padding) {\n        this.$padding = padding;\n        this.$textLayer.setPadding(padding);\n        this.$cursorLayer.setPadding(padding);\n        this.$markerFront.setPadding(padding);\n        this.$markerBack.setPadding(padding);\n        this.$loop.schedule(this.CHANGE_FULL);\n        this.$updatePrintMargin();\n    };\n    VirtualRenderer.prototype.setScrollMargin = function (top, bottom, left, right) {\n        var sm = this.scrollMargin;\n        sm.top = top | 0;\n        sm.bottom = bottom | 0;\n        sm.right = right | 0;\n        sm.left = left | 0;\n        sm.v = sm.top + sm.bottom;\n        sm.h = sm.left + sm.right;\n        if (sm.top && this.scrollTop <= 0 && this.session)\n            this.session.setScrollTop(-sm.top);\n        this.updateFull();\n    };\n    VirtualRenderer.prototype.setMargin = function (top, bottom, left, right) {\n        var sm = this.margin;\n        sm.top = top | 0;\n        sm.bottom = bottom | 0;\n        sm.right = right | 0;\n        sm.left = left | 0;\n        sm.v = sm.top + sm.bottom;\n        sm.h = sm.left + sm.right;\n        this.$updateCachedSize(true, this.gutterWidth, this.$size.width, this.$size.height);\n        this.updateFull();\n    };\n    VirtualRenderer.prototype.getHScrollBarAlwaysVisible = function () {\n        return this.$hScrollBarAlwaysVisible;\n    };\n    VirtualRenderer.prototype.setHScrollBarAlwaysVisible = function (alwaysVisible) {\n        this.setOption(\"hScrollBarAlwaysVisible\", alwaysVisible);\n    };\n    VirtualRenderer.prototype.getVScrollBarAlwaysVisible = function () {\n        return this.$vScrollBarAlwaysVisible;\n    };\n    VirtualRenderer.prototype.setVScrollBarAlwaysVisible = function (alwaysVisible) {\n        this.setOption(\"vScrollBarAlwaysVisible\", alwaysVisible);\n    };\n    VirtualRenderer.prototype.$updateScrollBarV = function () {\n        var scrollHeight = this.layerConfig.maxHeight;\n        var scrollerHeight = this.$size.scrollerHeight;\n        if (!this.$maxLines && this.$scrollPastEnd) {\n            scrollHeight -= (scrollerHeight - this.lineHeight) * this.$scrollPastEnd;\n            if (this.scrollTop > scrollHeight - scrollerHeight) {\n                scrollHeight = this.scrollTop + scrollerHeight;\n                this.scrollBarV.scrollTop = null;\n            }\n        }\n        this.scrollBarV.setScrollHeight(scrollHeight + this.scrollMargin.v);\n        this.scrollBarV.setScrollTop(this.scrollTop + this.scrollMargin.top);\n    };\n    VirtualRenderer.prototype.$updateScrollBarH = function () {\n        this.scrollBarH.setScrollWidth(this.layerConfig.width + 2 * this.$padding + this.scrollMargin.h);\n        this.scrollBarH.setScrollLeft(this.scrollLeft + this.scrollMargin.left);\n    };\n    VirtualRenderer.prototype.freeze = function () {\n        this.$frozen = true;\n    };\n    VirtualRenderer.prototype.unfreeze = function () {\n        this.$frozen = false;\n    };\n    VirtualRenderer.prototype.$renderChanges = function (changes, force) {\n        if (this.$changes) {\n            changes |= this.$changes;\n            this.$changes = 0;\n        }\n        if ((!this.session || !this.container.offsetWidth || this.$frozen) || (!changes && !force)) {\n            this.$changes |= changes;\n            return;\n        }\n        if (this.$size.$dirty) {\n            this.$changes |= changes;\n            return this.onResize(true);\n        }\n        if (!this.lineHeight) {\n            this.$textLayer.checkForSizeChanges();\n        }\n        this._signal(\"beforeRender\", changes);\n        if (this.session && this.session.$bidiHandler)\n            this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);\n        var config = this.layerConfig;\n        if (changes & this.CHANGE_FULL ||\n            changes & this.CHANGE_SIZE ||\n            changes & this.CHANGE_TEXT ||\n            changes & this.CHANGE_LINES ||\n            changes & this.CHANGE_SCROLL ||\n            changes & this.CHANGE_H_SCROLL) {\n            changes |= this.$computeLayerConfig() | this.$loop.clear();\n            if (config.firstRow != this.layerConfig.firstRow && config.firstRowScreen == this.layerConfig.firstRowScreen) {\n                var st = this.scrollTop + (config.firstRow - Math.max(this.layerConfig.firstRow, 0)) * this.lineHeight;\n                if (st > 0) {\n                    this.scrollTop = st;\n                    changes = changes | this.CHANGE_SCROLL;\n                    changes |= this.$computeLayerConfig() | this.$loop.clear();\n                }\n            }\n            config = this.layerConfig;\n            this.$updateScrollBarV();\n            if (changes & this.CHANGE_H_SCROLL)\n                this.$updateScrollBarH();\n            dom.translate(this.content, -this.scrollLeft, -config.offset);\n            var width = config.width + 2 * this.$padding + \"px\";\n            var height = config.minHeight + \"px\";\n            dom.setStyle(this.content.style, \"width\", width);\n            dom.setStyle(this.content.style, \"height\", height);\n        }\n        if (changes & this.CHANGE_H_SCROLL) {\n            dom.translate(this.content, -this.scrollLeft, -config.offset);\n            this.scroller.className = this.scrollLeft <= 0 ? \"ace_scroller \" : \"ace_scroller ace_scroll-left \";\n            if (this.enableKeyboardAccessibility)\n                this.scroller.className += this.keyboardFocusClassName;\n        }\n        if (changes & this.CHANGE_FULL) {\n            this.$changedLines = null;\n            this.$textLayer.update(config);\n            if (this.$showGutter)\n                this.$gutterLayer.update(config);\n            if (this.$customScrollbar) {\n                this.$scrollDecorator.$updateDecorators(config);\n            }\n            this.$markerBack.update(config);\n            this.$markerFront.update(config);\n            this.$cursorLayer.update(config);\n            this.$moveTextAreaToCursor();\n            this._signal(\"afterRender\", changes);\n            return;\n        }\n        if (changes & this.CHANGE_SCROLL) {\n            this.$changedLines = null;\n            if (changes & this.CHANGE_TEXT || changes & this.CHANGE_LINES)\n                this.$textLayer.update(config);\n            else\n                this.$textLayer.scrollLines(config);\n            if (this.$showGutter) {\n                if (changes & this.CHANGE_GUTTER || changes & this.CHANGE_LINES)\n                    this.$gutterLayer.update(config);\n                else\n                    this.$gutterLayer.scrollLines(config);\n            }\n            if (this.$customScrollbar) {\n                this.$scrollDecorator.$updateDecorators(config);\n            }\n            this.$markerBack.update(config);\n            this.$markerFront.update(config);\n            this.$cursorLayer.update(config);\n            this.$moveTextAreaToCursor();\n            this._signal(\"afterRender\", changes);\n            return;\n        }\n        if (changes & this.CHANGE_TEXT) {\n            this.$changedLines = null;\n            this.$textLayer.update(config);\n            if (this.$showGutter)\n                this.$gutterLayer.update(config);\n            if (this.$customScrollbar) {\n                this.$scrollDecorator.$updateDecorators(config);\n            }\n        }\n        else if (changes & this.CHANGE_LINES) {\n            if (this.$updateLines() || (changes & this.CHANGE_GUTTER) && this.$showGutter)\n                this.$gutterLayer.update(config);\n            if (this.$customScrollbar) {\n                this.$scrollDecorator.$updateDecorators(config);\n            }\n        }\n        else if (changes & this.CHANGE_TEXT || changes & this.CHANGE_GUTTER) {\n            if (this.$showGutter)\n                this.$gutterLayer.update(config);\n            if (this.$customScrollbar) {\n                this.$scrollDecorator.$updateDecorators(config);\n            }\n        }\n        else if (changes & this.CHANGE_CURSOR) {\n            if (this.$highlightGutterLine)\n                this.$gutterLayer.updateLineHighlight(config);\n            if (this.$customScrollbar) {\n                this.$scrollDecorator.$updateDecorators(config);\n            }\n        }\n        if (changes & this.CHANGE_CURSOR) {\n            this.$cursorLayer.update(config);\n            this.$moveTextAreaToCursor();\n        }\n        if (changes & (this.CHANGE_MARKER | this.CHANGE_MARKER_FRONT)) {\n            this.$markerFront.update(config);\n        }\n        if (changes & (this.CHANGE_MARKER | this.CHANGE_MARKER_BACK)) {\n            this.$markerBack.update(config);\n        }\n        this._signal(\"afterRender\", changes);\n    };\n    VirtualRenderer.prototype.$autosize = function () {\n        var height = this.session.getScreenLength() * this.lineHeight;\n        var maxHeight = this.$maxLines * this.lineHeight;\n        var desiredHeight = Math.min(maxHeight, Math.max((this.$minLines || 1) * this.lineHeight, height)) + this.scrollMargin.v + (this.$extraHeight || 0);\n        if (this.$horizScroll)\n            desiredHeight += this.scrollBarH.getHeight();\n        if (this.$maxPixelHeight && desiredHeight > this.$maxPixelHeight)\n            desiredHeight = this.$maxPixelHeight;\n        var hideScrollbars = desiredHeight <= 2 * this.lineHeight;\n        var vScroll = !hideScrollbars && height > maxHeight;\n        if (desiredHeight != this.desiredHeight ||\n            this.$size.height != this.desiredHeight || vScroll != this.$vScroll) {\n            if (vScroll != this.$vScroll) {\n                this.$vScroll = vScroll;\n                this.scrollBarV.setVisible(vScroll);\n            }\n            var w = this.container.clientWidth;\n            this.container.style.height = desiredHeight + \"px\";\n            this.$updateCachedSize(true, this.$gutterWidth, w, desiredHeight);\n            this.desiredHeight = desiredHeight;\n            this._signal(\"autosize\");\n        }\n    };\n    VirtualRenderer.prototype.$computeLayerConfig = function () {\n        var session = this.session;\n        var size = this.$size;\n        var hideScrollbars = size.height <= 2 * this.lineHeight;\n        var screenLines = this.session.getScreenLength();\n        var maxHeight = screenLines * this.lineHeight;\n        var longestLine = this.$getLongestLine();\n        var horizScroll = !hideScrollbars && (this.$hScrollBarAlwaysVisible ||\n            size.scrollerWidth - longestLine - 2 * this.$padding < 0);\n        var hScrollChanged = this.$horizScroll !== horizScroll;\n        if (hScrollChanged) {\n            this.$horizScroll = horizScroll;\n            this.scrollBarH.setVisible(horizScroll);\n        }\n        var vScrollBefore = this.$vScroll; // autosize can change vscroll value in which case we need to update longestLine\n        if (this.$maxLines && this.lineHeight > 1)\n            this.$autosize();\n        var minHeight = size.scrollerHeight + this.lineHeight;\n        var scrollPastEnd = !this.$maxLines && this.$scrollPastEnd\n            ? (size.scrollerHeight - this.lineHeight) * this.$scrollPastEnd\n            : 0;\n        maxHeight += scrollPastEnd;\n        var sm = this.scrollMargin;\n        this.session.setScrollTop(Math.max(-sm.top, Math.min(this.scrollTop, maxHeight - size.scrollerHeight + sm.bottom)));\n        this.session.setScrollLeft(Math.max(-sm.left, Math.min(this.scrollLeft, longestLine + 2 * this.$padding - size.scrollerWidth + sm.right)));\n        var vScroll = !hideScrollbars && (this.$vScrollBarAlwaysVisible ||\n            size.scrollerHeight - maxHeight + scrollPastEnd < 0 || this.scrollTop > sm.top);\n        var vScrollChanged = vScrollBefore !== vScroll;\n        if (vScrollChanged) {\n            this.$vScroll = vScroll;\n            this.scrollBarV.setVisible(vScroll);\n        }\n        var offset = this.scrollTop % this.lineHeight;\n        var lineCount = Math.ceil(minHeight / this.lineHeight) - 1;\n        var firstRow = Math.max(0, Math.round((this.scrollTop - offset) / this.lineHeight));\n        var lastRow = firstRow + lineCount;\n        var firstRowScreen, firstRowHeight;\n        var lineHeight = this.lineHeight;\n        firstRow = session.screenToDocumentRow(firstRow, 0);\n        var foldLine = session.getFoldLine(firstRow);\n        if (foldLine) {\n            firstRow = foldLine.start.row;\n        }\n        firstRowScreen = session.documentToScreenRow(firstRow, 0);\n        firstRowHeight = session.getRowLength(firstRow) * lineHeight;\n        lastRow = Math.min(session.screenToDocumentRow(lastRow, 0), session.getLength() - 1);\n        minHeight = size.scrollerHeight + session.getRowLength(lastRow) * lineHeight +\n            firstRowHeight;\n        offset = this.scrollTop - firstRowScreen * lineHeight;\n        var changes = 0;\n        if (this.layerConfig.width != longestLine || hScrollChanged)\n            changes = this.CHANGE_H_SCROLL;\n        if (hScrollChanged || vScrollChanged) {\n            changes |= this.$updateCachedSize(true, this.gutterWidth, size.width, size.height);\n            this._signal(\"scrollbarVisibilityChanged\");\n            if (vScrollChanged)\n                longestLine = this.$getLongestLine();\n        }\n        this.layerConfig = {\n            width: longestLine,\n            padding: this.$padding,\n            firstRow: firstRow,\n            firstRowScreen: firstRowScreen,\n            lastRow: lastRow,\n            lineHeight: lineHeight,\n            characterWidth: this.characterWidth,\n            minHeight: minHeight,\n            maxHeight: maxHeight,\n            offset: offset,\n            gutterOffset: lineHeight ? Math.max(0, Math.ceil((offset + size.height - size.scrollerHeight) / lineHeight)) : 0,\n            height: this.$size.scrollerHeight\n        };\n        if (this.session.$bidiHandler)\n            this.session.$bidiHandler.setContentWidth(longestLine - this.$padding);\n        return changes;\n    };\n    VirtualRenderer.prototype.$updateLines = function () {\n        if (!this.$changedLines)\n            return;\n        var firstRow = this.$changedLines.firstRow;\n        var lastRow = this.$changedLines.lastRow;\n        this.$changedLines = null;\n        var layerConfig = this.layerConfig;\n        if (firstRow > layerConfig.lastRow + 1) {\n            return;\n        }\n        if (lastRow < layerConfig.firstRow) {\n            return;\n        }\n        if (lastRow === Infinity) {\n            if (this.$showGutter)\n                this.$gutterLayer.update(layerConfig);\n            this.$textLayer.update(layerConfig);\n            return;\n        }\n        this.$textLayer.updateLines(layerConfig, firstRow, lastRow);\n        return true;\n    };\n    VirtualRenderer.prototype.$getLongestLine = function () {\n        var charCount = this.session.getScreenWidth();\n        if (this.showInvisibles && !this.session.$useWrapMode)\n            charCount += 1;\n        if (this.$textLayer && charCount > this.$textLayer.MAX_LINE_LENGTH)\n            charCount = this.$textLayer.MAX_LINE_LENGTH + 30;\n        return Math.max(this.$size.scrollerWidth - 2 * this.$padding, Math.round(charCount * this.characterWidth));\n    };\n    VirtualRenderer.prototype.updateFrontMarkers = function () {\n        this.$markerFront.setMarkers(this.session.getMarkers(true));\n        this.$loop.schedule(this.CHANGE_MARKER_FRONT);\n    };\n    VirtualRenderer.prototype.updateBackMarkers = function () {\n        this.$markerBack.setMarkers(this.session.getMarkers());\n        this.$loop.schedule(this.CHANGE_MARKER_BACK);\n    };\n    VirtualRenderer.prototype.addGutterDecoration = function (row, className) {\n        this.$gutterLayer.addGutterDecoration(row, className);\n    };\n    VirtualRenderer.prototype.removeGutterDecoration = function (row, className) {\n        this.$gutterLayer.removeGutterDecoration(row, className);\n    };\n    VirtualRenderer.prototype.updateBreakpoints = function (rows) {\n        this._rows = rows;\n        this.$loop.schedule(this.CHANGE_GUTTER);\n    };\n    VirtualRenderer.prototype.setAnnotations = function (annotations) {\n        this.$gutterLayer.setAnnotations(annotations);\n        this.$loop.schedule(this.CHANGE_GUTTER);\n    };\n    VirtualRenderer.prototype.updateCursor = function () {\n        this.$loop.schedule(this.CHANGE_CURSOR);\n    };\n    VirtualRenderer.prototype.hideCursor = function () {\n        this.$cursorLayer.hideCursor();\n    };\n    VirtualRenderer.prototype.showCursor = function () {\n        this.$cursorLayer.showCursor();\n    };\n    VirtualRenderer.prototype.scrollSelectionIntoView = function (anchor, lead, offset) {\n        this.scrollCursorIntoView(anchor, offset);\n        this.scrollCursorIntoView(lead, offset);\n    };\n    VirtualRenderer.prototype.scrollCursorIntoView = function (cursor, offset, $viewMargin) {\n        if (this.$size.scrollerHeight === 0)\n            return;\n        var pos = this.$cursorLayer.getPixelPosition(cursor);\n        var newLeft = pos.left;\n        var newTop = pos.top;\n        var topMargin = $viewMargin && $viewMargin.top || 0;\n        var bottomMargin = $viewMargin && $viewMargin.bottom || 0;\n        if (this.$scrollAnimation) {\n            this.$stopAnimation = true;\n        }\n        var currentTop = this.$scrollAnimation ? this.session.getScrollTop() : this.scrollTop;\n        if (currentTop + topMargin > newTop) {\n            if (offset && currentTop + topMargin > newTop + this.lineHeight)\n                newTop -= offset * this.$size.scrollerHeight;\n            if (newTop === 0)\n                newTop = -this.scrollMargin.top;\n            this.session.setScrollTop(newTop);\n        }\n        else if (currentTop + this.$size.scrollerHeight - bottomMargin < newTop + this.lineHeight) {\n            if (offset && currentTop + this.$size.scrollerHeight - bottomMargin < newTop - this.lineHeight)\n                newTop += offset * this.$size.scrollerHeight;\n            this.session.setScrollTop(newTop + this.lineHeight + bottomMargin - this.$size.scrollerHeight);\n        }\n        var currentLeft = this.scrollLeft;\n        var twoCharsWidth = 2 * this.layerConfig.characterWidth;\n        if (newLeft - twoCharsWidth < currentLeft) {\n            newLeft -= twoCharsWidth;\n            if (newLeft < this.$padding + twoCharsWidth) {\n                newLeft = -this.scrollMargin.left;\n            }\n            this.session.setScrollLeft(newLeft);\n        }\n        else {\n            newLeft += twoCharsWidth;\n            if (currentLeft + this.$size.scrollerWidth < newLeft + this.characterWidth) {\n                this.session.setScrollLeft(Math.round(newLeft + this.characterWidth - this.$size.scrollerWidth));\n            }\n            else if (currentLeft <= this.$padding && newLeft - currentLeft < this.characterWidth) {\n                this.session.setScrollLeft(0);\n            }\n        }\n    };\n    VirtualRenderer.prototype.getScrollTop = function () {\n        return this.session.getScrollTop();\n    };\n    VirtualRenderer.prototype.getScrollLeft = function () {\n        return this.session.getScrollLeft();\n    };\n    VirtualRenderer.prototype.getScrollTopRow = function () {\n        return this.scrollTop / this.lineHeight;\n    };\n    VirtualRenderer.prototype.getScrollBottomRow = function () {\n        return Math.max(0, Math.floor((this.scrollTop + this.$size.scrollerHeight) / this.lineHeight) - 1);\n    };\n    VirtualRenderer.prototype.scrollToRow = function (row) {\n        this.session.setScrollTop(row * this.lineHeight);\n    };\n    VirtualRenderer.prototype.alignCursor = function (cursor, alignment) {\n        if (typeof cursor == \"number\")\n            cursor = { row: cursor, column: 0 };\n        var pos = this.$cursorLayer.getPixelPosition(cursor);\n        var h = this.$size.scrollerHeight - this.lineHeight;\n        var offset = pos.top - h * (alignment || 0);\n        this.session.setScrollTop(offset);\n        return offset;\n    };\n    VirtualRenderer.prototype.$calcSteps = function (fromValue, toValue) {\n        var i = 0;\n        var l = this.STEPS;\n        var steps = [];\n        var func = function (t, x_min, dx) {\n            return dx * (Math.pow(t - 1, 3) + 1) + x_min;\n        };\n        for (i = 0; i < l; ++i)\n            steps.push(func(i / this.STEPS, fromValue, toValue - fromValue));\n        return steps;\n    };\n    VirtualRenderer.prototype.scrollToLine = function (line, center, animate, callback) {\n        var pos = this.$cursorLayer.getPixelPosition({ row: line, column: 0 });\n        var offset = pos.top;\n        if (center)\n            offset -= this.$size.scrollerHeight / 2;\n        var initialScroll = this.scrollTop;\n        this.session.setScrollTop(offset);\n        if (animate !== false)\n            this.animateScrolling(initialScroll, callback);\n    };\n    VirtualRenderer.prototype.animateScrolling = function (fromValue, callback) {\n        var toValue = this.scrollTop;\n        if (!this.$animatedScroll)\n            return;\n        var _self = this;\n        if (fromValue == toValue)\n            return;\n        if (this.$scrollAnimation) {\n            var oldSteps = this.$scrollAnimation.steps;\n            if (oldSteps.length) {\n                fromValue = oldSteps[0];\n                if (fromValue == toValue)\n                    return;\n            }\n        }\n        var steps = _self.$calcSteps(fromValue, toValue);\n        this.$scrollAnimation = { from: fromValue, to: toValue, steps: steps };\n        clearInterval(this.$timer);\n        _self.session.setScrollTop(steps.shift());\n        _self.session.$scrollTop = toValue;\n        function endAnimation() {\n            _self.$timer = clearInterval(_self.$timer);\n            _self.$scrollAnimation = null;\n            _self.$stopAnimation = false;\n            callback && callback();\n        }\n        this.$timer = setInterval(function () {\n            if (_self.$stopAnimation) {\n                endAnimation();\n                return;\n            }\n            if (!_self.session)\n                return clearInterval(_self.$timer);\n            if (steps.length) {\n                _self.session.setScrollTop(steps.shift());\n                _self.session.$scrollTop = toValue;\n            }\n            else if (toValue != null) {\n                _self.session.$scrollTop = -1;\n                _self.session.setScrollTop(toValue);\n                toValue = null;\n            }\n            else {\n                endAnimation();\n            }\n        }, 10);\n    };\n    VirtualRenderer.prototype.scrollToY = function (scrollTop) {\n        if (this.scrollTop !== scrollTop) {\n            this.$loop.schedule(this.CHANGE_SCROLL);\n            this.scrollTop = scrollTop;\n        }\n    };\n    VirtualRenderer.prototype.scrollToX = function (scrollLeft) {\n        if (this.scrollLeft !== scrollLeft)\n            this.scrollLeft = scrollLeft;\n        this.$loop.schedule(this.CHANGE_H_SCROLL);\n    };\n    VirtualRenderer.prototype.scrollTo = function (x, y) {\n        this.session.setScrollTop(y);\n        this.session.setScrollLeft(x);\n    };\n    VirtualRenderer.prototype.scrollBy = function (deltaX, deltaY) {\n        deltaY && this.session.setScrollTop(this.session.getScrollTop() + deltaY);\n        deltaX && this.session.setScrollLeft(this.session.getScrollLeft() + deltaX);\n    };\n    VirtualRenderer.prototype.isScrollableBy = function (deltaX, deltaY) {\n        if (deltaY < 0 && this.session.getScrollTop() >= 1 - this.scrollMargin.top)\n            return true;\n        if (deltaY > 0 && this.session.getScrollTop() + this.$size.scrollerHeight\n            - this.layerConfig.maxHeight < -1 + this.scrollMargin.bottom)\n            return true;\n        if (deltaX < 0 && this.session.getScrollLeft() >= 1 - this.scrollMargin.left)\n            return true;\n        if (deltaX > 0 && this.session.getScrollLeft() + this.$size.scrollerWidth\n            - this.layerConfig.width < -1 + this.scrollMargin.right)\n            return true;\n    };\n    VirtualRenderer.prototype.pixelToScreenCoordinates = function (x, y) {\n        var canvasPos;\n        if (this.$hasCssTransforms) {\n            canvasPos = { top: 0, left: 0 };\n            var p = this.$fontMetrics.transformCoordinates([x, y]);\n            x = p[1] - this.gutterWidth - this.margin.left;\n            y = p[0];\n        }\n        else {\n            canvasPos = this.scroller.getBoundingClientRect();\n        }\n        var offsetX = x + this.scrollLeft - canvasPos.left - this.$padding;\n        var offset = offsetX / this.characterWidth;\n        var row = Math.floor((y + this.scrollTop - canvasPos.top) / this.lineHeight);\n        var col = this.$blockCursor ? Math.floor(offset) : Math.round(offset);\n        return { row: row, column: col, side: offset - col > 0 ? 1 : -1, offsetX: offsetX };\n    };\n    VirtualRenderer.prototype.screenToTextCoordinates = function (x, y) {\n        var canvasPos;\n        if (this.$hasCssTransforms) {\n            canvasPos = { top: 0, left: 0 };\n            var p = this.$fontMetrics.transformCoordinates([x, y]);\n            x = p[1] - this.gutterWidth - this.margin.left;\n            y = p[0];\n        }\n        else {\n            canvasPos = this.scroller.getBoundingClientRect();\n        }\n        var offsetX = x + this.scrollLeft - canvasPos.left - this.$padding;\n        var offset = offsetX / this.characterWidth;\n        var col = this.$blockCursor ? Math.floor(offset) : Math.round(offset);\n        var row = Math.floor((y + this.scrollTop - canvasPos.top) / this.lineHeight);\n        return this.session.screenToDocumentPosition(row, Math.max(col, 0), offsetX);\n    };\n    VirtualRenderer.prototype.textToScreenCoordinates = function (row, column) {\n        var canvasPos = this.scroller.getBoundingClientRect();\n        var pos = this.session.documentToScreenPosition(row, column);\n        var x = this.$padding + (this.session.$bidiHandler.isBidiRow(pos.row, row)\n            ? this.session.$bidiHandler.getPosLeft(pos.column)\n            : Math.round(pos.column * this.characterWidth));\n        var y = pos.row * this.lineHeight;\n        return {\n            pageX: canvasPos.left + x - this.scrollLeft,\n            pageY: canvasPos.top + y - this.scrollTop\n        };\n    };\n    VirtualRenderer.prototype.visualizeFocus = function () {\n        dom.addCssClass(this.container, \"ace_focus\");\n    };\n    VirtualRenderer.prototype.visualizeBlur = function () {\n        dom.removeCssClass(this.container, \"ace_focus\");\n    };\n    VirtualRenderer.prototype.showComposition = function (composition) {\n        this.$composition = composition;\n        if (!composition.cssText) {\n            composition.cssText = this.textarea.style.cssText;\n        }\n        if (composition.useTextareaForIME == undefined)\n            composition.useTextareaForIME = this.$useTextareaForIME;\n        if (this.$useTextareaForIME) {\n            dom.addCssClass(this.textarea, \"ace_composition\");\n            this.textarea.style.cssText = \"\";\n            this.$moveTextAreaToCursor();\n            this.$cursorLayer.element.style.display = \"none\";\n        }\n        else {\n            composition.markerId = this.session.addMarker(composition.markerRange, \"ace_composition_marker\", \"text\");\n        }\n    };\n    VirtualRenderer.prototype.setCompositionText = function (text) {\n        var cursor = this.session.selection.cursor;\n        this.addToken(text, \"composition_placeholder\", cursor.row, cursor.column);\n        this.$moveTextAreaToCursor();\n    };\n    VirtualRenderer.prototype.hideComposition = function () {\n        if (!this.$composition)\n            return;\n        if (this.$composition.markerId)\n            this.session.removeMarker(this.$composition.markerId);\n        dom.removeCssClass(this.textarea, \"ace_composition\");\n        this.textarea.style.cssText = this.$composition.cssText;\n        var cursor = this.session.selection.cursor;\n        this.removeExtraToken(cursor.row, cursor.column);\n        this.$composition = null;\n        this.$cursorLayer.element.style.display = \"\";\n    };\n    VirtualRenderer.prototype.setGhostText = function (text, position) {\n        var cursor = this.session.selection.cursor;\n        var insertPosition = position || { row: cursor.row, column: cursor.column };\n        this.removeGhostText();\n        var textChunks = this.$calculateWrappedTextChunks(text, insertPosition);\n        this.addToken(textChunks[0].text, \"ghost_text\", insertPosition.row, insertPosition.column);\n        this.$ghostText = {\n            text: text,\n            position: {\n                row: insertPosition.row,\n                column: insertPosition.column\n            }\n        };\n        var widgetDiv = dom.createElement(\"div\");\n        if (textChunks.length > 1) {\n            var hiddenTokens = this.hideTokensAfterPosition(insertPosition.row, insertPosition.column);\n            var lastLineDiv;\n            textChunks.slice(1).forEach(function (el) {\n                var chunkDiv = dom.createElement(\"div\");\n                var chunkSpan = dom.createElement(\"span\");\n                chunkSpan.className = \"ace_ghost_text\";\n                if (el.wrapped)\n                    chunkDiv.className = \"ghost_text_line_wrapped\";\n                if (el.text.length === 0)\n                    el.text = \" \";\n                chunkSpan.appendChild(dom.createTextNode(el.text));\n                chunkDiv.appendChild(chunkSpan);\n                widgetDiv.appendChild(chunkDiv);\n                lastLineDiv = chunkDiv;\n            });\n            hiddenTokens.forEach(function (token) {\n                var element = dom.createElement(\"span\");\n                if (!isTextToken(token.type))\n                    element.className = \"ace_\" + token.type.replace(/\\./g, \" ace_\");\n                element.appendChild(dom.createTextNode(token.value));\n                lastLineDiv.appendChild(element);\n            });\n            this.$ghostTextWidget = {\n                el: widgetDiv,\n                row: insertPosition.row,\n                column: insertPosition.column,\n                className: \"ace_ghost_text_container\"\n            };\n            this.session.widgetManager.addLineWidget(this.$ghostTextWidget);\n            var pixelPosition = this.$cursorLayer.getPixelPosition(insertPosition, true);\n            var el = this.container;\n            var height = el.getBoundingClientRect().height;\n            var ghostTextHeight = textChunks.length * this.lineHeight;\n            var fitsY = ghostTextHeight < (height - pixelPosition.top);\n            if (fitsY)\n                return;\n            if (ghostTextHeight < height) {\n                this.scrollBy(0, (textChunks.length - 1) * this.lineHeight);\n            }\n            else {\n                this.scrollToRow(insertPosition.row);\n            }\n        }\n    };\n    VirtualRenderer.prototype.$calculateWrappedTextChunks = function (text, position) {\n        var availableWidth = this.$size.scrollerWidth - this.$padding * 2;\n        var limit = Math.floor(availableWidth / this.characterWidth) - 2;\n        limit = limit <= 0 ? 60 : limit; // this is a hack to prevent the editor from crashing when the window is too small\n        var textLines = text.split(/\\r?\\n/);\n        var textChunks = [];\n        for (var i = 0; i < textLines.length; i++) {\n            var displayTokens = this.session.$getDisplayTokens(textLines[i], position.column);\n            var wrapSplits = this.session.$computeWrapSplits(displayTokens, limit, this.session.$tabSize);\n            if (wrapSplits.length > 0) {\n                var start = 0;\n                wrapSplits.push(textLines[i].length);\n                for (var j = 0; j < wrapSplits.length; j++) {\n                    var textSlice = textLines[i].slice(start, wrapSplits[j]);\n                    textChunks.push({ text: textSlice, wrapped: true });\n                    start = wrapSplits[j];\n                }\n            }\n            else {\n                textChunks.push({ text: textLines[i], wrapped: false });\n            }\n        }\n        return textChunks;\n    };\n    VirtualRenderer.prototype.removeGhostText = function () {\n        if (!this.$ghostText)\n            return;\n        var position = this.$ghostText.position;\n        this.removeExtraToken(position.row, position.column);\n        if (this.$ghostTextWidget) {\n            this.session.widgetManager.removeLineWidget(this.$ghostTextWidget);\n            this.$ghostTextWidget = null;\n        }\n        this.$ghostText = null;\n    };\n    VirtualRenderer.prototype.addToken = function (text, type, row, column) {\n        var session = this.session;\n        session.bgTokenizer.lines[row] = null;\n        var newToken = { type: type, value: text };\n        var tokens = session.getTokens(row);\n        if (column == null || !tokens.length) {\n            tokens.push(newToken);\n        }\n        else {\n            var l = 0;\n            for (var i = 0; i < tokens.length; i++) {\n                var token = tokens[i];\n                l += token.value.length;\n                if (column <= l) {\n                    var diff = token.value.length - (l - column);\n                    var before = token.value.slice(0, diff);\n                    var after = token.value.slice(diff);\n                    tokens.splice(i, 1, { type: token.type, value: before }, newToken, { type: token.type, value: after });\n                    break;\n                }\n            }\n        }\n        this.updateLines(row, row);\n    };\n    VirtualRenderer.prototype.hideTokensAfterPosition = function (row, column) {\n        var tokens = this.session.getTokens(row);\n        var l = 0;\n        var hasPassedCursor = false;\n        var hiddenTokens = [];\n        for (var i = 0; i < tokens.length; i++) {\n            var token = tokens[i];\n            l += token.value.length;\n            if (token.type === \"ghost_text\")\n                continue;\n            if (hasPassedCursor) {\n                hiddenTokens.push({ type: token.type, value: token.value });\n                token.type = \"hidden_token\";\n                continue;\n            }\n            if (l === column) {\n                hasPassedCursor = true;\n            }\n        }\n        this.updateLines(row, row);\n        return hiddenTokens;\n    };\n    VirtualRenderer.prototype.removeExtraToken = function (row, column) {\n        this.session.bgTokenizer.lines[row] = null;\n        this.updateLines(row, row);\n    };\n    VirtualRenderer.prototype.setTheme = function (theme, cb) {\n        var _self = this;\n        this.$themeId = theme;\n        _self._dispatchEvent('themeChange', { theme: theme });\n        if (!theme || typeof theme == \"string\") {\n            var moduleName = theme || this.$options.theme.initialValue;\n            config.loadModule([\"theme\", moduleName], afterLoad);\n        }\n        else {\n            afterLoad(theme);\n        }\n        function afterLoad(module) {\n            if (_self.$themeId != theme)\n                return cb && cb();\n            if (!module || !module.cssClass)\n                throw new Error(\"couldn't load module \" + theme + \" or it didn't call define\");\n            if (module.$id)\n                _self.$themeId = module.$id;\n            dom.importCssString(module.cssText, module.cssClass, _self.container);\n            if (_self.theme)\n                dom.removeCssClass(_self.container, _self.theme.cssClass);\n            var padding = \"padding\" in module ? module.padding\n                : \"padding\" in (_self.theme || {}) ? 4 : _self.$padding;\n            if (_self.$padding && padding != _self.$padding)\n                _self.setPadding(padding);\n            _self.$theme = module.cssClass;\n            _self.theme = module;\n            dom.addCssClass(_self.container, module.cssClass);\n            dom.setCssClass(_self.container, \"ace_dark\", module.isDark);\n            if (_self.$size) {\n                _self.$size.width = 0;\n                _self.$updateSizeAsync();\n            }\n            _self._dispatchEvent('themeLoaded', { theme: module });\n            cb && cb();\n            if (useragent.isSafari && _self.scroller) {\n                _self.scroller.style.background = \"red\";\n                _self.scroller.style.background = \"\";\n            }\n        }\n    };\n    VirtualRenderer.prototype.getTheme = function () {\n        return this.$themeId;\n    };\n    VirtualRenderer.prototype.setStyle = function (style, include) {\n        dom.setCssClass(this.container, style, include !== false);\n    };\n    VirtualRenderer.prototype.unsetStyle = function (style) {\n        dom.removeCssClass(this.container, style);\n    };\n    VirtualRenderer.prototype.setCursorStyle = function (style) {\n        dom.setStyle(this.scroller.style, \"cursor\", style);\n    };\n    VirtualRenderer.prototype.setMouseCursor = function (cursorStyle) {\n        dom.setStyle(this.scroller.style, \"cursor\", cursorStyle);\n    };\n    VirtualRenderer.prototype.attachToShadowRoot = function () {\n        dom.importCssString(editorCss, \"ace_editor.css\", this.container);\n    };\n    VirtualRenderer.prototype.destroy = function () {\n        this.freeze();\n        this.$fontMetrics.destroy();\n        this.$cursorLayer.destroy();\n        this.removeAllListeners();\n        this.container.textContent = \"\";\n        this.setOption(\"useResizeObserver\", false);\n    };\n    VirtualRenderer.prototype.$updateCustomScrollbar = function (val) {\n        var _self = this;\n        this.$horizScroll = this.$vScroll = null;\n        this.scrollBarV.element.remove();\n        this.scrollBarH.element.remove();\n        if (this.$scrollDecorator) {\n            delete this.$scrollDecorator;\n        }\n        if (val === true) {\n            this.scrollBarV = new VScrollBarCustom(this.container, this);\n            this.scrollBarH = new HScrollBarCustom(this.container, this);\n            this.scrollBarV.setHeight(this.$size.scrollerHeight);\n            this.scrollBarH.setWidth(this.$size.scrollerWidth);\n            this.scrollBarV.addEventListener(\"scroll\", function (e) {\n                if (!_self.$scrollAnimation)\n                    _self.session.setScrollTop(e.data - _self.scrollMargin.top);\n            });\n            this.scrollBarH.addEventListener(\"scroll\", function (e) {\n                if (!_self.$scrollAnimation)\n                    _self.session.setScrollLeft(e.data - _self.scrollMargin.left);\n            });\n            this.$scrollDecorator = new Decorator(this.scrollBarV, this);\n            this.$scrollDecorator.$updateDecorators();\n        }\n        else {\n            this.scrollBarV = new VScrollBar(this.container, this);\n            this.scrollBarH = new HScrollBar(this.container, this);\n            this.scrollBarV.addEventListener(\"scroll\", function (e) {\n                if (!_self.$scrollAnimation)\n                    _self.session.setScrollTop(e.data - _self.scrollMargin.top);\n            });\n            this.scrollBarH.addEventListener(\"scroll\", function (e) {\n                if (!_self.$scrollAnimation)\n                    _self.session.setScrollLeft(e.data - _self.scrollMargin.left);\n            });\n        }\n    };\n    VirtualRenderer.prototype.$addResizeObserver = function () {\n        if (!window.ResizeObserver || this.$resizeObserver)\n            return;\n        var self = this;\n        this.$resizeTimer = lang.delayedCall(function () {\n            if (!self.destroyed)\n                self.onResize();\n        }, 50);\n        this.$resizeObserver = new window.ResizeObserver(function (e) {\n            var w = e[0].contentRect.width;\n            var h = e[0].contentRect.height;\n            if (Math.abs(self.$size.width - w) > 1\n                || Math.abs(self.$size.height - h) > 1) {\n                self.$resizeTimer.delay();\n            }\n            else {\n                self.$resizeTimer.cancel();\n            }\n        });\n        this.$resizeObserver.observe(this.container);\n    };\n    return VirtualRenderer;\n}());\nVirtualRenderer.prototype.CHANGE_CURSOR = 1;\nVirtualRenderer.prototype.CHANGE_MARKER = 2;\nVirtualRenderer.prototype.CHANGE_GUTTER = 4;\nVirtualRenderer.prototype.CHANGE_SCROLL = 8;\nVirtualRenderer.prototype.CHANGE_LINES = 16;\nVirtualRenderer.prototype.CHANGE_TEXT = 32;\nVirtualRenderer.prototype.CHANGE_SIZE = 64;\nVirtualRenderer.prototype.CHANGE_MARKER_BACK = 128;\nVirtualRenderer.prototype.CHANGE_MARKER_FRONT = 256;\nVirtualRenderer.prototype.CHANGE_FULL = 512;\nVirtualRenderer.prototype.CHANGE_H_SCROLL = 1024;\nVirtualRenderer.prototype.$changes = 0;\nVirtualRenderer.prototype.$padding = null;\nVirtualRenderer.prototype.$frozen = false;\nVirtualRenderer.prototype.STEPS = 8;\noop.implement(VirtualRenderer.prototype, EventEmitter);\nconfig.defineOptions(VirtualRenderer.prototype, \"renderer\", {\n    useResizeObserver: {\n        set: function (value) {\n            if (!value && this.$resizeObserver) {\n                this.$resizeObserver.disconnect();\n                this.$resizeTimer.cancel();\n                this.$resizeTimer = this.$resizeObserver = null;\n            }\n            else if (value && !this.$resizeObserver) {\n                this.$addResizeObserver();\n            }\n        }\n    },\n    animatedScroll: { initialValue: false },\n    showInvisibles: {\n        set: function (value) {\n            if (this.$textLayer.setShowInvisibles(value))\n                this.$loop.schedule(this.CHANGE_TEXT);\n        },\n        initialValue: false\n    },\n    showPrintMargin: {\n        set: function () { this.$updatePrintMargin(); },\n        initialValue: true\n    },\n    printMarginColumn: {\n        set: function () { this.$updatePrintMargin(); },\n        initialValue: 80\n    },\n    printMargin: {\n        set: function (val) {\n            if (typeof val == \"number\")\n                this.$printMarginColumn = val;\n            this.$showPrintMargin = !!val;\n            this.$updatePrintMargin();\n        },\n        get: function () {\n            return this.$showPrintMargin && this.$printMarginColumn;\n        }\n    },\n    showGutter: {\n        set: function (show) {\n            this.$gutter.style.display = show ? \"block\" : \"none\";\n            this.$loop.schedule(this.CHANGE_FULL);\n            this.onGutterResize();\n        },\n        initialValue: true\n    },\n    useSvgGutterIcons: {\n        set: function (value) {\n            this.$gutterLayer.$useSvgGutterIcons = value;\n        },\n        initialValue: false\n    },\n    showFoldedAnnotations: {\n        set: function (value) {\n            this.$gutterLayer.$showFoldedAnnotations = value;\n        },\n        initialValue: false\n    },\n    fadeFoldWidgets: {\n        set: function (show) {\n            dom.setCssClass(this.$gutter, \"ace_fade-fold-widgets\", show);\n        },\n        initialValue: false\n    },\n    showFoldWidgets: {\n        set: function (show) {\n            this.$gutterLayer.setShowFoldWidgets(show);\n            this.$loop.schedule(this.CHANGE_GUTTER);\n        },\n        initialValue: true\n    },\n    displayIndentGuides: {\n        set: function (show) {\n            if (this.$textLayer.setDisplayIndentGuides(show))\n                this.$loop.schedule(this.CHANGE_TEXT);\n        },\n        initialValue: true\n    },\n    highlightIndentGuides: {\n        set: function (show) {\n            if (this.$textLayer.setHighlightIndentGuides(show) == true) {\n                this.$textLayer.$highlightIndentGuide();\n            }\n            else {\n                this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells);\n            }\n        },\n        initialValue: true\n    },\n    highlightGutterLine: {\n        set: function (shouldHighlight) {\n            this.$gutterLayer.setHighlightGutterLine(shouldHighlight);\n            this.$loop.schedule(this.CHANGE_GUTTER);\n        },\n        initialValue: true\n    },\n    hScrollBarAlwaysVisible: {\n        set: function (val) {\n            if (!this.$hScrollBarAlwaysVisible || !this.$horizScroll)\n                this.$loop.schedule(this.CHANGE_SCROLL);\n        },\n        initialValue: false\n    },\n    vScrollBarAlwaysVisible: {\n        set: function (val) {\n            if (!this.$vScrollBarAlwaysVisible || !this.$vScroll)\n                this.$loop.schedule(this.CHANGE_SCROLL);\n        },\n        initialValue: false\n    },\n    fontSize: {\n        set: function (size) {\n            if (typeof size == \"number\")\n                size = size + \"px\";\n            this.container.style.fontSize = size;\n            this.updateFontSize();\n        },\n        initialValue: 12\n    },\n    fontFamily: {\n        set: function (name) {\n            this.container.style.fontFamily = name;\n            this.updateFontSize();\n        }\n    },\n    maxLines: {\n        set: function (val) {\n            this.updateFull();\n        }\n    },\n    minLines: {\n        set: function (val) {\n            if (!(this.$minLines < 0x1ffffffffffff))\n                this.$minLines = 0;\n            this.updateFull();\n        }\n    },\n    maxPixelHeight: {\n        set: function (val) {\n            this.updateFull();\n        },\n        initialValue: 0\n    },\n    scrollPastEnd: {\n        set: function (val) {\n            val = +val || 0;\n            if (this.$scrollPastEnd == val)\n                return;\n            this.$scrollPastEnd = val;\n            this.$loop.schedule(this.CHANGE_SCROLL);\n        },\n        initialValue: 0,\n        handlesSet: true\n    },\n    fixedWidthGutter: {\n        set: function (val) {\n            this.$gutterLayer.$fixedWidth = !!val;\n            this.$loop.schedule(this.CHANGE_GUTTER);\n        }\n    },\n    customScrollbar: {\n        set: function (val) {\n            this.$updateCustomScrollbar(val);\n        },\n        initialValue: false\n    },\n    theme: {\n        set: function (val) { this.setTheme(val); },\n        get: function () { return this.$themeId || this.theme; },\n        initialValue: \"./theme/textmate\",\n        handlesSet: true\n    },\n    hasCssTransforms: {},\n    useTextareaForIME: {\n        initialValue: !useragent.isMobile && !useragent.isIE\n    }\n});\nexports.VirtualRenderer = VirtualRenderer;\n\n});\n\nace.define(\"ace/worker/worker_client\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/net\",\"ace/lib/event_emitter\",\"ace/config\"], function(require, exports, module) {\n\"use strict\";\n\nvar oop = require(\"../lib/oop\");\nvar net = require(\"../lib/net\");\nvar EventEmitter = require(\"../lib/event_emitter\").EventEmitter;\nvar config = require(\"../config\");\n\nfunction $workerBlob(workerUrl) {\n    var script = \"importScripts('\" + net.qualifyURL(workerUrl) + \"');\";\n    try {\n        return new Blob([script], {\"type\": \"application/javascript\"});\n    } catch (e) { // Backwards-compatibility\n        var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;\n        var blobBuilder = new BlobBuilder();\n        blobBuilder.append(script);\n        return blobBuilder.getBlob(\"application/javascript\");\n    }\n}\n\nfunction createWorker(workerUrl) {\n    if (typeof Worker == \"undefined\")\n        return { postMessage: function() {}, terminate: function() {} };\n    if (config.get(\"loadWorkerFromBlob\")) {\n        var blob = $workerBlob(workerUrl);\n        var URL = window.URL || window.webkitURL;\n        var blobURL = URL.createObjectURL(blob);\n        return new Worker(blobURL);\n    }\n    return new Worker(workerUrl);\n}\n\nvar WorkerClient = function(worker) {\n    if (!worker.postMessage)\n        worker = this.$createWorkerFromOldConfig.apply(this, arguments);\n\n    this.$worker = worker;\n    this.$sendDeltaQueue = this.$sendDeltaQueue.bind(this);\n    this.changeListener = this.changeListener.bind(this);\n    this.onMessage = this.onMessage.bind(this);\n\n    this.callbackId = 1;\n    this.callbacks = {};\n\n    this.$worker.onmessage = this.onMessage;\n};\n\n(function(){\n\n    oop.implement(this, EventEmitter);\n\n    this.$createWorkerFromOldConfig = function(topLevelNamespaces, mod, classname, workerUrl, importScripts) {\n        if (require.nameToUrl && !require.toUrl)\n            require.toUrl = require.nameToUrl;\n\n        if (config.get(\"packaged\") || !require.toUrl) {\n            workerUrl = workerUrl || config.moduleUrl(mod, \"worker\");\n        } else {\n            var normalizePath = this.$normalizePath;\n            workerUrl = workerUrl || normalizePath(require.toUrl(\"ace/worker/worker.js\", null, \"_\"));\n\n            var tlns = {};\n            topLevelNamespaces.forEach(function(ns) {\n                tlns[ns] = normalizePath(require.toUrl(ns, null, \"_\").replace(/(\\.js)?(\\?.*)?$/, \"\"));\n            });\n        }\n\n        this.$worker = createWorker(workerUrl);\n        if (importScripts) {\n            this.send(\"importScripts\", importScripts);\n        }\n        this.$worker.postMessage({\n            init : true,\n            tlns : tlns,\n            module : mod,\n            classname : classname\n        });\n        return this.$worker;\n    };\n\n    this.onMessage = function(e) {\n        var msg = e.data;\n        switch (msg.type) {\n            case \"event\":\n                this._signal(msg.name, {data: msg.data});\n                break;\n            case \"call\":\n                var callback = this.callbacks[msg.id];\n                if (callback) {\n                    callback(msg.data);\n                    delete this.callbacks[msg.id];\n                }\n                break;\n            case \"error\":\n                this.reportError(msg.data);\n                break;\n            case \"log\":\n                window.console && console.log && console.log.apply(console, msg.data);\n                break;\n        }\n    };\n    \n    this.reportError = function(err) {\n        window.console && console.error && console.error(err);\n    };\n\n    this.$normalizePath = function(path) {\n        return net.qualifyURL(path);\n    };\n\n    this.terminate = function() {\n        this._signal(\"terminate\", {});\n        this.deltaQueue = null;\n        this.$worker.terminate();\n        this.$worker.onerror = function(e) {\n            e.preventDefault();\n        };\n        this.$worker = null;\n        if (this.$doc)\n            this.$doc.off(\"change\", this.changeListener);\n        this.$doc = null;\n    };\n\n    this.send = function(cmd, args) {\n        this.$worker.postMessage({command: cmd, args: args});\n    };\n\n    this.call = function(cmd, args, callback) {\n        if (callback) {\n            var id = this.callbackId++;\n            this.callbacks[id] = callback;\n            args.push(id);\n        }\n        this.send(cmd, args);\n    };\n\n    this.emit = function(event, data) {\n        try {\n            if (data.data && data.data.err)\n                data.data.err = {message: data.data.err.message, stack: data.data.err.stack, code: data.data.err.code};\n                this.$worker && this.$worker.postMessage({event: event, data: {data: data.data}});\n        }\n        catch(ex) {\n            console.error(ex.stack);\n        }\n    };\n\n    this.attachToDocument = function(doc) {\n        if (this.$doc)\n            this.terminate();\n\n        this.$doc = doc;\n        this.call(\"setValue\", [doc.getValue()]);\n        doc.on(\"change\", this.changeListener, true);\n    };\n\n    this.changeListener = function(delta) {\n        if (!this.deltaQueue) {\n            this.deltaQueue = [];\n            setTimeout(this.$sendDeltaQueue, 0);\n        }\n        if (delta.action == \"insert\")\n            this.deltaQueue.push(delta.start, delta.lines);\n        else\n            this.deltaQueue.push(delta.start, delta.end);\n    };\n\n    this.$sendDeltaQueue = function() {\n        var q = this.deltaQueue;\n        if (!q) return;\n        this.deltaQueue = null;\n        if (q.length > 50 && q.length > this.$doc.getLength() >> 1) {\n            this.call(\"setValue\", [this.$doc.getValue()]);\n        } else\n            this.emit(\"change\", {data: q});\n    };\n\n}).call(WorkerClient.prototype);\n\n\nvar UIWorkerClient = function(topLevelNamespaces, mod, classname) {\n    var main = null;\n    var emitSync = false;\n    var sender = Object.create(EventEmitter);\n\n    var messageBuffer = [];\n    var workerClient = new WorkerClient({\n        messageBuffer: messageBuffer,\n        terminate: function() {},\n        postMessage: function(e) {\n            messageBuffer.push(e);\n            if (!main) return;\n            if (emitSync)\n                setTimeout(processNext);\n            else\n                processNext();\n        }\n    });\n\n    workerClient.setEmitSync = function(val) { emitSync = val; };\n\n    var processNext = function() {\n        var msg = messageBuffer.shift();\n        if (msg.command)\n            main[msg.command].apply(main, msg.args);\n        else if (msg.event)\n            sender._signal(msg.event, msg.data);\n    };\n\n    sender.postMessage = function(msg) {\n        workerClient.onMessage({data: msg});\n    };\n    sender.callback = function(data, callbackId) {\n        this.postMessage({type: \"call\", id: callbackId, data: data});\n    };\n    sender.emit = function(name, data) {\n        this.postMessage({type: \"event\", name: name, data: data});\n    };\n\n    config.loadModule([\"worker\", mod], function(Main) {\n        main = new Main[classname](sender);\n        while (messageBuffer.length)\n            processNext();\n    });\n\n    return workerClient;\n};\n\nexports.UIWorkerClient = UIWorkerClient;\nexports.WorkerClient = WorkerClient;\nexports.createWorker = createWorker;\n\n\n});\n\nace.define(\"ace/placeholder\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/lib/event_emitter\",\"ace/lib/oop\"], function(require, exports, module){\"use strict\";\nvar Range = require(\"./range\").Range;\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar oop = require(\"./lib/oop\");\nvar PlaceHolder = /** @class */ (function () {\n    function PlaceHolder(session, length, pos, others, mainClass, othersClass) {\n        var _self = this;\n        this.length = length;\n        this.session = session;\n        this.doc = session.getDocument();\n        this.mainClass = mainClass;\n        this.othersClass = othersClass;\n        this.$onUpdate = this.onUpdate.bind(this);\n        this.doc.on(\"change\", this.$onUpdate, true);\n        this.$others = others;\n        this.$onCursorChange = function () {\n            setTimeout(function () {\n                _self.onCursorChange();\n            });\n        };\n        this.$pos = pos;\n        var undoStack = session.getUndoManager().$undoStack || session.getUndoManager()[\"$undostack\"] || { length: -1 };\n        this.$undoStackDepth = undoStack.length;\n        this.setup();\n        session.selection.on(\"changeCursor\", this.$onCursorChange);\n    }\n    PlaceHolder.prototype.setup = function () {\n        var _self = this;\n        var doc = this.doc;\n        var session = this.session;\n        this.selectionBefore = session.selection.toJSON();\n        if (session.selection.inMultiSelectMode)\n            session.selection.toSingleRange();\n        this.pos = doc.createAnchor(this.$pos.row, this.$pos.column);\n        var pos = this.pos;\n        pos.$insertRight = true;\n        pos.detach();\n        pos.markerId = session.addMarker(new Range(pos.row, pos.column, pos.row, pos.column + this.length), this.mainClass, null, false);\n        this.others = [];\n        this.$others.forEach(function (other) {\n            var anchor = doc.createAnchor(other.row, other.column);\n            anchor.$insertRight = true;\n            anchor.detach();\n            _self.others.push(anchor);\n        });\n        session.setUndoSelect(false);\n    };\n    PlaceHolder.prototype.showOtherMarkers = function () {\n        if (this.othersActive)\n            return;\n        var session = this.session;\n        var _self = this;\n        this.othersActive = true;\n        this.others.forEach(function (anchor) {\n            anchor.markerId = session.addMarker(new Range(anchor.row, anchor.column, anchor.row, anchor.column + _self.length), _self.othersClass, null, false);\n        });\n    };\n    PlaceHolder.prototype.hideOtherMarkers = function () {\n        if (!this.othersActive)\n            return;\n        this.othersActive = false;\n        for (var i = 0; i < this.others.length; i++) {\n            this.session.removeMarker(this.others[i].markerId);\n        }\n    };\n    PlaceHolder.prototype.onUpdate = function (delta) {\n        if (this.$updating)\n            return this.updateAnchors(delta);\n        var range = delta;\n        if (range.start.row !== range.end.row)\n            return;\n        if (range.start.row !== this.pos.row)\n            return;\n        this.$updating = true;\n        var lengthDiff = delta.action === \"insert\" ? range.end.column - range.start.column : range.start.column - range.end.column;\n        var inMainRange = range.start.column >= this.pos.column && range.start.column <= this.pos.column + this.length + 1;\n        var distanceFromStart = range.start.column - this.pos.column;\n        this.updateAnchors(delta);\n        if (inMainRange)\n            this.length += lengthDiff;\n        if (inMainRange && !this.session.$fromUndo) {\n            if (delta.action === 'insert') {\n                for (var i = this.others.length - 1; i >= 0; i--) {\n                    var otherPos = this.others[i];\n                    var newPos = { row: otherPos.row, column: otherPos.column + distanceFromStart };\n                    this.doc.insertMergedLines(newPos, delta.lines);\n                }\n            }\n            else if (delta.action === 'remove') {\n                for (var i = this.others.length - 1; i >= 0; i--) {\n                    var otherPos = this.others[i];\n                    var newPos = { row: otherPos.row, column: otherPos.column + distanceFromStart };\n                    this.doc.remove(new Range(newPos.row, newPos.column, newPos.row, newPos.column - lengthDiff));\n                }\n            }\n        }\n        this.$updating = false;\n        this.updateMarkers();\n    };\n    PlaceHolder.prototype.updateAnchors = function (delta) {\n        this.pos.onChange(delta);\n        for (var i = this.others.length; i--;)\n            this.others[i].onChange(delta);\n        this.updateMarkers();\n    };\n    PlaceHolder.prototype.updateMarkers = function () {\n        if (this.$updating)\n            return;\n        var _self = this;\n        var session = this.session;\n        var updateMarker = function (pos, className) {\n            session.removeMarker(pos.markerId);\n            pos.markerId = session.addMarker(new Range(pos.row, pos.column, pos.row, pos.column + _self.length), className, null, false);\n        };\n        updateMarker(this.pos, this.mainClass);\n        for (var i = this.others.length; i--;)\n            updateMarker(this.others[i], this.othersClass);\n    };\n    PlaceHolder.prototype.onCursorChange = function (event) {\n        if (this.$updating || !this.session)\n            return;\n        var pos = this.session.selection.getCursor();\n        if (pos.row === this.pos.row && pos.column >= this.pos.column && pos.column <= this.pos.column + this.length) {\n            this.showOtherMarkers();\n            this._emit(\"cursorEnter\", event);\n        }\n        else {\n            this.hideOtherMarkers();\n            this._emit(\"cursorLeave\", event);\n        }\n    };\n    PlaceHolder.prototype.detach = function () {\n        this.session.removeMarker(this.pos && this.pos.markerId);\n        this.hideOtherMarkers();\n        this.doc.off(\"change\", this.$onUpdate);\n        this.session.selection.off(\"changeCursor\", this.$onCursorChange);\n        this.session.setUndoSelect(true);\n        this.session = null;\n    };\n    PlaceHolder.prototype.cancel = function () {\n        if (this.$undoStackDepth === -1)\n            return;\n        var undoManager = this.session.getUndoManager();\n        var undosRequired = (undoManager.$undoStack || undoManager[\"$undostack\"]).length - this.$undoStackDepth;\n        for (var i = 0; i < undosRequired; i++) {\n            undoManager.undo(this.session, true);\n        }\n        if (this.selectionBefore)\n            this.session.selection.fromJSON(this.selectionBefore);\n    };\n    return PlaceHolder;\n}());\noop.implement(PlaceHolder.prototype, EventEmitter);\nexports.PlaceHolder = PlaceHolder;\n\n});\n\nace.define(\"ace/mouse/multi_select_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\"], function(require, exports, module){var event = require(\"../lib/event\");\nvar useragent = require(\"../lib/useragent\");\nfunction isSamePoint(p1, p2) {\n    return p1.row == p2.row && p1.column == p2.column;\n}\nfunction onMouseDown(e) {\n    var ev = e.domEvent;\n    var alt = ev.altKey;\n    var shift = ev.shiftKey;\n    var ctrl = ev.ctrlKey;\n    var accel = e.getAccelKey();\n    var button = e.getButton();\n    if (ctrl && useragent.isMac)\n        button = ev.button;\n    if (e.editor.inMultiSelectMode && button == 2) {\n        e.editor.textInput.onContextMenu(e.domEvent);\n        return;\n    }\n    if (!ctrl && !alt && !accel) {\n        if (button === 0 && e.editor.inMultiSelectMode)\n            e.editor.exitMultiSelectMode();\n        return;\n    }\n    if (button !== 0)\n        return;\n    var editor = e.editor;\n    var selection = editor.selection;\n    var isMultiSelect = editor.inMultiSelectMode;\n    var pos = e.getDocumentPosition();\n    var cursor = selection.getCursor();\n    var inSelection = e.inSelection() || (selection.isEmpty() && isSamePoint(pos, cursor));\n    var mouseX = e.x, mouseY = e.y;\n    var onMouseSelection = function (e) {\n        mouseX = e.clientX;\n        mouseY = e.clientY;\n    };\n    var session = editor.session;\n    var screenAnchor = editor.renderer.pixelToScreenCoordinates(mouseX, mouseY);\n    var screenCursor = screenAnchor;\n    var selectionMode;\n    if (editor.$mouseHandler.$enableJumpToDef) {\n        if (ctrl && alt || accel && alt)\n            selectionMode = shift ? \"block\" : \"add\";\n        else if (alt && editor.$blockSelectEnabled)\n            selectionMode = \"block\";\n    }\n    else {\n        if (accel && !alt) {\n            selectionMode = \"add\";\n            if (!isMultiSelect && shift)\n                return;\n        }\n        else if (alt && editor.$blockSelectEnabled) {\n            selectionMode = \"block\";\n        }\n    }\n    if (selectionMode && useragent.isMac && ev.ctrlKey) {\n        editor.$mouseHandler.cancelContextMenu();\n    }\n    if (selectionMode == \"add\") {\n        if (!isMultiSelect && inSelection)\n            return; // dragging\n        if (!isMultiSelect) {\n            var range = selection.toOrientedRange();\n            editor.addSelectionMarker(range);\n        }\n        var oldRange = selection.rangeList.rangeAtPoint(pos);\n        editor.inVirtualSelectionMode = true;\n        if (shift) {\n            oldRange = null;\n            range = selection.ranges[0] || range;\n            editor.removeSelectionMarker(range);\n        }\n        editor.once(\"mouseup\", function () {\n            var tmpSel = selection.toOrientedRange();\n            if (oldRange && tmpSel.isEmpty() && isSamePoint(oldRange.cursor, tmpSel.cursor))\n                selection.substractPoint(tmpSel.cursor);\n            else {\n                if (shift) {\n                    selection.substractPoint(range.cursor);\n                }\n                else if (range) {\n                    editor.removeSelectionMarker(range);\n                    selection.addRange(range);\n                }\n                selection.addRange(tmpSel);\n            }\n            editor.inVirtualSelectionMode = false;\n        });\n    }\n    else if (selectionMode == \"block\") {\n        e.stop();\n        editor.inVirtualSelectionMode = true;\n        var initialRange;\n        var rectSel = [];\n        var blockSelect = function () {\n            var newCursor = editor.renderer.pixelToScreenCoordinates(mouseX, mouseY);\n            var cursor = session.screenToDocumentPosition(newCursor.row, newCursor.column, newCursor.offsetX);\n            if (isSamePoint(screenCursor, newCursor) && isSamePoint(cursor, selection.lead))\n                return;\n            screenCursor = newCursor;\n            editor.selection.moveToPosition(cursor);\n            editor.renderer.scrollCursorIntoView();\n            editor.removeSelectionMarkers(rectSel);\n            rectSel = selection.rectangularRangeBlock(screenCursor, screenAnchor);\n            if (editor.$mouseHandler.$clickSelection && rectSel.length == 1 && rectSel[0].isEmpty())\n                rectSel[0] = editor.$mouseHandler.$clickSelection.clone();\n            rectSel.forEach(editor.addSelectionMarker, editor);\n            editor.updateSelectionMarkers();\n        };\n        if (isMultiSelect && !accel) {\n            selection.toSingleRange();\n        }\n        else if (!isMultiSelect && accel) {\n            initialRange = selection.toOrientedRange();\n            editor.addSelectionMarker(initialRange);\n        }\n        if (shift)\n            screenAnchor = session.documentToScreenPosition(selection.lead);\n        else\n            selection.moveToPosition(pos);\n        screenCursor = { row: -1, column: -1 };\n        var onMouseSelectionEnd = function (e) {\n            blockSelect();\n            clearInterval(timerId);\n            editor.removeSelectionMarkers(rectSel);\n            if (!rectSel.length)\n                rectSel = [selection.toOrientedRange()];\n            if (initialRange) {\n                editor.removeSelectionMarker(initialRange);\n                selection.toSingleRange(initialRange);\n            }\n            for (var i = 0; i < rectSel.length; i++)\n                selection.addRange(rectSel[i]);\n            editor.inVirtualSelectionMode = false;\n            editor.$mouseHandler.$clickSelection = null;\n        };\n        var onSelectionInterval = blockSelect;\n        event.capture(editor.container, onMouseSelection, onMouseSelectionEnd);\n        var timerId = setInterval(function () { onSelectionInterval(); }, 20);\n        return e.preventDefault();\n    }\n}\nexports.onMouseDown = onMouseDown;\n\n});\n\nace.define(\"ace/commands/multi_select_commands\",[\"require\",\"exports\",\"module\",\"ace/keyboard/hash_handler\"], function(require, exports, module){/**\n * commands to enter multiselect mode\n * @type {import(\"../../ace-internal\").Ace.Command[]}\n */\nexports.defaultCommands = [{\n        name: \"addCursorAbove\",\n        description: \"Add cursor above\",\n        exec: function (editor) { editor.selectMoreLines(-1); },\n        bindKey: { win: \"Ctrl-Alt-Up\", mac: \"Ctrl-Alt-Up\" },\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"addCursorBelow\",\n        description: \"Add cursor below\",\n        exec: function (editor) { editor.selectMoreLines(1); },\n        bindKey: { win: \"Ctrl-Alt-Down\", mac: \"Ctrl-Alt-Down\" },\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"addCursorAboveSkipCurrent\",\n        description: \"Add cursor above (skip current)\",\n        exec: function (editor) { editor.selectMoreLines(-1, true); },\n        bindKey: { win: \"Ctrl-Alt-Shift-Up\", mac: \"Ctrl-Alt-Shift-Up\" },\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"addCursorBelowSkipCurrent\",\n        description: \"Add cursor below (skip current)\",\n        exec: function (editor) { editor.selectMoreLines(1, true); },\n        bindKey: { win: \"Ctrl-Alt-Shift-Down\", mac: \"Ctrl-Alt-Shift-Down\" },\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"selectMoreBefore\",\n        description: \"Select more before\",\n        exec: function (editor) { editor.selectMore(-1); },\n        bindKey: { win: \"Ctrl-Alt-Left\", mac: \"Ctrl-Alt-Left\" },\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"selectMoreAfter\",\n        description: \"Select more after\",\n        exec: function (editor) { editor.selectMore(1); },\n        bindKey: { win: \"Ctrl-Alt-Right\", mac: \"Ctrl-Alt-Right\" },\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"selectNextBefore\",\n        description: \"Select next before\",\n        exec: function (editor) { editor.selectMore(-1, true); },\n        bindKey: { win: \"Ctrl-Alt-Shift-Left\", mac: \"Ctrl-Alt-Shift-Left\" },\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"selectNextAfter\",\n        description: \"Select next after\",\n        exec: function (editor) { editor.selectMore(1, true); },\n        bindKey: { win: \"Ctrl-Alt-Shift-Right\", mac: \"Ctrl-Alt-Shift-Right\" },\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }, {\n        name: \"toggleSplitSelectionIntoLines\",\n        description: \"Split selection into lines\",\n        exec: function (editor) {\n            if (editor.multiSelect.rangeCount > 1)\n                editor.multiSelect.joinSelections();\n            else\n                editor.multiSelect.splitIntoLines();\n        },\n        bindKey: { win: \"Ctrl-Alt-L\", mac: \"Ctrl-Alt-L\" },\n        readOnly: true\n    }, {\n        name: \"splitSelectionIntoLines\",\n        description: \"Split into lines\",\n        exec: function (editor) { editor.multiSelect.splitIntoLines(); },\n        readOnly: true\n    }, {\n        name: \"alignCursors\",\n        description: \"Align cursors\",\n        exec: function (editor) { editor.alignCursors(); },\n        bindKey: { win: \"Ctrl-Alt-A\", mac: \"Ctrl-Alt-A\" },\n        scrollIntoView: \"cursor\"\n    }, {\n        name: \"findAll\",\n        description: \"Find all\",\n        exec: function (editor) { editor.findAll(); },\n        bindKey: { win: \"Ctrl-Alt-K\", mac: \"Ctrl-Alt-G\" },\n        scrollIntoView: \"cursor\",\n        readOnly: true\n    }];\nexports.multiSelectCommands = [{\n        name: \"singleSelection\",\n        description: \"Single selection\",\n        bindKey: \"esc\",\n        exec: function (editor) { editor.exitMultiSelectMode(); },\n        scrollIntoView: \"cursor\",\n        readOnly: true,\n        isAvailable: function (editor) { return editor && editor.inMultiSelectMode; }\n    }];\nvar HashHandler = require(\"../keyboard/hash_handler\").HashHandler;\nexports.keyboardHandler = new HashHandler(exports.multiSelectCommands);\n\n});\n\nace.define(\"ace/multi_select\",[\"require\",\"exports\",\"module\",\"ace/range_list\",\"ace/range\",\"ace/selection\",\"ace/mouse/multi_select_handler\",\"ace/lib/event\",\"ace/lib/lang\",\"ace/commands/multi_select_commands\",\"ace/search\",\"ace/edit_session\",\"ace/editor\",\"ace/config\"], function(require, exports, module){/**\n * @typedef {import(\"./anchor\").Anchor} Anchor\n * @typedef {import(\"../ace-internal\").Ace.Point} Point\n * @typedef {import(\"../ace-internal\").Ace.ScreenCoordinates} ScreenCoordinates\n */\nvar RangeList = require(\"./range_list\").RangeList;\nvar Range = require(\"./range\").Range;\nvar Selection = require(\"./selection\").Selection;\nvar onMouseDown = require(\"./mouse/multi_select_handler\").onMouseDown;\nvar event = require(\"./lib/event\");\nvar lang = require(\"./lib/lang\");\nvar commands = require(\"./commands/multi_select_commands\");\nexports.commands = commands.defaultCommands.concat(commands.multiSelectCommands);\nvar Search = require(\"./search\").Search;\nvar search = new Search();\nfunction find(session, needle, dir) {\n    search.$options.wrap = true;\n    search.$options.needle = needle;\n    search.$options.backwards = dir == -1;\n    return search.find(session);\n}\nvar EditSession = require(\"./edit_session\").EditSession;\n(function () {\n    this.getSelectionMarkers = function () {\n        return this.$selectionMarkers;\n    };\n}).call(EditSession.prototype);\n(function () {\n    this.ranges = null;\n    this.rangeList = null;\n    this.addRange = function (range, $blockChangeEvents) {\n        if (!range)\n            return;\n        if (!this.inMultiSelectMode && this.rangeCount === 0) {\n            var oldRange = this.toOrientedRange();\n            this.rangeList.add(oldRange);\n            this.rangeList.add(range);\n            if (this.rangeList.ranges.length != 2) {\n                this.rangeList.removeAll();\n                return $blockChangeEvents || this.fromOrientedRange(range);\n            }\n            this.rangeList.removeAll();\n            this.rangeList.add(oldRange);\n            this.$onAddRange(oldRange);\n        }\n        if (!range.cursor)\n            range.cursor = range.end;\n        var removed = this.rangeList.add(range);\n        this.$onAddRange(range);\n        if (removed.length)\n            this.$onRemoveRange(removed);\n        if (this.rangeCount > 1 && !this.inMultiSelectMode) {\n            this._signal(\"multiSelect\");\n            this.inMultiSelectMode = true;\n            this.session.$undoSelect = false;\n            this.rangeList.attach(this.session);\n        }\n        return $blockChangeEvents || this.fromOrientedRange(range);\n    };\n    this.toSingleRange = function (range) {\n        range = range || this.ranges[0];\n        var removed = this.rangeList.removeAll();\n        if (removed.length)\n            this.$onRemoveRange(removed);\n        range && this.fromOrientedRange(range);\n    };\n    this.substractPoint = function (pos) {\n        var removed = this.rangeList.substractPoint(pos);\n        if (removed) {\n            this.$onRemoveRange(removed);\n            return removed[0];\n        }\n    };\n    this.mergeOverlappingRanges = function () {\n        var removed = this.rangeList.merge();\n        if (removed.length)\n            this.$onRemoveRange(removed);\n    };\n    this.$onAddRange = function (range) {\n        this.rangeCount = this.rangeList.ranges.length;\n        this.ranges.unshift(range);\n        this._signal(\"addRange\", { range: range });\n    };\n    this.$onRemoveRange = function (removed) {\n        this.rangeCount = this.rangeList.ranges.length;\n        if (this.rangeCount == 1 && this.inMultiSelectMode) {\n            var lastRange = this.rangeList.ranges.pop();\n            removed.push(lastRange);\n            this.rangeCount = 0;\n        }\n        for (var i = removed.length; i--;) {\n            var index = this.ranges.indexOf(removed[i]);\n            this.ranges.splice(index, 1);\n        }\n        this._signal(\"removeRange\", { ranges: removed });\n        if (this.rangeCount === 0 && this.inMultiSelectMode) {\n            this.inMultiSelectMode = false;\n            this._signal(\"singleSelect\");\n            this.session.$undoSelect = true;\n            this.rangeList.detach(this.session);\n        }\n        lastRange = lastRange || this.ranges[0];\n        if (lastRange && !lastRange.isEqual(this.getRange()))\n            this.fromOrientedRange(lastRange);\n    };\n    this.$initRangeList = function () {\n        if (this.rangeList)\n            return;\n        this.rangeList = new RangeList();\n        this.ranges = [];\n        this.rangeCount = 0;\n    };\n    this.getAllRanges = function () {\n        return this.rangeCount ? this.rangeList.ranges.concat() : [this.getRange()];\n    };\n    this.splitIntoLines = function () {\n        var ranges = this.ranges.length ? this.ranges : [this.getRange()];\n        var newRanges = [];\n        for (var i = 0; i < ranges.length; i++) {\n            var range = ranges[i];\n            var row = range.start.row;\n            var endRow = range.end.row;\n            if (row === endRow) {\n                newRanges.push(range.clone());\n            }\n            else {\n                newRanges.push(new Range(row, range.start.column, row, this.session.getLine(row).length));\n                while (++row < endRow)\n                    newRanges.push(this.getLineRange(row, true));\n                newRanges.push(new Range(endRow, 0, endRow, range.end.column));\n            }\n            if (i == 0 && !this.isBackwards())\n                newRanges = newRanges.reverse();\n        }\n        this.toSingleRange();\n        for (var i = newRanges.length; i--;)\n            this.addRange(newRanges[i]);\n    };\n    this.joinSelections = function () {\n        var ranges = this.rangeList.ranges;\n        var lastRange = ranges[ranges.length - 1];\n        var range = Range.fromPoints(ranges[0].start, lastRange.end);\n        this.toSingleRange();\n        this.setSelectionRange(range, lastRange.cursor == lastRange.start);\n    };\n    this.toggleBlockSelection = function () {\n        if (this.rangeCount > 1) {\n            var ranges = this.rangeList.ranges;\n            var lastRange = ranges[ranges.length - 1];\n            var range = Range.fromPoints(ranges[0].start, lastRange.end);\n            this.toSingleRange();\n            this.setSelectionRange(range, lastRange.cursor == lastRange.start);\n        }\n        else {\n            var cursor = this.session.documentToScreenPosition(this.cursor);\n            var anchor = this.session.documentToScreenPosition(this.anchor);\n            var rectSel = this.rectangularRangeBlock(cursor, anchor);\n            rectSel.forEach(this.addRange, this);\n        }\n    };\n    this.rectangularRangeBlock = function (screenCursor, screenAnchor, includeEmptyLines) {\n        var rectSel = [];\n        var xBackwards = screenCursor.column < screenAnchor.column;\n        if (xBackwards) {\n            var startColumn = screenCursor.column;\n            var endColumn = screenAnchor.column;\n            var startOffsetX = screenCursor.offsetX;\n            var endOffsetX = screenAnchor.offsetX;\n        }\n        else {\n            var startColumn = screenAnchor.column;\n            var endColumn = screenCursor.column;\n            var startOffsetX = screenAnchor.offsetX;\n            var endOffsetX = screenCursor.offsetX;\n        }\n        var yBackwards = screenCursor.row < screenAnchor.row;\n        if (yBackwards) {\n            var startRow = screenCursor.row;\n            var endRow = screenAnchor.row;\n        }\n        else {\n            var startRow = screenAnchor.row;\n            var endRow = screenCursor.row;\n        }\n        if (startColumn < 0)\n            startColumn = 0;\n        if (startRow < 0)\n            startRow = 0;\n        if (startRow == endRow)\n            includeEmptyLines = true;\n        var docEnd;\n        for (var row = startRow; row <= endRow; row++) {\n            var range = Range.fromPoints(this.session.screenToDocumentPosition(row, startColumn, startOffsetX), this.session.screenToDocumentPosition(row, endColumn, endOffsetX));\n            if (range.isEmpty()) {\n                if (docEnd && isSamePoint(range.end, docEnd))\n                    break;\n                docEnd = range.end;\n            }\n            range.cursor = xBackwards ? range.start : range.end;\n            rectSel.push(range);\n        }\n        if (yBackwards)\n            rectSel.reverse();\n        if (!includeEmptyLines) {\n            var end = rectSel.length - 1;\n            while (rectSel[end].isEmpty() && end > 0)\n                end--;\n            if (end > 0) {\n                var start = 0;\n                while (rectSel[start].isEmpty())\n                    start++;\n            }\n            for (var i = end; i >= start; i--) {\n                if (rectSel[i].isEmpty())\n                    rectSel.splice(i, 1);\n            }\n        }\n        return rectSel;\n    };\n}).call(Selection.prototype);\nvar Editor = require(\"./editor\").Editor;\n(function () {\n    this.updateSelectionMarkers = function () {\n        this.renderer.updateCursor();\n        this.renderer.updateBackMarkers();\n    };\n    this.addSelectionMarker = function (orientedRange) {\n        if (!orientedRange.cursor)\n            orientedRange.cursor = orientedRange.end;\n        var style = this.getSelectionStyle();\n        orientedRange.marker = this.session.addMarker(orientedRange, \"ace_selection\", style);\n        this.session.$selectionMarkers.push(orientedRange);\n        this.session.selectionMarkerCount = this.session.$selectionMarkers.length;\n        return orientedRange;\n    };\n    this.removeSelectionMarker = function (range) {\n        if (!range.marker)\n            return;\n        this.session.removeMarker(range.marker);\n        var index = this.session.$selectionMarkers.indexOf(range);\n        if (index != -1)\n            this.session.$selectionMarkers.splice(index, 1);\n        this.session.selectionMarkerCount = this.session.$selectionMarkers.length;\n    };\n    this.removeSelectionMarkers = function (ranges) {\n        var markerList = this.session.$selectionMarkers;\n        for (var i = ranges.length; i--;) {\n            var range = ranges[i];\n            if (!range.marker)\n                continue;\n            this.session.removeMarker(range.marker);\n            var index = markerList.indexOf(range);\n            if (index != -1)\n                markerList.splice(index, 1);\n        }\n        this.session.selectionMarkerCount = markerList.length;\n    };\n    this.$onAddRange = function (e) {\n        this.addSelectionMarker(e.range);\n        this.renderer.updateCursor();\n        this.renderer.updateBackMarkers();\n    };\n    this.$onRemoveRange = function (e) {\n        this.removeSelectionMarkers(e.ranges);\n        this.renderer.updateCursor();\n        this.renderer.updateBackMarkers();\n    };\n    this.$onMultiSelect = function (e) {\n        if (this.inMultiSelectMode)\n            return;\n        this.inMultiSelectMode = true;\n        this.setStyle(\"ace_multiselect\");\n        this.keyBinding.addKeyboardHandler(commands.keyboardHandler);\n        this.commands.setDefaultHandler(\"exec\", this.$onMultiSelectExec);\n        this.renderer.updateCursor();\n        this.renderer.updateBackMarkers();\n    };\n    this.$onSingleSelect = function (e) {\n        if (this.session.multiSelect.inVirtualMode)\n            return;\n        this.inMultiSelectMode = false;\n        this.unsetStyle(\"ace_multiselect\");\n        this.keyBinding.removeKeyboardHandler(commands.keyboardHandler);\n        this.commands.removeDefaultHandler(\"exec\", this.$onMultiSelectExec);\n        this.renderer.updateCursor();\n        this.renderer.updateBackMarkers();\n        this._emit(\"changeSelection\");\n    };\n    this.$onMultiSelectExec = function (e) {\n        var command = e.command;\n        var editor = e.editor;\n        if (!editor.multiSelect)\n            return;\n        if (!command.multiSelectAction) {\n            var result = command.exec(editor, e.args || {});\n            editor.multiSelect.addRange(editor.multiSelect.toOrientedRange());\n            editor.multiSelect.mergeOverlappingRanges();\n        }\n        else if (command.multiSelectAction == \"forEach\") {\n            result = editor.forEachSelection(command, e.args);\n        }\n        else if (command.multiSelectAction == \"forEachLine\") {\n            result = editor.forEachSelection(command, e.args, true);\n        }\n        else if (command.multiSelectAction == \"single\") {\n            editor.exitMultiSelectMode();\n            result = command.exec(editor, e.args || {});\n        }\n        else {\n            result = command.multiSelectAction(editor, e.args || {});\n        }\n        return result;\n    };\n    this.forEachSelection = function (cmd, args, options) {\n        if (this.inVirtualSelectionMode)\n            return;\n        var keepOrder = options && options.keepOrder;\n        var $byLines = options == true || options && options.$byLines;\n        var session = this.session;\n        var selection = this.selection;\n        var rangeList = selection.rangeList;\n        var ranges = (keepOrder ? selection : rangeList).ranges;\n        var result;\n        if (!ranges.length)\n            return cmd.exec ? cmd.exec(this, args || {}) : cmd(this, args || {});\n        var reg = selection._eventRegistry;\n        selection._eventRegistry = {};\n        var tmpSel = new Selection(session);\n        this.inVirtualSelectionMode = true;\n        for (var i = ranges.length; i--;) {\n            if ($byLines) {\n                while (i > 0 && ranges[i].start.row == ranges[i - 1].end.row)\n                    i--;\n            }\n            tmpSel.fromOrientedRange(ranges[i]);\n            tmpSel.index = i;\n            this.selection = session.selection = tmpSel;\n            var cmdResult = cmd.exec ? cmd.exec(this, args || {}) : cmd(this, args || {});\n            if (!result && cmdResult !== undefined)\n                result = cmdResult;\n            tmpSel.toOrientedRange(ranges[i]);\n        }\n        tmpSel.detach();\n        this.selection = session.selection = selection;\n        this.inVirtualSelectionMode = false;\n        selection._eventRegistry = reg;\n        selection.mergeOverlappingRanges();\n        if (selection.ranges[0])\n            selection.fromOrientedRange(selection.ranges[0]);\n        var anim = this.renderer.$scrollAnimation;\n        this.onCursorChange();\n        this.onSelectionChange();\n        if (anim && anim.from == anim.to)\n            this.renderer.animateScrolling(anim.from);\n        return result;\n    };\n    this.exitMultiSelectMode = function () {\n        if (!this.inMultiSelectMode || this.inVirtualSelectionMode)\n            return;\n        this.multiSelect.toSingleRange();\n    };\n    this.getSelectedText = function () {\n        var text = \"\";\n        if (this.inMultiSelectMode && !this.inVirtualSelectionMode) {\n            var ranges = this.multiSelect.rangeList.ranges;\n            var buf = [];\n            for (var i = 0; i < ranges.length; i++) {\n                buf.push(this.session.getTextRange(ranges[i]));\n            }\n            var nl = this.session.getDocument().getNewLineCharacter();\n            text = buf.join(nl);\n            if (text.length == (buf.length - 1) * nl.length)\n                text = \"\";\n        }\n        else if (!this.selection.isEmpty()) {\n            text = this.session.getTextRange(this.getSelectionRange());\n        }\n        return text;\n    };\n    this.$checkMultiselectChange = function (e, anchor) {\n        if (this.inMultiSelectMode && !this.inVirtualSelectionMode) {\n            var range = this.multiSelect.ranges[0];\n            if (this.multiSelect.isEmpty() && anchor == this.multiSelect.anchor)\n                return;\n            var pos = anchor == this.multiSelect.anchor\n                ? range.cursor == range.start ? range.end : range.start\n                : range.cursor;\n            if (pos.row != anchor.row\n                || this.session.$clipPositionToDocument(pos.row, pos.column).column != anchor.column)\n                this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange());\n            else\n                this.multiSelect.mergeOverlappingRanges();\n        }\n    };\n    this.findAll = function (needle, options, additive) {\n        options = options || {};\n        options.needle = needle || options.needle;\n        if (options.needle == undefined) {\n            var range = this.selection.isEmpty()\n                ? this.selection.getWordRange()\n                : this.selection.getRange();\n            options.needle = this.session.getTextRange(range);\n        }\n        this.$search.set(options);\n        var ranges = this.$search.findAll(this.session);\n        if (!ranges.length)\n            return 0;\n        var selection = this.multiSelect;\n        if (!additive)\n            selection.toSingleRange(ranges[0]);\n        for (var i = ranges.length; i--;)\n            selection.addRange(ranges[i], true);\n        if (range && selection.rangeList.rangeAtPoint(range.start))\n            selection.addRange(range, true);\n        return ranges.length;\n    };\n    this.selectMoreLines = function (dir, skip) {\n        var range = this.selection.toOrientedRange();\n        var isBackwards = range.cursor == range.end;\n        var screenLead = this.session.documentToScreenPosition(range.cursor);\n        if (this.selection.$desiredColumn)\n            screenLead.column = this.selection.$desiredColumn;\n        var lead = this.session.screenToDocumentPosition(screenLead.row + dir, screenLead.column);\n        if (!range.isEmpty()) {\n            var screenAnchor = this.session.documentToScreenPosition(isBackwards ? range.end : range.start);\n            var anchor = this.session.screenToDocumentPosition(screenAnchor.row + dir, screenAnchor.column);\n        }\n        else {\n            var anchor = lead;\n        }\n        if (isBackwards) {\n            var newRange = Range.fromPoints(lead, anchor);\n            newRange.cursor = newRange.start;\n        }\n        else {\n            var newRange = Range.fromPoints(anchor, lead);\n            newRange.cursor = newRange.end;\n        }\n        newRange.desiredColumn = screenLead.column;\n        if (!this.selection.inMultiSelectMode) {\n            this.selection.addRange(range);\n        }\n        else {\n            if (skip)\n                var toRemove = range.cursor;\n        }\n        this.selection.addRange(newRange);\n        if (toRemove)\n            this.selection.substractPoint(toRemove);\n    };\n    this.transposeSelections = function (dir) {\n        var session = this.session;\n        var sel = session.multiSelect;\n        var all = sel.ranges;\n        for (var i = all.length; i--;) {\n            var range = all[i];\n            if (range.isEmpty()) {\n                var tmp_1 = session.getWordRange(range.start.row, range.start.column);\n                range.start.row = tmp_1.start.row;\n                range.start.column = tmp_1.start.column;\n                range.end.row = tmp_1.end.row;\n                range.end.column = tmp_1.end.column;\n            }\n        }\n        sel.mergeOverlappingRanges();\n        var words = [];\n        for (var i = all.length; i--;) {\n            var range = all[i];\n            words.unshift(session.getTextRange(range));\n        }\n        if (dir < 0)\n            words.unshift(words.pop());\n        else\n            words.push(words.shift());\n        for (var i = all.length; i--;) {\n            var range = all[i];\n            var tmp = range.clone();\n            session.replace(range, words[i]);\n            range.start.row = tmp.start.row;\n            range.start.column = tmp.start.column;\n        }\n        sel.fromOrientedRange(sel.ranges[0]);\n    };\n    this.selectMore = function (dir, skip, stopAtFirst) {\n        var session = this.session;\n        var sel = session.multiSelect;\n        var range = sel.toOrientedRange();\n        if (range.isEmpty()) {\n            range = session.getWordRange(range.start.row, range.start.column);\n            range.cursor = dir == -1 ? range.start : range.end;\n            this.multiSelect.addRange(range);\n            if (stopAtFirst)\n                return;\n        }\n        var needle = session.getTextRange(range);\n        var newRange = find(session, needle, dir);\n        if (newRange) {\n            newRange.cursor = dir == -1 ? newRange.start : newRange.end;\n            this.session.unfold(newRange);\n            this.multiSelect.addRange(newRange);\n            this.renderer.scrollCursorIntoView(null, 0.5);\n        }\n        if (skip)\n            this.multiSelect.substractPoint(range.cursor);\n    };\n    this.alignCursors = function () {\n        var session = this.session;\n        var sel = session.multiSelect;\n        var ranges = sel.ranges;\n        var row = -1;\n        var sameRowRanges = ranges.filter(function (r) {\n            if (r.cursor.row == row)\n                return true;\n            row = r.cursor.row;\n        });\n        if (!ranges.length || sameRowRanges.length == ranges.length - 1) {\n            var range = this.selection.getRange();\n            var fr = range.start.row, lr = range.end.row;\n            var guessRange = fr == lr;\n            if (guessRange) {\n                var max = this.session.getLength();\n                var line;\n                do {\n                    line = this.session.getLine(lr);\n                } while (/[=:]/.test(line) && ++lr < max);\n                do {\n                    line = this.session.getLine(fr);\n                } while (/[=:]/.test(line) && --fr > 0);\n                if (fr < 0)\n                    fr = 0;\n                if (lr >= max)\n                    lr = max - 1;\n            }\n            var lines = this.session.removeFullLines(fr, lr);\n            lines = this.$reAlignText(lines, guessRange);\n            this.session.insert({ row: fr, column: 0 }, lines.join(\"\\n\") + \"\\n\");\n            if (!guessRange) {\n                range.start.column = 0;\n                range.end.column = lines[lines.length - 1].length;\n            }\n            this.selection.setRange(range);\n        }\n        else {\n            sameRowRanges.forEach(function (r) {\n                sel.substractPoint(r.cursor);\n            });\n            var maxCol = 0;\n            var minSpace = Infinity;\n            var spaceOffsets = ranges.map(function (r) {\n                var p = r.cursor;\n                var line = session.getLine(p.row);\n                var spaceOffset = line.substr(p.column).search(/\\S/g);\n                if (spaceOffset == -1)\n                    spaceOffset = 0;\n                if (p.column > maxCol)\n                    maxCol = p.column;\n                if (spaceOffset < minSpace)\n                    minSpace = spaceOffset;\n                return spaceOffset;\n            });\n            ranges.forEach(function (r, i) {\n                var p = r.cursor;\n                var l = maxCol - p.column;\n                var d = spaceOffsets[i] - minSpace;\n                if (l > d)\n                    session.insert(p, lang.stringRepeat(\" \", l - d));\n                else\n                    session.remove(new Range(p.row, p.column, p.row, p.column - l + d));\n                r.start.column = r.end.column = maxCol;\n                r.start.row = r.end.row = p.row;\n                r.cursor = r.end;\n            });\n            sel.fromOrientedRange(ranges[0]);\n            this.renderer.updateCursor();\n            this.renderer.updateBackMarkers();\n        }\n    };\n    this.$reAlignText = function (lines, forceLeft) {\n        var isLeftAligned = true, isRightAligned = true;\n        var startW, textW, endW;\n        return lines.map(function (line) {\n            var m = line.match(/(\\s*)(.*?)(\\s*)([=:].*)/);\n            if (!m)\n                return [line];\n            if (startW == null) {\n                startW = m[1].length;\n                textW = m[2].length;\n                endW = m[3].length;\n                return m;\n            }\n            if (startW + textW + endW != m[1].length + m[2].length + m[3].length)\n                isRightAligned = false;\n            if (startW != m[1].length)\n                isLeftAligned = false;\n            if (startW > m[1].length)\n                startW = m[1].length;\n            if (textW < m[2].length)\n                textW = m[2].length;\n            if (endW > m[3].length)\n                endW = m[3].length;\n            return m;\n        }).map(forceLeft ? alignLeft :\n            isLeftAligned ? isRightAligned ? alignRight : alignLeft : unAlign);\n        function spaces(n) {\n            return lang.stringRepeat(\" \", n);\n        }\n        function alignLeft(m) {\n            return !m[2] ? m[0] : spaces(startW) + m[2]\n                + spaces(textW - m[2].length + endW)\n                + m[4].replace(/^([=:])\\s+/, \"$1 \");\n        }\n        function alignRight(m) {\n            return !m[2] ? m[0] : spaces(startW + textW - m[2].length) + m[2]\n                + spaces(endW)\n                + m[4].replace(/^([=:])\\s+/, \"$1 \");\n        }\n        function unAlign(m) {\n            return !m[2] ? m[0] : spaces(startW) + m[2]\n                + spaces(endW)\n                + m[4].replace(/^([=:])\\s+/, \"$1 \");\n        }\n    };\n}).call(Editor.prototype);\nfunction isSamePoint(p1, p2) {\n    return p1.row == p2.row && p1.column == p2.column;\n}\nexports.onSessionChange = function (e) {\n    var session = e.session;\n    if (session && !session.multiSelect) {\n        session.$selectionMarkers = [];\n        session.selection.$initRangeList();\n        session.multiSelect = session.selection;\n    }\n    this.multiSelect = session && session.multiSelect;\n    var oldSession = e.oldSession;\n    if (oldSession) {\n        oldSession.multiSelect.off(\"addRange\", this.$onAddRange);\n        oldSession.multiSelect.off(\"removeRange\", this.$onRemoveRange);\n        oldSession.multiSelect.off(\"multiSelect\", this.$onMultiSelect);\n        oldSession.multiSelect.off(\"singleSelect\", this.$onSingleSelect);\n        oldSession.multiSelect.lead.off(\"change\", this.$checkMultiselectChange);\n        oldSession.multiSelect.anchor.off(\"change\", this.$checkMultiselectChange);\n    }\n    if (session) {\n        session.multiSelect.on(\"addRange\", this.$onAddRange);\n        session.multiSelect.on(\"removeRange\", this.$onRemoveRange);\n        session.multiSelect.on(\"multiSelect\", this.$onMultiSelect);\n        session.multiSelect.on(\"singleSelect\", this.$onSingleSelect);\n        session.multiSelect.lead.on(\"change\", this.$checkMultiselectChange);\n        session.multiSelect.anchor.on(\"change\", this.$checkMultiselectChange);\n    }\n    if (session && this.inMultiSelectMode != session.selection.inMultiSelectMode) {\n        if (session.selection.inMultiSelectMode)\n            this.$onMultiSelect();\n        else\n            this.$onSingleSelect();\n    }\n};\nfunction MultiSelect(editor) {\n    if (editor.$multiselectOnSessionChange)\n        return;\n    editor.$onAddRange = editor.$onAddRange.bind(editor);\n    editor.$onRemoveRange = editor.$onRemoveRange.bind(editor);\n    editor.$onMultiSelect = editor.$onMultiSelect.bind(editor);\n    editor.$onSingleSelect = editor.$onSingleSelect.bind(editor);\n    editor.$multiselectOnSessionChange = exports.onSessionChange.bind(editor);\n    editor.$checkMultiselectChange = editor.$checkMultiselectChange.bind(editor);\n    editor.$multiselectOnSessionChange(editor);\n    editor.on(\"changeSession\", editor.$multiselectOnSessionChange);\n    editor.on(\"mousedown\", onMouseDown);\n    editor.commands.addCommands(commands.defaultCommands);\n    addAltCursorListeners(editor);\n}\nfunction addAltCursorListeners(editor) {\n    if (!editor.textInput)\n        return;\n    var el = editor.textInput.getElement();\n    var altCursor = false;\n    event.addListener(el, \"keydown\", function (e) {\n        var altDown = e.keyCode == 18 && !(e.ctrlKey || e.shiftKey || e.metaKey);\n        if (editor.$blockSelectEnabled && altDown) {\n            if (!altCursor) {\n                editor.renderer.setMouseCursor(\"crosshair\");\n                altCursor = true;\n            }\n        }\n        else if (altCursor) {\n            reset();\n        }\n    }, editor);\n    event.addListener(el, \"keyup\", reset, editor);\n    event.addListener(el, \"blur\", reset, editor);\n    function reset(e) {\n        if (altCursor) {\n            editor.renderer.setMouseCursor(\"\");\n            altCursor = false;\n        }\n    }\n}\nexports.MultiSelect = MultiSelect;\nrequire(\"./config\").defineOptions(Editor.prototype, \"editor\", {\n    enableMultiselect: {\n        set: function (val) {\n            MultiSelect(this);\n            if (val) {\n                this.on(\"mousedown\", onMouseDown);\n            }\n            else {\n                this.off(\"mousedown\", onMouseDown);\n            }\n        },\n        value: true\n    },\n    enableBlockSelect: {\n        set: function (val) {\n            this.$blockSelectEnabled = val;\n        },\n        value: true\n    }\n});\n\n});\n\nace.define(\"ace/mode/folding/fold_mode\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar Range = require(\"../../range\").Range;\nvar FoldMode = exports.FoldMode = function () { };\n(function () {\n    this.foldingStartMarker = null;\n    this.foldingStopMarker = null;\n    this.getFoldWidget = function (session, foldStyle, row) {\n        var line = session.getLine(row);\n        if (this.foldingStartMarker.test(line))\n            return \"start\";\n        if (foldStyle == \"markbeginend\"\n            && this.foldingStopMarker\n            && this.foldingStopMarker.test(line))\n            return \"end\";\n        return \"\";\n    };\n    this.getFoldWidgetRange = function (session, foldStyle, row) {\n        return null;\n    };\n    this.indentationBlock = function (session, row, column) {\n        var re = /\\S/;\n        var line = session.getLine(row);\n        var startLevel = line.search(re);\n        if (startLevel == -1)\n            return;\n        var startColumn = column || line.length;\n        var maxRow = session.getLength();\n        var startRow = row;\n        var endRow = row;\n        while (++row < maxRow) {\n            var level = session.getLine(row).search(re);\n            if (level == -1)\n                continue;\n            if (level <= startLevel) {\n                var token = session.getTokenAt(row, 0);\n                if (!token || token.type !== \"string\")\n                    break;\n            }\n            endRow = row;\n        }\n        if (endRow > startRow) {\n            var endColumn = session.getLine(endRow).length;\n            return new Range(startRow, startColumn, endRow, endColumn);\n        }\n    };\n    this.openingBracketBlock = function (session, bracket, row, column, typeRe) {\n        var start = { row: row, column: column + 1 };\n        var end = session.$findClosingBracket(bracket, start, typeRe);\n        if (!end)\n            return;\n        var fw = session.foldWidgets[end.row];\n        if (fw == null)\n            fw = session.getFoldWidget(end.row);\n        if (fw == \"start\" && end.row > start.row) {\n            end.row--;\n            end.column = session.getLine(end.row).length;\n        }\n        return Range.fromPoints(start, end);\n    };\n    this.closingBracketBlock = function (session, bracket, row, column, typeRe) {\n        var end = { row: row, column: column };\n        var start = session.$findOpeningBracket(bracket, end);\n        if (!start)\n            return;\n        start.column++;\n        end.column--;\n        return Range.fromPoints(start, end);\n    };\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/ext/error_marker\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/range\",\"ace/config\"], function(require, exports, module){\"use strict\";\nvar dom = require(\"../lib/dom\");\nvar Range = require(\"../range\").Range;\nvar nls = require(\"../config\").nls;\nfunction binarySearch(array, needle, comparator) {\n    var first = 0;\n    var last = array.length - 1;\n    while (first <= last) {\n        var mid = (first + last) >> 1;\n        var c = comparator(needle, array[mid]);\n        if (c > 0)\n            first = mid + 1;\n        else if (c < 0)\n            last = mid - 1;\n        else\n            return mid;\n    }\n    return -(first + 1);\n}\nfunction findAnnotations(session, row, dir) {\n    var annotations = session.getAnnotations().sort(Range.comparePoints);\n    if (!annotations.length)\n        return;\n    var i = binarySearch(annotations, { row: row, column: -1 }, Range.comparePoints);\n    if (i < 0)\n        i = -i - 1;\n    if (i >= annotations.length)\n        i = dir > 0 ? 0 : annotations.length - 1;\n    else if (i === 0 && dir < 0)\n        i = annotations.length - 1;\n    var annotation = annotations[i];\n    if (!annotation || !dir)\n        return;\n    if (annotation.row === row) {\n        do {\n            annotation = annotations[i += dir];\n        } while (annotation && annotation.row === row);\n        if (!annotation)\n            return annotations.slice();\n    }\n    var matched = [];\n    row = annotation.row;\n    do {\n        matched[dir < 0 ? \"unshift\" : \"push\"](annotation);\n        annotation = annotations[i += dir];\n    } while (annotation && annotation.row == row);\n    return matched.length && matched;\n}\nexports.showErrorMarker = function (editor, dir) {\n    var session = editor.session;\n    var pos = editor.getCursorPosition();\n    var row = pos.row;\n    var oldWidget = session.widgetManager.getWidgetsAtRow(row).filter(function (w) {\n        return w.type == \"errorMarker\";\n    })[0];\n    if (oldWidget) {\n        oldWidget.destroy();\n    }\n    else {\n        row -= dir;\n    }\n    var annotations = findAnnotations(session, row, dir);\n    var gutterAnno;\n    if (annotations) {\n        var annotation = annotations[0];\n        pos.column = (annotation.pos && typeof annotation.column != \"number\"\n            ? annotation.pos.sc\n            : annotation.column) || 0;\n        pos.row = annotation.row;\n        gutterAnno = editor.renderer.$gutterLayer.$annotations[pos.row];\n    }\n    else if (oldWidget) {\n        return;\n    }\n    else {\n        gutterAnno = {\n            displayText: [nls(\"error-marker.good-state\", \"Looks good!\")],\n            className: \"ace_ok\"\n        };\n    }\n    editor.session.unfold(pos.row);\n    editor.selection.moveToPosition(pos);\n    var w = {\n        row: pos.row,\n        fixedWidth: true,\n        coverGutter: true,\n        el: dom.createElement(\"div\"),\n        type: \"errorMarker\"\n    };\n    var el = w.el.appendChild(dom.createElement(\"div\"));\n    var arrow = w.el.appendChild(dom.createElement(\"div\"));\n    arrow.className = \"error_widget_arrow \" + gutterAnno.className;\n    var left = editor.renderer.$cursorLayer\n        .getPixelPosition(pos).left;\n    arrow.style.left = left + editor.renderer.gutterWidth - 5 + \"px\";\n    w.el.className = \"error_widget_wrapper\";\n    el.className = \"error_widget \" + gutterAnno.className;\n    gutterAnno.displayText.forEach(function (annoTextLine, i) {\n        el.appendChild(dom.createTextNode(annoTextLine));\n        if (i < gutterAnno.displayText.length - 1) {\n            el.appendChild(dom.createElement(\"br\"));\n        }\n    });\n    el.appendChild(dom.createElement(\"div\"));\n    var kb = function (_, hashId, keyString) {\n        if (hashId === 0 && (keyString === \"esc\" || keyString === \"return\")) {\n            w.destroy();\n            return { command: \"null\" };\n        }\n    };\n    w.destroy = function () {\n        if (editor.$mouseHandler.isMousePressed)\n            return;\n        editor.keyBinding.removeKeyboardHandler(kb);\n        session.widgetManager.removeLineWidget(w);\n        editor.off(\"changeSelection\", w.destroy);\n        editor.off(\"changeSession\", w.destroy);\n        editor.off(\"mouseup\", w.destroy);\n        editor.off(\"change\", w.destroy);\n    };\n    editor.keyBinding.addKeyboardHandler(kb);\n    editor.on(\"changeSelection\", w.destroy);\n    editor.on(\"changeSession\", w.destroy);\n    editor.on(\"mouseup\", w.destroy);\n    editor.on(\"change\", w.destroy);\n    editor.session.widgetManager.addLineWidget(w);\n    w.el.onmousedown = editor.focus.bind(editor);\n    editor.renderer.scrollCursorIntoView(null, 0.5, { bottom: w.el.offsetHeight });\n};\ndom.importCssString(\"\\n    .error_widget_wrapper {\\n        background: inherit;\\n        color: inherit;\\n        border:none\\n    }\\n    .error_widget {\\n        border-top: solid 2px;\\n        border-bottom: solid 2px;\\n        margin: 5px 0;\\n        padding: 10px 40px;\\n        white-space: pre-wrap;\\n    }\\n    .error_widget.ace_error, .error_widget_arrow.ace_error{\\n        border-color: #ff5a5a\\n    }\\n    .error_widget.ace_warning, .error_widget_arrow.ace_warning{\\n        border-color: #F1D817\\n    }\\n    .error_widget.ace_info, .error_widget_arrow.ace_info{\\n        border-color: #5a5a5a\\n    }\\n    .error_widget.ace_ok, .error_widget_arrow.ace_ok{\\n        border-color: #5aaa5a\\n    }\\n    .error_widget_arrow {\\n        position: absolute;\\n        border: solid 5px;\\n        border-top-color: transparent!important;\\n        border-right-color: transparent!important;\\n        border-left-color: transparent!important;\\n        top: -5px;\\n    }\\n\", \"error_marker.css\", false);\n\n});\n\nace.define(\"ace/ace\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/range\",\"ace/editor\",\"ace/edit_session\",\"ace/undomanager\",\"ace/virtual_renderer\",\"ace/worker/worker_client\",\"ace/keyboard/hash_handler\",\"ace/placeholder\",\"ace/multi_select\",\"ace/mode/folding/fold_mode\",\"ace/theme/textmate\",\"ace/ext/error_marker\",\"ace/config\",\"ace/loader_build\"], function(require, exports, module){/**\n * The main class required to set up an Ace instance in the browser.\n *\n * @namespace Ace\n **/\n\"use strict\";\nrequire(\"./loader_build\")(exports)\nvar dom = require(\"./lib/dom\");\nvar Range = require(\"./range\").Range;\nvar Editor = require(\"./editor\").Editor;\nvar EditSession = require(\"./edit_session\").EditSession;\nvar UndoManager = require(\"./undomanager\").UndoManager;\nvar Renderer = require(\"./virtual_renderer\").VirtualRenderer;\nrequire(\"./worker/worker_client\");\nrequire(\"./keyboard/hash_handler\");\nrequire(\"./placeholder\");\nrequire(\"./multi_select\");\nrequire(\"./mode/folding/fold_mode\");\nrequire(\"./theme/textmate\");\nrequire(\"./ext/error_marker\");\nexports.config = require(\"./config\");\nexports.edit = function (el, options) {\n    if (typeof el == \"string\") {\n        var _id = el;\n        el = document.getElementById(_id);\n        if (!el)\n            throw new Error(\"ace.edit can't find div #\" + _id);\n    }\n    if (el && el.env && el.env.editor instanceof Editor)\n        return el.env.editor;\n    var value = \"\";\n    if (el && /input|textarea/i.test(el.tagName)) {\n        var oldNode = el;\n        value = oldNode.value;\n        el = dom.createElement(\"pre\");\n        oldNode.parentNode.replaceChild(el, oldNode);\n    }\n    else if (el) {\n        value = el.textContent;\n        el.innerHTML = \"\";\n    }\n    var doc = exports.createEditSession(value);\n    var editor = new Editor(new Renderer(el), doc, options);\n    var env = {\n        document: doc,\n        editor: editor,\n        onResize: editor.resize.bind(editor, null)\n    };\n    if (oldNode)\n        env.textarea = oldNode;\n    editor.on(\"destroy\", function () {\n        env.editor.container.env = null; // prevent memory leak on old ie\n    });\n    editor.container.env = editor.env = env;\n    return editor;\n};\nexports.createEditSession = function (text, mode) {\n    var doc = new EditSession(text, mode);\n    doc.setUndoManager(new UndoManager());\n    return doc;\n};\nexports.Range = Range;\nexports.Editor = Editor;\nexports.EditSession = EditSession;\nexports.UndoManager = UndoManager;\nexports.VirtualRenderer = Renderer;\nvar version = exports.config.version;\nexports.version = version;\n\n});            (function() {\n                ace.require([\"ace/ace\"], function(a) {\n                    if (a) {\n                        a.config.init(true);\n                        a.define = ace.define;\n                    }\n                    var global = (function () {\n                        return this;\n                    })();\n                    if (!global && typeof window != \"undefined\") global = window; // can happen in strict mode\n                    if (!global && typeof self != \"undefined\") global = self; // can happen in webworker\n                    \n                    if (!global.ace)\n                        global.ace = a;\n                    for (var key in a) if (a.hasOwnProperty(key))\n                        global.ace[key] = a[key];\n                    global.ace[\"default\"] = global.ace;\n                    if (typeof module == \"object\" && typeof exports == \"object\" && module) {\n                        module.exports = global.ace;\n                    }\n                });\n            })();\n        ","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAceInstance = exports.debounce = exports.editorEvents = exports.editorOptions = void 0;\nvar editorOptions = [\n    \"minLines\",\n    \"maxLines\",\n    \"readOnly\",\n    \"highlightActiveLine\",\n    \"tabSize\",\n    \"enableBasicAutocompletion\",\n    \"enableLiveAutocompletion\",\n    \"enableSnippets\"\n];\nexports.editorOptions = editorOptions;\nvar editorEvents = [\n    \"onChange\",\n    \"onFocus\",\n    \"onInput\",\n    \"onBlur\",\n    \"onCopy\",\n    \"onPaste\",\n    \"onSelectionChange\",\n    \"onCursorChange\",\n    \"onScroll\",\n    \"handleOptions\",\n    \"updateRef\"\n];\nexports.editorEvents = editorEvents;\nvar getAceInstance = function () {\n    var ace;\n    if (typeof window === \"undefined\") {\n        // ace-builds just needs some window object to attach ace to.\n        // During SSR even just an empty object will work.\n        global.window = {};\n        ace = require(\"ace-builds\");\n        // And it can be discarded immediately afterward to avoid confusing\n        // other libraries that might detect SSR the same way we did.\n        delete global.window;\n    }\n    else if (window.ace) {\n        // Fallback for ace.require when vanilla ACE is hosted over a CDN\n        ace = window.ace;\n        ace.acequire = window.ace.require || window.ace.acequire;\n    }\n    else {\n        ace = require(\"ace-builds\");\n    }\n    return ace;\n};\nexports.getAceInstance = getAceInstance;\nvar debounce = function (fn, delay) {\n    var timer = null;\n    // tslint:disable-next-line\n    return function () {\n        var context = this;\n        var args = arguments;\n        clearTimeout(timer);\n        timer = setTimeout(function () {\n            fn.apply(context, args);\n        }, delay);\n    };\n};\nexports.debounce = debounce;\n//# sourceMappingURL=editorOptions.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ace_builds_1 = require(\"ace-builds\");\nvar PropTypes = require(\"prop-types\");\nvar React = require(\"react\");\nvar isEqual = require(\"lodash.isequal\");\nvar editorOptions_1 = require(\"./editorOptions\");\nvar ace = (0, editorOptions_1.getAceInstance)();\nvar ReactAce = /** @class */ (function (_super) {\n    __extends(ReactAce, _super);\n    function ReactAce(props) {\n        var _this = _super.call(this, props) || this;\n        editorOptions_1.editorEvents.forEach(function (method) {\n            _this[method] = _this[method].bind(_this);\n        });\n        _this.debounce = editorOptions_1.debounce;\n        return _this;\n    }\n    ReactAce.prototype.isInShadow = function (node) {\n        var parent = node && node.parentNode;\n        while (parent) {\n            if (parent.toString() === \"[object ShadowRoot]\") {\n                return true;\n            }\n            parent = parent.parentNode;\n        }\n        return false;\n    };\n    ReactAce.prototype.componentDidMount = function () {\n        var _this = this;\n        var _a = this.props, className = _a.className, onBeforeLoad = _a.onBeforeLoad, onValidate = _a.onValidate, mode = _a.mode, focus = _a.focus, theme = _a.theme, fontSize = _a.fontSize, value = _a.value, defaultValue = _a.defaultValue, showGutter = _a.showGutter, wrapEnabled = _a.wrapEnabled, showPrintMargin = _a.showPrintMargin, _b = _a.scrollMargin, scrollMargin = _b === void 0 ? [0, 0, 0, 0] : _b, keyboardHandler = _a.keyboardHandler, onLoad = _a.onLoad, commands = _a.commands, annotations = _a.annotations, markers = _a.markers, placeholder = _a.placeholder;\n        this.editor = ace.edit(this.refEditor);\n        if (onBeforeLoad) {\n            onBeforeLoad(ace);\n        }\n        var editorProps = Object.keys(this.props.editorProps);\n        for (var i = 0; i < editorProps.length; i++) {\n            this.editor[editorProps[i]] = this.props.editorProps[editorProps[i]];\n        }\n        if (this.props.debounceChangePeriod) {\n            this.onChange = this.debounce(this.onChange, this.props.debounceChangePeriod);\n        }\n        this.editor.renderer.setScrollMargin(scrollMargin[0], scrollMargin[1], scrollMargin[2], scrollMargin[3]);\n        if (this.isInShadow(this.refEditor)) {\n            this.editor.renderer.attachToShadowRoot();\n        }\n        this.editor\n            .getSession()\n            .setMode(typeof mode === \"string\" ? \"ace/mode/\".concat(mode) : mode);\n        if (theme && theme !== \"\")\n            this.editor.setTheme(\"ace/theme/\".concat(theme));\n        this.editor.setFontSize(typeof fontSize === \"number\" ? \"\".concat(fontSize, \"px\") : fontSize);\n        this.editor\n            .getSession()\n            .setValue(!defaultValue ? value || \"\" : defaultValue);\n        if (this.props.navigateToFileEnd) {\n            this.editor.navigateFileEnd();\n        }\n        this.editor.renderer.setShowGutter(showGutter);\n        this.editor.getSession().setUseWrapMode(wrapEnabled);\n        this.editor.setShowPrintMargin(showPrintMargin);\n        this.editor.on(\"focus\", this.onFocus);\n        this.editor.on(\"blur\", this.onBlur);\n        this.editor.on(\"copy\", this.onCopy);\n        this.editor.on(\"paste\", this.onPaste);\n        this.editor.on(\"change\", this.onChange);\n        this.editor.on(\"input\", this.onInput);\n        if (placeholder) {\n            this.updatePlaceholder();\n        }\n        this.editor\n            .getSession()\n            .selection.on(\"changeSelection\", this.onSelectionChange);\n        this.editor.getSession().selection.on(\"changeCursor\", this.onCursorChange);\n        if (onValidate) {\n            // @ts-ignore types don't include\n            this.editor.getSession().on(\"changeAnnotation\", function () {\n                // tslint:disable-next-line:no-shadowed-variable\n                var annotations = _this.editor.getSession().getAnnotations();\n                _this.props.onValidate(annotations);\n            });\n        }\n        this.editor.session.on(\"changeScrollTop\", this.onScroll);\n        this.editor.getSession().setAnnotations(annotations || []);\n        if (markers && markers.length > 0) {\n            this.handleMarkers(markers);\n        }\n        // get a list of possible options to avoid 'misspelled option errors'\n        var availableOptions = this.editor.$options;\n        editorOptions_1.editorOptions.forEach(function (option) {\n            if (availableOptions.hasOwnProperty(option)) {\n                // @ts-ignore\n                _this.editor.setOption(option, _this.props[option]);\n            }\n            else if (_this.props[option]) {\n                console.warn(\"ReactAce: editor option \".concat(option, \" was activated but not found. Did you need to import a related tool or did you possibly mispell the option?\"));\n            }\n        });\n        this.handleOptions(this.props);\n        if (Array.isArray(commands)) {\n            commands.forEach(function (command) {\n                if (typeof command.exec === \"string\") {\n                    _this.editor.commands.bindKey(command.bindKey, command.exec);\n                }\n                else {\n                    _this.editor.commands.addCommand(command);\n                }\n            });\n        }\n        if (keyboardHandler) {\n            this.editor.setKeyboardHandler(\"ace/keyboard/\" + keyboardHandler);\n        }\n        if (className) {\n            this.refEditor.className += \" \" + className;\n        }\n        if (onLoad) {\n            onLoad(this.editor);\n        }\n        this.editor.resize();\n        if (focus) {\n            this.editor.focus();\n        }\n    };\n    ReactAce.prototype.componentDidUpdate = function (prevProps) {\n        var oldProps = prevProps;\n        var nextProps = this.props;\n        for (var i = 0; i < editorOptions_1.editorOptions.length; i++) {\n            var option = editorOptions_1.editorOptions[i];\n            if (nextProps[option] !== oldProps[option]) {\n                // @ts-ignore\n                this.editor.setOption(option, nextProps[option]);\n            }\n        }\n        if (nextProps.className !== oldProps.className) {\n            var appliedClasses = this.refEditor.className;\n            var appliedClassesArray_1 = appliedClasses.trim().split(\" \");\n            var oldClassesArray = oldProps.className.trim().split(\" \");\n            oldClassesArray.forEach(function (oldClass) {\n                var index = appliedClassesArray_1.indexOf(oldClass);\n                appliedClassesArray_1.splice(index, 1);\n            });\n            this.refEditor.className =\n                \" \" + nextProps.className + \" \" + appliedClassesArray_1.join(\" \");\n        }\n        // First process editor value, as it may create a new session (see issue #300)\n        var valueChanged = this.editor &&\n            nextProps.value != null &&\n            this.editor.getValue() !== nextProps.value;\n        if (valueChanged) {\n            // editor.setValue is a synchronous function call, change event is emitted before setValue return.\n            this.silent = true;\n            var pos = this.editor.session.selection.toJSON();\n            this.editor.setValue(nextProps.value, nextProps.cursorStart);\n            this.editor.session.selection.fromJSON(pos);\n            this.silent = false;\n        }\n        if (nextProps.placeholder !== oldProps.placeholder) {\n            this.updatePlaceholder();\n        }\n        if (nextProps.mode !== oldProps.mode) {\n            this.editor\n                .getSession()\n                .setMode(typeof nextProps.mode === \"string\"\n                ? \"ace/mode/\".concat(nextProps.mode)\n                : nextProps.mode);\n        }\n        if (nextProps.theme !== oldProps.theme) {\n            this.editor.setTheme(\"ace/theme/\" + nextProps.theme);\n        }\n        if (nextProps.keyboardHandler !== oldProps.keyboardHandler) {\n            if (nextProps.keyboardHandler) {\n                this.editor.setKeyboardHandler(\"ace/keyboard/\" + nextProps.keyboardHandler);\n            }\n            else {\n                this.editor.setKeyboardHandler(null);\n            }\n        }\n        if (nextProps.fontSize !== oldProps.fontSize) {\n            this.editor.setFontSize(typeof nextProps.fontSize === \"number\"\n                ? \"\".concat(nextProps.fontSize, \"px\")\n                : nextProps.fontSize);\n        }\n        if (nextProps.wrapEnabled !== oldProps.wrapEnabled) {\n            this.editor.getSession().setUseWrapMode(nextProps.wrapEnabled);\n        }\n        if (nextProps.showPrintMargin !== oldProps.showPrintMargin) {\n            this.editor.setShowPrintMargin(nextProps.showPrintMargin);\n        }\n        if (nextProps.showGutter !== oldProps.showGutter) {\n            this.editor.renderer.setShowGutter(nextProps.showGutter);\n        }\n        if (!isEqual(nextProps.setOptions, oldProps.setOptions)) {\n            this.handleOptions(nextProps);\n        }\n        // if the value or annotations changed, set the annotations\n        // changing the value may create create a new session which will require annotations to be re-set\n        if (valueChanged || !isEqual(nextProps.annotations, oldProps.annotations)) {\n            this.editor.getSession().setAnnotations(nextProps.annotations || []);\n        }\n        if (!isEqual(nextProps.markers, oldProps.markers) &&\n            Array.isArray(nextProps.markers)) {\n            this.handleMarkers(nextProps.markers);\n        }\n        // this doesn't look like it works at all....\n        if (!isEqual(nextProps.scrollMargin, oldProps.scrollMargin)) {\n            this.handleScrollMargins(nextProps.scrollMargin);\n        }\n        if (prevProps.height !== this.props.height ||\n            prevProps.width !== this.props.width) {\n            this.editor.resize();\n        }\n        if (this.props.focus && !prevProps.focus) {\n            this.editor.focus();\n        }\n    };\n    ReactAce.prototype.handleScrollMargins = function (margins) {\n        if (margins === void 0) { margins = [0, 0, 0, 0]; }\n        this.editor.renderer.setScrollMargin(margins[0], margins[1], margins[2], margins[3]);\n    };\n    ReactAce.prototype.componentWillUnmount = function () {\n        if (this.editor) {\n            this.editor.destroy();\n            this.editor = null;\n        }\n    };\n    ReactAce.prototype.onChange = function (event) {\n        if (this.props.onChange && !this.silent) {\n            var value = this.editor.getValue();\n            this.props.onChange(value, event);\n        }\n    };\n    ReactAce.prototype.onSelectionChange = function (event) {\n        if (this.props.onSelectionChange) {\n            var value = this.editor.getSelection();\n            this.props.onSelectionChange(value, event);\n        }\n    };\n    ReactAce.prototype.onCursorChange = function (event) {\n        if (this.props.onCursorChange) {\n            var value = this.editor.getSelection();\n            this.props.onCursorChange(value, event);\n        }\n    };\n    ReactAce.prototype.onInput = function (event) {\n        if (this.props.onInput) {\n            this.props.onInput(event);\n        }\n        if (this.props.placeholder) {\n            this.updatePlaceholder();\n        }\n    };\n    ReactAce.prototype.onFocus = function (event) {\n        if (this.props.onFocus) {\n            this.props.onFocus(event, this.editor);\n        }\n    };\n    ReactAce.prototype.onBlur = function (event) {\n        if (this.props.onBlur) {\n            this.props.onBlur(event, this.editor);\n        }\n    };\n    ReactAce.prototype.onCopy = function (_a) {\n        var text = _a.text;\n        if (this.props.onCopy) {\n            this.props.onCopy(text);\n        }\n    };\n    ReactAce.prototype.onPaste = function (_a) {\n        var text = _a.text;\n        if (this.props.onPaste) {\n            this.props.onPaste(text);\n        }\n    };\n    ReactAce.prototype.onScroll = function () {\n        if (this.props.onScroll) {\n            this.props.onScroll(this.editor);\n        }\n    };\n    ReactAce.prototype.handleOptions = function (props) {\n        var setOptions = Object.keys(props.setOptions);\n        for (var y = 0; y < setOptions.length; y++) {\n            // @ts-ignore\n            this.editor.setOption(setOptions[y], props.setOptions[setOptions[y]]);\n        }\n    };\n    ReactAce.prototype.handleMarkers = function (markers) {\n        var _this = this;\n        // remove foreground markers\n        var currentMarkers = this.editor.getSession().getMarkers(true);\n        for (var i in currentMarkers) {\n            if (currentMarkers.hasOwnProperty(i)) {\n                this.editor.getSession().removeMarker(currentMarkers[i].id);\n            }\n        }\n        // remove background markers except active line marker and selected word marker\n        currentMarkers = this.editor.getSession().getMarkers(false);\n        for (var i in currentMarkers) {\n            if (currentMarkers.hasOwnProperty(i) &&\n                currentMarkers[i].clazz !== \"ace_active-line\" &&\n                currentMarkers[i].clazz !== \"ace_selected-word\") {\n                this.editor.getSession().removeMarker(currentMarkers[i].id);\n            }\n        }\n        // add new markers\n        markers.forEach(function (_a) {\n            var startRow = _a.startRow, startCol = _a.startCol, endRow = _a.endRow, endCol = _a.endCol, className = _a.className, type = _a.type, _b = _a.inFront, inFront = _b === void 0 ? false : _b;\n            var range = new ace_builds_1.Range(startRow, startCol, endRow, endCol);\n            _this.editor.getSession().addMarker(range, className, type, inFront);\n        });\n    };\n    ReactAce.prototype.updatePlaceholder = function () {\n        // Adapted from https://stackoverflow.com/questions/26695708/how-can-i-add-placeholder-text-when-the-editor-is-empty\n        var editor = this.editor;\n        var placeholder = this.props.placeholder;\n        var showPlaceholder = !editor.session.getValue().length;\n        var node = editor.renderer.placeholderNode;\n        if (!showPlaceholder && node) {\n            editor.renderer.scroller.removeChild(editor.renderer.placeholderNode);\n            editor.renderer.placeholderNode = null;\n        }\n        else if (showPlaceholder && !node) {\n            node = editor.renderer.placeholderNode = document.createElement(\"div\");\n            node.textContent = placeholder || \"\";\n            node.className = \"ace_comment ace_placeholder\";\n            node.style.padding = \"0 9px\";\n            node.style.position = \"absolute\";\n            node.style.zIndex = \"3\";\n            editor.renderer.scroller.appendChild(node);\n        }\n        else if (showPlaceholder && node) {\n            node.textContent = placeholder;\n        }\n    };\n    ReactAce.prototype.updateRef = function (item) {\n        this.refEditor = item;\n    };\n    ReactAce.prototype.render = function () {\n        var _a = this.props, name = _a.name, width = _a.width, height = _a.height, style = _a.style;\n        var divStyle = __assign({ width: width, height: height }, style);\n        return React.createElement(\"div\", { ref: this.updateRef, id: name, style: divStyle });\n    };\n    ReactAce.propTypes = {\n        mode: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n        focus: PropTypes.bool,\n        theme: PropTypes.string,\n        name: PropTypes.string,\n        className: PropTypes.string,\n        height: PropTypes.string,\n        width: PropTypes.string,\n        fontSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n        showGutter: PropTypes.bool,\n        onChange: PropTypes.func,\n        onCopy: PropTypes.func,\n        onPaste: PropTypes.func,\n        onFocus: PropTypes.func,\n        onInput: PropTypes.func,\n        onBlur: PropTypes.func,\n        onScroll: PropTypes.func,\n        value: PropTypes.string,\n        defaultValue: PropTypes.string,\n        onLoad: PropTypes.func,\n        onSelectionChange: PropTypes.func,\n        onCursorChange: PropTypes.func,\n        onBeforeLoad: PropTypes.func,\n        onValidate: PropTypes.func,\n        minLines: PropTypes.number,\n        maxLines: PropTypes.number,\n        readOnly: PropTypes.bool,\n        highlightActiveLine: PropTypes.bool,\n        tabSize: PropTypes.number,\n        showPrintMargin: PropTypes.bool,\n        cursorStart: PropTypes.number,\n        debounceChangePeriod: PropTypes.number,\n        editorProps: PropTypes.object,\n        setOptions: PropTypes.object,\n        style: PropTypes.object,\n        scrollMargin: PropTypes.array,\n        annotations: PropTypes.array,\n        markers: PropTypes.array,\n        keyboardHandler: PropTypes.string,\n        wrapEnabled: PropTypes.bool,\n        enableSnippets: PropTypes.bool,\n        enableBasicAutocompletion: PropTypes.oneOfType([\n            PropTypes.bool,\n            PropTypes.array\n        ]),\n        enableLiveAutocompletion: PropTypes.oneOfType([\n            PropTypes.bool,\n            PropTypes.array\n        ]),\n        navigateToFileEnd: PropTypes.bool,\n        commands: PropTypes.array,\n        placeholder: PropTypes.string\n    };\n    ReactAce.defaultProps = {\n        name: \"ace-editor\",\n        focus: false,\n        mode: \"\",\n        theme: \"\",\n        height: \"500px\",\n        width: \"500px\",\n        fontSize: 12,\n        enableSnippets: false,\n        showGutter: true,\n        onChange: null,\n        onPaste: null,\n        onLoad: null,\n        onScroll: null,\n        minLines: null,\n        maxLines: null,\n        readOnly: false,\n        highlightActiveLine: true,\n        showPrintMargin: true,\n        tabSize: 4,\n        cursorStart: 1,\n        editorProps: {},\n        style: {},\n        scrollMargin: [0, 0, 0, 0],\n        setOptions: {},\n        wrapEnabled: false,\n        enableBasicAutocompletion: false,\n        enableLiveAutocompletion: false,\n        placeholder: null,\n        navigateToFileEnd: true\n    };\n    return ReactAce;\n}(React.Component));\nexports.default = ReactAce;\n//# sourceMappingURL=ace.js.map","ace.define(\"ace/split\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/lib/event_emitter\",\"ace/editor\",\"ace/virtual_renderer\",\"ace/edit_session\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"./lib/oop\");\nvar lang = require(\"./lib/lang\");\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar Editor = require(\"./editor\").Editor;\nvar Renderer = require(\"./virtual_renderer\").VirtualRenderer;\nvar EditSession = require(\"./edit_session\").EditSession;\nvar Split;\nSplit = function (container, theme, splits) {\n    this.BELOW = 1;\n    this.BESIDE = 0;\n    this.$container = container;\n    this.$theme = theme;\n    this.$splits = 0;\n    this.$editorCSS = \"\";\n    this.$editors = [];\n    this.$orientation = this.BESIDE;\n    this.setSplits(splits || 1);\n    this.$cEditor = this.$editors[0];\n    this.on(\"focus\", function (editor) {\n        this.$cEditor = editor;\n    }.bind(this));\n};\n(function () {\n    oop.implement(this, EventEmitter);\n    this.$createEditor = function () {\n        var el = document.createElement(\"div\");\n        el.className = this.$editorCSS;\n        el.style.cssText = \"position: absolute; top:0px; bottom:0px\";\n        this.$container.appendChild(el);\n        var editor = new Editor(new Renderer(el, this.$theme));\n        editor.on(\"focus\", function () {\n            this._emit(\"focus\", editor);\n        }.bind(this));\n        this.$editors.push(editor);\n        editor.setFontSize(this.$fontSize);\n        return editor;\n    };\n    this.setSplits = function (splits) {\n        var editor;\n        if (splits < 1) {\n            throw \"The number of splits have to be > 0!\";\n        }\n        if (splits == this.$splits) {\n            return;\n        }\n        else if (splits > this.$splits) {\n            while (this.$splits < this.$editors.length && this.$splits < splits) {\n                editor = this.$editors[this.$splits];\n                this.$container.appendChild(editor.container);\n                editor.setFontSize(this.$fontSize);\n                this.$splits++;\n            }\n            while (this.$splits < splits) {\n                this.$createEditor();\n                this.$splits++;\n            }\n        }\n        else {\n            while (this.$splits > splits) {\n                editor = this.$editors[this.$splits - 1];\n                this.$container.removeChild(editor.container);\n                this.$splits--;\n            }\n        }\n        this.resize();\n    };\n    this.getSplits = function () {\n        return this.$splits;\n    };\n    this.getEditor = function (idx) {\n        return this.$editors[idx];\n    };\n    this.getCurrentEditor = function () {\n        return this.$cEditor;\n    };\n    this.focus = function () {\n        this.$cEditor.focus();\n    };\n    this.blur = function () {\n        this.$cEditor.blur();\n    };\n    this.setTheme = function (theme) {\n        this.$editors.forEach(function (editor) {\n            editor.setTheme(theme);\n        });\n    };\n    this.setKeyboardHandler = function (keybinding) {\n        this.$editors.forEach(function (editor) {\n            editor.setKeyboardHandler(keybinding);\n        });\n    };\n    this.forEach = function (callback, scope) {\n        this.$editors.forEach(callback, scope);\n    };\n    this.$fontSize = \"\";\n    this.setFontSize = function (size) {\n        this.$fontSize = size;\n        this.forEach(function (editor) {\n            editor.setFontSize(size);\n        });\n    };\n    this.$cloneSession = function (session) {\n        var s = new EditSession(session.getDocument(), session.getMode());\n        var undoManager = session.getUndoManager();\n        s.setUndoManager(undoManager);\n        s.setTabSize(session.getTabSize());\n        s.setUseSoftTabs(session.getUseSoftTabs());\n        s.setOverwrite(session.getOverwrite());\n        s.setBreakpoints(session.getBreakpoints());\n        s.setUseWrapMode(session.getUseWrapMode());\n        s.setUseWorker(session.getUseWorker());\n        s.setWrapLimitRange(session.$wrapLimitRange.min, session.$wrapLimitRange.max);\n        s.$foldData = session.$cloneFoldData();\n        return s;\n    };\n    this.setSession = function (session, idx) {\n        var editor;\n        if (idx == null) {\n            editor = this.$cEditor;\n        }\n        else {\n            editor = this.$editors[idx];\n        }\n        var isUsed = this.$editors.some(function (editor) {\n            return editor.session === session;\n        });\n        if (isUsed) {\n            session = this.$cloneSession(session);\n        }\n        editor.setSession(session);\n        return session;\n    };\n    this.getOrientation = function () {\n        return this.$orientation;\n    };\n    this.setOrientation = function (orientation) {\n        if (this.$orientation == orientation) {\n            return;\n        }\n        this.$orientation = orientation;\n        this.resize();\n    };\n    this.resize = function () {\n        var width = this.$container.clientWidth;\n        var height = this.$container.clientHeight;\n        var editor;\n        if (this.$orientation == this.BESIDE) {\n            var editorWidth = width / this.$splits;\n            for (var i = 0; i < this.$splits; i++) {\n                editor = this.$editors[i];\n                editor.container.style.width = editorWidth + \"px\";\n                editor.container.style.top = \"0px\";\n                editor.container.style.left = i * editorWidth + \"px\";\n                editor.container.style.height = height + \"px\";\n                editor.resize();\n            }\n        }\n        else {\n            var editorHeight = height / this.$splits;\n            for (var i = 0; i < this.$splits; i++) {\n                editor = this.$editors[i];\n                editor.container.style.width = width + \"px\";\n                editor.container.style.top = i * editorHeight + \"px\";\n                editor.container.style.left = \"0px\";\n                editor.container.style.height = editorHeight + \"px\";\n                editor.resize();\n            }\n        }\n    };\n}).call(Split.prototype);\nexports.Split = Split;\n\n});\n\nace.define(\"ace/ext/split\",[\"require\",\"exports\",\"module\",\"ace/split\"], function(require, exports, module){\"use strict\";\nmodule.exports = require(\"../split\");\n\n});                (function() {\n                    ace.require([\"ace/ext/split\"], function(m) {\n                        if (typeof module == \"object\" && typeof exports == \"object\" && module) {\n                            module.exports = m;\n                        }\n                    });\n                })();\n            ","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n    reIsPlainProp = /^\\w*$/,\n    reLeadingDot = /^\\./,\n    rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n  // Many host objects are `Object` objects that can coerce to strings\n  // despite having improperly defined `toString` methods.\n  var result = false;\n  if (value != null && typeof value.toString != 'function') {\n    try {\n      result = !!(value + '');\n    } catch (e) {}\n  }\n  return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n    funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n    splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n    nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  getMapData(this, key).set(key, value);\n  return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n  path = isKey(path, object) ? [path] : castPath(path);\n\n  var index = 0,\n      length = path.length;\n\n  while (object != null && index < length) {\n    object = object[toKey(path[index++])];\n  }\n  return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n  // Exit early for strings to avoid a performance hit in some environments.\n  if (typeof value == 'string') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return symbolToString ? symbolToString.call(value) : '';\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n  return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n  if (isArray(value)) {\n    return false;\n  }\n  var type = typeof value;\n  if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n      value == null || isSymbol(value)) {\n    return true;\n  }\n  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n    (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n  string = toString(string);\n\n  var result = [];\n  if (reLeadingDot.test(string)) {\n    result.push('');\n  }\n  string.replace(rePropName, function(match, number, quote, string) {\n    result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n  });\n  return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n  if (typeof value == 'string' || isSymbol(value)) {\n    return value;\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n  if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  var memoized = function() {\n    var args = arguments,\n        key = resolver ? resolver.apply(this, args) : args[0],\n        cache = memoized.cache;\n\n    if (cache.has(key)) {\n      return cache.get(key);\n    }\n    var result = func.apply(this, args);\n    memoized.cache = cache.set(key, result);\n    return result;\n  };\n  memoized.cache = new (memoize.Cache || MapCache);\n  return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n  return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 8-9 which returns 'object' for typed array and other constructors.\n  var tag = isObject(value) ? objectToString.call(value) : '';\n  return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n  return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n  var result = object == null ? undefined : baseGet(object, path);\n  return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar editorOptions_1 = require(\"./editorOptions\");\nvar ace = (0, editorOptions_1.getAceInstance)();\nvar ace_builds_1 = require(\"ace-builds\");\nvar ext_split_1 = require(\"ace-builds/src-noconflict/ext-split\");\nvar PropTypes = require(\"prop-types\");\nvar React = require(\"react\");\nvar isEqual = require(\"lodash.isequal\");\nvar get = require(\"lodash.get\");\nvar SplitComponent = /** @class */ (function (_super) {\n    __extends(SplitComponent, _super);\n    function SplitComponent(props) {\n        var _this = _super.call(this, props) || this;\n        editorOptions_1.editorEvents.forEach(function (method) {\n            _this[method] = _this[method].bind(_this);\n        });\n        _this.debounce = editorOptions_1.debounce;\n        return _this;\n    }\n    SplitComponent.prototype.isInShadow = function (node) {\n        var parent = node && node.parentNode;\n        while (parent) {\n            if (parent.toString() === \"[object ShadowRoot]\") {\n                return true;\n            }\n            parent = parent.parentNode;\n        }\n        return false;\n    };\n    SplitComponent.prototype.componentDidMount = function () {\n        var _this = this;\n        var _a = this.props, className = _a.className, onBeforeLoad = _a.onBeforeLoad, mode = _a.mode, focus = _a.focus, theme = _a.theme, fontSize = _a.fontSize, value = _a.value, defaultValue = _a.defaultValue, cursorStart = _a.cursorStart, showGutter = _a.showGutter, wrapEnabled = _a.wrapEnabled, showPrintMargin = _a.showPrintMargin, _b = _a.scrollMargin, scrollMargin = _b === void 0 ? [0, 0, 0, 0] : _b, keyboardHandler = _a.keyboardHandler, onLoad = _a.onLoad, commands = _a.commands, annotations = _a.annotations, markers = _a.markers, splits = _a.splits;\n        this.editor = ace.edit(this.refEditor);\n        if (this.isInShadow(this.refEditor)) {\n            this.editor.renderer.attachToShadowRoot();\n        }\n        this.editor.setTheme(\"ace/theme/\".concat(theme));\n        if (onBeforeLoad) {\n            onBeforeLoad(ace);\n        }\n        var editorProps = Object.keys(this.props.editorProps);\n        var split = new ext_split_1.Split(this.editor.container, \"ace/theme/\".concat(theme), splits);\n        this.editor.env.split = split;\n        this.splitEditor = split.getEditor(0);\n        this.split = split;\n        // in a split scenario we don't want a print margin for the entire application\n        this.editor.setShowPrintMargin(false);\n        this.editor.renderer.setShowGutter(false);\n        // get a list of possible options to avoid 'misspelled option errors'\n        var availableOptions = this.splitEditor.$options;\n        if (this.props.debounceChangePeriod) {\n            this.onChange = this.debounce(this.onChange, this.props.debounceChangePeriod);\n        }\n        split.forEach(function (editor, index) {\n            for (var i = 0; i < editorProps.length; i++) {\n                editor[editorProps[i]] = _this.props.editorProps[editorProps[i]];\n            }\n            var defaultValueForEditor = get(defaultValue, index);\n            var valueForEditor = get(value, index, \"\");\n            editor.session.setUndoManager(new ace.UndoManager());\n            editor.setTheme(\"ace/theme/\".concat(theme));\n            editor.renderer.setScrollMargin(scrollMargin[0], scrollMargin[1], scrollMargin[2], scrollMargin[3]);\n            editor.getSession().setMode(\"ace/mode/\".concat(mode));\n            editor.setFontSize(fontSize);\n            editor.renderer.setShowGutter(showGutter);\n            editor.getSession().setUseWrapMode(wrapEnabled);\n            editor.setShowPrintMargin(showPrintMargin);\n            editor.on(\"focus\", _this.onFocus);\n            editor.on(\"blur\", _this.onBlur);\n            editor.on(\"input\", _this.onInput);\n            editor.on(\"copy\", _this.onCopy);\n            editor.on(\"paste\", _this.onPaste);\n            editor.on(\"change\", _this.onChange);\n            editor\n                .getSession()\n                .selection.on(\"changeSelection\", _this.onSelectionChange);\n            editor.getSession().selection.on(\"changeCursor\", _this.onCursorChange);\n            editor.session.on(\"changeScrollTop\", _this.onScroll);\n            editor.setValue(defaultValueForEditor === undefined\n                ? valueForEditor\n                : defaultValueForEditor, cursorStart);\n            var newAnnotations = get(annotations, index, []);\n            var newMarkers = get(markers, index, []);\n            editor.getSession().setAnnotations(newAnnotations);\n            if (newMarkers && newMarkers.length > 0) {\n                _this.handleMarkers(newMarkers, editor);\n            }\n            for (var i = 0; i < editorOptions_1.editorOptions.length; i++) {\n                var option = editorOptions_1.editorOptions[i];\n                if (availableOptions.hasOwnProperty(option)) {\n                    editor.setOption(option, _this.props[option]);\n                }\n                else if (_this.props[option]) {\n                    console.warn(\"ReaceAce: editor option \".concat(option, \" was activated but not found. Did you need to import a related tool or did you possibly mispell the option?\"));\n                }\n            }\n            _this.handleOptions(_this.props, editor);\n            if (Array.isArray(commands)) {\n                commands.forEach(function (command) {\n                    if (typeof command.exec === \"string\") {\n                        editor.commands.bindKey(command.bindKey, command.exec);\n                    }\n                    else {\n                        editor.commands.addCommand(command);\n                    }\n                });\n            }\n            if (keyboardHandler) {\n                editor.setKeyboardHandler(\"ace/keyboard/\" + keyboardHandler);\n            }\n        });\n        if (className) {\n            this.refEditor.className += \" \" + className;\n        }\n        if (focus) {\n            this.splitEditor.focus();\n        }\n        var sp = this.editor.env.split;\n        sp.setOrientation(this.props.orientation === \"below\" ? sp.BELOW : sp.BESIDE);\n        sp.resize(true);\n        if (onLoad) {\n            onLoad(sp);\n        }\n    };\n    SplitComponent.prototype.componentDidUpdate = function (prevProps) {\n        var _this = this;\n        var oldProps = prevProps;\n        var nextProps = this.props;\n        var split = this.editor.env.split;\n        if (nextProps.splits !== oldProps.splits) {\n            split.setSplits(nextProps.splits);\n        }\n        if (nextProps.orientation !== oldProps.orientation) {\n            split.setOrientation(nextProps.orientation === \"below\" ? split.BELOW : split.BESIDE);\n        }\n        split.forEach(function (editor, index) {\n            if (nextProps.mode !== oldProps.mode) {\n                editor.getSession().setMode(\"ace/mode/\" + nextProps.mode);\n            }\n            if (nextProps.keyboardHandler !== oldProps.keyboardHandler) {\n                if (nextProps.keyboardHandler) {\n                    editor.setKeyboardHandler(\"ace/keyboard/\" + nextProps.keyboardHandler);\n                }\n                else {\n                    editor.setKeyboardHandler(null);\n                }\n            }\n            if (nextProps.fontSize !== oldProps.fontSize) {\n                editor.setFontSize(nextProps.fontSize);\n            }\n            if (nextProps.wrapEnabled !== oldProps.wrapEnabled) {\n                editor.getSession().setUseWrapMode(nextProps.wrapEnabled);\n            }\n            if (nextProps.showPrintMargin !== oldProps.showPrintMargin) {\n                editor.setShowPrintMargin(nextProps.showPrintMargin);\n            }\n            if (nextProps.showGutter !== oldProps.showGutter) {\n                editor.renderer.setShowGutter(nextProps.showGutter);\n            }\n            for (var i = 0; i < editorOptions_1.editorOptions.length; i++) {\n                var option = editorOptions_1.editorOptions[i];\n                if (nextProps[option] !== oldProps[option]) {\n                    editor.setOption(option, nextProps[option]);\n                }\n            }\n            if (!isEqual(nextProps.setOptions, oldProps.setOptions)) {\n                _this.handleOptions(nextProps, editor);\n            }\n            var nextValue = get(nextProps.value, index, \"\");\n            if (editor.getValue() !== nextValue) {\n                // editor.setValue is a synchronous function call, change event is emitted before setValue return.\n                _this.silent = true;\n                var pos = editor.session.selection.toJSON();\n                editor.setValue(nextValue, nextProps.cursorStart);\n                editor.session.selection.fromJSON(pos);\n                _this.silent = false;\n            }\n            var newAnnotations = get(nextProps.annotations, index, []);\n            var oldAnnotations = get(oldProps.annotations, index, []);\n            if (!isEqual(newAnnotations, oldAnnotations)) {\n                editor.getSession().setAnnotations(newAnnotations);\n            }\n            var newMarkers = get(nextProps.markers, index, []);\n            var oldMarkers = get(oldProps.markers, index, []);\n            if (!isEqual(newMarkers, oldMarkers) && Array.isArray(newMarkers)) {\n                _this.handleMarkers(newMarkers, editor);\n            }\n        });\n        if (nextProps.className !== oldProps.className) {\n            var appliedClasses = this.refEditor.className;\n            var appliedClassesArray_1 = appliedClasses.trim().split(\" \");\n            var oldClassesArray = oldProps.className.trim().split(\" \");\n            oldClassesArray.forEach(function (oldClass) {\n                var index = appliedClassesArray_1.indexOf(oldClass);\n                appliedClassesArray_1.splice(index, 1);\n            });\n            this.refEditor.className =\n                \" \" + nextProps.className + \" \" + appliedClassesArray_1.join(\" \");\n        }\n        if (nextProps.theme !== oldProps.theme) {\n            split.setTheme(\"ace/theme/\" + nextProps.theme);\n        }\n        if (nextProps.focus && !oldProps.focus) {\n            this.splitEditor.focus();\n        }\n        if (nextProps.height !== this.props.height ||\n            nextProps.width !== this.props.width) {\n            this.editor.resize();\n        }\n    };\n    SplitComponent.prototype.componentWillUnmount = function () {\n        this.editor.destroy();\n        this.editor = null;\n    };\n    SplitComponent.prototype.onChange = function (event) {\n        if (this.props.onChange && !this.silent) {\n            var value_1 = [];\n            this.editor.env.split.forEach(function (editor) {\n                value_1.push(editor.getValue());\n            });\n            this.props.onChange(value_1, event);\n        }\n    };\n    SplitComponent.prototype.onSelectionChange = function (event) {\n        if (this.props.onSelectionChange) {\n            var value_2 = [];\n            this.editor.env.split.forEach(function (editor) {\n                value_2.push(editor.getSelection());\n            });\n            this.props.onSelectionChange(value_2, event);\n        }\n    };\n    SplitComponent.prototype.onCursorChange = function (event) {\n        if (this.props.onCursorChange) {\n            var value_3 = [];\n            this.editor.env.split.forEach(function (editor) {\n                value_3.push(editor.getSelection());\n            });\n            this.props.onCursorChange(value_3, event);\n        }\n    };\n    SplitComponent.prototype.onFocus = function (event) {\n        if (this.props.onFocus) {\n            this.props.onFocus(event);\n        }\n    };\n    SplitComponent.prototype.onInput = function (event) {\n        if (this.props.onInput) {\n            this.props.onInput(event);\n        }\n    };\n    SplitComponent.prototype.onBlur = function (event) {\n        if (this.props.onBlur) {\n            this.props.onBlur(event);\n        }\n    };\n    SplitComponent.prototype.onCopy = function (text) {\n        if (this.props.onCopy) {\n            this.props.onCopy(text);\n        }\n    };\n    SplitComponent.prototype.onPaste = function (text) {\n        if (this.props.onPaste) {\n            this.props.onPaste(text);\n        }\n    };\n    SplitComponent.prototype.onScroll = function () {\n        if (this.props.onScroll) {\n            this.props.onScroll(this.editor);\n        }\n    };\n    SplitComponent.prototype.handleOptions = function (props, editor) {\n        var setOptions = Object.keys(props.setOptions);\n        for (var y = 0; y < setOptions.length; y++) {\n            editor.setOption(setOptions[y], props.setOptions[setOptions[y]]);\n        }\n    };\n    SplitComponent.prototype.handleMarkers = function (markers, editor) {\n        // remove foreground markers\n        var currentMarkers = editor.getSession().getMarkers(true);\n        for (var i in currentMarkers) {\n            if (currentMarkers.hasOwnProperty(i)) {\n                editor.getSession().removeMarker(currentMarkers[i].id);\n            }\n        }\n        // remove background markers\n        currentMarkers = editor.getSession().getMarkers(false);\n        for (var i in currentMarkers) {\n            if (currentMarkers.hasOwnProperty(i)) {\n                editor.getSession().removeMarker(currentMarkers[i].id);\n            }\n        }\n        // add new markers\n        markers.forEach(function (_a) {\n            var startRow = _a.startRow, startCol = _a.startCol, endRow = _a.endRow, endCol = _a.endCol, className = _a.className, type = _a.type, _b = _a.inFront, inFront = _b === void 0 ? false : _b;\n            var range = new ace_builds_1.Range(startRow, startCol, endRow, endCol);\n            editor\n                .getSession()\n                .addMarker(range, className, type, inFront);\n        });\n    };\n    SplitComponent.prototype.updateRef = function (item) {\n        this.refEditor = item;\n    };\n    SplitComponent.prototype.render = function () {\n        var _a = this.props, name = _a.name, width = _a.width, height = _a.height, style = _a.style;\n        var divStyle = __assign({ width: width, height: height }, style);\n        return React.createElement(\"div\", { ref: this.updateRef, id: name, style: divStyle });\n    };\n    SplitComponent.propTypes = {\n        className: PropTypes.string,\n        debounceChangePeriod: PropTypes.number,\n        defaultValue: PropTypes.arrayOf(PropTypes.string),\n        focus: PropTypes.bool,\n        fontSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n        height: PropTypes.string,\n        mode: PropTypes.string,\n        name: PropTypes.string,\n        onBlur: PropTypes.func,\n        onChange: PropTypes.func,\n        onCopy: PropTypes.func,\n        onFocus: PropTypes.func,\n        onInput: PropTypes.func,\n        onLoad: PropTypes.func,\n        onPaste: PropTypes.func,\n        onScroll: PropTypes.func,\n        orientation: PropTypes.string,\n        showGutter: PropTypes.bool,\n        splits: PropTypes.number,\n        theme: PropTypes.string,\n        value: PropTypes.arrayOf(PropTypes.string),\n        width: PropTypes.string,\n        onSelectionChange: PropTypes.func,\n        onCursorChange: PropTypes.func,\n        onBeforeLoad: PropTypes.func,\n        minLines: PropTypes.number,\n        maxLines: PropTypes.number,\n        readOnly: PropTypes.bool,\n        highlightActiveLine: PropTypes.bool,\n        tabSize: PropTypes.number,\n        showPrintMargin: PropTypes.bool,\n        cursorStart: PropTypes.number,\n        editorProps: PropTypes.object,\n        setOptions: PropTypes.object,\n        style: PropTypes.object,\n        scrollMargin: PropTypes.array,\n        annotations: PropTypes.array,\n        markers: PropTypes.array,\n        keyboardHandler: PropTypes.string,\n        wrapEnabled: PropTypes.bool,\n        enableBasicAutocompletion: PropTypes.oneOfType([\n            PropTypes.bool,\n            PropTypes.array\n        ]),\n        enableLiveAutocompletion: PropTypes.oneOfType([\n            PropTypes.bool,\n            PropTypes.array\n        ]),\n        commands: PropTypes.array\n    };\n    SplitComponent.defaultProps = {\n        name: \"ace-editor\",\n        focus: false,\n        orientation: \"beside\",\n        splits: 2,\n        mode: \"\",\n        theme: \"\",\n        height: \"500px\",\n        width: \"500px\",\n        value: [],\n        fontSize: 12,\n        showGutter: true,\n        onChange: null,\n        onPaste: null,\n        onLoad: null,\n        onScroll: null,\n        minLines: null,\n        maxLines: null,\n        readOnly: false,\n        highlightActiveLine: true,\n        showPrintMargin: true,\n        tabSize: 4,\n        cursorStart: 1,\n        editorProps: {},\n        style: {},\n        scrollMargin: [0, 0, 0, 0],\n        setOptions: {},\n        wrapEnabled: false,\n        enableBasicAutocompletion: false,\n        enableLiveAutocompletion: false\n    };\n    return SplitComponent;\n}(React.Component));\nexports.default = SplitComponent;\n//# sourceMappingURL=split.js.map","/**\n * Diff Match and Patch\n * Copyright 2018 The diff-match-patch Authors.\n * https://github.com/google/diff-match-patch\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Computes the difference between two texts to create a patch.\n * Applies the patch onto another text, allowing for errors.\n * @author fraser@google.com (Neil Fraser)\n */\n\n/**\n * Class containing the diff, match and patch methods.\n * @constructor\n */\nvar diff_match_patch = function() {\n\n  // Defaults.\n  // Redefine these in your program to override the defaults.\n\n  // Number of seconds to map a diff before giving up (0 for infinity).\n  this.Diff_Timeout = 1.0;\n  // Cost of an empty edit operation in terms of edit characters.\n  this.Diff_EditCost = 4;\n  // At what point is no match declared (0.0 = perfection, 1.0 = very loose).\n  this.Match_Threshold = 0.5;\n  // How far to search for a match (0 = exact location, 1000+ = broad match).\n  // A match this many characters away from the expected location will add\n  // 1.0 to the score (0.0 is a perfect match).\n  this.Match_Distance = 1000;\n  // When deleting a large block of text (over ~64 characters), how close do\n  // the contents have to be to match the expected contents. (0.0 = perfection,\n  // 1.0 = very loose).  Note that Match_Threshold controls how closely the\n  // end points of a delete need to match.\n  this.Patch_DeleteThreshold = 0.5;\n  // Chunk size for context length.\n  this.Patch_Margin = 4;\n\n  // The number of bits in an int.\n  this.Match_MaxBits = 32;\n};\n\n\n//  DIFF FUNCTIONS\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n/**\n * Class representing one diff tuple.\n * ~Attempts to look like a two-element array (which is what this used to be).~\n * Constructor returns an actual two-element array, to allow destructing @JackuB\n * See https://github.com/JackuB/diff-match-patch/issues/14 for details\n * @param {number} op Operation, one of: DIFF_DELETE, DIFF_INSERT, DIFF_EQUAL.\n * @param {string} text Text to be deleted, inserted, or retained.\n * @constructor\n */\ndiff_match_patch.Diff = function(op, text) {\n  return [op, text];\n};\n\n/**\n * Find the differences between two texts.  Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {boolean=} opt_checklines Optional speedup flag. If present and false,\n *     then don't run a line-level diff first to identify the changed areas.\n *     Defaults to true, which does a faster, slightly less optimal diff.\n * @param {number=} opt_deadline Optional time when the diff should be complete\n *     by.  Used internally for recursive calls.  Users should set DiffTimeout\n *     instead.\n * @return {!Array.<!diff_match_patch.Diff>} Array of diff tuples.\n */\ndiff_match_patch.prototype.diff_main = function(text1, text2, opt_checklines,\n    opt_deadline) {\n  // Set a deadline by which time the diff must be complete.\n  if (typeof opt_deadline == 'undefined') {\n    if (this.Diff_Timeout <= 0) {\n      opt_deadline = Number.MAX_VALUE;\n    } else {\n      opt_deadline = (new Date).getTime() + this.Diff_Timeout * 1000;\n    }\n  }\n  var deadline = opt_deadline;\n\n  // Check for null inputs.\n  if (text1 == null || text2 == null) {\n    throw new Error('Null input. (diff_main)');\n  }\n\n  // Check for equality (speedup).\n  if (text1 == text2) {\n    if (text1) {\n      return [new diff_match_patch.Diff(DIFF_EQUAL, text1)];\n    }\n    return [];\n  }\n\n  if (typeof opt_checklines == 'undefined') {\n    opt_checklines = true;\n  }\n  var checklines = opt_checklines;\n\n  // Trim off common prefix (speedup).\n  var commonlength = this.diff_commonPrefix(text1, text2);\n  var commonprefix = text1.substring(0, commonlength);\n  text1 = text1.substring(commonlength);\n  text2 = text2.substring(commonlength);\n\n  // Trim off common suffix (speedup).\n  commonlength = this.diff_commonSuffix(text1, text2);\n  var commonsuffix = text1.substring(text1.length - commonlength);\n  text1 = text1.substring(0, text1.length - commonlength);\n  text2 = text2.substring(0, text2.length - commonlength);\n\n  // Compute the diff on the middle block.\n  var diffs = this.diff_compute_(text1, text2, checklines, deadline);\n\n  // Restore the prefix and suffix.\n  if (commonprefix) {\n    diffs.unshift(new diff_match_patch.Diff(DIFF_EQUAL, commonprefix));\n  }\n  if (commonsuffix) {\n    diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, commonsuffix));\n  }\n  this.diff_cleanupMerge(diffs);\n  return diffs;\n};\n\n\n/**\n * Find the differences between two texts.  Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {boolean} checklines Speedup flag.  If false, then don't run a\n *     line-level diff first to identify the changed areas.\n *     If true, then run a faster, slightly less optimal diff.\n * @param {number} deadline Time when the diff should be complete by.\n * @return {!Array.<!diff_match_patch.Diff>} Array of diff tuples.\n * @private\n */\ndiff_match_patch.prototype.diff_compute_ = function(text1, text2, checklines,\n    deadline) {\n  var diffs;\n\n  if (!text1) {\n    // Just add some text (speedup).\n    return [new diff_match_patch.Diff(DIFF_INSERT, text2)];\n  }\n\n  if (!text2) {\n    // Just delete some text (speedup).\n    return [new diff_match_patch.Diff(DIFF_DELETE, text1)];\n  }\n\n  var longtext = text1.length > text2.length ? text1 : text2;\n  var shorttext = text1.length > text2.length ? text2 : text1;\n  var i = longtext.indexOf(shorttext);\n  if (i != -1) {\n    // Shorter text is inside the longer text (speedup).\n    diffs = [new diff_match_patch.Diff(DIFF_INSERT, longtext.substring(0, i)),\n             new diff_match_patch.Diff(DIFF_EQUAL, shorttext),\n             new diff_match_patch.Diff(DIFF_INSERT,\n                 longtext.substring(i + shorttext.length))];\n    // Swap insertions for deletions if diff is reversed.\n    if (text1.length > text2.length) {\n      diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n    }\n    return diffs;\n  }\n\n  if (shorttext.length == 1) {\n    // Single character string.\n    // After the previous speedup, the character can't be an equality.\n    return [new diff_match_patch.Diff(DIFF_DELETE, text1),\n            new diff_match_patch.Diff(DIFF_INSERT, text2)];\n  }\n\n  // Check to see if the problem can be split in two.\n  var hm = this.diff_halfMatch_(text1, text2);\n  if (hm) {\n    // A half-match was found, sort out the return data.\n    var text1_a = hm[0];\n    var text1_b = hm[1];\n    var text2_a = hm[2];\n    var text2_b = hm[3];\n    var mid_common = hm[4];\n    // Send both pairs off for separate processing.\n    var diffs_a = this.diff_main(text1_a, text2_a, checklines, deadline);\n    var diffs_b = this.diff_main(text1_b, text2_b, checklines, deadline);\n    // Merge the results.\n    return diffs_a.concat([new diff_match_patch.Diff(DIFF_EQUAL, mid_common)],\n                          diffs_b);\n  }\n\n  if (checklines && text1.length > 100 && text2.length > 100) {\n    return this.diff_lineMode_(text1, text2, deadline);\n  }\n\n  return this.diff_bisect_(text1, text2, deadline);\n};\n\n\n/**\n * Do a quick line-level diff on both strings, then rediff the parts for\n * greater accuracy.\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} deadline Time when the diff should be complete by.\n * @return {!Array.<!diff_match_patch.Diff>} Array of diff tuples.\n * @private\n */\ndiff_match_patch.prototype.diff_lineMode_ = function(text1, text2, deadline) {\n  // Scan the text on a line-by-line basis first.\n  var a = this.diff_linesToChars_(text1, text2);\n  text1 = a.chars1;\n  text2 = a.chars2;\n  var linearray = a.lineArray;\n\n  var diffs = this.diff_main(text1, text2, false, deadline);\n\n  // Convert the diff back to original text.\n  this.diff_charsToLines_(diffs, linearray);\n  // Eliminate freak matches (e.g. blank lines)\n  this.diff_cleanupSemantic(diffs);\n\n  // Rediff any replacement blocks, this time character-by-character.\n  // Add a dummy entry at the end.\n  diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, ''));\n  var pointer = 0;\n  var count_delete = 0;\n  var count_insert = 0;\n  var text_delete = '';\n  var text_insert = '';\n  while (pointer < diffs.length) {\n    switch (diffs[pointer][0]) {\n      case DIFF_INSERT:\n        count_insert++;\n        text_insert += diffs[pointer][1];\n        break;\n      case DIFF_DELETE:\n        count_delete++;\n        text_delete += diffs[pointer][1];\n        break;\n      case DIFF_EQUAL:\n        // Upon reaching an equality, check for prior redundancies.\n        if (count_delete >= 1 && count_insert >= 1) {\n          // Delete the offending records and add the merged ones.\n          diffs.splice(pointer - count_delete - count_insert,\n                       count_delete + count_insert);\n          pointer = pointer - count_delete - count_insert;\n          var subDiff =\n              this.diff_main(text_delete, text_insert, false, deadline);\n          for (var j = subDiff.length - 1; j >= 0; j--) {\n            diffs.splice(pointer, 0, subDiff[j]);\n          }\n          pointer = pointer + subDiff.length;\n        }\n        count_insert = 0;\n        count_delete = 0;\n        text_delete = '';\n        text_insert = '';\n        break;\n    }\n    pointer++;\n  }\n  diffs.pop();  // Remove the dummy entry at the end.\n\n  return diffs;\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} deadline Time at which to bail if not yet complete.\n * @return {!Array.<!diff_match_patch.Diff>} Array of diff tuples.\n * @private\n */\ndiff_match_patch.prototype.diff_bisect_ = function(text1, text2, deadline) {\n  // Cache the text lengths to prevent multiple calls.\n  var text1_length = text1.length;\n  var text2_length = text2.length;\n  var max_d = Math.ceil((text1_length + text2_length) / 2);\n  var v_offset = max_d;\n  var v_length = 2 * max_d;\n  var v1 = new Array(v_length);\n  var v2 = new Array(v_length);\n  // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n  // integers and undefined.\n  for (var x = 0; x < v_length; x++) {\n    v1[x] = -1;\n    v2[x] = -1;\n  }\n  v1[v_offset + 1] = 0;\n  v2[v_offset + 1] = 0;\n  var delta = text1_length - text2_length;\n  // If the total number of characters is odd, then the front path will collide\n  // with the reverse path.\n  var front = (delta % 2 != 0);\n  // Offsets for start and end of k loop.\n  // Prevents mapping of space beyond the grid.\n  var k1start = 0;\n  var k1end = 0;\n  var k2start = 0;\n  var k2end = 0;\n  for (var d = 0; d < max_d; d++) {\n    // Bail out if deadline is reached.\n    if ((new Date()).getTime() > deadline) {\n      break;\n    }\n\n    // Walk the front path one step.\n    for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n      var k1_offset = v_offset + k1;\n      var x1;\n      if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n        x1 = v1[k1_offset + 1];\n      } else {\n        x1 = v1[k1_offset - 1] + 1;\n      }\n      var y1 = x1 - k1;\n      while (x1 < text1_length && y1 < text2_length &&\n             text1.charAt(x1) == text2.charAt(y1)) {\n        x1++;\n        y1++;\n      }\n      v1[k1_offset] = x1;\n      if (x1 > text1_length) {\n        // Ran off the right of the graph.\n        k1end += 2;\n      } else if (y1 > text2_length) {\n        // Ran off the bottom of the graph.\n        k1start += 2;\n      } else if (front) {\n        var k2_offset = v_offset + delta - k1;\n        if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n          // Mirror x2 onto top-left coordinate system.\n          var x2 = text1_length - v2[k2_offset];\n          if (x1 >= x2) {\n            // Overlap detected.\n            return this.diff_bisectSplit_(text1, text2, x1, y1, deadline);\n          }\n        }\n      }\n    }\n\n    // Walk the reverse path one step.\n    for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n      var k2_offset = v_offset + k2;\n      var x2;\n      if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n        x2 = v2[k2_offset + 1];\n      } else {\n        x2 = v2[k2_offset - 1] + 1;\n      }\n      var y2 = x2 - k2;\n      while (x2 < text1_length && y2 < text2_length &&\n             text1.charAt(text1_length - x2 - 1) ==\n             text2.charAt(text2_length - y2 - 1)) {\n        x2++;\n        y2++;\n      }\n      v2[k2_offset] = x2;\n      if (x2 > text1_length) {\n        // Ran off the left of the graph.\n        k2end += 2;\n      } else if (y2 > text2_length) {\n        // Ran off the top of the graph.\n        k2start += 2;\n      } else if (!front) {\n        var k1_offset = v_offset + delta - k2;\n        if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n          var x1 = v1[k1_offset];\n          var y1 = v_offset + x1 - k1_offset;\n          // Mirror x2 onto top-left coordinate system.\n          x2 = text1_length - x2;\n          if (x1 >= x2) {\n            // Overlap detected.\n            return this.diff_bisectSplit_(text1, text2, x1, y1, deadline);\n          }\n        }\n      }\n    }\n  }\n  // Diff took too long and hit the deadline or\n  // number of diffs equals number of characters, no commonality at all.\n  return [new diff_match_patch.Diff(DIFF_DELETE, text1),\n          new diff_match_patch.Diff(DIFF_INSERT, text2)];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @param {number} deadline Time at which to bail if not yet complete.\n * @return {!Array.<!diff_match_patch.Diff>} Array of diff tuples.\n * @private\n */\ndiff_match_patch.prototype.diff_bisectSplit_ = function(text1, text2, x, y,\n    deadline) {\n  var text1a = text1.substring(0, x);\n  var text2a = text2.substring(0, y);\n  var text1b = text1.substring(x);\n  var text2b = text2.substring(y);\n\n  // Compute both diffs serially.\n  var diffs = this.diff_main(text1a, text2a, false, deadline);\n  var diffsb = this.diff_main(text1b, text2b, false, deadline);\n\n  return diffs.concat(diffsb);\n};\n\n\n/**\n * Split two texts into an array of strings.  Reduce the texts to a string of\n * hashes where each Unicode character represents one line.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {{chars1: string, chars2: string, lineArray: !Array.<string>}}\n *     An object containing the encoded text1, the encoded text2 and\n *     the array of unique strings.\n *     The zeroth element of the array of unique strings is intentionally blank.\n * @private\n */\ndiff_match_patch.prototype.diff_linesToChars_ = function(text1, text2) {\n  var lineArray = [];  // e.g. lineArray[4] == 'Hello\\n'\n  var lineHash = {};   // e.g. lineHash['Hello\\n'] == 4\n\n  // '\\x00' is a valid character, but various debuggers don't like it.\n  // So we'll insert a junk entry to avoid generating a null character.\n  lineArray[0] = '';\n\n  /**\n   * Split a text into an array of strings.  Reduce the texts to a string of\n   * hashes where each Unicode character represents one line.\n   * Modifies linearray and linehash through being a closure.\n   * @param {string} text String to encode.\n   * @return {string} Encoded string.\n   * @private\n   */\n  function diff_linesToCharsMunge_(text) {\n    var chars = '';\n    // Walk the text, pulling out a substring for each line.\n    // text.split('\\n') would would temporarily double our memory footprint.\n    // Modifying text would create many large strings to garbage collect.\n    var lineStart = 0;\n    var lineEnd = -1;\n    // Keeping our own length variable is faster than looking it up.\n    var lineArrayLength = lineArray.length;\n    while (lineEnd < text.length - 1) {\n      lineEnd = text.indexOf('\\n', lineStart);\n      if (lineEnd == -1) {\n        lineEnd = text.length - 1;\n      }\n      var line = text.substring(lineStart, lineEnd + 1);\n\n      if (lineHash.hasOwnProperty ? lineHash.hasOwnProperty(line) :\n          (lineHash[line] !== undefined)) {\n        chars += String.fromCharCode(lineHash[line]);\n      } else {\n        if (lineArrayLength == maxLines) {\n          // Bail out at 65535 because\n          // String.fromCharCode(65536) == String.fromCharCode(0)\n          line = text.substring(lineStart);\n          lineEnd = text.length;\n        }\n        chars += String.fromCharCode(lineArrayLength);\n        lineHash[line] = lineArrayLength;\n        lineArray[lineArrayLength++] = line;\n      }\n      lineStart = lineEnd + 1;\n    }\n    return chars;\n  }\n  // Allocate 2/3rds of the space for text1, the rest for text2.\n  var maxLines = 40000;\n  var chars1 = diff_linesToCharsMunge_(text1);\n  maxLines = 65535;\n  var chars2 = diff_linesToCharsMunge_(text2);\n  return {chars1: chars1, chars2: chars2, lineArray: lineArray};\n};\n\n\n/**\n * Rehydrate the text in a diff from a string of line hashes to real lines of\n * text.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @param {!Array.<string>} lineArray Array of unique strings.\n * @private\n */\ndiff_match_patch.prototype.diff_charsToLines_ = function(diffs, lineArray) {\n  for (var i = 0; i < diffs.length; i++) {\n    var chars = diffs[i][1];\n    var text = [];\n    for (var j = 0; j < chars.length; j++) {\n      text[j] = lineArray[chars.charCodeAt(j)];\n    }\n    diffs[i][1] = text.join('');\n  }\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n *     string.\n */\ndiff_match_patch.prototype.diff_commonPrefix = function(text1, text2) {\n  // Quick check for common null cases.\n  if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n    return 0;\n  }\n  // Binary search.\n  // Performance analysis: https://neil.fraser.name/news/2007/10/09/\n  var pointermin = 0;\n  var pointermax = Math.min(text1.length, text2.length);\n  var pointermid = pointermax;\n  var pointerstart = 0;\n  while (pointermin < pointermid) {\n    if (text1.substring(pointerstart, pointermid) ==\n        text2.substring(pointerstart, pointermid)) {\n      pointermin = pointermid;\n      pointerstart = pointermin;\n    } else {\n      pointermax = pointermid;\n    }\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n  }\n  return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\ndiff_match_patch.prototype.diff_commonSuffix = function(text1, text2) {\n  // Quick check for common null cases.\n  if (!text1 || !text2 ||\n      text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n    return 0;\n  }\n  // Binary search.\n  // Performance analysis: https://neil.fraser.name/news/2007/10/09/\n  var pointermin = 0;\n  var pointermax = Math.min(text1.length, text2.length);\n  var pointermid = pointermax;\n  var pointerend = 0;\n  while (pointermin < pointermid) {\n    if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n        text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n      pointermin = pointermid;\n      pointerend = pointermin;\n    } else {\n      pointermax = pointermid;\n    }\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n  }\n  return pointermid;\n};\n\n\n/**\n * Determine if the suffix of one string is the prefix of another.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of the first\n *     string and the start of the second string.\n * @private\n */\ndiff_match_patch.prototype.diff_commonOverlap_ = function(text1, text2) {\n  // Cache the text lengths to prevent multiple calls.\n  var text1_length = text1.length;\n  var text2_length = text2.length;\n  // Eliminate the null case.\n  if (text1_length == 0 || text2_length == 0) {\n    return 0;\n  }\n  // Truncate the longer string.\n  if (text1_length > text2_length) {\n    text1 = text1.substring(text1_length - text2_length);\n  } else if (text1_length < text2_length) {\n    text2 = text2.substring(0, text1_length);\n  }\n  var text_length = Math.min(text1_length, text2_length);\n  // Quick check for the worst case.\n  if (text1 == text2) {\n    return text_length;\n  }\n\n  // Start by looking for a single character match\n  // and increase length until no match is found.\n  // Performance analysis: https://neil.fraser.name/news/2010/11/04/\n  var best = 0;\n  var length = 1;\n  while (true) {\n    var pattern = text1.substring(text_length - length);\n    var found = text2.indexOf(pattern);\n    if (found == -1) {\n      return best;\n    }\n    length += found;\n    if (found == 0 || text1.substring(text_length - length) ==\n        text2.substring(0, length)) {\n      best = length;\n      length++;\n    }\n  }\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.<string>} Five element Array, containing the prefix of\n *     text1, the suffix of text1, the prefix of text2, the suffix of\n *     text2 and the common middle.  Or null if there was no match.\n * @private\n */\ndiff_match_patch.prototype.diff_halfMatch_ = function(text1, text2) {\n  if (this.Diff_Timeout <= 0) {\n    // Don't risk returning a non-optimal diff if we have unlimited time.\n    return null;\n  }\n  var longtext = text1.length > text2.length ? text1 : text2;\n  var shorttext = text1.length > text2.length ? text2 : text1;\n  if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n    return null;  // Pointless.\n  }\n  var dmp = this;  // 'this' becomes 'window' in a closure.\n\n  /**\n   * Does a substring of shorttext exist within longtext such that the substring\n   * is at least half the length of longtext?\n   * Closure, but does not reference any external variables.\n   * @param {string} longtext Longer string.\n   * @param {string} shorttext Shorter string.\n   * @param {number} i Start index of quarter length substring within longtext.\n   * @return {Array.<string>} Five element Array, containing the prefix of\n   *     longtext, the suffix of longtext, the prefix of shorttext, the suffix\n   *     of shorttext and the common middle.  Or null if there was no match.\n   * @private\n   */\n  function diff_halfMatchI_(longtext, shorttext, i) {\n    // Start with a 1/4 length substring at position i as a seed.\n    var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n    var j = -1;\n    var best_common = '';\n    var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n    while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n      var prefixLength = dmp.diff_commonPrefix(longtext.substring(i),\n                                               shorttext.substring(j));\n      var suffixLength = dmp.diff_commonSuffix(longtext.substring(0, i),\n                                               shorttext.substring(0, j));\n      if (best_common.length < suffixLength + prefixLength) {\n        best_common = shorttext.substring(j - suffixLength, j) +\n            shorttext.substring(j, j + prefixLength);\n        best_longtext_a = longtext.substring(0, i - suffixLength);\n        best_longtext_b = longtext.substring(i + prefixLength);\n        best_shorttext_a = shorttext.substring(0, j - suffixLength);\n        best_shorttext_b = shorttext.substring(j + prefixLength);\n      }\n    }\n    if (best_common.length * 2 >= longtext.length) {\n      return [best_longtext_a, best_longtext_b,\n              best_shorttext_a, best_shorttext_b, best_common];\n    } else {\n      return null;\n    }\n  }\n\n  // First check if the second quarter is the seed for a half-match.\n  var hm1 = diff_halfMatchI_(longtext, shorttext,\n                             Math.ceil(longtext.length / 4));\n  // Check again based on the third quarter.\n  var hm2 = diff_halfMatchI_(longtext, shorttext,\n                             Math.ceil(longtext.length / 2));\n  var hm;\n  if (!hm1 && !hm2) {\n    return null;\n  } else if (!hm2) {\n    hm = hm1;\n  } else if (!hm1) {\n    hm = hm2;\n  } else {\n    // Both matched.  Select the longest.\n    hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n  }\n\n  // A half-match was found, sort out the return data.\n  var text1_a, text1_b, text2_a, text2_b;\n  if (text1.length > text2.length) {\n    text1_a = hm[0];\n    text1_b = hm[1];\n    text2_a = hm[2];\n    text2_b = hm[3];\n  } else {\n    text2_a = hm[0];\n    text2_b = hm[1];\n    text1_a = hm[2];\n    text1_b = hm[3];\n  }\n  var mid_common = hm[4];\n  return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reduce the number of edits by eliminating semantically trivial equalities.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n */\ndiff_match_patch.prototype.diff_cleanupSemantic = function(diffs) {\n  var changes = false;\n  var equalities = [];  // Stack of indices where equalities are found.\n  var equalitiesLength = 0;  // Keeping our own length var is faster in JS.\n  /** @type {?string} */\n  var lastEquality = null;\n  // Always equal to diffs[equalities[equalitiesLength - 1]][1]\n  var pointer = 0;  // Index of current position.\n  // Number of characters that changed prior to the equality.\n  var length_insertions1 = 0;\n  var length_deletions1 = 0;\n  // Number of characters that changed after the equality.\n  var length_insertions2 = 0;\n  var length_deletions2 = 0;\n  while (pointer < diffs.length) {\n    if (diffs[pointer][0] == DIFF_EQUAL) {  // Equality found.\n      equalities[equalitiesLength++] = pointer;\n      length_insertions1 = length_insertions2;\n      length_deletions1 = length_deletions2;\n      length_insertions2 = 0;\n      length_deletions2 = 0;\n      lastEquality = diffs[pointer][1];\n    } else {  // An insertion or deletion.\n      if (diffs[pointer][0] == DIFF_INSERT) {\n        length_insertions2 += diffs[pointer][1].length;\n      } else {\n        length_deletions2 += diffs[pointer][1].length;\n      }\n      // Eliminate an equality that is smaller or equal to the edits on both\n      // sides of it.\n      if (lastEquality && (lastEquality.length <=\n          Math.max(length_insertions1, length_deletions1)) &&\n          (lastEquality.length <= Math.max(length_insertions2,\n                                           length_deletions2))) {\n        // Duplicate record.\n        diffs.splice(equalities[equalitiesLength - 1], 0,\n                     new diff_match_patch.Diff(DIFF_DELETE, lastEquality));\n        // Change second copy to insert.\n        diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;\n        // Throw away the equality we just deleted.\n        equalitiesLength--;\n        // Throw away the previous equality (it needs to be reevaluated).\n        equalitiesLength--;\n        pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1;\n        length_insertions1 = 0;  // Reset the counters.\n        length_deletions1 = 0;\n        length_insertions2 = 0;\n        length_deletions2 = 0;\n        lastEquality = null;\n        changes = true;\n      }\n    }\n    pointer++;\n  }\n\n  // Normalize the diff.\n  if (changes) {\n    this.diff_cleanupMerge(diffs);\n  }\n  this.diff_cleanupSemanticLossless(diffs);\n\n  // Find any overlaps between deletions and insertions.\n  // e.g: <del>abcxxx</del><ins>xxxdef</ins>\n  //   -> <del>abc</del>xxx<ins>def</ins>\n  // e.g: <del>xxxabc</del><ins>defxxx</ins>\n  //   -> <ins>def</ins>xxx<del>abc</del>\n  // Only extract an overlap if it is as big as the edit ahead or behind it.\n  pointer = 1;\n  while (pointer < diffs.length) {\n    if (diffs[pointer - 1][0] == DIFF_DELETE &&\n        diffs[pointer][0] == DIFF_INSERT) {\n      var deletion = diffs[pointer - 1][1];\n      var insertion = diffs[pointer][1];\n      var overlap_length1 = this.diff_commonOverlap_(deletion, insertion);\n      var overlap_length2 = this.diff_commonOverlap_(insertion, deletion);\n      if (overlap_length1 >= overlap_length2) {\n        if (overlap_length1 >= deletion.length / 2 ||\n            overlap_length1 >= insertion.length / 2) {\n          // Overlap found.  Insert an equality and trim the surrounding edits.\n          diffs.splice(pointer, 0, new diff_match_patch.Diff(DIFF_EQUAL,\n              insertion.substring(0, overlap_length1)));\n          diffs[pointer - 1][1] =\n              deletion.substring(0, deletion.length - overlap_length1);\n          diffs[pointer + 1][1] = insertion.substring(overlap_length1);\n          pointer++;\n        }\n      } else {\n        if (overlap_length2 >= deletion.length / 2 ||\n            overlap_length2 >= insertion.length / 2) {\n          // Reverse overlap found.\n          // Insert an equality and swap and trim the surrounding edits.\n          diffs.splice(pointer, 0, new diff_match_patch.Diff(DIFF_EQUAL,\n              deletion.substring(0, overlap_length2)));\n          diffs[pointer - 1][0] = DIFF_INSERT;\n          diffs[pointer - 1][1] =\n              insertion.substring(0, insertion.length - overlap_length2);\n          diffs[pointer + 1][0] = DIFF_DELETE;\n          diffs[pointer + 1][1] =\n              deletion.substring(overlap_length2);\n          pointer++;\n        }\n      }\n      pointer++;\n    }\n    pointer++;\n  }\n};\n\n\n/**\n * Look for single edits surrounded on both sides by equalities\n * which can be shifted sideways to align the edit to a word boundary.\n * e.g: The c<ins>at c</ins>ame. -> The <ins>cat </ins>came.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n */\ndiff_match_patch.prototype.diff_cleanupSemanticLossless = function(diffs) {\n  /**\n   * Given two strings, compute a score representing whether the internal\n   * boundary falls on logical boundaries.\n   * Scores range from 6 (best) to 0 (worst).\n   * Closure, but does not reference any external variables.\n   * @param {string} one First string.\n   * @param {string} two Second string.\n   * @return {number} The score.\n   * @private\n   */\n  function diff_cleanupSemanticScore_(one, two) {\n    if (!one || !two) {\n      // Edges are the best.\n      return 6;\n    }\n\n    // Each port of this function behaves slightly differently due to\n    // subtle differences in each language's definition of things like\n    // 'whitespace'.  Since this function's purpose is largely cosmetic,\n    // the choice has been made to use each language's native features\n    // rather than force total conformity.\n    var char1 = one.charAt(one.length - 1);\n    var char2 = two.charAt(0);\n    var nonAlphaNumeric1 = char1.match(diff_match_patch.nonAlphaNumericRegex_);\n    var nonAlphaNumeric2 = char2.match(diff_match_patch.nonAlphaNumericRegex_);\n    var whitespace1 = nonAlphaNumeric1 &&\n        char1.match(diff_match_patch.whitespaceRegex_);\n    var whitespace2 = nonAlphaNumeric2 &&\n        char2.match(diff_match_patch.whitespaceRegex_);\n    var lineBreak1 = whitespace1 &&\n        char1.match(diff_match_patch.linebreakRegex_);\n    var lineBreak2 = whitespace2 &&\n        char2.match(diff_match_patch.linebreakRegex_);\n    var blankLine1 = lineBreak1 &&\n        one.match(diff_match_patch.blanklineEndRegex_);\n    var blankLine2 = lineBreak2 &&\n        two.match(diff_match_patch.blanklineStartRegex_);\n\n    if (blankLine1 || blankLine2) {\n      // Five points for blank lines.\n      return 5;\n    } else if (lineBreak1 || lineBreak2) {\n      // Four points for line breaks.\n      return 4;\n    } else if (nonAlphaNumeric1 && !whitespace1 && whitespace2) {\n      // Three points for end of sentences.\n      return 3;\n    } else if (whitespace1 || whitespace2) {\n      // Two points for whitespace.\n      return 2;\n    } else if (nonAlphaNumeric1 || nonAlphaNumeric2) {\n      // One point for non-alphanumeric.\n      return 1;\n    }\n    return 0;\n  }\n\n  var pointer = 1;\n  // Intentionally ignore the first and last element (don't need checking).\n  while (pointer < diffs.length - 1) {\n    if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n        diffs[pointer + 1][0] == DIFF_EQUAL) {\n      // This is a single edit surrounded by equalities.\n      var equality1 = diffs[pointer - 1][1];\n      var edit = diffs[pointer][1];\n      var equality2 = diffs[pointer + 1][1];\n\n      // First, shift the edit as far left as possible.\n      var commonOffset = this.diff_commonSuffix(equality1, edit);\n      if (commonOffset) {\n        var commonString = edit.substring(edit.length - commonOffset);\n        equality1 = equality1.substring(0, equality1.length - commonOffset);\n        edit = commonString + edit.substring(0, edit.length - commonOffset);\n        equality2 = commonString + equality2;\n      }\n\n      // Second, step character by character right, looking for the best fit.\n      var bestEquality1 = equality1;\n      var bestEdit = edit;\n      var bestEquality2 = equality2;\n      var bestScore = diff_cleanupSemanticScore_(equality1, edit) +\n          diff_cleanupSemanticScore_(edit, equality2);\n      while (edit.charAt(0) === equality2.charAt(0)) {\n        equality1 += edit.charAt(0);\n        edit = edit.substring(1) + equality2.charAt(0);\n        equality2 = equality2.substring(1);\n        var score = diff_cleanupSemanticScore_(equality1, edit) +\n            diff_cleanupSemanticScore_(edit, equality2);\n        // The >= encourages trailing rather than leading whitespace on edits.\n        if (score >= bestScore) {\n          bestScore = score;\n          bestEquality1 = equality1;\n          bestEdit = edit;\n          bestEquality2 = equality2;\n        }\n      }\n\n      if (diffs[pointer - 1][1] != bestEquality1) {\n        // We have an improvement, save it back to the diff.\n        if (bestEquality1) {\n          diffs[pointer - 1][1] = bestEquality1;\n        } else {\n          diffs.splice(pointer - 1, 1);\n          pointer--;\n        }\n        diffs[pointer][1] = bestEdit;\n        if (bestEquality2) {\n          diffs[pointer + 1][1] = bestEquality2;\n        } else {\n          diffs.splice(pointer + 1, 1);\n          pointer--;\n        }\n      }\n    }\n    pointer++;\n  }\n};\n\n// Define some regex patterns for matching boundaries.\ndiff_match_patch.nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/;\ndiff_match_patch.whitespaceRegex_ = /\\s/;\ndiff_match_patch.linebreakRegex_ = /[\\r\\n]/;\ndiff_match_patch.blanklineEndRegex_ = /\\n\\r?\\n$/;\ndiff_match_patch.blanklineStartRegex_ = /^\\r?\\n\\r?\\n/;\n\n/**\n * Reduce the number of edits by eliminating operationally trivial equalities.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n */\ndiff_match_patch.prototype.diff_cleanupEfficiency = function(diffs) {\n  var changes = false;\n  var equalities = [];  // Stack of indices where equalities are found.\n  var equalitiesLength = 0;  // Keeping our own length var is faster in JS.\n  /** @type {?string} */\n  var lastEquality = null;\n  // Always equal to diffs[equalities[equalitiesLength - 1]][1]\n  var pointer = 0;  // Index of current position.\n  // Is there an insertion operation before the last equality.\n  var pre_ins = false;\n  // Is there a deletion operation before the last equality.\n  var pre_del = false;\n  // Is there an insertion operation after the last equality.\n  var post_ins = false;\n  // Is there a deletion operation after the last equality.\n  var post_del = false;\n  while (pointer < diffs.length) {\n    if (diffs[pointer][0] == DIFF_EQUAL) {  // Equality found.\n      if (diffs[pointer][1].length < this.Diff_EditCost &&\n          (post_ins || post_del)) {\n        // Candidate found.\n        equalities[equalitiesLength++] = pointer;\n        pre_ins = post_ins;\n        pre_del = post_del;\n        lastEquality = diffs[pointer][1];\n      } else {\n        // Not a candidate, and can never become one.\n        equalitiesLength = 0;\n        lastEquality = null;\n      }\n      post_ins = post_del = false;\n    } else {  // An insertion or deletion.\n      if (diffs[pointer][0] == DIFF_DELETE) {\n        post_del = true;\n      } else {\n        post_ins = true;\n      }\n      /*\n       * Five types to be split:\n       * <ins>A</ins><del>B</del>XY<ins>C</ins><del>D</del>\n       * <ins>A</ins>X<ins>C</ins><del>D</del>\n       * <ins>A</ins><del>B</del>X<ins>C</ins>\n       * <ins>A</del>X<ins>C</ins><del>D</del>\n       * <ins>A</ins><del>B</del>X<del>C</del>\n       */\n      if (lastEquality && ((pre_ins && pre_del && post_ins && post_del) ||\n                           ((lastEquality.length < this.Diff_EditCost / 2) &&\n                            (pre_ins + pre_del + post_ins + post_del) == 3))) {\n        // Duplicate record.\n        diffs.splice(equalities[equalitiesLength - 1], 0,\n                     new diff_match_patch.Diff(DIFF_DELETE, lastEquality));\n        // Change second copy to insert.\n        diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;\n        equalitiesLength--;  // Throw away the equality we just deleted;\n        lastEquality = null;\n        if (pre_ins && pre_del) {\n          // No changes made which could affect previous entry, keep going.\n          post_ins = post_del = true;\n          equalitiesLength = 0;\n        } else {\n          equalitiesLength--;  // Throw away the previous equality.\n          pointer = equalitiesLength > 0 ?\n              equalities[equalitiesLength - 1] : -1;\n          post_ins = post_del = false;\n        }\n        changes = true;\n      }\n    }\n    pointer++;\n  }\n\n  if (changes) {\n    this.diff_cleanupMerge(diffs);\n  }\n};\n\n\n/**\n * Reorder and merge like edit sections.  Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n */\ndiff_match_patch.prototype.diff_cleanupMerge = function(diffs) {\n  // Add a dummy entry at the end.\n  diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, ''));\n  var pointer = 0;\n  var count_delete = 0;\n  var count_insert = 0;\n  var text_delete = '';\n  var text_insert = '';\n  var commonlength;\n  while (pointer < diffs.length) {\n    switch (diffs[pointer][0]) {\n      case DIFF_INSERT:\n        count_insert++;\n        text_insert += diffs[pointer][1];\n        pointer++;\n        break;\n      case DIFF_DELETE:\n        count_delete++;\n        text_delete += diffs[pointer][1];\n        pointer++;\n        break;\n      case DIFF_EQUAL:\n        // Upon reaching an equality, check for prior redundancies.\n        if (count_delete + count_insert > 1) {\n          if (count_delete !== 0 && count_insert !== 0) {\n            // Factor out any common prefixies.\n            commonlength = this.diff_commonPrefix(text_insert, text_delete);\n            if (commonlength !== 0) {\n              if ((pointer - count_delete - count_insert) > 0 &&\n                  diffs[pointer - count_delete - count_insert - 1][0] ==\n                  DIFF_EQUAL) {\n                diffs[pointer - count_delete - count_insert - 1][1] +=\n                    text_insert.substring(0, commonlength);\n              } else {\n                diffs.splice(0, 0, new diff_match_patch.Diff(DIFF_EQUAL,\n                    text_insert.substring(0, commonlength)));\n                pointer++;\n              }\n              text_insert = text_insert.substring(commonlength);\n              text_delete = text_delete.substring(commonlength);\n            }\n            // Factor out any common suffixies.\n            commonlength = this.diff_commonSuffix(text_insert, text_delete);\n            if (commonlength !== 0) {\n              diffs[pointer][1] = text_insert.substring(text_insert.length -\n                  commonlength) + diffs[pointer][1];\n              text_insert = text_insert.substring(0, text_insert.length -\n                  commonlength);\n              text_delete = text_delete.substring(0, text_delete.length -\n                  commonlength);\n            }\n          }\n          // Delete the offending records and add the merged ones.\n          pointer -= count_delete + count_insert;\n          diffs.splice(pointer, count_delete + count_insert);\n          if (text_delete.length) {\n            diffs.splice(pointer, 0,\n                new diff_match_patch.Diff(DIFF_DELETE, text_delete));\n            pointer++;\n          }\n          if (text_insert.length) {\n            diffs.splice(pointer, 0,\n                new diff_match_patch.Diff(DIFF_INSERT, text_insert));\n            pointer++;\n          }\n          pointer++;\n        } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n          // Merge this equality with the previous one.\n          diffs[pointer - 1][1] += diffs[pointer][1];\n          diffs.splice(pointer, 1);\n        } else {\n          pointer++;\n        }\n        count_insert = 0;\n        count_delete = 0;\n        text_delete = '';\n        text_insert = '';\n        break;\n    }\n  }\n  if (diffs[diffs.length - 1][1] === '') {\n    diffs.pop();  // Remove the dummy entry at the end.\n  }\n\n  // Second pass: look for single edits surrounded on both sides by equalities\n  // which can be shifted sideways to eliminate an equality.\n  // e.g: A<ins>BA</ins>C -> <ins>AB</ins>AC\n  var changes = false;\n  pointer = 1;\n  // Intentionally ignore the first and last element (don't need checking).\n  while (pointer < diffs.length - 1) {\n    if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n        diffs[pointer + 1][0] == DIFF_EQUAL) {\n      // This is a single edit surrounded by equalities.\n      if (diffs[pointer][1].substring(diffs[pointer][1].length -\n          diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n        // Shift the edit over the previous equality.\n        diffs[pointer][1] = diffs[pointer - 1][1] +\n            diffs[pointer][1].substring(0, diffs[pointer][1].length -\n                                        diffs[pointer - 1][1].length);\n        diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n        diffs.splice(pointer - 1, 1);\n        changes = true;\n      } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n          diffs[pointer + 1][1]) {\n        // Shift the edit over the next equality.\n        diffs[pointer - 1][1] += diffs[pointer + 1][1];\n        diffs[pointer][1] =\n            diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n            diffs[pointer + 1][1];\n        diffs.splice(pointer + 1, 1);\n        changes = true;\n      }\n    }\n    pointer++;\n  }\n  // If shifts were made, the diff needs reordering and another shift sweep.\n  if (changes) {\n    this.diff_cleanupMerge(diffs);\n  }\n};\n\n\n/**\n * loc is a location in text1, compute and return the equivalent location in\n * text2.\n * e.g. 'The cat' vs 'The big cat', 1->1, 5->8\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @param {number} loc Location within text1.\n * @return {number} Location within text2.\n */\ndiff_match_patch.prototype.diff_xIndex = function(diffs, loc) {\n  var chars1 = 0;\n  var chars2 = 0;\n  var last_chars1 = 0;\n  var last_chars2 = 0;\n  var x;\n  for (x = 0; x < diffs.length; x++) {\n    if (diffs[x][0] !== DIFF_INSERT) {  // Equality or deletion.\n      chars1 += diffs[x][1].length;\n    }\n    if (diffs[x][0] !== DIFF_DELETE) {  // Equality or insertion.\n      chars2 += diffs[x][1].length;\n    }\n    if (chars1 > loc) {  // Overshot the location.\n      break;\n    }\n    last_chars1 = chars1;\n    last_chars2 = chars2;\n  }\n  // Was the location was deleted?\n  if (diffs.length != x && diffs[x][0] === DIFF_DELETE) {\n    return last_chars2;\n  }\n  // Add the remaining character length.\n  return last_chars2 + (loc - last_chars1);\n};\n\n\n/**\n * Convert a diff array into a pretty HTML report.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @return {string} HTML representation.\n */\ndiff_match_patch.prototype.diff_prettyHtml = function(diffs) {\n  var html = [];\n  var pattern_amp = /&/g;\n  var pattern_lt = /</g;\n  var pattern_gt = />/g;\n  var pattern_para = /\\n/g;\n  for (var x = 0; x < diffs.length; x++) {\n    var op = diffs[x][0];    // Operation (insert, delete, equal)\n    var data = diffs[x][1];  // Text of change.\n    var text = data.replace(pattern_amp, '&amp;').replace(pattern_lt, '&lt;')\n        .replace(pattern_gt, '&gt;').replace(pattern_para, '&para;<br>');\n    switch (op) {\n      case DIFF_INSERT:\n        html[x] = '<ins style=\"background:#e6ffe6;\">' + text + '</ins>';\n        break;\n      case DIFF_DELETE:\n        html[x] = '<del style=\"background:#ffe6e6;\">' + text + '</del>';\n        break;\n      case DIFF_EQUAL:\n        html[x] = '<span>' + text + '</span>';\n        break;\n    }\n  }\n  return html.join('');\n};\n\n\n/**\n * Compute and return the source text (all equalities and deletions).\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @return {string} Source text.\n */\ndiff_match_patch.prototype.diff_text1 = function(diffs) {\n  var text = [];\n  for (var x = 0; x < diffs.length; x++) {\n    if (diffs[x][0] !== DIFF_INSERT) {\n      text[x] = diffs[x][1];\n    }\n  }\n  return text.join('');\n};\n\n\n/**\n * Compute and return the destination text (all equalities and insertions).\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @return {string} Destination text.\n */\ndiff_match_patch.prototype.diff_text2 = function(diffs) {\n  var text = [];\n  for (var x = 0; x < diffs.length; x++) {\n    if (diffs[x][0] !== DIFF_DELETE) {\n      text[x] = diffs[x][1];\n    }\n  }\n  return text.join('');\n};\n\n\n/**\n * Compute the Levenshtein distance; the number of inserted, deleted or\n * substituted characters.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @return {number} Number of changes.\n */\ndiff_match_patch.prototype.diff_levenshtein = function(diffs) {\n  var levenshtein = 0;\n  var insertions = 0;\n  var deletions = 0;\n  for (var x = 0; x < diffs.length; x++) {\n    var op = diffs[x][0];\n    var data = diffs[x][1];\n    switch (op) {\n      case DIFF_INSERT:\n        insertions += data.length;\n        break;\n      case DIFF_DELETE:\n        deletions += data.length;\n        break;\n      case DIFF_EQUAL:\n        // A deletion and an insertion is one substitution.\n        levenshtein += Math.max(insertions, deletions);\n        insertions = 0;\n        deletions = 0;\n        break;\n    }\n  }\n  levenshtein += Math.max(insertions, deletions);\n  return levenshtein;\n};\n\n\n/**\n * Crush the diff into an encoded string which describes the operations\n * required to transform text1 into text2.\n * E.g. =3\\t-2\\t+ing  -> Keep 3 chars, delete 2 chars, insert 'ing'.\n * Operations are tab-separated.  Inserted text is escaped using %xx notation.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @return {string} Delta text.\n */\ndiff_match_patch.prototype.diff_toDelta = function(diffs) {\n  var text = [];\n  for (var x = 0; x < diffs.length; x++) {\n    switch (diffs[x][0]) {\n      case DIFF_INSERT:\n        text[x] = '+' + encodeURI(diffs[x][1]);\n        break;\n      case DIFF_DELETE:\n        text[x] = '-' + diffs[x][1].length;\n        break;\n      case DIFF_EQUAL:\n        text[x] = '=' + diffs[x][1].length;\n        break;\n    }\n  }\n  return text.join('\\t').replace(/%20/g, ' ');\n};\n\n\n/**\n * Given the original text1, and an encoded string which describes the\n * operations required to transform text1 into text2, compute the full diff.\n * @param {string} text1 Source string for the diff.\n * @param {string} delta Delta text.\n * @return {!Array.<!diff_match_patch.Diff>} Array of diff tuples.\n * @throws {!Error} If invalid input.\n */\ndiff_match_patch.prototype.diff_fromDelta = function(text1, delta) {\n  var diffs = [];\n  var diffsLength = 0;  // Keeping our own length var is faster in JS.\n  var pointer = 0;  // Cursor in text1\n  var tokens = delta.split(/\\t/g);\n  for (var x = 0; x < tokens.length; x++) {\n    // Each token begins with a one character parameter which specifies the\n    // operation of this token (delete, insert, equality).\n    var param = tokens[x].substring(1);\n    switch (tokens[x].charAt(0)) {\n      case '+':\n        try {\n          diffs[diffsLength++] =\n              new diff_match_patch.Diff(DIFF_INSERT, decodeURI(param));\n        } catch (ex) {\n          // Malformed URI sequence.\n          throw new Error('Illegal escape in diff_fromDelta: ' + param);\n        }\n        break;\n      case '-':\n        // Fall through.\n      case '=':\n        var n = parseInt(param, 10);\n        if (isNaN(n) || n < 0) {\n          throw new Error('Invalid number in diff_fromDelta: ' + param);\n        }\n        var text = text1.substring(pointer, pointer += n);\n        if (tokens[x].charAt(0) == '=') {\n          diffs[diffsLength++] = new diff_match_patch.Diff(DIFF_EQUAL, text);\n        } else {\n          diffs[diffsLength++] = new diff_match_patch.Diff(DIFF_DELETE, text);\n        }\n        break;\n      default:\n        // Blank tokens are ok (from a trailing \\t).\n        // Anything else is an error.\n        if (tokens[x]) {\n          throw new Error('Invalid diff operation in diff_fromDelta: ' +\n                          tokens[x]);\n        }\n    }\n  }\n  if (pointer != text1.length) {\n    throw new Error('Delta length (' + pointer +\n        ') does not equal source text length (' + text1.length + ').');\n  }\n  return diffs;\n};\n\n\n//  MATCH FUNCTIONS\n\n\n/**\n * Locate the best instance of 'pattern' in 'text' near 'loc'.\n * @param {string} text The text to search.\n * @param {string} pattern The pattern to search for.\n * @param {number} loc The location to search around.\n * @return {number} Best match index or -1.\n */\ndiff_match_patch.prototype.match_main = function(text, pattern, loc) {\n  // Check for null inputs.\n  if (text == null || pattern == null || loc == null) {\n    throw new Error('Null input. (match_main)');\n  }\n\n  loc = Math.max(0, Math.min(loc, text.length));\n  if (text == pattern) {\n    // Shortcut (potentially not guaranteed by the algorithm)\n    return 0;\n  } else if (!text.length) {\n    // Nothing to match.\n    return -1;\n  } else if (text.substring(loc, loc + pattern.length) == pattern) {\n    // Perfect match at the perfect spot!  (Includes case of null pattern)\n    return loc;\n  } else {\n    // Do a fuzzy compare.\n    return this.match_bitap_(text, pattern, loc);\n  }\n};\n\n\n/**\n * Locate the best instance of 'pattern' in 'text' near 'loc' using the\n * Bitap algorithm.\n * @param {string} text The text to search.\n * @param {string} pattern The pattern to search for.\n * @param {number} loc The location to search around.\n * @return {number} Best match index or -1.\n * @private\n */\ndiff_match_patch.prototype.match_bitap_ = function(text, pattern, loc) {\n  if (pattern.length > this.Match_MaxBits) {\n    throw new Error('Pattern too long for this browser.');\n  }\n\n  // Initialise the alphabet.\n  var s = this.match_alphabet_(pattern);\n\n  var dmp = this;  // 'this' becomes 'window' in a closure.\n\n  /**\n   * Compute and return the score for a match with e errors and x location.\n   * Accesses loc and pattern through being a closure.\n   * @param {number} e Number of errors in match.\n   * @param {number} x Location of match.\n   * @return {number} Overall score for match (0.0 = good, 1.0 = bad).\n   * @private\n   */\n  function match_bitapScore_(e, x) {\n    var accuracy = e / pattern.length;\n    var proximity = Math.abs(loc - x);\n    if (!dmp.Match_Distance) {\n      // Dodge divide by zero error.\n      return proximity ? 1.0 : accuracy;\n    }\n    return accuracy + (proximity / dmp.Match_Distance);\n  }\n\n  // Highest score beyond which we give up.\n  var score_threshold = this.Match_Threshold;\n  // Is there a nearby exact match? (speedup)\n  var best_loc = text.indexOf(pattern, loc);\n  if (best_loc != -1) {\n    score_threshold = Math.min(match_bitapScore_(0, best_loc), score_threshold);\n    // What about in the other direction? (speedup)\n    best_loc = text.lastIndexOf(pattern, loc + pattern.length);\n    if (best_loc != -1) {\n      score_threshold =\n          Math.min(match_bitapScore_(0, best_loc), score_threshold);\n    }\n  }\n\n  // Initialise the bit arrays.\n  var matchmask = 1 << (pattern.length - 1);\n  best_loc = -1;\n\n  var bin_min, bin_mid;\n  var bin_max = pattern.length + text.length;\n  var last_rd;\n  for (var d = 0; d < pattern.length; d++) {\n    // Scan for the best match; each iteration allows for one more error.\n    // Run a binary search to determine how far from 'loc' we can stray at this\n    // error level.\n    bin_min = 0;\n    bin_mid = bin_max;\n    while (bin_min < bin_mid) {\n      if (match_bitapScore_(d, loc + bin_mid) <= score_threshold) {\n        bin_min = bin_mid;\n      } else {\n        bin_max = bin_mid;\n      }\n      bin_mid = Math.floor((bin_max - bin_min) / 2 + bin_min);\n    }\n    // Use the result from this iteration as the maximum for the next.\n    bin_max = bin_mid;\n    var start = Math.max(1, loc - bin_mid + 1);\n    var finish = Math.min(loc + bin_mid, text.length) + pattern.length;\n\n    var rd = Array(finish + 2);\n    rd[finish + 1] = (1 << d) - 1;\n    for (var j = finish; j >= start; j--) {\n      // The alphabet (s) is a sparse hash, so the following line generates\n      // warnings.\n      var charMatch = s[text.charAt(j - 1)];\n      if (d === 0) {  // First pass: exact match.\n        rd[j] = ((rd[j + 1] << 1) | 1) & charMatch;\n      } else {  // Subsequent passes: fuzzy match.\n        rd[j] = (((rd[j + 1] << 1) | 1) & charMatch) |\n                (((last_rd[j + 1] | last_rd[j]) << 1) | 1) |\n                last_rd[j + 1];\n      }\n      if (rd[j] & matchmask) {\n        var score = match_bitapScore_(d, j - 1);\n        // This match will almost certainly be better than any existing match.\n        // But check anyway.\n        if (score <= score_threshold) {\n          // Told you so.\n          score_threshold = score;\n          best_loc = j - 1;\n          if (best_loc > loc) {\n            // When passing loc, don't exceed our current distance from loc.\n            start = Math.max(1, 2 * loc - best_loc);\n          } else {\n            // Already passed loc, downhill from here on in.\n            break;\n          }\n        }\n      }\n    }\n    // No hope for a (better) match at greater error levels.\n    if (match_bitapScore_(d + 1, loc) > score_threshold) {\n      break;\n    }\n    last_rd = rd;\n  }\n  return best_loc;\n};\n\n\n/**\n * Initialise the alphabet for the Bitap algorithm.\n * @param {string} pattern The text to encode.\n * @return {!Object} Hash of character locations.\n * @private\n */\ndiff_match_patch.prototype.match_alphabet_ = function(pattern) {\n  var s = {};\n  for (var i = 0; i < pattern.length; i++) {\n    s[pattern.charAt(i)] = 0;\n  }\n  for (var i = 0; i < pattern.length; i++) {\n    s[pattern.charAt(i)] |= 1 << (pattern.length - i - 1);\n  }\n  return s;\n};\n\n\n//  PATCH FUNCTIONS\n\n\n/**\n * Increase the context until it is unique,\n * but don't let the pattern expand beyond Match_MaxBits.\n * @param {!diff_match_patch.patch_obj} patch The patch to grow.\n * @param {string} text Source text.\n * @private\n */\ndiff_match_patch.prototype.patch_addContext_ = function(patch, text) {\n  if (text.length == 0) {\n    return;\n  }\n  if (patch.start2 === null) {\n    throw Error('patch not initialized');\n  }\n  var pattern = text.substring(patch.start2, patch.start2 + patch.length1);\n  var padding = 0;\n\n  // Look for the first and last matches of pattern in text.  If two different\n  // matches are found, increase the pattern length.\n  while (text.indexOf(pattern) != text.lastIndexOf(pattern) &&\n         pattern.length < this.Match_MaxBits - this.Patch_Margin -\n         this.Patch_Margin) {\n    padding += this.Patch_Margin;\n    pattern = text.substring(patch.start2 - padding,\n                             patch.start2 + patch.length1 + padding);\n  }\n  // Add one chunk for good luck.\n  padding += this.Patch_Margin;\n\n  // Add the prefix.\n  var prefix = text.substring(patch.start2 - padding, patch.start2);\n  if (prefix) {\n    patch.diffs.unshift(new diff_match_patch.Diff(DIFF_EQUAL, prefix));\n  }\n  // Add the suffix.\n  var suffix = text.substring(patch.start2 + patch.length1,\n                              patch.start2 + patch.length1 + padding);\n  if (suffix) {\n    patch.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, suffix));\n  }\n\n  // Roll back the start points.\n  patch.start1 -= prefix.length;\n  patch.start2 -= prefix.length;\n  // Extend the lengths.\n  patch.length1 += prefix.length + suffix.length;\n  patch.length2 += prefix.length + suffix.length;\n};\n\n\n/**\n * Compute a list of patches to turn text1 into text2.\n * Use diffs if provided, otherwise compute it ourselves.\n * There are four ways to call this function, depending on what data is\n * available to the caller:\n * Method 1:\n * a = text1, b = text2\n * Method 2:\n * a = diffs\n * Method 3 (optimal):\n * a = text1, b = diffs\n * Method 4 (deprecated, use method 3):\n * a = text1, b = text2, c = diffs\n *\n * @param {string|!Array.<!diff_match_patch.Diff>} a text1 (methods 1,3,4) or\n * Array of diff tuples for text1 to text2 (method 2).\n * @param {string|!Array.<!diff_match_patch.Diff>=} opt_b text2 (methods 1,4) or\n * Array of diff tuples for text1 to text2 (method 3) or undefined (method 2).\n * @param {string|!Array.<!diff_match_patch.Diff>=} opt_c Array of diff tuples\n * for text1 to text2 (method 4) or undefined (methods 1,2,3).\n * @return {!Array.<!diff_match_patch.patch_obj>} Array of Patch objects.\n */\ndiff_match_patch.prototype.patch_make = function(a, opt_b, opt_c) {\n  var text1, diffs;\n  if (typeof a == 'string' && typeof opt_b == 'string' &&\n      typeof opt_c == 'undefined') {\n    // Method 1: text1, text2\n    // Compute diffs from text1 and text2.\n    text1 = /** @type {string} */(a);\n    diffs = this.diff_main(text1, /** @type {string} */(opt_b), true);\n    if (diffs.length > 2) {\n      this.diff_cleanupSemantic(diffs);\n      this.diff_cleanupEfficiency(diffs);\n    }\n  } else if (a && typeof a == 'object' && typeof opt_b == 'undefined' &&\n      typeof opt_c == 'undefined') {\n    // Method 2: diffs\n    // Compute text1 from diffs.\n    diffs = /** @type {!Array.<!diff_match_patch.Diff>} */(a);\n    text1 = this.diff_text1(diffs);\n  } else if (typeof a == 'string' && opt_b && typeof opt_b == 'object' &&\n      typeof opt_c == 'undefined') {\n    // Method 3: text1, diffs\n    text1 = /** @type {string} */(a);\n    diffs = /** @type {!Array.<!diff_match_patch.Diff>} */(opt_b);\n  } else if (typeof a == 'string' && typeof opt_b == 'string' &&\n      opt_c && typeof opt_c == 'object') {\n    // Method 4: text1, text2, diffs\n    // text2 is not used.\n    text1 = /** @type {string} */(a);\n    diffs = /** @type {!Array.<!diff_match_patch.Diff>} */(opt_c);\n  } else {\n    throw new Error('Unknown call format to patch_make.');\n  }\n\n  if (diffs.length === 0) {\n    return [];  // Get rid of the null case.\n  }\n  var patches = [];\n  var patch = new diff_match_patch.patch_obj();\n  var patchDiffLength = 0;  // Keeping our own length var is faster in JS.\n  var char_count1 = 0;  // Number of characters into the text1 string.\n  var char_count2 = 0;  // Number of characters into the text2 string.\n  // Start with text1 (prepatch_text) and apply the diffs until we arrive at\n  // text2 (postpatch_text).  We recreate the patches one by one to determine\n  // context info.\n  var prepatch_text = text1;\n  var postpatch_text = text1;\n  for (var x = 0; x < diffs.length; x++) {\n    var diff_type = diffs[x][0];\n    var diff_text = diffs[x][1];\n\n    if (!patchDiffLength && diff_type !== DIFF_EQUAL) {\n      // A new patch starts here.\n      patch.start1 = char_count1;\n      patch.start2 = char_count2;\n    }\n\n    switch (diff_type) {\n      case DIFF_INSERT:\n        patch.diffs[patchDiffLength++] = diffs[x];\n        patch.length2 += diff_text.length;\n        postpatch_text = postpatch_text.substring(0, char_count2) + diff_text +\n                         postpatch_text.substring(char_count2);\n        break;\n      case DIFF_DELETE:\n        patch.length1 += diff_text.length;\n        patch.diffs[patchDiffLength++] = diffs[x];\n        postpatch_text = postpatch_text.substring(0, char_count2) +\n                         postpatch_text.substring(char_count2 +\n                             diff_text.length);\n        break;\n      case DIFF_EQUAL:\n        if (diff_text.length <= 2 * this.Patch_Margin &&\n            patchDiffLength && diffs.length != x + 1) {\n          // Small equality inside a patch.\n          patch.diffs[patchDiffLength++] = diffs[x];\n          patch.length1 += diff_text.length;\n          patch.length2 += diff_text.length;\n        } else if (diff_text.length >= 2 * this.Patch_Margin) {\n          // Time for a new patch.\n          if (patchDiffLength) {\n            this.patch_addContext_(patch, prepatch_text);\n            patches.push(patch);\n            patch = new diff_match_patch.patch_obj();\n            patchDiffLength = 0;\n            // Unlike Unidiff, our patch lists have a rolling context.\n            // https://github.com/google/diff-match-patch/wiki/Unidiff\n            // Update prepatch text & pos to reflect the application of the\n            // just completed patch.\n            prepatch_text = postpatch_text;\n            char_count1 = char_count2;\n          }\n        }\n        break;\n    }\n\n    // Update the current character count.\n    if (diff_type !== DIFF_INSERT) {\n      char_count1 += diff_text.length;\n    }\n    if (diff_type !== DIFF_DELETE) {\n      char_count2 += diff_text.length;\n    }\n  }\n  // Pick up the leftover patch if not empty.\n  if (patchDiffLength) {\n    this.patch_addContext_(patch, prepatch_text);\n    patches.push(patch);\n  }\n\n  return patches;\n};\n\n\n/**\n * Given an array of patches, return another array that is identical.\n * @param {!Array.<!diff_match_patch.patch_obj>} patches Array of Patch objects.\n * @return {!Array.<!diff_match_patch.patch_obj>} Array of Patch objects.\n */\ndiff_match_patch.prototype.patch_deepCopy = function(patches) {\n  // Making deep copies is hard in JavaScript.\n  var patchesCopy = [];\n  for (var x = 0; x < patches.length; x++) {\n    var patch = patches[x];\n    var patchCopy = new diff_match_patch.patch_obj();\n    patchCopy.diffs = [];\n    for (var y = 0; y < patch.diffs.length; y++) {\n      patchCopy.diffs[y] =\n          new diff_match_patch.Diff(patch.diffs[y][0], patch.diffs[y][1]);\n    }\n    patchCopy.start1 = patch.start1;\n    patchCopy.start2 = patch.start2;\n    patchCopy.length1 = patch.length1;\n    patchCopy.length2 = patch.length2;\n    patchesCopy[x] = patchCopy;\n  }\n  return patchesCopy;\n};\n\n\n/**\n * Merge a set of patches onto the text.  Return a patched text, as well\n * as a list of true/false values indicating which patches were applied.\n * @param {!Array.<!diff_match_patch.patch_obj>} patches Array of Patch objects.\n * @param {string} text Old text.\n * @return {!Array.<string|!Array.<boolean>>} Two element Array, containing the\n *      new text and an array of boolean values.\n */\ndiff_match_patch.prototype.patch_apply = function(patches, text) {\n  if (patches.length == 0) {\n    return [text, []];\n  }\n\n  // Deep copy the patches so that no changes are made to originals.\n  patches = this.patch_deepCopy(patches);\n\n  var nullPadding = this.patch_addPadding(patches);\n  text = nullPadding + text + nullPadding;\n\n  this.patch_splitMax(patches);\n  // delta keeps track of the offset between the expected and actual location\n  // of the previous patch.  If there are patches expected at positions 10 and\n  // 20, but the first patch was found at 12, delta is 2 and the second patch\n  // has an effective expected position of 22.\n  var delta = 0;\n  var results = [];\n  for (var x = 0; x < patches.length; x++) {\n    var expected_loc = patches[x].start2 + delta;\n    var text1 = this.diff_text1(patches[x].diffs);\n    var start_loc;\n    var end_loc = -1;\n    if (text1.length > this.Match_MaxBits) {\n      // patch_splitMax will only provide an oversized pattern in the case of\n      // a monster delete.\n      start_loc = this.match_main(text, text1.substring(0, this.Match_MaxBits),\n                                  expected_loc);\n      if (start_loc != -1) {\n        end_loc = this.match_main(text,\n            text1.substring(text1.length - this.Match_MaxBits),\n            expected_loc + text1.length - this.Match_MaxBits);\n        if (end_loc == -1 || start_loc >= end_loc) {\n          // Can't find valid trailing context.  Drop this patch.\n          start_loc = -1;\n        }\n      }\n    } else {\n      start_loc = this.match_main(text, text1, expected_loc);\n    }\n    if (start_loc == -1) {\n      // No match found.  :(\n      results[x] = false;\n      // Subtract the delta for this failed patch from subsequent patches.\n      delta -= patches[x].length2 - patches[x].length1;\n    } else {\n      // Found a match.  :)\n      results[x] = true;\n      delta = start_loc - expected_loc;\n      var text2;\n      if (end_loc == -1) {\n        text2 = text.substring(start_loc, start_loc + text1.length);\n      } else {\n        text2 = text.substring(start_loc, end_loc + this.Match_MaxBits);\n      }\n      if (text1 == text2) {\n        // Perfect match, just shove the replacement text in.\n        text = text.substring(0, start_loc) +\n               this.diff_text2(patches[x].diffs) +\n               text.substring(start_loc + text1.length);\n      } else {\n        // Imperfect match.  Run a diff to get a framework of equivalent\n        // indices.\n        var diffs = this.diff_main(text1, text2, false);\n        if (text1.length > this.Match_MaxBits &&\n            this.diff_levenshtein(diffs) / text1.length >\n            this.Patch_DeleteThreshold) {\n          // The end points match, but the content is unacceptably bad.\n          results[x] = false;\n        } else {\n          this.diff_cleanupSemanticLossless(diffs);\n          var index1 = 0;\n          var index2;\n          for (var y = 0; y < patches[x].diffs.length; y++) {\n            var mod = patches[x].diffs[y];\n            if (mod[0] !== DIFF_EQUAL) {\n              index2 = this.diff_xIndex(diffs, index1);\n            }\n            if (mod[0] === DIFF_INSERT) {  // Insertion\n              text = text.substring(0, start_loc + index2) + mod[1] +\n                     text.substring(start_loc + index2);\n            } else if (mod[0] === DIFF_DELETE) {  // Deletion\n              text = text.substring(0, start_loc + index2) +\n                     text.substring(start_loc + this.diff_xIndex(diffs,\n                         index1 + mod[1].length));\n            }\n            if (mod[0] !== DIFF_DELETE) {\n              index1 += mod[1].length;\n            }\n          }\n        }\n      }\n    }\n  }\n  // Strip the padding off.\n  text = text.substring(nullPadding.length, text.length - nullPadding.length);\n  return [text, results];\n};\n\n\n/**\n * Add some padding on text start and end so that edges can match something.\n * Intended to be called only from within patch_apply.\n * @param {!Array.<!diff_match_patch.patch_obj>} patches Array of Patch objects.\n * @return {string} The padding string added to each side.\n */\ndiff_match_patch.prototype.patch_addPadding = function(patches) {\n  var paddingLength = this.Patch_Margin;\n  var nullPadding = '';\n  for (var x = 1; x <= paddingLength; x++) {\n    nullPadding += String.fromCharCode(x);\n  }\n\n  // Bump all the patches forward.\n  for (var x = 0; x < patches.length; x++) {\n    patches[x].start1 += paddingLength;\n    patches[x].start2 += paddingLength;\n  }\n\n  // Add some padding on start of first diff.\n  var patch = patches[0];\n  var diffs = patch.diffs;\n  if (diffs.length == 0 || diffs[0][0] != DIFF_EQUAL) {\n    // Add nullPadding equality.\n    diffs.unshift(new diff_match_patch.Diff(DIFF_EQUAL, nullPadding));\n    patch.start1 -= paddingLength;  // Should be 0.\n    patch.start2 -= paddingLength;  // Should be 0.\n    patch.length1 += paddingLength;\n    patch.length2 += paddingLength;\n  } else if (paddingLength > diffs[0][1].length) {\n    // Grow first equality.\n    var extraLength = paddingLength - diffs[0][1].length;\n    diffs[0][1] = nullPadding.substring(diffs[0][1].length) + diffs[0][1];\n    patch.start1 -= extraLength;\n    patch.start2 -= extraLength;\n    patch.length1 += extraLength;\n    patch.length2 += extraLength;\n  }\n\n  // Add some padding on end of last diff.\n  patch = patches[patches.length - 1];\n  diffs = patch.diffs;\n  if (diffs.length == 0 || diffs[diffs.length - 1][0] != DIFF_EQUAL) {\n    // Add nullPadding equality.\n    diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, nullPadding));\n    patch.length1 += paddingLength;\n    patch.length2 += paddingLength;\n  } else if (paddingLength > diffs[diffs.length - 1][1].length) {\n    // Grow last equality.\n    var extraLength = paddingLength - diffs[diffs.length - 1][1].length;\n    diffs[diffs.length - 1][1] += nullPadding.substring(0, extraLength);\n    patch.length1 += extraLength;\n    patch.length2 += extraLength;\n  }\n\n  return nullPadding;\n};\n\n\n/**\n * Look through the patches and break up any which are longer than the maximum\n * limit of the match algorithm.\n * Intended to be called only from within patch_apply.\n * @param {!Array.<!diff_match_patch.patch_obj>} patches Array of Patch objects.\n */\ndiff_match_patch.prototype.patch_splitMax = function(patches) {\n  var patch_size = this.Match_MaxBits;\n  for (var x = 0; x < patches.length; x++) {\n    if (patches[x].length1 <= patch_size) {\n      continue;\n    }\n    var bigpatch = patches[x];\n    // Remove the big old patch.\n    patches.splice(x--, 1);\n    var start1 = bigpatch.start1;\n    var start2 = bigpatch.start2;\n    var precontext = '';\n    while (bigpatch.diffs.length !== 0) {\n      // Create one of several smaller patches.\n      var patch = new diff_match_patch.patch_obj();\n      var empty = true;\n      patch.start1 = start1 - precontext.length;\n      patch.start2 = start2 - precontext.length;\n      if (precontext !== '') {\n        patch.length1 = patch.length2 = precontext.length;\n        patch.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, precontext));\n      }\n      while (bigpatch.diffs.length !== 0 &&\n             patch.length1 < patch_size - this.Patch_Margin) {\n        var diff_type = bigpatch.diffs[0][0];\n        var diff_text = bigpatch.diffs[0][1];\n        if (diff_type === DIFF_INSERT) {\n          // Insertions are harmless.\n          patch.length2 += diff_text.length;\n          start2 += diff_text.length;\n          patch.diffs.push(bigpatch.diffs.shift());\n          empty = false;\n        } else if (diff_type === DIFF_DELETE && patch.diffs.length == 1 &&\n                   patch.diffs[0][0] == DIFF_EQUAL &&\n                   diff_text.length > 2 * patch_size) {\n          // This is a large deletion.  Let it pass in one chunk.\n          patch.length1 += diff_text.length;\n          start1 += diff_text.length;\n          empty = false;\n          patch.diffs.push(new diff_match_patch.Diff(diff_type, diff_text));\n          bigpatch.diffs.shift();\n        } else {\n          // Deletion or equality.  Only take as much as we can stomach.\n          diff_text = diff_text.substring(0,\n              patch_size - patch.length1 - this.Patch_Margin);\n          patch.length1 += diff_text.length;\n          start1 += diff_text.length;\n          if (diff_type === DIFF_EQUAL) {\n            patch.length2 += diff_text.length;\n            start2 += diff_text.length;\n          } else {\n            empty = false;\n          }\n          patch.diffs.push(new diff_match_patch.Diff(diff_type, diff_text));\n          if (diff_text == bigpatch.diffs[0][1]) {\n            bigpatch.diffs.shift();\n          } else {\n            bigpatch.diffs[0][1] =\n                bigpatch.diffs[0][1].substring(diff_text.length);\n          }\n        }\n      }\n      // Compute the head context for the next patch.\n      precontext = this.diff_text2(patch.diffs);\n      precontext =\n          precontext.substring(precontext.length - this.Patch_Margin);\n      // Append the end context for this patch.\n      var postcontext = this.diff_text1(bigpatch.diffs)\n                            .substring(0, this.Patch_Margin);\n      if (postcontext !== '') {\n        patch.length1 += postcontext.length;\n        patch.length2 += postcontext.length;\n        if (patch.diffs.length !== 0 &&\n            patch.diffs[patch.diffs.length - 1][0] === DIFF_EQUAL) {\n          patch.diffs[patch.diffs.length - 1][1] += postcontext;\n        } else {\n          patch.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, postcontext));\n        }\n      }\n      if (!empty) {\n        patches.splice(++x, 0, patch);\n      }\n    }\n  }\n};\n\n\n/**\n * Take a list of patches and return a textual representation.\n * @param {!Array.<!diff_match_patch.patch_obj>} patches Array of Patch objects.\n * @return {string} Text representation of patches.\n */\ndiff_match_patch.prototype.patch_toText = function(patches) {\n  var text = [];\n  for (var x = 0; x < patches.length; x++) {\n    text[x] = patches[x];\n  }\n  return text.join('');\n};\n\n\n/**\n * Parse a textual representation of patches and return a list of Patch objects.\n * @param {string} textline Text representation of patches.\n * @return {!Array.<!diff_match_patch.patch_obj>} Array of Patch objects.\n * @throws {!Error} If invalid input.\n */\ndiff_match_patch.prototype.patch_fromText = function(textline) {\n  var patches = [];\n  if (!textline) {\n    return patches;\n  }\n  var text = textline.split('\\n');\n  var textPointer = 0;\n  var patchHeader = /^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;\n  while (textPointer < text.length) {\n    var m = text[textPointer].match(patchHeader);\n    if (!m) {\n      throw new Error('Invalid patch string: ' + text[textPointer]);\n    }\n    var patch = new diff_match_patch.patch_obj();\n    patches.push(patch);\n    patch.start1 = parseInt(m[1], 10);\n    if (m[2] === '') {\n      patch.start1--;\n      patch.length1 = 1;\n    } else if (m[2] == '0') {\n      patch.length1 = 0;\n    } else {\n      patch.start1--;\n      patch.length1 = parseInt(m[2], 10);\n    }\n\n    patch.start2 = parseInt(m[3], 10);\n    if (m[4] === '') {\n      patch.start2--;\n      patch.length2 = 1;\n    } else if (m[4] == '0') {\n      patch.length2 = 0;\n    } else {\n      patch.start2--;\n      patch.length2 = parseInt(m[4], 10);\n    }\n    textPointer++;\n\n    while (textPointer < text.length) {\n      var sign = text[textPointer].charAt(0);\n      try {\n        var line = decodeURI(text[textPointer].substring(1));\n      } catch (ex) {\n        // Malformed URI sequence.\n        throw new Error('Illegal escape in patch_fromText: ' + line);\n      }\n      if (sign == '-') {\n        // Deletion.\n        patch.diffs.push(new diff_match_patch.Diff(DIFF_DELETE, line));\n      } else if (sign == '+') {\n        // Insertion.\n        patch.diffs.push(new diff_match_patch.Diff(DIFF_INSERT, line));\n      } else if (sign == ' ') {\n        // Minor equality.\n        patch.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, line));\n      } else if (sign == '@') {\n        // Start of next patch.\n        break;\n      } else if (sign === '') {\n        // Blank line?  Whatever.\n      } else {\n        // WTF?\n        throw new Error('Invalid patch mode \"' + sign + '\" in: ' + line);\n      }\n      textPointer++;\n    }\n  }\n  return patches;\n};\n\n\n/**\n * Class representing one patch operation.\n * @constructor\n */\ndiff_match_patch.patch_obj = function() {\n  /** @type {!Array.<!diff_match_patch.Diff>} */\n  this.diffs = [];\n  /** @type {?number} */\n  this.start1 = null;\n  /** @type {?number} */\n  this.start2 = null;\n  /** @type {number} */\n  this.length1 = 0;\n  /** @type {number} */\n  this.length2 = 0;\n};\n\n\n/**\n * Emulate GNU diff's format.\n * Header: @@ -382,8 +481,9 @@\n * Indices are printed as 1-based, not 0-based.\n * @return {string} The GNU diff string.\n */\ndiff_match_patch.patch_obj.prototype.toString = function() {\n  var coords1, coords2;\n  if (this.length1 === 0) {\n    coords1 = this.start1 + ',0';\n  } else if (this.length1 == 1) {\n    coords1 = this.start1 + 1;\n  } else {\n    coords1 = (this.start1 + 1) + ',' + this.length1;\n  }\n  if (this.length2 === 0) {\n    coords2 = this.start2 + ',0';\n  } else if (this.length2 == 1) {\n    coords2 = this.start2 + 1;\n  } else {\n    coords2 = (this.start2 + 1) + ',' + this.length2;\n  }\n  var text = ['@@ -' + coords1 + ' +' + coords2 + ' @@\\n'];\n  var op;\n  // Escape the body of the patch with %xx notation.\n  for (var x = 0; x < this.diffs.length; x++) {\n    switch (this.diffs[x][0]) {\n      case DIFF_INSERT:\n        op = '+';\n        break;\n      case DIFF_DELETE:\n        op = '-';\n        break;\n      case DIFF_EQUAL:\n        op = ' ';\n        break;\n    }\n    text[x + 1] = op + encodeURI(this.diffs[x][1]) + '\\n';\n  }\n  return text.join('').replace(/%20/g, ' ');\n};\n\n\n// The following export code was added by @ForbesLindesay\nmodule.exports = diff_match_patch;\nmodule.exports['diff_match_patch'] = diff_match_patch;\nmodule.exports['DIFF_DELETE'] = DIFF_DELETE;\nmodule.exports['DIFF_INSERT'] = DIFF_INSERT;\nmodule.exports['DIFF_EQUAL'] = DIFF_EQUAL;","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar PropTypes = require(\"prop-types\");\nvar React = require(\"react\");\nvar split_1 = require(\"./split\");\nvar DiffMatchPatch = require(\"diff-match-patch\");\nvar DiffComponent = /** @class */ (function (_super) {\n    __extends(DiffComponent, _super);\n    function DiffComponent(props) {\n        var _this = _super.call(this, props) || this;\n        _this.state = {\n            value: _this.props.value\n        };\n        _this.onChange = _this.onChange.bind(_this);\n        _this.diff = _this.diff.bind(_this);\n        return _this;\n    }\n    DiffComponent.prototype.componentDidUpdate = function () {\n        var value = this.props.value;\n        if (value !== this.state.value) {\n            this.setState({ value: value });\n        }\n    };\n    DiffComponent.prototype.onChange = function (value) {\n        this.setState({\n            value: value\n        });\n        if (this.props.onChange) {\n            this.props.onChange(value);\n        }\n    };\n    DiffComponent.prototype.diff = function () {\n        var dmp = new DiffMatchPatch();\n        var lhString = this.state.value[0];\n        var rhString = this.state.value[1];\n        if (lhString.length === 0 && rhString.length === 0) {\n            return [];\n        }\n        var diff = dmp.diff_main(lhString, rhString);\n        dmp.diff_cleanupSemantic(diff);\n        var diffedLines = this.generateDiffedLines(diff);\n        var codeEditorSettings = this.setCodeMarkers(diffedLines);\n        return codeEditorSettings;\n    };\n    DiffComponent.prototype.generateDiffedLines = function (diff) {\n        var C = {\n            DIFF_EQUAL: 0,\n            DIFF_DELETE: -1,\n            DIFF_INSERT: 1\n        };\n        var diffedLines = {\n            left: [],\n            right: []\n        };\n        var cursor = {\n            left: 1,\n            right: 1\n        };\n        diff.forEach(function (chunk) {\n            var chunkType = chunk[0];\n            var text = chunk[1];\n            var lines = text.split(\"\\n\").length - 1;\n            // diff-match-patch sometimes returns empty strings at random\n            if (text.length === 0) {\n                return;\n            }\n            var firstChar = text[0];\n            var lastChar = text[text.length - 1];\n            var linesToHighlight = 0;\n            switch (chunkType) {\n                case C.DIFF_EQUAL:\n                    cursor.left += lines;\n                    cursor.right += lines;\n                    break;\n                case C.DIFF_DELETE:\n                    // If the deletion starts with a newline, push the cursor down to that line\n                    if (firstChar === \"\\n\") {\n                        cursor.left++;\n                        lines--;\n                    }\n                    linesToHighlight = lines;\n                    // If the deletion does not include a newline, highlight the same line on the right\n                    if (linesToHighlight === 0) {\n                        diffedLines.right.push({\n                            startLine: cursor.right,\n                            endLine: cursor.right\n                        });\n                    }\n                    // If the last character is a newline, we don't want to highlight that line\n                    if (lastChar === \"\\n\") {\n                        linesToHighlight -= 1;\n                    }\n                    diffedLines.left.push({\n                        startLine: cursor.left,\n                        endLine: cursor.left + linesToHighlight\n                    });\n                    cursor.left += lines;\n                    break;\n                case C.DIFF_INSERT:\n                    // If the insertion starts with a newline, push the cursor down to that line\n                    if (firstChar === \"\\n\") {\n                        cursor.right++;\n                        lines--;\n                    }\n                    linesToHighlight = lines;\n                    // If the insertion does not include a newline, highlight the same line on the left\n                    if (linesToHighlight === 0) {\n                        diffedLines.left.push({\n                            startLine: cursor.left,\n                            endLine: cursor.left\n                        });\n                    }\n                    // If the last character is a newline, we don't want to highlight that line\n                    if (lastChar === \"\\n\") {\n                        linesToHighlight -= 1;\n                    }\n                    diffedLines.right.push({\n                        startLine: cursor.right,\n                        endLine: cursor.right + linesToHighlight\n                    });\n                    cursor.right += lines;\n                    break;\n                default:\n                    throw new Error(\"Diff type was not defined.\");\n            }\n        });\n        return diffedLines;\n    };\n    // Receives a collection of line numbers and iterates through them to highlight appropriately\n    // Returns an object that tells the render() method how to display the code editors\n    DiffComponent.prototype.setCodeMarkers = function (diffedLines) {\n        if (diffedLines === void 0) { diffedLines = { left: [], right: [] }; }\n        var codeEditorSettings = [];\n        var newMarkerSet = {\n            left: [],\n            right: []\n        };\n        for (var i = 0; i < diffedLines.left.length; i++) {\n            var markerObj = {\n                startRow: diffedLines.left[i].startLine - 1,\n                endRow: diffedLines.left[i].endLine,\n                type: \"text\",\n                className: \"codeMarker\"\n            };\n            newMarkerSet.left.push(markerObj);\n        }\n        for (var i = 0; i < diffedLines.right.length; i++) {\n            var markerObj = {\n                startRow: diffedLines.right[i].startLine - 1,\n                endRow: diffedLines.right[i].endLine,\n                type: \"text\",\n                className: \"codeMarker\"\n            };\n            newMarkerSet.right.push(markerObj);\n        }\n        codeEditorSettings[0] = newMarkerSet.left;\n        codeEditorSettings[1] = newMarkerSet.right;\n        return codeEditorSettings;\n    };\n    DiffComponent.prototype.render = function () {\n        var markers = this.diff();\n        return (React.createElement(split_1.default, { name: this.props.name, className: this.props.className, focus: this.props.focus, orientation: this.props.orientation, splits: this.props.splits, mode: this.props.mode, theme: this.props.theme, height: this.props.height, width: this.props.width, fontSize: this.props.fontSize, showGutter: this.props.showGutter, onChange: this.onChange, onPaste: this.props.onPaste, onLoad: this.props.onLoad, onScroll: this.props.onScroll, minLines: this.props.minLines, maxLines: this.props.maxLines, readOnly: this.props.readOnly, highlightActiveLine: this.props.highlightActiveLine, showPrintMargin: this.props.showPrintMargin, tabSize: this.props.tabSize, cursorStart: this.props.cursorStart, editorProps: this.props.editorProps, style: this.props.style, scrollMargin: this.props.scrollMargin, setOptions: this.props.setOptions, wrapEnabled: this.props.wrapEnabled, enableBasicAutocompletion: this.props.enableBasicAutocompletion, enableLiveAutocompletion: this.props.enableLiveAutocompletion, value: this.state.value, markers: markers }));\n    };\n    DiffComponent.propTypes = {\n        cursorStart: PropTypes.number,\n        editorProps: PropTypes.object,\n        enableBasicAutocompletion: PropTypes.bool,\n        enableLiveAutocompletion: PropTypes.bool,\n        focus: PropTypes.bool,\n        fontSize: PropTypes.number,\n        height: PropTypes.string,\n        highlightActiveLine: PropTypes.bool,\n        maxLines: PropTypes.number,\n        minLines: PropTypes.number,\n        mode: PropTypes.string,\n        name: PropTypes.string,\n        className: PropTypes.string,\n        onLoad: PropTypes.func,\n        onPaste: PropTypes.func,\n        onScroll: PropTypes.func,\n        onChange: PropTypes.func,\n        orientation: PropTypes.string,\n        readOnly: PropTypes.bool,\n        scrollMargin: PropTypes.array,\n        setOptions: PropTypes.object,\n        showGutter: PropTypes.bool,\n        showPrintMargin: PropTypes.bool,\n        splits: PropTypes.number,\n        style: PropTypes.object,\n        tabSize: PropTypes.number,\n        theme: PropTypes.string,\n        value: PropTypes.array,\n        width: PropTypes.string,\n        wrapEnabled: PropTypes.bool\n    };\n    DiffComponent.defaultProps = {\n        cursorStart: 1,\n        editorProps: {},\n        enableBasicAutocompletion: false,\n        enableLiveAutocompletion: false,\n        focus: false,\n        fontSize: 12,\n        height: \"500px\",\n        highlightActiveLine: true,\n        maxLines: null,\n        minLines: null,\n        mode: \"\",\n        name: \"ace-editor\",\n        onLoad: null,\n        onScroll: null,\n        onPaste: null,\n        onChange: null,\n        orientation: \"beside\",\n        readOnly: false,\n        scrollMargin: [0, 0, 0, 0],\n        setOptions: {},\n        showGutter: true,\n        showPrintMargin: true,\n        splits: 2,\n        style: {},\n        tabSize: 4,\n        theme: \"github\",\n        value: [\"\", \"\"],\n        width: \"500px\",\n        wrapEnabled: true\n    };\n    return DiffComponent;\n}(React.Component));\nexports.default = DiffComponent;\n//# sourceMappingURL=diff.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.diff = exports.split = void 0;\nvar ace_1 = require(\"./ace\");\nvar diff_1 = require(\"./diff\");\nexports.diff = diff_1.default;\nvar split_1 = require(\"./split\");\nexports.split = split_1.default;\nexports.default = ace_1.default;\n//# sourceMappingURL=index.js.map","module.exports.id = 'ace/mode/json_worker';\nmodule.exports.src = \"\\\"no use strict\\\";!function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\\\"\\\";testPath;){var alias=paths[testPath];if(\\\"string\\\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\\\/*$/,\\\"/\\\")+(tail||alias.main||alias.name);if(alias===!1)return\\\"\\\";var i=testPath.lastIndexOf(\\\"/\\\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\\\"log\\\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\\\"error\\\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\\\"!\\\")){var chunks=moduleName.split(\\\"!\\\");return window.normalizeModule(parentId,chunks[0])+\\\"!\\\"+window.normalizeModule(parentId,chunks[1])}if(\\\".\\\"==moduleName.charAt(0)){var base=parentId.split(\\\"/\\\").slice(0,-1).join(\\\"/\\\");for(moduleName=(base?base+\\\"/\\\":\\\"\\\")+moduleName;-1!==moduleName.indexOf(\\\".\\\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\\\.\\\\//,\\\"\\\").replace(/\\\\/\\\\.\\\\//,\\\"/\\\").replace(/[^\\\\/]+\\\\/\\\\.\\\\.\\\\//,\\\"\\\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\\\"worker.js acequire() accepts only (parentId, id) as arguments\\\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\\\"unable to load \\\"+id);var path=resolveModuleId(id,window.acequire.tlns);return\\\".js\\\"!=path.slice(-3)&&(path+=\\\".js\\\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\\\"string\\\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\\\"function\\\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\\\"require\\\",\\\"exports\\\",\\\"module\\\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\\\"require\\\":return req;case\\\"exports\\\":return module.exports;case\\\"module\\\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\\\"ace/lib/event_emitter\\\").EventEmitter,oop=window.acequire(\\\"ace/lib/oop\\\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\\\"call\\\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\\\"event\\\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\\\"Unknown command:\\\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\\\"ace/lib/es5-shim\\\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}}(this),ace.define(\\\"ace/lib/oop\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\\\"ace/range\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return\\\"Range: [\\\"+this.start.row+\\\"/\\\"+this.start.column+\\\"] -> [\\\"+this.end.row+\\\"/\\\"+this.end.column+\\\"]\\\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\\\"object\\\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\\\"object\\\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\\\"ace/apply_delta\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\\\"\\\";switch(delta.action){case\\\"insert\\\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\\\"remove\\\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\\\"ace/lib/event_emitter\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\\\"object\\\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\\\"unshift\\\":\\\"push\\\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\\\"ace/anchor\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/lib/event_emitter\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"./lib/oop\\\"),EventEmitter=acequire(\\\"./lib/event_emitter\\\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.column<point2.column;return point1.row<point2.row||point1.row==point2.row&&bColIsAfter}function $getTransformedPoint(delta,point,moveIfEqual){var deltaIsInsert=\\\"insert\\\"==delta.action,deltaRowShift=(deltaIsInsert?1:-1)*(delta.end.row-delta.start.row),deltaColShift=(deltaIsInsert?1:-1)*(delta.end.column-delta.start.column),deltaStart=delta.start,deltaEnd=deltaIsInsert?deltaStart:delta.end;return $pointsInOrder(point,deltaStart,moveIfEqual)?{row:point.row,column:point.column}:$pointsInOrder(deltaEnd,point,!moveIfEqual)?{row:point.row+deltaRowShift,column:point.column+(point.row==deltaEnd.row?deltaColShift:0)}:{row:deltaStart.row,column:deltaStart.column}}oop.implement(this,EventEmitter),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(delta){if(!(delta.start.row==delta.end.row&&delta.start.row!=this.row||delta.start.row>this.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\\\"change\\\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\\\"change\\\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\\\"change\\\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\\\"ace/document\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/apply_delta\\\",\\\"ace/lib/event_emitter\\\",\\\"ace/range\\\",\\\"ace/anchor\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"./lib/oop\\\"),applyDelta=acequire(\\\"./apply_delta\\\").applyDelta,EventEmitter=acequire(\\\"./lib/event_emitter\\\").EventEmitter,Range=acequire(\\\"./range\\\").Range,Anchor=acequire(\\\"./anchor\\\").Anchor,Document=function(textOrLines){this.$lines=[\\\"\\\"],0===textOrLines.length?this.$lines=[\\\"\\\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\\\"aaa\\\".split(/a/).length?function(text){return text.replace(/\\\\r\\\\n|\\\\r/g,\\\"\\\\n\\\").split(\\\"\\\\n\\\")}:function(text){return text.split(/\\\\r\\\\n|\\\\r|\\\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\\\r\\\\n|\\\\r|\\\\n)/m);this.$autoNewLine=match?match[1]:\\\"\\\\n\\\",this._signal(\\\"changeNewLineMode\\\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\\\"windows\\\":return\\\"\\\\r\\\\n\\\";case\\\"unix\\\":return\\\"\\\\n\\\";default:return this.$autoNewLine||\\\"\\\\n\\\"}},this.$autoNewLine=\\\"\\\",this.$newLineMode=\\\"auto\\\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\\\"changeNewLineMode\\\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\\\"\\\\r\\\\n\\\"==text||\\\"\\\\r\\\"==text||\\\"\\\\n\\\"==text},this.getLine=function(row){return this.$lines[row]||\\\"\\\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\\\"\\\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\\\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\\\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\\\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\\\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\\\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\\\"),this.insertMergedLines(position,[\\\"\\\",\\\"\\\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\\\"insert\\\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\\\"\\\"]),column=0):(lines=[\\\"\\\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\\\"insert\\\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\\\"remove\\\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\\\"remove\\\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\\\"remove\\\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\\\"remove\\\",lines:[\\\"\\\",\\\"\\\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\\\"insert\\\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\\\"change\\\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\\\"\\\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\\\"insert\\\"==delta.action?\\\"remove\\\":\\\"insert\\\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\\\"ace/lib/lang\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\\\"\\\").reverse().join(\\\"\\\")},exports.stringRepeat=function(string,count){for(var result=\\\"\\\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\\\s\\\\s*/,trimEndRegexp=/\\\\s\\\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\\\"\\\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\\\"\\\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\\\"object\\\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\\\"object\\\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\\\"[object Object]\\\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\\\]\\\\/\\\\\\\\])/g,\\\"\\\\\\\\$1\\\")},exports.escapeHTML=function(str){return str.replace(/&/g,\\\"&#38;\\\").replace(/\\\"/g,\\\"&#34;\\\").replace(/'/g,\\\"&#39;\\\").replace(/</g,\\\"&#60;\\\")},exports.getMatchOffsets=function(string,regExp){var matches=[];return string.replace(regExp,function(str){matches.push({offset:arguments[arguments.length-2],length:str.length})}),matches},exports.deferredCall=function(fcn){var timer=null,callback=function(){timer=null,fcn()},deferred=function(timeout){return deferred.cancel(),timer=setTimeout(callback,timeout||0),deferred};return deferred.schedule=deferred,deferred.call=function(){return this.cancel(),fcn(),deferred},deferred.cancel=function(){return clearTimeout(timer),timer=null,deferred},deferred.isPending=function(){return timer},deferred},exports.delayedCall=function(fcn,defaultTimeout){var timer=null,callback=function(){timer=null,fcn()},_self=function(timeout){null==timer&&(timer=setTimeout(callback,timeout||defaultTimeout))};return _self.delay=function(timeout){timer&&clearTimeout(timer),timer=setTimeout(callback,timeout||defaultTimeout)},_self.schedule=_self,_self.call=function(){this.cancel(),fcn()},_self.cancel=function(){timer&&clearTimeout(timer),timer=null},_self.isPending=function(){return timer},_self}}),ace.define(\\\"ace/worker/mirror\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/range\\\",\\\"ace/document\\\",\\\"ace/lib/lang\\\"],function(acequire,exports){\\\"use strict\\\";acequire(\\\"../range\\\").Range;var Document=acequire(\\\"../document\\\").Document,lang=acequire(\\\"../lib/lang\\\"),Mirror=exports.Mirror=function(sender){this.sender=sender;var doc=this.doc=new Document(\\\"\\\"),deferredUpdate=this.deferredUpdate=lang.delayedCall(this.onUpdate.bind(this)),_self=this;sender.on(\\\"change\\\",function(e){var data=e.data;if(data[0].start)doc.applyDeltas(data);else for(var i=0;data.length>i;i+=2){if(Array.isArray(data[i+1]))var d={action:\\\"insert\\\",start:data[i],lines:data[i+1]};else var d={action:\\\"remove\\\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\\\"ace/mode/json/json_parse\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(){\\\"use strict\\\";var at,ch,text,value,escapee={'\\\"':'\\\"',\\\"\\\\\\\\\\\":\\\"\\\\\\\\\\\",\\\"/\\\":\\\"/\\\",b:\\\"\\\\b\\\",f:\\\"\\\\f\\\",n:\\\"\\\\n\\\",r:\\\"\\\\r\\\",t:\\\"\\t\\\"},error=function(m){throw{name:\\\"SyntaxError\\\",message:m,at:at,text:text}},next=function(c){return c&&c!==ch&&error(\\\"Expected '\\\"+c+\\\"' instead of '\\\"+ch+\\\"'\\\"),ch=text.charAt(at),at+=1,ch},number=function(){var number,string=\\\"\\\";for(\\\"-\\\"===ch&&(string=\\\"-\\\",next(\\\"-\\\"));ch>=\\\"0\\\"&&\\\"9\\\">=ch;)string+=ch,next();if(\\\".\\\"===ch)for(string+=\\\".\\\";next()&&ch>=\\\"0\\\"&&\\\"9\\\">=ch;)string+=ch;if(\\\"e\\\"===ch||\\\"E\\\"===ch)for(string+=ch,next(),(\\\"-\\\"===ch||\\\"+\\\"===ch)&&(string+=ch,next());ch>=\\\"0\\\"&&\\\"9\\\">=ch;)string+=ch,next();return number=+string,isNaN(number)?(error(\\\"Bad number\\\"),void 0):number},string=function(){var hex,i,uffff,string=\\\"\\\";if('\\\"'===ch)for(;next();){if('\\\"'===ch)return next(),string;if(\\\"\\\\\\\\\\\"===ch)if(next(),\\\"u\\\"===ch){for(uffff=0,i=0;4>i&&(hex=parseInt(next(),16),isFinite(hex));i+=1)uffff=16*uffff+hex;string+=String.fromCharCode(uffff)}else{if(\\\"string\\\"!=typeof escapee[ch])break;string+=escapee[ch]}else string+=ch}error(\\\"Bad string\\\")},white=function(){for(;ch&&\\\" \\\">=ch;)next()},word=function(){switch(ch){case\\\"t\\\":return next(\\\"t\\\"),next(\\\"r\\\"),next(\\\"u\\\"),next(\\\"e\\\"),!0;case\\\"f\\\":return next(\\\"f\\\"),next(\\\"a\\\"),next(\\\"l\\\"),next(\\\"s\\\"),next(\\\"e\\\"),!1;case\\\"n\\\":return next(\\\"n\\\"),next(\\\"u\\\"),next(\\\"l\\\"),next(\\\"l\\\"),null}error(\\\"Unexpected '\\\"+ch+\\\"'\\\")},array=function(){var array=[];if(\\\"[\\\"===ch){if(next(\\\"[\\\"),white(),\\\"]\\\"===ch)return next(\\\"]\\\"),array;for(;ch;){if(array.push(value()),white(),\\\"]\\\"===ch)return next(\\\"]\\\"),array;next(\\\",\\\"),white()}}error(\\\"Bad array\\\")},object=function(){var key,object={};if(\\\"{\\\"===ch){if(next(\\\"{\\\"),white(),\\\"}\\\"===ch)return next(\\\"}\\\"),object;for(;ch;){if(key=string(),white(),next(\\\":\\\"),Object.hasOwnProperty.call(object,key)&&error('Duplicate key \\\"'+key+'\\\"'),object[key]=value(),white(),\\\"}\\\"===ch)return next(\\\"}\\\"),object;next(\\\",\\\"),white()}}error(\\\"Bad object\\\")};return value=function(){switch(white(),ch){case\\\"{\\\":return object();case\\\"[\\\":return array();case'\\\"':return string();case\\\"-\\\":return number();default:return ch>=\\\"0\\\"&&\\\"9\\\">=ch?number():word()}},function(source,reviver){var result;return text=source,at=0,ch=\\\" \\\",result=value(),white(),ch&&error(\\\"Syntax error\\\"),\\\"function\\\"==typeof reviver?function walk(holder,key){var k,v,value=holder[key];if(value&&\\\"object\\\"==typeof value)for(k in value)Object.hasOwnProperty.call(value,k)&&(v=walk(value,k),void 0!==v?value[k]=v:delete value[k]);return reviver.call(holder,key,value)}({\\\"\\\":result},\\\"\\\"):result}}),ace.define(\\\"ace/mode/json_worker\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/worker/mirror\\\",\\\"ace/mode/json/json_parse\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"../lib/oop\\\"),Mirror=acequire(\\\"../worker/mirror\\\").Mirror,parse=acequire(\\\"./json/json_parse\\\"),JsonWorker=exports.JsonWorker=function(sender){Mirror.call(this,sender),this.setTimeout(200)};oop.inherits(JsonWorker,Mirror),function(){this.onUpdate=function(){var value=this.doc.getValue(),errors=[];try{value&&parse(value)}catch(e){var pos=this.doc.indexToPosition(e.at-1);errors.push({row:pos.row,column:pos.column,text:e.message,type:\\\"error\\\"})}this.sender.emit(\\\"annotate\\\",errors)}}.call(JsonWorker.prototype)}),ace.define(\\\"ace/lib/es5-shim\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,\\\"sentinel\\\",{}),\\\"sentinel\\\"in object}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if(\\\"function\\\"!=typeof target)throw new TypeError(\\\"Function.prototype.bind called on incompatible \\\"+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,\\\"__defineGetter__\\\"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,\\\"XXX\\\"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0\\n}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return\\\"[object Array]\\\"==_toString(obj)});var boxedString=Object(\\\"a\\\"),splitString=\\\"a\\\"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,result=[],thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0;if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");if(!length&&1==arguments.length)throw new TypeError(\\\"reduce of empty array with no initial value\\\");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError(\\\"reduce of empty array with no initial value\\\")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0;if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");if(!length&&1==arguments.length)throw new TypeError(\\\"reduceRight of empty array with no initial value\\\");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError(\\\"reduceRight of empty array with no initial value\\\")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT=\\\"Object.getOwnPropertyDescriptor called on a non-object: \\\";Object.getOwnPropertyDescriptor=function(object,property){if(\\\"object\\\"!=typeof object&&\\\"function\\\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if(\\\"object\\\"!=typeof prototype)throw new TypeError(\\\"typeof prototype[\\\"+typeof prototype+\\\"] != 'object'\\\");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom=\\\"undefined\\\"==typeof document||doesDefinePropertyWork(document.createElement(\\\"div\\\"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR=\\\"Property description must be an object: \\\",ERR_NON_OBJECT_TARGET=\\\"Object.defineProperty called on non-object: \\\",ERR_ACCESSORS_NOT_SUPPORTED=\\\"getters & setters can not be defined on this javascript engine\\\";Object.defineProperty=function(object,property,descriptor){if(\\\"object\\\"!=typeof object&&\\\"function\\\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if(\\\"object\\\"!=typeof descriptor&&\\\"function\\\"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,\\\"value\\\"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,\\\"get\\\")&&defineGetter(object,property,descriptor.get),owns(descriptor,\\\"set\\\")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return\\\"function\\\"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name=\\\"\\\";owns(object,name);)name+=\\\"?\\\";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=[\\\"toString\\\",\\\"toLocaleString\\\",\\\"valueOf\\\",\\\"hasOwnProperty\\\",\\\"isPrototypeOf\\\",\\\"propertyIsEnumerable\\\",\\\"constructor\\\"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if(\\\"object\\\"!=typeof object&&\\\"function\\\"!=typeof object||null===object)throw new TypeError(\\\"Object.keys called on a non-object\\\");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=\\\"\\t\\\\n\\u000b\\\\f\\\\r   ᠎              \\\\u2028\\\\u2029\\\";if(!String.prototype.trim||ws.trim()){ws=\\\"[\\\"+ws+\\\"]\\\";var trimBeginRegexp=RegExp(\\\"^\\\"+ws+ws+\\\"*\\\"),trimEndRegexp=RegExp(ws+ws+\\\"*$\\\");String.prototype.trim=function(){return(this+\\\"\\\").replace(trimBeginRegexp,\\\"\\\").replace(trimEndRegexp,\\\"\\\")}}var toObject=function(o){if(null==o)throw new TypeError(\\\"can't convert \\\"+o+\\\" to object\\\");return Object(o)}});\";","ace.define(\"ace/mode/json_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\nvar JsonHighlightRules = function() {\n    this.$rules = {\n        \"start\" : [\n            {\n                token : \"variable\", // single line\n                regex : '[\"](?:(?:\\\\\\\\.)|(?:[^\"\\\\\\\\]))*?[\"]\\\\s*(?=:)'\n            }, {\n                token : \"string\", // single line\n                regex : '\"',\n                next  : \"string\"\n            }, {\n                token : \"constant.numeric\", // hex\n                regex : \"0[xX][0-9a-fA-F]+\\\\b\"\n            }, {\n                token : \"constant.numeric\", // float\n                regex : \"[+-]?\\\\d+(?:(?:\\\\.\\\\d*)?(?:[eE][+-]?\\\\d+)?)?\\\\b\"\n            }, {\n                token : \"constant.language.boolean\",\n                regex : \"(?:true|false)\\\\b\"\n            }, {\n                token : \"text\", // single quoted strings are not allowed\n                regex : \"['](?:(?:\\\\\\\\.)|(?:[^'\\\\\\\\]))*?[']\"\n            }, {\n                token : \"comment\", // comments are not allowed, but who cares?\n                regex : \"\\\\/\\\\/.*$\"\n            }, {\n                token : \"comment.start\", // comments are not allowed, but who cares?\n                regex : \"\\\\/\\\\*\",\n                next  : \"comment\"\n            }, {\n                token : \"paren.lparen\",\n                regex : \"[[({]\"\n            }, {\n                token : \"paren.rparen\",\n                regex : \"[\\\\])}]\"\n            }, {\n                token : \"text\",\n                regex : \"\\\\s+\"\n            }\n        ],\n        \"string\" : [\n            {\n                token : \"constant.language.escape\",\n                regex : /\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[\"\\\\\\/bfnrt])/\n            }, {\n                token : \"string\",\n                regex : '\"|$',\n                next  : \"start\"\n            }, {\n                defaultToken : \"string\"\n            }\n        ],\n        \"comment\" : [\n            {\n                token : \"comment.end\", // comments are not allowed, but who cares?\n                regex : \"\\\\*\\\\/\",\n                next  : \"start\"\n            }, {\n                defaultToken: \"comment\"\n            }\n        ]\n    };\n    \n};\n\noop.inherits(JsonHighlightRules, TextHighlightRules);\n\nexports.JsonHighlightRules = JsonHighlightRules;\n});\n\nace.define(\"ace/mode/matching_brace_outdent\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Range = acequire(\"../range\").Range;\n\nvar MatchingBraceOutdent = function() {};\n\n(function() {\n\n    this.checkOutdent = function(line, input) {\n        if (! /^\\s+$/.test(line))\n            return false;\n\n        return /^\\s*\\}/.test(input);\n    };\n\n    this.autoOutdent = function(doc, row) {\n        var line = doc.getLine(row);\n        var match = line.match(/^(\\s*\\})/);\n\n        if (!match) return 0;\n\n        var column = match[1].length;\n        var openBracePos = doc.findMatchingBracket({row: row, column: column});\n\n        if (!openBracePos || openBracePos.row == row) return 0;\n\n        var indent = this.$getIndent(doc.getLine(openBracePos.row));\n        doc.replace(new Range(row, 0, row, column-1), indent);\n    };\n\n    this.$getIndent = function(line) {\n        return line.match(/^\\s*/)[0];\n    };\n\n}).call(MatchingBraceOutdent.prototype);\n\nexports.MatchingBraceOutdent = MatchingBraceOutdent;\n});\n\nace.define(\"ace/mode/folding/cstyle\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/fold_mode\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar Range = acequire(\"../../range\").Range;\nvar BaseFoldMode = acequire(\"./fold_mode\").FoldMode;\n\nvar FoldMode = exports.FoldMode = function(commentRegex) {\n    if (commentRegex) {\n        this.foldingStartMarker = new RegExp(\n            this.foldingStartMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.start)\n        );\n        this.foldingStopMarker = new RegExp(\n            this.foldingStopMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.end)\n        );\n    }\n};\noop.inherits(FoldMode, BaseFoldMode);\n\n(function() {\n    \n    this.foldingStartMarker = /([\\{\\[\\(])[^\\}\\]\\)]*$|^\\s*(\\/\\*)/;\n    this.foldingStopMarker = /^[^\\[\\{\\(]*([\\}\\]\\)])|^[\\s\\*]*(\\*\\/)/;\n    this.singleLineBlockCommentRe= /^\\s*(\\/\\*).*\\*\\/\\s*$/;\n    this.tripleStarBlockCommentRe = /^\\s*(\\/\\*\\*\\*).*\\*\\/\\s*$/;\n    this.startRegionRe = /^\\s*(\\/\\*|\\/\\/)#?region\\b/;\n    this._getFoldWidgetBase = this.getFoldWidget;\n    this.getFoldWidget = function(session, foldStyle, row) {\n        var line = session.getLine(row);\n    \n        if (this.singleLineBlockCommentRe.test(line)) {\n            if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))\n                return \"\";\n        }\n    \n        var fw = this._getFoldWidgetBase(session, foldStyle, row);\n    \n        if (!fw && this.startRegionRe.test(line))\n            return \"start\"; // lineCommentRegionStart\n    \n        return fw;\n    };\n\n    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {\n        var line = session.getLine(row);\n        \n        if (this.startRegionRe.test(line))\n            return this.getCommentRegionBlock(session, line, row);\n        \n        var match = line.match(this.foldingStartMarker);\n        if (match) {\n            var i = match.index;\n\n            if (match[1])\n                return this.openingBracketBlock(session, match[1], row, i);\n                \n            var range = session.getCommentFoldRange(row, i + match[0].length, 1);\n            \n            if (range && !range.isMultiLine()) {\n                if (forceMultiline) {\n                    range = this.getSectionRange(session, row);\n                } else if (foldStyle != \"all\")\n                    range = null;\n            }\n            \n            return range;\n        }\n\n        if (foldStyle === \"markbegin\")\n            return;\n\n        var match = line.match(this.foldingStopMarker);\n        if (match) {\n            var i = match.index + match[0].length;\n\n            if (match[1])\n                return this.closingBracketBlock(session, match[1], row, i);\n\n            return session.getCommentFoldRange(row, i, -1);\n        }\n    };\n    \n    this.getSectionRange = function(session, row) {\n        var line = session.getLine(row);\n        var startIndent = line.search(/\\S/);\n        var startRow = row;\n        var startColumn = line.length;\n        row = row + 1;\n        var endRow = row;\n        var maxRow = session.getLength();\n        while (++row < maxRow) {\n            line = session.getLine(row);\n            var indent = line.search(/\\S/);\n            if (indent === -1)\n                continue;\n            if  (startIndent > indent)\n                break;\n            var subRange = this.getFoldWidgetRange(session, \"all\", row);\n            \n            if (subRange) {\n                if (subRange.start.row <= startRow) {\n                    break;\n                } else if (subRange.isMultiLine()) {\n                    row = subRange.end.row;\n                } else if (startIndent == indent) {\n                    break;\n                }\n            }\n            endRow = row;\n        }\n        \n        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);\n    };\n    this.getCommentRegionBlock = function(session, line, row) {\n        var startColumn = line.search(/\\s*$/);\n        var maxRow = session.getLength();\n        var startRow = row;\n        \n        var re = /^\\s*(?:\\/\\*|\\/\\/|--)#?(end)?region\\b/;\n        var depth = 1;\n        while (++row < maxRow) {\n            line = session.getLine(row);\n            var m = re.exec(line);\n            if (!m) continue;\n            if (m[1]) depth--;\n            else depth++;\n\n            if (!depth) break;\n        }\n\n        var endRow = row;\n        if (endRow > startRow) {\n            return new Range(startRow, startColumn, endRow, line.length);\n        }\n    };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/json\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/json_highlight_rules\",\"ace/mode/matching_brace_outdent\",\"ace/mode/behaviour/cstyle\",\"ace/mode/folding/cstyle\",\"ace/worker/worker_client\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextMode = acequire(\"./text\").Mode;\nvar HighlightRules = acequire(\"./json_highlight_rules\").JsonHighlightRules;\nvar MatchingBraceOutdent = acequire(\"./matching_brace_outdent\").MatchingBraceOutdent;\nvar CstyleBehaviour = acequire(\"./behaviour/cstyle\").CstyleBehaviour;\nvar CStyleFoldMode = acequire(\"./folding/cstyle\").FoldMode;\nvar WorkerClient = acequire(\"../worker/worker_client\").WorkerClient;\n\nvar Mode = function() {\n    this.HighlightRules = HighlightRules;\n    this.$outdent = new MatchingBraceOutdent();\n    this.$behaviour = new CstyleBehaviour();\n    this.foldingRules = new CStyleFoldMode();\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n\n    this.getNextLineIndent = function(state, line, tab) {\n        var indent = this.$getIndent(line);\n\n        if (state == \"start\") {\n            var match = line.match(/^.*[\\{\\(\\[]\\s*$/);\n            if (match) {\n                indent += tab;\n            }\n        }\n\n        return indent;\n    };\n\n    this.checkOutdent = function(state, line, input) {\n        return this.$outdent.checkOutdent(line, input);\n    };\n\n    this.autoOutdent = function(state, doc, row) {\n        this.$outdent.autoOutdent(doc, row);\n    };\n\n    this.createWorker = function(session) {\n        var worker = new WorkerClient([\"ace\"], require(\"../worker/json\"), \"JsonWorker\");\n        worker.attachToDocument(session.getDocument());\n\n        worker.on(\"annotate\", function(e) {\n            session.setAnnotations(e.data);\n        });\n\n        worker.on(\"terminate\", function() {\n            session.clearAnnotations();\n        });\n\n        return worker;\n    };\n\n\n    this.$id = \"ace/mode/json\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n});\n"],"names":["positionMap","generateStyles","property","suffix","values","firstValue","secondValue","thirdValue","fourthValue","valuesWithDefaults","styles","i","newKey","borderWidth","borderStyle","borderColor","LINE_STYLES","isBorderStyle","value","border","borderLeft","borderBottom","borderRight","borderTop","borderRadius","value1","value2","value3","value4","isUnit","isUnitless","isInitial","isAuto","isNone","widthReservedKeys","isWidth","key","flex","isOneValueSyntax","isTwoValueSyntax","isThreeValueSyntax","gap","columnGap","rowGap","cssVarRegEx","isValidGridAreaInput","customIdentRegEx","nonCustomIdentRegEx","isCustomIdent","gridArea","gridRowStart","gridColumnStart","gridRowEnd","gridColumnEnd","margin","marginBlock","start","end","marginInline","padding","paddingBlock","paddingInline","overflow","overflowX","overflowY","inset","outline","outlineWidth","outlineStyle","outlineColor","transition","isTransitionGlobalInputs","normalizeTransitionInputs","acc","duration","delay","timingFunction","index","transitionGlobalInputs","transitionInputs","textDecoration","isTextDecorationStyleInput","textDecorationStyle","textDecorationColor","textDecorationThickness","textDecorationStyleInputs","arrayToObject","array","obj","_ref","prop1","prop2","isBoolean","val","isFunction","isNumber","isNullOrUndefined","isObject","isString","includes","inclusive","inclusee","flipSign","flipTransformSign","match","prefix","offset","calculateNewBackgroundPosition","idx","len","getValuesAsList","_ref2","item","list","state","openParansCount","closedParansCount","handleQuartetValues","splitValues","top","right","bottom","left","canConvertValue","splitShadow","shadows","rgba","propertyValueConverters","flippedShadows","shadow","whiteSpace","negative","number","doubleNegative","_ref3","_ref4","_value$split","radius1","radius2","convertedRadius1","convertedRadius2","topLeft","topRight","bottomRight","bottomLeft","_ref5","valuesToConvert","isRtl","bgImgDirectionRegex","bgPosDirectionRegex","backgroundPositionValue","_ref6","g1","group2","_ref7","group","_ref8","_ref9","propertiesToConvert","_ref10","prop","_ref11","nonAsciiPattern","escapePattern","signedQuantPattern","translateXRegExp","translateRegExp","translate3dRegExp","rotateRegExp","propsToIgnore","convert","object","newObj","originalKey","originalValue","_convertProperty","convertProperty","isNoFlip","getPropertyDoppelganger","getValueDoppelganger","isNum","isFunc","importantlessValue","isImportant","valueConverter","newValue","uppercasePattern","msPattern","cache","toHyphenLower","hyphenateProperty","name","hName","normalizeNestedProperty","nestedProperty","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","MEDIA","IMPORT","SUPPORTS","KEYFRAMES","LAYER","abs","from","assign","hash","length","charat","trim","pattern","replace","replacement","indexof","search","position","substr","begin","strlen","sizeof","append","combine","callback","line","column","character","characters","node","root","parent","type","props","children","siblings","copy","char","prev","next","peek","caret","slice","token","alloc","dealloc","delimit","delimiter","tokenize","tokenizer","whitespace","identifier","escaping","count","commenter","compile","parse","rule","rules","rulesets","pseudo","points","declarations","atrule","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","j","k","x","y","z","serialize","output","stringify","element","middleware","collection","rulesheet","globalPlugin","selector","prefixerPlugin","isAtRuleElement","sortClassesInAtRulesPlugin","a","b","noop","compileCSSRules","cssRules","sortClassesInAtRules","PSEUDO_SELECTOR_REGEX","normalizePseudoSelector","pseudoSelector","createCSSRule","classNameSelector","cssDeclaration","pseudos","cssRule","compileAtomicCSSRule","options","atRules","className","selectors","rtlClassName","rtlProperty","rtlValue","container","layer","media","supports","v","rtlClassNameSelector","rtlCSSDeclaration","cssifyObject","style","css","arrValue","compileKeyframeRule","keyframeObject","percentage","compileKeyframesCSS","keyframeName","keyframeCSS","shorthands","generateCombinedQuery","currentMediaQuery","nestedMediaQuery","isMediaQuerySelector","isLayerSelector","regex","isNestedSelector","isSupportQuerySelector","isContainerQuerySelector","pseudosMap","getStyleBucketName","normalizedPseudo","addAtRulePrefix","atRule","atRulesToString","hashPropertyKey","computedKey","hashedKey","hashString","firstCharCode","hashClassName","salt","HASH_PREFIX","isResetValue","RESET","trimSelector","getShorthandDefinition","computePropertyPriority","shorthand","_a","pushToClassesMap","classesMap","propertyKey","ltrClassname","rtlClassname","createBucketEntry","metadata","pushToCSSRules","cssRulesByBucket","styleBucketName","ltrCSS","rtlCSS","priority","resolveStyleRules","classNameHashSalt","cssClassesMap","UNSUPPORTED_CSS_PROPERTIES","shorthandProperties","shorthandResetStyles","rtlDefinition","flippedInRtl","rtlCompileOptions","animationNameValue","animationNames","rtlAnimationNames","rtlKeyframeCSS","animationName","rtlAnimationName","keyframeRules","rtlKeyframeRules","rtlDefinitions","d","combinedMediaQuery","combinedLayerQuery","combinedSupportQuery","containerQuery","resolveStyleRulesForSlots","stylesBySlots","classesMapBySlot","slotName","slotStyles","cssClassMap","makeStyles","factory","insertionFactory","insertStyles","ltrClassNamesForSlots","rtlClassNamesForSlots","computeClasses","dir","renderer","isLTR","reduceToClassNameForSlots","getStyles","makeStyles$1","useTextDirection","useRenderer","omit","exclusions","result","setAnimationFrameNoop","cancelAnimationFrameNoop","handle","useAnimationFrame","targetDocument","useFluent","win","setAnimationFrame","clearAnimationFrame","useBrowserTimer","DEFAULT_CONTAINS","child","useOnClickOutside","refs","disabled","disabledFocusOnIframe","contains","timeoutId","React.useRef","useIFrameFocus","isMouseDownInsideRef","listener","useEventCallback","ev","target","ref","handleMouseDown","React.useEffect","currentEvent","getWindowEvent","conditionalHandler","event","_target_ownerDocument_defaultView","_target_ownerDocument","_target_ownerDocument_defaultView_event","FUI_FRAME_EVENT","pollDuration","timeoutRef","e","_targetDocument_defaultView","activeElement","useOnScrollOutside","containsProp","useRestoreFocusSource","tabster","useTabster","getRestorer","getTabsterAttribute","RestorerTypes","useIsNavigatingWithKeyboard","keyborgRef","useKeyborgRef","React.useCallback","_keyborgRef_current","_keyborgRef_current_isNavigatingWithKeyboard","useSetKeyboardNavigation","isNavigatingWithKeyboard","EyeRegular","createFluentIcon","EyeOffRegular","GroupListFilled","HomeDatabaseRegular","InfoFilled","InfoRegular","JavascriptRegular","KeyRegular","ListRegular","LockClosedRegular","LockOpenRegular","MoreHorizontalRegular","MoreVerticalRegular","iconFilledClassName","iconRegularClassName","useBundledIconStyles","__styles","bundleIcon","FilledIcon","RegularIcon","Component","filled","rest","React.createElement","React.Fragment","mergeClasses","bundleIcon$1","createVirtualElementFromClick","nativeEvent","getBoundingClientRect","mergeArrowOffset","userOffset","arrowHeight","addArrowOffset","offsetParams","_offset_mainAxis","usePositioningMouseTarget","initialState","virtualElement","setVirtualElement","React.useState","mouseevent","contextTarget","tooltipBorderRadius","useTooltip_unstable","_child_props","_child_props1","_child_props2","_child_props3","_child_props4","_child_props5","context","useTooltipVisibility","isServerSideRender","useIsSSR","setDelayTimeout","clearDelayTimeout","useTimeout","appearance","content","withArrow","positioning","onVisibleChange","relationship","showDelay","hideDelay","mountNode","visible","setVisibleInternal","useControllableState","setVisible","data","oldVisible","slot.always","useId","positioningOptions","resolvePositioningShorthand","targetRef","containerRef","arrowRef","usePositioning","useMergedRefs","useIsomorphicLayoutEffect","_context_visibleTooltip","thisTooltip","onDocumentKeyDown","Escape","ignoreNextFocusEventRef","onEnterTrigger","keyborgListenerCallbackRef","onKeyborgFocusIn","_ev_detail","current","KEYBORG_FOCUSIN","onLeaveTrigger","mergeCallbacks","getTriggerChild","triggerAriaProps","isMenuTrigger","applyTriggerPropsToChildren","renderTooltip_unstable","_jsxs","_Fragment","_jsx","Portal","tooltipClassNames","useStyles","useTooltipStyles_unstable","Tooltip","useCustomStyleHook_unstable","ComboboxContext","createContext","useComboboxContextValues","open","getOptionById","getOptionsMatchingValue","registerOption","selectedOptions","selectOption","setOpen","activeDescendantController","onOptionClick","onActiveDescendantChange","combobox","listbox","activeDescendant","React.useMemo","renderOption_unstable","Option","React.forwardRef","useOption_unstable","useOptionStyles_unstable","useComboboxPositioning","popperOptions","useTriggerSlot","triggerSlotFromProp","setHasFocus","defaultProps","elementType","trigger","triggerRef","useTriggerKeydown","multiselect","getActiveOption","activeOptionId","first","last","activeOption","pageUp","pageDown","setKeyboardNavigation","action","getDropdownActionFromKey","useButtonTriggerSlot","triggerFromProps","searchString","setKeyTimeout","clearKeyTimeout","moveToNextMatchingOption","matcher","opt","startFromNext","nextInOrder","id","option","moveToNextMatchingOptionWithSameCharacterHandling","optionText","allCharactersSame","onTriggerKeyDown","str","useDropdown_unstable","_state_clearButton","useFieldControlProps_unstable","activeDescendantListboxRef","activeParentRef","useActiveDescendant","el","optionClassNames","baseState","useComboboxBaseState","clearable","clearSelection","hasFocus","triggerNativeProps","rootNativeProps","getPartitionedNativeProps","comboboxPopupRef","comboboxTargetRef","useListboxSlot","_props_button","rootSlot","showClearButton","Listbox","slot.optional","DismissIcon","ChevronDownIcon","onClearButtonClick","_triggerRef_current","renderDropdown_unstable","contextValues","ActiveDescendantContextProvider","ListboxContext","dropdownClassNames","useIconStyles","useBaseClearButtonStyle","__resetStyles","useDropdownStyles_unstable","placeholderVisible","invalid","iconStyles","clearButtonStyle","Dropdown","MenuContext","menuContextDefaultValue","MenuProvider","useMenuContext_unstable","useContextSelector","ctx","MenuTriggerContext","React.createContext","menuTriggerContextDefaultValue","MenuTriggerContextProvider","useMenuTriggerContext_unstable","_React_useContext","React.useContext","MenuListContext","menuListContextDefaultValue","MenuListProvider","useMenuListContext_unstable","MENU_ENTER_EVENT","useOnMenuMouseEnter","popoverRef","someMenuPopover","_popoverRef_current","elementContains","dispatchMenuEnterEvent","useIsSubmenu","menuContextValue","hasMenuListContext","useHasParentContext","submenuFallbackPositions","useMenu_unstable","isSubmenu","hoverDelay","inline","hasCheckmarks","hasIcons","closeOnScroll","openOnContext","persistOnItemClick","openOnHover","defaultCheckedValues","triggerId","setContextTarget","positioningState","React.Children","menuTrigger","menuPopover","menuPopoverRef","useMenuOpenState","checkedValues","onCheckedValueChange","useMenuSelectableState","setCheckedValues","checkedItems","_props_onCheckedValueChange","currentValue","parentSetOpen","onOpenChange","_state_onOpenChange","enteringTriggerRef","setOpenState","trySetOpen","setOpenTimeout","clearOpenTimeout","_state_triggerRef_current","findFirstFocusable","useFocusFinders","focusFirst","firstFocusable","firstMount","useFirstMount","useMenuContextValues_unstable","renderMenu_unstable","Menu","useCharacterSearch","setFocusByFirstCharacter","originalOnKeyDown","_e_key","ChevronRightIcon","ChevronRightFilled","ChevronRightRegular","ChevronLeftIcon","ChevronLeftFilled","ChevronLeftRegular","useMenuItem_unstable","isSubmenuTrigger","persistOnClickContext","as","hasSubmenu","persistOnClick","innerRef","dismissedWithKeyboardRef","getIntrinsicElementProps","useARIAButtonProps","_props_onKeyDown","Space","Enter","_innerRef_current","_props_onMouseEnter","_props_onClick","renderMenuItem_unstable","useCheckmarkStyles_unstable","menuItemClassNames","useRootBaseStyles","useContentBaseStyles","useSecondaryContentBaseStyles","useIconBaseStyles","useSubmenuIndicatorBaseStyles","useMenuItemStyles_unstable","rootBaseStyles","contentBaseStyles","secondaryContentBaseStyles","iconBaseStyles","submenuIndicatorBaseStyles","MenuItem","useMenuList_unstable","findAllFocusable","menuContext","useMenuContextSelectors","hasMenuContext","focusAttributes","useArrowNavigationGroup","usingPropsAndMenuContext","onTabsterMoveFocus","nextElement","TabsterMoveFocusEventName","itemEl","acceptedRoles","menuItems","startIndex","firstChars","menuItem","_menuItem_textContent","getIndexFirstChars","firstChar","_props_checkedValues","handleCheckedValueChange","toggleCheckbox","checked","newCheckedItems","s","selectRadio","contextValue","isUsingPropsAndContext","renderMenuList_unstable","useMenuListContextValues_unstable","menuListClassNames","useMenuListStyles_unstable","MenuList","useMenuPopover_unstable","canDispatchCustomEventRef","restoreFocusSourceAttributes","setThrottleTimeout","clearThrottleTimeout","CloseArrowKey","ArrowLeft","ArrowRight","mouseOverListenerCallbackRef","_useMenuContext_unstable","rootProps","onMouseEnterOriginal","onKeyDownOriginal","Tab","menuPopoverClassNames","useMenuPopoverStyles_unstable","renderMenuPopover_unstable","MenuPopover","useMenuTrigger_unstable","disableButtonEnhancement","openedWithKeyboardRef","hasMouseMoved","OpenArrowKey","onContextMenu","isTargetDisabled","onClick","onKeyDown","ArrowDown","onMouseEnter","onMouseMove","onMouseLeave","contextMenuProps","triggerChildProps","ariaButtonTriggerChildProps","isDisabled","isHTMLElement","renderMenuTrigger_unstable","MenuTrigger","useSwitch_unstable","defaultChecked","labelPosition","onChange","required","nativeProps","useFocusWithin","indicator","CircleFilled","input","label","Label","renderSwitch_unstable","switchClassNames","useRootBaseClassName","useRootStyles","useIndicatorBaseClassName","useIndicatorStyles","useInputBaseClassName","useInputStyles","useLabelStyles","useSwitchStyles_unstable","rootBaseClassName","rootStyles","indicatorBaseClassName","indicatorStyles","inputBaseClassName","inputStyles","labelStyles","Switch","tabListContextDefaultValue","TabListContext","TabListProvider","useTabListContext_unstable","useTab_unstable","tabDisabled","icon","onFocus","reserveSelectedTabSpace","selectTabOnFocus","listDisabled","selected","onRegister","onUnregister","onSelect","vertical","onSelectCallback","onTabClick","onTabFocus","focusProps","useTabsterAttributes","iconSlot","contentSlot","contentReservedSpace","iconOnly","renderTab_unstable","tabIndicatorCssVars_unstable","useActiveIndicatorStyles","calculateTabRect","_element_parentElement","parentRect","tabRect","getRegisteredTabRect","registeredTabs","_registeredTabs_JSON_stringify","isValueDefined","useTabAnimatedIndicatorStyles_unstable","activeIndicatorStyles","lastAnimatedFrom","setLastAnimatedFrom","animationValues","setAnimationValues","getRegisteredTabs","previousSelectedValue","selectedValue","previousSelectedTabRect","selectedTabRect","scale","animating","rootCssVars","tabClassNames","reservedSpaceClassNames","useCircularAppearanceStyles","useFocusStyles","usePendingIndicatorStyles","useContentStyles","useTabStyles_unstable","useTabIndicatorStyles_unstable","useTabButtonStyles_unstable","useTabContentStyles_unstable","pendingIndicatorStyles","classes","slot","focusStyles","circularStyles","isSubtleCircular","isFilledCircular","isCircular","circularAppearance","regularAppearance","contentStyles","useTabList_unstable","onTabSelect","setSelectedValue","currentSelectedValue","renderTabList_unstable","tabListClassNames","useTabListStyles_unstable","isRounded","useTabListContextValues_unstable","selectedKey","TabList","useText_unstable","wrap","truncate","block","italic","underline","strikethrough","font","weight","align","renderText_unstable","textClassNames","useTextStyles_unstable","createPreset","displayName","Wrapper","renderTextarea_unstable","useTextarea_unstable","overrides","useOverrides","_overrides_inputDefaultAppearance","resize","setValue","textareaClassNames","useTextareaStyles","useTextareaResizeStyles","useTextareaStyles_unstable","textareaStyles","textareaResizeStyles","Textarea","defaultCompare","defaultRenderCell","defaultRenderHeaderCell","createTableColumn","columnId","renderCell","renderHeaderCell","compare","ReactPropTypesSecret","ReactPropTypesSecret_1","require$$0","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","propName","componentName","location","propFullName","secret","err","getShim","ReactPropTypes","propTypesModule","defaultContextValue","drawerContext","DrawerProvider","useDrawerContext_unstable","useDrawerContextValue","scrollState","setScrollState","drawerCSSVars","useDrawerStyles","useDrawerBottomBaseStyles","useDrawerBaseClassNames","baseStyles","bottomBaseStyles","durations","motionTokens","getPositionTransform","sizeVar","leftToRightTransform","rightToLeftTransform","bottomToTopTransform","createPresenceComponent","keyframes","OverlayDrawerMotion","tokens","OverlaySurfaceBackdropMotion","useDrawerDefaultProps","useBackdropResetStyles","useBackdropStyles","useOverlayDrawerSurfaceStyles_unstable","backdropResetStyles","backdropStyles","OverlayDrawerSurface","dialogSurfaceState","useDialogSurface_unstable","dialogSurfaceContextValues","useDialogSurfaceContextValues_unstable","renderDialogSurface_unstable","mergePresenceSlots","inputSlot","params","_","STATIC_MOTION","React.createRef","useOverlayDrawer_unstable","backdropMotion","modalType","inertTrapFocus","surfaceMotion","mountNodeElement","toMountNodeProps","hasMountNodeElement","backdropProps","slot.resolveShorthand","dialog","Dialog","renderOverlayDrawer_unstable","overlayDrawerClassNames","useDrawerResetStyles","useDrawerRootStyles","useOverlayDrawerStyles_unstable","baseClassNames","resetStyles","absoluteStyles","backdrop","OverlayDrawer","getScrollState","scrollTop","scrollHeight","clientHeight","useDrawerBody_unstable","scrollRef","cancelAnimationFrame","updateScrollState","onScroll","renderDrawerBody_unstable","drawerBodyClassNames","useDrawerBodyStyles_unstable","DrawerBody","useDrawerHeader_unstable","renderDrawerHeader_unstable","drawerHeaderClassNames","useDrawerHeaderStyles","useDrawerHeaderStyles_unstable","DrawerHeader","useDrawerHeaderTitle_unstable","heading","headingId","useDialogContext_unstable","renderDrawerHeaderTitle_unstable","drawerHeaderTitleClassNames","useDrawerHeaderTitleStyles_unstable","components","useDialogTitleStyles_unstable","DrawerHeaderTitle","useBreadcrumb_unstable","focusMode","_props_arialabel","BreadcrumbContext","breadcrumbDefaultValue","BreadcrumbProvider","useBreadcrumbContext_unstable","renderBreadcrumb_unstable","breadcrumbClassNames","useListClassName","useBreadcrumbStyles_unstable","listBaseClassName","useBreadcrumbContextValues_unstable","Breadcrumb","useBreadcrumbDivider_unstable","getDividerIcon","renderBreadcrumbDivider_unstable","breadcrumbDividerClassNames","useBreadcrumbDividerStyles_unstable","BreadcrumbDivider","useBreadcrumbItem_unstable","renderBreadcrumbItem_unstable","breadcrumbItemClassNames","useBreadcrumbItemResetStyles","useBreadcrumbItemStyles_unstable","BreadcrumbItem","useBreadcrumbButton_unstable","controlType","_props_ariacurrent","_props_ariadisabled","useButton_unstable","renderBreadcrumbButton_unstable","renderButton_unstable","breadcrumbButtonClassNames","useBreadcrumbButtonStyles_unstable","currentSizeMap","useButtonStyles_unstable","BreadcrumbButton","ACE_NAMESPACE","global","define","module","deps","payload","_require","parentId","lookup","l","dep","require","packagedModule","normalizeModule","moduleName","chunks","base","exports","mod","req","returnValue","exportAce","ns","defineProp","subjectString","lastIndex","string","source","o","predicate","thisArg","kValue","O","relativeStart","relativeEnd","final","deepCopy","trimBeginRegexp","trimEndRegexp","arr","map","regExp","matches","fcn","timer","deferred","timeout","defaultTimeout","_self","supportsUnicodeFlag","_navigator","os","ua","appName","useragent","XHTML_NS","buildDom","txt","els","ch","childIndex","n","doc","tag","textContent","add","include","sheets","strictCSP","cssCache","insertPendingStyles","importCssString","cssText","uri","inner","outer","body","noScrollbar","withScrollbar","div","tx","ty","dom","url","xhr","path","head","isAbort","ctor","superCtor","mixin","proto","EventEmitter","stopPropagation","preventDefault","eventName","listeners","defaultHandler","newCallback","resolve","handlers","old","capturing","msg","defaultEnglishMessages","oop","reportError","optionsProvider","optList","optionNames","warn","message","messages","nlsPlaceholders","AppConfig","opts","optionHash","defaultString","translated","dollarMatch","curlyBracketMatch","lang","net","component","parts","sep","re","subst","loader","cb","customLoader","moduleId","onLoad","loadedModule","moduleType","load","afterLoad","reportErrorIfPathIsNotConfigured","config","ace","init","packaged","scriptOptions","scriptUrl","currentScript","currentDocument","scripts","script","src","attributes","attr","deHyphenate","m","m1","Range","startRow","startColumn","endRow","endColumn","range","row","cmp","firstRow","lastRow","session","screenPosStart","screenPosEnd","p1","p2","Keys","codeToKeyCode","chr","modifiers","mods","keyCode","keyString","keys","pressedKeys","ts","activeListenerOptions","detectListenerOptionsSupport","getListenerOptions","EventListener","elem","removeListener","addListener","destroyer","eventHandler","releaseCaptureHandler","ownerDocument","onMouseUp","factor","deltaX","deltaY","linePixels","pagePixels","elements","timeouts","callbackName","clicks","startX","startY","eventNames","onMousedown","isNewClick","getModifierHash","normalizeCommandKeys","hashId","dt","lastDefaultPrevented","resetPressedKeys","postMessageId","messageName","handler","$cancelT","nls","clipboard","BROKEN_SETDATA","USE_IE_MIME_TYPE","HAS_FOCUS_ARGS","MAX_LINE_LENGTH","KEYS","MODS","isIOS","valueResetRegex","isMobile","TextInput","parentNode","host","text","copied","pasted","inComposition","sendingText","tempStyle","commandMode","ignoreFocusEvents","lastValue","lastSelectionStart","lastSelectionEnd","lastRestoreEnd","rowStart","rowEnd","numberOfExtraLines","isFocused","ariaLabel","resetSelection","isTransformed","ancestors","t","p","curOp","commandName","isUserAction","onCompositionEnd","positionToSelection","selection","selectionStart","selectionEnd","afterContextMenu","lines","prevLine","nextLine","isAllSelected","inputHandler","sendText","fromInput","extendLeft","extendRight","inserted","restoreStart","restoreEnd","endIndex","shouldReset","onInput","onCompositionUpdate","handleClipboardData","forceIEMime","clipboardData","mime","doCopy","isCut","onCut","onCopy","onPaste","onCompositionStart","cancelComposition","syncComposition","onKeyup","readOnly","bringToFront","rect","maxTop","move","closeTimeout","onContextMenuClose","addIosSelectionHandler","typingResetTimeout","typing","detectArrowKeys","modifier","command","_isMobile","_isIOS","DRAG_OFFSET","SCROLL_COOLDOWN_T","DefaultHandlers","mouseHandler","editor","inSelection","pos","button","selectionRange","selectionEmpty","waitForClickSelection","anchor","cursor","orientedRange","calcRangeOrientation","unitName","cmpStart","cmpEnd","distance","calcDistance","time","prevScroll","vx","vy","direction","canScroll","isSlower","ax","ay","bx","by","contentOverflows","__extends","extendStatics","__","__values","preventParentScroll","CLASSNAME","html","theme","PopupManager","popup","e_1","e_2","_b","visiblepopups","_c","_d","shouldDisplay","visiblepopups_1","visiblepopups_1_1","visiblePopup","e_2_1","e_1_1","popupA","popupB","rectA","rectB","popupManager","HoverTooltip","_super","_this","isMousePressed","docPos","screenPos","clippedPos","domNode","startingEvent","MARGIN","labelHeight","labelWidth","spaceBelow","isAbove","GutterHandler","gutter","tooltip","GutterTooltip","gutterRegion","tooltipTimeout","mouseEvent","showTooltip","maxRow","screenRow","hideTooltip","moveTooltip","gutterRow","gutterCell","gutterElement","windowWidth","windowHeight","width","height","annotationsInRow","annotation","fold","annotationsInFold","severityRank","mostSevereAnnotationTypeInFold","annotationType","summaryFoldedAnnotations","annotationMessages","iconClassName","lineElement","iconElement","tooltipElement","annotations","summary","annotationTypes","annotationTypes_1","annotationTypes_1_1","MouseEvent","domEvent","documentRow","screenTopRow","AUTOSCROLL_DELAY","SCROLL_CURSOR_DELAY","SCROLL_CURSOR_HYSTERESIS","DragdropHandler","dragImage","mouseTarget","dragSelectionMarker","timerId","dragCursor","counter","dragOperation","isInternal","autoScrollStartTime","cursorMovedTime","cursorPointOnCaretMoved","self","dataTransfer","dropEffect","canAccept","addDragMarker","getDropEffect","onMouseMoveTimer","clearDragMarker","dropData","scrollCursorIntoView","prevCursor","now","vMovement","hMovement","autoScroll","lineHeight","characterWidth","editorRect","offsets","nearestXOffset","nearestYOffset","scrollCursor","vScroll","hScroll","onDragInterval","types","copyAllowed","moveAllowed","copyModifierState","effectAllowed","interval","cursorStyle","clickCount","eventTarget","mode","touchStartT","lastT","longTouchTimer","animationTimer","animationSteps","vX","vY","pressed","contextMenu","createContextMenu","isOpen","updateMenu","hasUndo","canExecuteCommand","cmd","handleClick","showContextMenu","hideContextMenu","pagePos","leftOffset","scrollLeft","handleLongTap","switchToSelectionMode","textarea","touches","h","w","touchObj","cursorPos","anchorPos","offsetTop","offsetLeft","weightedDistance","diff1","diff2","animate","wheelX","wheelY","oldScrollTop","DefaultGutterHandler","addTouchListeners","MouseHandler","focusEditor","windowBlurred","gutterEl","mouseMoveHandler","onCaptureEnd","onOperationEnd","onCaptureInterval","stop","FoldHandler","keyUtil","KeyBinding","kb","toExecute","success","commands","hiLevel","lastArabic","hasUBAT_B","hasUBAT_S","impTab_LTR","impTab_RTL","LTR","RTL","L","R","EN","AN","ON","B","S","AL","WS","CS","ES","ET","NSM","LRE","RLE","PDF","LRO","RLO","BN","UnicodeTBL00","UnicodeTBL20","_computeLevels","chars","levels","charTypes","impTab","prevState","newClass","newLevel","newState","cond","condPos","ix","_getCharacterType","_getCharClass","_invertLevel","lev","_array","lo","hi","tmp","cType","wType","nType","c","rtlCandidate","uc","textCharTypes","logicalFromVisual","bidiLevels","ret","logIdx","rowMap","bidiUtil","bidiRE","BidiHandler","docRow","splitIndex","delta","rowCache","currentIndex","prevIndex","isLastRow","endOfLine","splits","shift","fontMetrics","bidiCharWidth","showInvisibles","eolChar","isRtlDir","col","leftBoundary","logicalIdx","visualIdx","startCol","endCol","level","selections","selColMin","selColMax","isSelected","isSelectedPrev","visIdx","posX","charWidth","Selection","lead","reverse","anchorRow","anchorColumn","cursorRow","cursorColumn","wasEmpty","wasMultiselect","mover","excludeLastChar","foldLine","tabSize","firstColumnPosition","beforeCursor","leadingSpace","lineEnd","textEnd","rightOfCursor","leftOfCursor","whitespaceRe","tokenRe","rows","offsetX","widget","keepDesiredColumn","func","r1","r","MAX_TOKEN_COUNT","Tokenizer","ruleRegExps","matchTotal","mapping","flag","splitterRurles","adjustedregex","matchcount","digit","stack","inChClass","lastCapture","esc","parenOpen","parenClose","square","startState","currentState","matchAttempts","skipped","TextHighlightRules","HighlightRules","escapeRules","states","embedRules","addRules","pushState","popState","processState","toInsert","stateName","includeName","args","defaultToken","ignoreCase","splitChar","keywords","word","Behaviour","behaviours","filter","TokenIterator","initialRow","initialColumn","rowCount","rowTokens","tokenIndex","SAFE_INSERT_IN_TOKENS","SAFE_INSERT_BEFORE_TOKENS","contextCache","defaultQuotes","initContext","getWrapped","opening","closing","rowDiff","CstyleBehaviour","excludeTokens","rightChar","matching","openBracePos","next_indent","indent","quotes","quote","leftChar","rightToken","stringBefore","stringAfter","pair","wordRe","isWordBefore","isWordAfter","pairQuotesAfter","shouldPairQuotes","charBefore","currentToken","nextToken","cursorPosInToken","closeDocPos","openDocPos","iterator","iterator2","bracket","wordChars","code","unicode","Mode","ignoreBlankLines","shouldRemove","minIndent","insertAtTabStop","regexpStart","lineCommentStart","uncomment","shouldInsertSpace","commentWithSpace","testRemove","before","after","spaces","lineCommentEnd","regexpEnd","iter","fun","minEmptyLength","initialRange","colDiff","startRange","endRange","tab","delegations","_loop_1","scope","functionName","this_1","method","language","split","param","completionKeywords","ruleItr","aLength","LineWidgets","screenRows","lineWidgets","hide","removed","noWidgets","w1","changedWidgets","min","docLines","doNotValidate","Anchor","point","$getTransformedPoint","noClip","$pointsInOrder","point1","point2","equalPointsInOrder","bColIsAfter","moveIfEqual","deltaIsInsert","deltaRowShift","deltaColShift","deltaStart","deltaEnd","applyDelta","Document","textOrLines","newLineMode","deleteFirstNewLine","deleteLastNewLine","deletedLines","deltas","isInsert","docLength","MAX","to","chunk","newlineLength","BackgroundTokenizer","workerStart","currentLine","endLine","startLine","processedLines","SearchHighlight","clazz","markerLayer","renderedMarkerRanges","ranges","rangeToAddMarkerTo","rangeAsString","UndoManager","allowMerge","undoStackLength","rev","dontSelect","rearrangeUndoStack","deltaSet","undoSelectionRange","diff","rebaseRedoStack","redoSelectionRange","nextDelta","json","stringifyDelta","swapped","swapGroups","clonePos","cloneDelta","stringifyRange","swap","d1","d2","i1","i2","ds1","ds2","xform","c1","splitDelta","shiftPos","rowsBefore","otherLines","moveDeltasByOne","redoStack","xformed","deltaSets","FoldLine","foldData","folds","lastEnd","isNewRow","foldBefore","newFoldLine","foldLineNext","lastFoldEndColumn","comparePoints","RangeList","excludeEdges","clipped","lineDif","Fold","placeholder","subFold","consumeRange","afterStart","firstConsumed","consumedFolds","restoreRange","consumePoint","restorePoint","Folding","side","foldLines","foundFolds","lastFold","startFoldLine","added","startFold","endFold","cloneFolds","expandInner","outermostFolds","startFoldRow","textLine","lastColumn","fd","tryToUnfold","bracketPos","initState","depth","test","foldWidgets","foldMode","ignoreCurrent","fw","firstRange","toggleParent","BracketMatch","charBeforeCursor","isBackwards","bracketsRegExp","typeRe","openBracket","valueIndex","closingBracket","valueLength","prevToken","found","backward","currentTag","openTagStart","openTagName","foundOpenTagEnd","openTagEnd","closeTagStart","closeTagName","closeTagEnd","stepCount","tmpToken","TextMode","EditSession","commandEvent","currentSelection","widgetManager","cacheArray","low","mid","removedFolds","undoManager","editSession","navigateWithinSoftTabs","overwrite","inFront","marker","markerId","markers","highlight","inToken","wordRange","useWorker","$isPlaceholder","oldMode","onReloadTokenizer","force","longestScreenLine","foldIndex","foldStart","enable","isUndo","fromRange","toPosition","toRange","collDiff","oldStart","newStart","indentString","rowRange","deleteRange","useWrapMode","max","desiredLimit","$printMargin","limits","wrapLimit","limit","foldLineBefore","wrapData","walkTokens","PLACEHOLDER_START","PLACEHOLDER_BODY","displayLength","lastSplit","lastDocSplit","isCode","indentedSoftWrap","maxIndent","getWrapIndent","indentation","SPACE","TAB","TAB_SPACE","addSplit","minSplit","PUNCTUATION","CHAR_EXT","isFullWidth","CHAR","maxScreenColumn","screenColumn","docColumn","rowLength","doCache","wrapIndent","foldStartRow","wrapRow","screenRowOffset","fm","Search","sr","sc","er","ec","prevRange","$disableFakeMultiline","needle","addWordBoundary","backwards","skipCurrent","forEach","forEachInLine","supportsLookbehind","wordBoundary","wordRegExp","needleArray","lastChar","KEY_MODS","MultiHashHandler","platform","$singleCommand","keepCommand","ckb","keyId","cmdGroup","keyPart","chain","binding","getPosition","other","otherPos","keyList","HashHandler","CommandManager","bindKey","mac","cutLine","firstLineEndCol","selectedText","selectedCount","insertLine","curLine","newRanges","GutterKeyboardHandler","nearestFoldIndex","nearestAnnotationIndex","GutterKeyboardEvent","rowFoldingWidget","isRowFullyVisible","isIconVisible","cell","foldWidget","desinationLane","annotationIndex","foldWidgetIndex","gutterKeyboardHandler","defaultCommands","Editor","scrollIntoView","mergeableCommands","shouldMerge","keyboardHandler","oldSession","tagNamesRanges","markerType","wordWithBoundary","nl","copyLine","lineMode","isFullLine","transform","lineState","shouldOutdent","lineIndent","prevLineState","currIndent","composition","applyComposition","speed","dragDelay","shouldHighlight","shouldAnimate","display","showPrintMargin","enabled","show","fade","new_range","originalRange","_numberRx","amount","charRange","nr","fp","decimals","nnr","replaceRange","currWordStart","wordParts","curLength","itLength","that","wordPairs","reg","negate","firstCondition","secondCondition","res","columnPosition","previousPosition","currentPosition","wordParts_1","wordParts_1_1","sel","endPoint","moved","totalDiff","rangeIndex","subRows","compositionState","select","center","expand","tokenCount","matchType","bracketType","brackets","tagsRanges","lineNumber","times","replaced","newRange","shouldScroll","scrollAnchor","onChangeSelection","onBeforeRender","onAfterRender","cursorLayer","relativeNumberRenderer","hasValue","blurCommand","focusOnEnterKeyup","lastLineNumber","Lines","canvasHeight","oldConfig","newConfig","screenTop","screenPage","lineTop","fragment","initElement","Gutter","parentEl","rowInfo","annoText","displayAnnoText","annoType","onCreateCell","gutterRenderer","firstLineNumber","lastLineText","gutterWidth","cells","oldLastRow","textNode","annotationNode","annotationIconNode","breakpoints","decorations","rowText","foldClass","isClosedFold","foldAnnotationClass","annotationInFold","foldRange","highlightGutterLine","Marker","layerConfig","stringBuilder","extraStyle","curr","lineRange","getBorderClass","range1","radiusClass","extraLength","tl","tr","br","bl","textTokens","tokenType","isTextToken","Text","unixMode","EOL_CHAR","measure","tabStr","span","spaceClass","spaceContent","tabClass","tabContent","lineElements","lineElementsIdx","heightChanged","lineEl","valueFragment","simpleSpace","controlCharacter","cjkSpace","cjk","cols","initialIndent","elementIndentLevel","bracketHighlight","currentIndent","childNodes","indentLevel","splitChars","overflowEl","lastLineEl","invisibleEl","renderTokens","addTokens","Cursor","cursors","blinking","blinkInterval","smoothBlinking","update","blink","onScreen","cursorLeft","cursorTop","pixelPos","cursorIndex","MAX_SCROLL_H","Scrollbar","classSuffix","isVisible","VScrollBar","HScrollBar","ScrollBar","eType","mousePageY","startTop","onScrollInterval","thumbTop","mousePageX","startLeft","thumbLeft","RenderLoop","onRender","changes","change","CHAR_COUNT","USE_OBSERVER","FontMetrics","isRoot","boldSize","clientPos","elPos","zoom","mul","solve","l1","l2","det","sub","m2","ut","u","f","Decorator","colors","allLineHeight","priorities","compensateFold","currentY","y1","y2","yCenter","GutterLayer","MarkerLayer","TextLayer","CursorLayer","HScrollBarCustom","VScrollBarCustom","editorCss","VirtualRenderer","textLayer","oldSize","availableWidth","printMarginColumn","containerEl","posTop","posLeft","sm","alwaysVisible","scrollerHeight","st","maxHeight","desiredHeight","hideScrollbars","screenLines","longestLine","horizScroll","hScrollChanged","vScrollBefore","minHeight","scrollPastEnd","vScrollChanged","lineCount","firstRowScreen","firstRowHeight","charCount","$viewMargin","newLeft","newTop","topMargin","bottomMargin","currentTop","currentLeft","twoCharsWidth","alignment","fromValue","toValue","steps","x_min","dx","initialScroll","oldSteps","endAnimation","canvasPos","insertPosition","textChunks","widgetDiv","hiddenTokens","lastLineDiv","chunkDiv","chunkSpan","pixelPosition","ghostTextHeight","fitsY","textLines","displayTokens","wrapSplits","textSlice","newToken","hasPassedCursor","$workerBlob","workerUrl","BlobBuilder","blobBuilder","createWorker","blob","URL","blobURL","WorkerClient","worker","topLevelNamespaces","classname","importScripts","normalizePath","tlns","ex","q","UIWorkerClient","main","emitSync","sender","messageBuffer","workerClient","processNext","callbackId","Main","PlaceHolder","others","mainClass","othersClass","undoStack","lengthDiff","inMainRange","distanceFromStart","newPos","updateMarker","undosRequired","isSamePoint","onMouseDown","alt","ctrl","accel","isMultiSelect","mouseX","mouseY","onMouseSelection","screenAnchor","screenCursor","selectionMode","oldRange","tmpSel","rectSel","blockSelect","newCursor","onMouseSelectionEnd","onSelectionInterval","find","$blockChangeEvents","lastRange","includeEmptyLines","xBackwards","startOffsetX","endOffsetX","yBackwards","docEnd","markerList","keepOrder","$byLines","rangeList","cmdResult","anim","buf","additive","skip","screenLead","toRemove","all","tmp_1","words","stopAtFirst","sameRowRanges","fr","lr","guessRange","maxCol","minSpace","spaceOffsets","spaceOffset","forceLeft","isLeftAligned","isRightAligned","startW","textW","endW","alignLeft","alignRight","unAlign","MultiSelect","addAltCursorListeners","altCursor","altDown","reset","FoldMode","foldStyle","startLevel","binarySearch","comparator","findAnnotations","matched","oldWidget","gutterAnno","arrow","annoTextLine","Renderer","_id","oldNode","env","version","editorOptions_1","editorOptions","editorEvents","getAceInstance","debounce","fn","this","__assign","ace_1","ace_builds_1","PropTypes","require$$1","React","require$$2","isEqual","require$$3","require$$4","ReactAce","onBeforeLoad","onValidate","focus","fontSize","defaultValue","showGutter","wrapEnabled","scrollMargin","editorProps","availableOptions","prevProps","oldProps","nextProps","appliedClasses","appliedClassesArray_1","oldClassesArray","oldClass","valueChanged","margins","setOptions","currentMarkers","showPlaceholder","divStyle","Split","keybinding","isUsed","orientation","editorWidth","editorHeight","FUNC_ERROR_TEXT","HASH_UNDEFINED","INFINITY","funcTag","genTag","symbolTag","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reRegExpChar","reEscapeChar","reIsHostCtor","freeGlobal","freeSelf","getValue","isHostObject","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","uid","funcToString","hasOwnProperty","objectToString","reIsNative","Symbol","splice","Map","getNative","nativeCreate","symbolProto","symbolToString","Hash","entries","entry","hashClear","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","eq","baseGet","isKey","castPath","toKey","baseIsNative","isMasked","toSource","baseToString","isSymbol","isArray","stringToPath","isKeyable","memoize","toString","resolver","memoized","isObjectLike","get","lodash_get","ext_split_1","require$$5","require$$6","SplitComponent","cursorStart","defaultValueForEditor","valueForEditor","newAnnotations","newMarkers","sp","nextValue","oldAnnotations","oldMarkers","value_1","value_2","value_3","diff_match_patch","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","op","text1","text2","opt_checklines","opt_deadline","deadline","checklines","commonlength","commonprefix","commonsuffix","diffs","longtext","shorttext","hm","text1_a","text1_b","text2_a","text2_b","mid_common","diffs_a","diffs_b","linearray","pointer","count_delete","count_insert","text_delete","text_insert","subDiff","text1_length","text2_length","max_d","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","x1","k2_offset","x2","k2","text1a","text2a","text1b","text2b","diffsb","lineArray","lineHash","diff_linesToCharsMunge_","lineStart","lineArrayLength","maxLines","chars1","chars2","pointermin","pointermax","pointermid","pointerstart","pointerend","text_length","best","dmp","diff_halfMatchI_","seed","best_common","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","prefixLength","suffixLength","hm1","hm2","equalities","equalitiesLength","lastEquality","length_insertions1","length_deletions1","length_insertions2","length_deletions2","deletion","insertion","overlap_length1","overlap_length2","diff_cleanupSemanticScore_","one","two","char1","char2","nonAlphaNumeric1","nonAlphaNumeric2","whitespace1","whitespace2","lineBreak1","lineBreak2","blankLine1","blankLine2","equality1","edit","equality2","commonOffset","commonString","bestEquality1","bestEdit","bestEquality2","bestScore","score","pre_ins","pre_del","post_ins","post_del","loc","last_chars1","last_chars2","pattern_amp","pattern_lt","pattern_gt","pattern_para","levenshtein","insertions","deletions","diffsLength","match_bitapScore_","accuracy","proximity","score_threshold","best_loc","matchmask","bin_min","bin_mid","bin_max","last_rd","finish","rd","charMatch","patch","opt_b","opt_c","patches","patchDiffLength","char_count1","char_count2","prepatch_text","postpatch_text","diff_type","diff_text","patchesCopy","patchCopy","nullPadding","results","expected_loc","start_loc","end_loc","index1","index2","paddingLength","patch_size","bigpatch","start1","start2","precontext","empty","postcontext","textline","textPointer","patchHeader","sign","coords1","coords2","split_1","DiffMatchPatch","DiffComponent","lhString","rhString","diffedLines","codeEditorSettings","C","chunkType","linesToHighlight","newMarkerSet","markerObj","lib","diff_1","_default","acequire","JsonHighlightRules","MatchingBraceOutdent","BaseFoldMode","commentRegex","forceMultiline","startIndent","subRange","CStyleFoldMode"],"mappings":"27BAAA,MAAMA,GAAc,CAAC,MAAO,QAAS,SAAU,MAAM,EACrD,SAASC,GAAeC,EAAUC,KAAWC,EAAQ,CACnD,KAAM,CAACC,EAAYC,EAAcD,EAAYE,EAAaF,EAAYG,EAAcF,CAAW,EAAIF,EAC7FK,EAAqB,CAACJ,EAAYC,EAAaC,EAAYC,CAAW,EACtEE,EAAS,CAAA,EACf,QAASC,EAAI,EAAGA,EAAIF,EAAmB,OAAQE,GAAK,EAClD,GAAIF,EAAmBE,CAAC,GAAKF,EAAmBE,CAAC,IAAM,EAAG,CACxD,MAAMC,EAASV,EAAWF,GAAYW,CAAC,EAAIR,EAC3CO,EAAOE,CAAM,EAAIH,EAAmBE,CAAC,CACtC,CAEH,OAAOD,CACT,CCCA,SAASG,MAAeT,EAAQ,CAC9B,OAAOH,GAAe,SAAU,QAAS,GAAGG,CAAM,CACpD,CCFA,SAASU,MAAeV,EAAQ,CAC9B,OAAOH,GAAe,SAAU,QAAS,GAAGG,CAAM,CACpD,CCFA,SAASW,MAAeX,EAAQ,CAC9B,OAAOH,GAAe,SAAU,QAAS,GAAGG,CAAM,CACpD,CCfA,MAAMY,GAAc,CAAC,OAAQ,SAAU,SAAU,SAAU,QAAS,SAAU,SAAU,QAAS,QAAS,QAAQ,EAClH,SAASC,GAAcC,EAAO,CAC5B,OAAOF,GAAY,SAASE,CAAK,CACnC,CCiBA,SAASC,MAAUf,EAAQ,CACzB,OAAIa,GAAcb,EAAO,CAAC,CAAC,EAClB,OAAO,OAAO,CAAA,EAAIU,GAAYV,EAAO,CAAC,CAAC,EAAGA,EAAO,CAAC,GAAKS,GAAYT,EAAO,CAAC,CAAC,EAAGA,EAAO,CAAC,GAAKW,GAAYX,EAAO,CAAC,CAAC,CAAC,EAEpH,OAAO,OAAO,CAAA,EAAIS,GAAYT,EAAO,CAAC,CAAC,EAAGA,EAAO,CAAC,GAAKU,GAAYV,EAAO,CAAC,CAAC,EAAGA,EAAO,CAAC,GAAKW,GAAYX,EAAO,CAAC,CAAC,CAAC,CAC3H,CCRA,SAASgB,MAAchB,EAAQ,CAC7B,OAAIa,GAAcb,EAAO,CAAC,CAAC,EAClB,OAAO,OAAO,CACnB,gBAAiBA,EAAO,CAAC,CAC/B,EAAOA,EAAO,CAAC,GAAK,CACd,gBAAiBA,EAAO,CAAC,CAC/B,EAAOA,EAAO,CAAC,GAAK,CACd,gBAAiBA,EAAO,CAAC,CAC/B,CAAK,EAEI,OAAO,OAAO,CACnB,gBAAiBA,EAAO,CAAC,CAC7B,EAAKA,EAAO,CAAC,GAAK,CACd,gBAAiBA,EAAO,CAAC,CAC7B,EAAKA,EAAO,CAAC,GAAK,CACd,gBAAiBA,EAAO,CAAC,CAC7B,CAAG,CACH,CCjBA,SAASiB,MAAgBjB,EAAQ,CAC/B,OAAIa,GAAcb,EAAO,CAAC,CAAC,EAClB,OAAO,OAAO,CACnB,kBAAmBA,EAAO,CAAC,CACjC,EAAOA,EAAO,CAAC,GAAK,CACd,kBAAmBA,EAAO,CAAC,CACjC,EAAOA,EAAO,CAAC,GAAK,CACd,kBAAmBA,EAAO,CAAC,CACjC,CAAK,EAEI,OAAO,OAAO,CACnB,kBAAmBA,EAAO,CAAC,CAC/B,EAAKA,EAAO,CAAC,GAAK,CACd,kBAAmBA,EAAO,CAAC,CAC/B,EAAKA,EAAO,CAAC,GAAK,CACd,kBAAmBA,EAAO,CAAC,CAC/B,CAAG,CACH,CCjBA,SAASkB,MAAelB,EAAQ,CAC9B,OAAIa,GAAcb,EAAO,CAAC,CAAC,EAClB,OAAO,OAAO,CACnB,iBAAkBA,EAAO,CAAC,CAChC,EAAOA,EAAO,CAAC,GAAK,CACd,iBAAkBA,EAAO,CAAC,CAChC,EAAOA,EAAO,CAAC,GAAK,CACd,iBAAkBA,EAAO,CAAC,CAChC,CAAK,EAEI,OAAO,OAAO,CACnB,iBAAkBA,EAAO,CAAC,CAC9B,EAAKA,EAAO,CAAC,GAAK,CACd,iBAAkBA,EAAO,CAAC,CAC9B,EAAKA,EAAO,CAAC,GAAK,CACd,iBAAkBA,EAAO,CAAC,CAC9B,CAAG,CACH,CCjBA,SAASmB,MAAanB,EAAQ,CAC5B,OAAIa,GAAcb,EAAO,CAAC,CAAC,EAClB,OAAO,OAAO,CACnB,eAAgBA,EAAO,CAAC,CAC9B,EAAOA,EAAO,CAAC,GAAK,CACd,eAAgBA,EAAO,CAAC,CAC9B,EAAOA,EAAO,CAAC,GAAK,CACd,eAAgBA,EAAO,CAAC,CAC9B,CAAK,EAEI,OAAO,OAAO,CACnB,eAAgBA,EAAO,CAAC,CAC5B,EAAKA,EAAO,CAAC,GAAK,CACd,eAAgBA,EAAO,CAAC,CAC5B,EAAKA,EAAO,CAAC,GAAK,CACd,eAAgBA,EAAO,CAAC,CAC5B,CAAG,CACH,CCpBA,SAASoB,GAAaC,EAAQC,EAASD,EAAQE,EAASF,EAAQG,EAASF,EAAQ,CAC/E,MAAO,CACL,wBAAyBC,EACzB,uBAAwBC,EACxB,qBAAsBF,EACtB,oBAAqBD,CACzB,CACA,CCrBA,MAAMI,GAASX,GAAS,OAAOA,GAAU,UAAY,eAAe,KAAKA,CAAK,EACxEY,GAAaZ,GAAS,OAAOA,GAAU,UAAY,CAAC,OAAO,MAAMA,CAAK,EACtEa,GAAYb,GAASA,IAAU,UAC/Bc,GAASd,GAASA,IAAU,OAC5Be,GAASf,GAASA,IAAU,OAC5BgB,GAAoB,CAAC,UAAW,cAAe,cAAe,aAAa,EAC3EC,GAAUjB,GAASgB,GAAkB,KAAKE,GAAOlB,IAAUkB,CAAG,GAAKP,GAAOX,CAAK,EAarF,SAASmB,MAAQjC,EAAQ,CACvB,MAAMkC,EAAmBlC,EAAO,SAAW,EACrCmC,EAAmBnC,EAAO,SAAW,EACrCoC,EAAqBpC,EAAO,SAAW,EAC7C,GAAIkC,EAAkB,CACpB,KAAM,CAACjC,CAAU,EAAID,EACrB,GAAI2B,GAAU1B,CAAU,EACtB,MAAO,CACL,SAAU,EACV,WAAY,EACZ,UAAW,MACnB,EAEI,GAAI2B,GAAO3B,CAAU,EACnB,MAAO,CACL,SAAU,EACV,WAAY,EACZ,UAAW,MACnB,EAEI,GAAI4B,GAAO5B,CAAU,EACnB,MAAO,CACL,SAAU,EACV,WAAY,EACZ,UAAW,MACnB,EAEI,GAAIyB,GAAWzB,CAAU,EACvB,MAAO,CACL,SAAUA,EACV,WAAY,EACZ,UAAW,CACnB,EAEI,GAAI8B,GAAQ9B,CAAU,EACpB,MAAO,CACL,SAAU,EACV,WAAY,EACZ,UAAWA,CACnB,CAEG,CACD,GAAIkC,EAAkB,CACpB,KAAM,CAAClC,EAAYC,CAAW,EAAIF,EAClC,GAAI0B,GAAWxB,CAAW,EACxB,MAAO,CACL,SAAUD,EACV,WAAYC,EACZ,UAAW,CACnB,EAEI,GAAI6B,GAAQ7B,CAAW,EACrB,MAAO,CACL,SAAUD,EACV,WAAY,EACZ,UAAWC,CACnB,CAEG,CACD,GAAIkC,EAAoB,CACtB,KAAM,CAACnC,EAAYC,EAAaC,CAAU,EAAIH,EAC9C,GAAI0B,GAAWzB,CAAU,GAAKyB,GAAWxB,CAAW,IAAM0B,GAAOzB,CAAU,GAAK4B,GAAQ5B,CAAU,GAChG,MAAO,CACL,SAAUF,EACV,WAAYC,EACZ,UAAWC,CACnB,CAEG,CAKD,MAAO,EACT,CClFA,SAASkC,GAAIC,EAAWC,EAASD,EAAW,CAC1C,MAAO,CACL,UAAAA,EACA,OAAAC,CACJ,CACA,CChBA,MAAMC,GAAc,cACpB,SAASC,GAAqB3B,EAAO,CACnC,OAAOA,IAAU,QAAa,OAAOA,GAAU,UAAY,OAAOA,GAAU,UAAY,CAAC0B,GAAY,KAAK1B,CAAK,CACjH,CAEA,MAAM4B,GAAmB,wBACnBC,GAAsB,8EAE5B,SAASC,GAAc9B,EAAO,CAC5B,OAAOA,IAAU,QAAa,OAAOA,GAAU,UAAY4B,GAAiB,KAAK5B,CAAK,GAAK,CAAC6B,GAAoB,KAAK7B,CAAK,CAC5H,CAcA,SAAS+B,MAAY7C,EAAQ,CAE3B,GAAIA,EAAO,KAAKc,GAAS,CAAC2B,GAAqB3B,CAAK,CAAC,EAKnD,MAAO,GAET,MAAMgC,EAAe9C,EAAO,CAAC,IAAM,OAAYA,EAAO,CAAC,EAAI,OAIrD+C,EAAkB/C,EAAO,CAAC,IAAM,OAAYA,EAAO,CAAC,EAAI4C,GAAcE,CAAY,EAAIA,EAAe,OAIrGE,EAAahD,EAAO,CAAC,IAAM,OAAYA,EAAO,CAAC,EAAI4C,GAAcE,CAAY,EAAIA,EAAe,OAIhGG,EAAgBjD,EAAO,CAAC,IAAM,OAAYA,EAAO,CAAC,EAAI4C,GAAcG,CAAe,EAAIA,EAAkB,OAC/G,MAAO,CACL,aAAAD,EACA,gBAAAC,EACA,WAAAC,EACA,cAAAC,CACJ,CACA,CCrCA,SAASC,MAAUlD,EAAQ,CACzB,OAAOH,GAAe,SAAU,GAAI,GAAGG,CAAM,CAC/C,CCNA,SAASmD,GAAYC,EAAOC,EAAMD,EAAO,CACvC,MAAO,CACL,iBAAkBA,EAClB,eAAgBC,CACpB,CACA,CCLA,SAASC,GAAaF,EAAOC,EAAMD,EAAO,CACxC,MAAO,CACL,kBAAmBA,EACnB,gBAAiBC,CACrB,CACA,CCDA,SAASE,MAAWvD,EAAQ,CAC1B,OAAOH,GAAe,UAAW,GAAI,GAAGG,CAAM,CAChD,CCNA,SAASwD,GAAaJ,EAAOC,EAAMD,EAAO,CACxC,MAAO,CACL,kBAAmBA,EACnB,gBAAiBC,CACrB,CACA,CCLA,SAASI,GAAcL,EAAOC,EAAMD,EAAO,CACzC,MAAO,CACL,mBAAoBA,EACpB,iBAAkBC,CACtB,CACA,CCLA,SAASK,GAASC,EAAWC,EAAYD,EAAW,CAClD,MAAO,CACL,UAAAA,EACA,UAAAC,CACJ,CACA,CCHA,SAASC,MAAS7D,EAAQ,CACxB,KAAM,CAACC,EAAYC,EAAcD,EAAYE,EAAaF,EAAYG,EAAcF,CAAW,EAAIF,EACnG,MAAO,CACL,IAAKC,EACL,MAAOC,EACP,OAAQC,EACR,KAAMC,CACV,CACA,CCTA,SAAS0D,GAAQC,EAAcC,EAAcC,EAAc,CACzD,OAAO,OAAO,OAAO,CACnB,aAAAF,CACD,EAAEC,GAAgB,CACjB,aAAAA,CACD,EAAEC,GAAgB,CACjB,aAAAA,CACJ,CAAG,CACH,CCHA,SAASC,MAAclE,EAAQ,CAC7B,OAAImE,GAAyBnE,CAAM,EAC1B,CACL,gBAAiBA,EAAO,CAAC,EACzB,mBAAoBA,EAAO,CAAC,EAC5B,mBAAoBA,EAAO,CAAC,EAC5B,yBAA0BA,EAAO,CAAC,CACxC,EAE2BoE,GAA0BpE,CAAM,EACjC,OAAO,CAACqE,EAAK,CAACvE,EAAUwE,EAAW,KAAMC,EAAQ,KAAMC,EAAiB,MAAM,EAAGC,KACnGA,IAAU,GACZJ,EAAI,mBAAqBvE,EACzBuE,EAAI,mBAAqBC,EACzBD,EAAI,gBAAkBE,EACtBF,EAAI,yBAA2BG,IAE/BH,EAAI,oBAAsB,KAAKvE,CAAQ,GACvCuE,EAAI,oBAAsB,KAAKC,CAAQ,GACvCD,EAAI,iBAAmB,KAAKE,CAAK,GACjCF,EAAI,0BAA4B,KAAKG,CAAc,IAE9CH,GACN,CAAE,CAAA,CACP,CACA,MAAMK,GAAyB,CAAC,eAAgB,UAAW,UAAW,SAAU,OAAO,EACvF,SAASP,GAAyBnE,EAAQ,CACxC,OAAOA,EAAO,SAAW,GAAK0E,GAAuB,SAAS1E,EAAO,CAAC,CAAC,CACzE,CACA,SAASoE,GAA0BO,EAAkB,CACnD,OAAIA,EAAiB,SAAW,GAAK,MAAM,QAAQA,EAAiB,CAAC,CAAC,EAC7DA,EAAiB,CAAC,EAEpB,CAACA,CAAgB,CAC1B,CCrCA,SAASC,GAAe9D,KAAUd,EAAQ,CACxC,GAAIA,EAAO,SAAW,EACpB,OAAO6E,GAA2B/D,CAAK,EAAI,CACzC,oBAAqBA,CAC3B,EAAQ,CACF,mBAAoBA,CAC1B,EAEE,KAAM,CAACgE,EAAqBC,EAAqBC,CAAuB,EAAIhF,EAC5E,OAAO,OAAO,OAAO,CACnB,mBAAoBc,CACrB,EAAEgE,GAAuB,CACxB,oBAAAA,CACD,EAAEC,GAAuB,CACxB,oBAAAA,CACD,EAAEC,GAA2B,CAC5B,wBAAAA,CACJ,CAAG,CACH,CACA,MAAMC,GAA4B,CAAC,SAAU,SAAU,SAAU,QAAS,MAAM,EAChF,SAASJ,GAA2B/D,EAAO,CACzC,OAAOmE,GAA0B,SAASnE,CAAK,CACjD,CC/BA,SAASoE,GAAcC,EAAO,CAC5B,OAAOA,EAAM,OAAO,SAAUC,EAAKC,EAAM,CACvC,IAAIC,EAAQD,EAAK,CAAC,EAChBE,EAAQF,EAAK,CAAC,EAChB,OAAAD,EAAIE,CAAK,EAAIC,EACbH,EAAIG,CAAK,EAAID,EACNF,CACR,EAAE,CAAE,CAAA,CACP,CACA,SAASI,GAAUC,EAAK,CACtB,OAAO,OAAOA,GAAQ,SACxB,CACA,SAASC,GAAWD,EAAK,CACvB,OAAO,OAAOA,GAAQ,UACxB,CACA,SAASE,GAASF,EAAK,CACrB,OAAO,OAAOA,GAAQ,QACxB,CACA,SAASG,GAAkBH,EAAK,CAC9B,OAAOA,IAAQ,MAAQ,OAAOA,EAAQ,GACxC,CACA,SAASI,GAASJ,EAAK,CACrB,OAAOA,GAAO,OAAOA,GAAQ,QAC/B,CACA,SAASK,GAASL,EAAK,CACrB,OAAO,OAAOA,GAAQ,QACxB,CACA,SAASM,GAASC,EAAWC,EAAU,CACrC,OAAOD,EAAU,QAAQC,CAAQ,IAAM,EACzC,CAWA,SAASC,GAASpF,EAAO,CACvB,OAAI,WAAWA,CAAK,IAAM,EAEjBA,EAELA,EAAM,CAAC,IAAM,IACRA,EAAM,MAAM,CAAC,EAEf,IAAMA,CACf,CACA,SAASqF,GAAkBC,EAAOC,EAAQC,EAAQvG,EAAQ,CACxD,OAAOsG,EAASH,GAASI,CAAM,EAAIvG,CACrC,CASA,SAASwG,GAA+BzF,EAAO,CAC7C,IAAI0F,EAAM1F,EAAM,QAAQ,GAAG,EAC3B,GAAI0F,IAAQ,GACV1F,EAAQ,IAAM,WAAWA,CAAK,EAAI,QAC7B,CAEL,IAAI2F,EAAM3F,EAAM,OAAS0F,EAAM,EAC/B1F,EAAQ,IAAM,WAAWA,CAAK,EAC9BA,EAAQA,EAAM,QAAQ2F,CAAG,EAAI,GAC9B,CACD,OAAO3F,CACT,CAOA,SAAS4F,GAAgB5F,EAAO,CAC9B,OAAOA,EAAM,QAAQ,MAAO,GAAG,EAC9B,MAAM,GAAG,EAAE,IAAI,SAAUP,EAAG,CAC3B,OAAOA,EAAE,MACb,CAAG,EACA,OAAO,OAAO,EAGd,OAAO,SAAUoG,EAAOC,EAAM,CAC7B,IAAIC,EAAOF,EAAM,KACfG,EAAQH,EAAM,MACZI,GAAmBH,EAAK,MAAM,KAAK,GAAK,CAAE,GAAE,OAC5CI,GAAqBJ,EAAK,MAAM,KAAK,GAAK,CAAE,GAAE,OAClD,OAAIE,EAAM,YAAc,EACtBD,EAAKA,EAAK,OAAS,CAAC,EAAIA,EAAKA,EAAK,OAAS,CAAC,EAAI,IAAMD,EAEtDC,EAAK,KAAKD,CAAI,EAEhBE,EAAM,aAAeC,EAAkBC,EAChC,CACL,KAAMH,EACN,MAAOC,CACb,CACA,EAAK,CACD,KAAM,CAAE,EACR,MAAO,CACL,YAAa,CACd,CACF,CAAA,EAAE,IACL,CAQA,SAASG,GAAoBnG,EAAO,CAClC,IAAIoG,EAAcR,GAAgB5F,CAAK,EACvC,GAAIoG,EAAY,QAAU,GAAKA,EAAY,OAAS,EAClD,OAAOpG,EAET,IAAIqG,EAAMD,EAAY,CAAC,EACrBE,EAAQF,EAAY,CAAC,EACrBG,EAASH,EAAY,CAAC,EACtBI,EAAOJ,EAAY,CAAC,EACtB,MAAO,CAACC,EAAKG,EAAMD,EAAQD,CAAK,EAAE,KAAK,GAAG,CAC5C,CAOA,SAASG,GAAgBzG,EAAO,CAC9B,MAAO,CAAC0E,GAAU1E,CAAK,GAAK,CAAC8E,GAAkB9E,CAAK,CACtD,CAQA,SAAS0G,GAAY1G,EAAO,CAK1B,QAJI2G,EAAU,CAAA,EACVrE,EAAQ,EACRC,EAAM,EACNqE,EAAO,GACJrE,EAAMvC,EAAM,QACb,CAAC4G,GAAQ5G,EAAMuC,CAAG,IAAM,KAC1BoE,EAAQ,KAAK3G,EAAM,UAAUsC,EAAOC,CAAG,EAAE,KAAI,CAAE,EAC/CA,IACAD,EAAQC,GACCvC,EAAMuC,CAAG,IAAM,KACxBqE,EAAO,GACPrE,MACSvC,EAAMuC,CAAG,IAAM,MACxBqE,EAAO,IACPrE,KAQJ,OAAID,GAASC,GACXoE,EAAQ,KAAK3G,EAAM,UAAUsC,EAAOC,EAAM,CAAC,CAAC,EAEvCoE,CACT,CAGA,IAAIE,EAA0B,CAC5B,QAAS,SAAiBtC,EAAM,CAC9B,IAAIvE,EAAQuE,EAAK,MACjB,OAAIM,GAAS7E,CAAK,EACTA,EAEFmG,GAAoBnG,CAAK,CACjC,EACD,WAAY,SAAoB6F,EAAO,CACrC,IAAI7F,EAAQ6F,EAAM,MACdiB,EAAiBJ,GAAY1G,CAAK,EAAE,IAAI,SAAU+G,EAAQ,CAE5D,OAAOA,EAAO,QAAQ,sBAAuB,SAAUzB,EAAO0B,EAAYC,EAAUC,EAAQ,CAC1F,GAAIA,IAAW,IACb,OAAO5B,EAET,IAAI6B,EAAiBF,IAAa,GAAK,IAAM,GAC7C,MAAO,GAAKD,EAAaG,EAAiBD,CAClD,CAAO,CACP,CAAK,EACD,OAAOJ,EAAe,KAAK,GAAG,CAC/B,EACD,YAAa,SAAqBM,EAAO,CACvC,IAAIpH,EAAQoH,EAAM,MAClB,OAAOjB,GAAoBnG,CAAK,CACjC,EACD,aAAc,SAAsBqH,EAAO,CACzC,IAAIrH,EAAQqH,EAAM,MAClB,GAAIxC,GAAS7E,CAAK,EAChB,OAAOA,EAET,GAAIiF,GAASjF,EAAO,GAAG,EAAG,CACxB,IAAIsH,EAAetH,EAAM,MAAM,GAAG,EAChCuH,EAAUD,EAAa,CAAC,EACxBE,EAAUF,EAAa,CAAC,EACtBG,EAAmBZ,EAAwB,aAAa,CAC1D,MAAOU,EAAQ,KAAM,CAC7B,CAAO,EACGG,EAAmBb,EAAwB,aAAa,CAC1D,MAAOW,EAAQ,KAAM,CAC7B,CAAO,EACD,OAAOC,EAAmB,MAAQC,CACnC,CACD,IAAItB,EAAcR,GAAgB5F,CAAK,EACvC,OAAQoG,EAAY,OAAM,CACxB,IAAK,GAED,OAAOA,EAAY,QAAO,EAAG,KAAK,GAAG,EAEzC,IAAK,GACH,CACE,IAAIuB,EAAUvB,EAAY,CAAC,EACzBwB,EAAWxB,EAAY,CAAC,EACxByB,EAAczB,EAAY,CAAC,EAC3B0B,EAAa1B,EAAY,CAAC,EAC5B,MAAO,CAACwB,EAAUD,EAASG,EAAYD,CAAW,EAAE,KAAK,GAAG,CAC7D,CACH,QAEI,OAAO7H,CAEZ,CACF,EACD,WAAY,SAAoB+H,EAAO,CACrC,IAAI/H,EAAQ+H,EAAM,MAChBC,EAAkBD,EAAM,gBACxBE,EAAQF,EAAM,MACdG,EAAsBH,EAAM,oBAC5BI,EAAsBJ,EAAM,oBAC9B,GAAIlD,GAAS7E,CAAK,EAChB,OAAOA,EAMT,IAAIoI,EAA0BpI,EAAM,QAAQ,8EAA+E,EAAE,EAAE,OAE/H,OAAAA,EAAQA,EAAM,QAAQoI,EAAyBvB,EAAwB,mBAAmB,CACxF,MAAOuB,EACP,gBAAiBJ,EACjB,MAAOC,EACP,oBAAqBE,CACtB,CAAA,CAAC,EAEKtB,EAAwB,gBAAgB,CAC7C,MAAO7G,EACP,gBAAiBgI,EACjB,oBAAqBE,CAC3B,CAAK,CACF,EACD,gBAAiB,SAAyBG,EAAO,CAC/C,IAAIrI,EAAQqI,EAAM,MAChBL,EAAkBK,EAAM,gBACxBH,EAAsBG,EAAM,oBAC9B,MAAI,CAACpD,GAASjF,EAAO,MAAM,GAAK,CAACiF,GAASjF,EAAO,kBAAkB,EAC1DA,EAEFA,EAAM,QAAQkI,EAAqB,SAAU5C,EAAOgD,EAAIC,EAAQ,CACrE,OAAOjD,EAAM,QAAQiD,EAAQP,EAAgBO,CAAM,CAAC,CAC1D,CAAK,CACF,EACD,mBAAoB,SAA4BC,EAAO,CACrD,IAAIxI,EAAQwI,EAAM,MAChBR,EAAkBQ,EAAM,gBACxBP,EAAQO,EAAM,MACdL,EAAsBK,EAAM,oBAC9B,OAAOxI,EAEN,QAAQiI,EAAQ,iBAAmB,KAAM,SAAU3C,EAAOmD,EAAO,CAChE,OAAOhD,GAA+BgD,CAAK,CAC5C,CAAA,EAAE,QAAQN,EAAqB,SAAU7C,EAAO,CAC/C,OAAO0C,EAAgB1C,CAAK,CAClC,CAAK,CACF,EACD,oBAAqB,SAA6BoD,EAAO,CACvD,IAAI1I,EAAQ0I,EAAM,MAChBV,EAAkBU,EAAM,gBACxBT,EAAQS,EAAM,MACdP,EAAsBO,EAAM,oBAC9B,OAAI7D,GAAS7E,CAAK,EACTA,EAEF6G,EAAwB,mBAAmB,CAChD,MAAO7G,EACP,gBAAiBgI,EACjB,MAAOC,EACP,oBAAqBE,CAC3B,CAAK,CACF,EACD,WAAY,SAAoBQ,EAAO,CACrC,IAAI3I,EAAQ2I,EAAM,MAChBC,EAAsBD,EAAM,oBAC9B,OAAO3I,EAAM,MAAM,OAAO,EAAE,IAAI,SAAUoD,EAAY,CACpD,IAAIlE,EAASkE,EAAW,MAAM,GAAG,EAGjC,OAAAlE,EAAO,CAAC,EAAI0J,EAAoB1J,EAAO,CAAC,CAAC,GAAKA,EAAO,CAAC,EAC/CA,EAAO,KAAK,GAAG,CAC5B,CAAK,EAAE,KAAK,IAAI,CACb,EACD,mBAAoB,SAA4B2J,EAAQ,CACtD,IAAI7I,EAAQ6I,EAAO,MACjBD,EAAsBC,EAAO,oBAC/B,OAAO7I,EAAM,MAAM,OAAO,EAAE,IAAI,SAAU8I,EAAM,CAC9C,OAAOF,EAAoBE,CAAI,GAAKA,CAC1C,CAAK,EAAE,KAAK,IAAI,CACb,EACD,UAAW,SAAmBC,EAAQ,CACpC,IAAI/I,EAAQ+I,EAAO,MAGfC,EAAkB,qBAClBC,EAAgB,oEAChBC,EAAqB,UAAY,4FAA6G,MAAQ,aAAeF,EAAkB,IAAMC,EAAgB,MAAQ,iBAAmBD,EAAkB,IAAMC,EAAgB,KAAO,KAAO,MAAQ,sBACtSE,EAAmB,IAAI,OAAO,0BAA4BD,EAAqB,YAAa,IAAI,EAChGE,EAAkB,IAAI,OAAO,yBAA2BF,EAAqB,gBAAkBA,EAAqB,iBAAkB,IAAI,EAC1IG,EAAoB,IAAI,OAAO,2BAA6BH,EAAqB,gBAAkBA,EAAqB,iBAAkB,IAAI,EAC9II,EAAe,IAAI,OAAO,2BAA6BJ,EAAqB,YAAa,IAAI,EACjG,OAAOlJ,EAAM,QAAQmJ,EAAkB9D,EAAiB,EAAE,QAAQ+D,EAAiB/D,EAAiB,EAAE,QAAQgE,EAAmBhE,EAAiB,EAAE,QAAQiE,EAAcjE,EAAiB,CAC5L,CACH,EACAwB,EAAwB,eAAiBA,EAAwB,mBACjEA,EAAwB,OAASA,EAAwB,QACzDA,EAAwB,YAAcA,EAAwB,QAC9DA,EAAwB,UAAYA,EAAwB,WAC5DA,EAAwB,gBAAkBA,EAAwB,UAClEA,EAAwB,aAAeA,EAAwB,UAC/DA,EAAwB,gBAAkBA,EAAwB,UAClEA,EAAwB,aAAeA,EAAwB,UAC/DA,EAAwB,YAAcA,EAAwB,YAC9DA,EAAwB,gBAAkBA,EAAwB,UAClEA,EAAwB,aAAeA,EAAwB,UAC/DA,EAAwB,gBAAkBA,EAAwB,UAClEA,EAAwB,aAAeA,EAAwB,UAC/DA,EAAwB,gBAAkBA,EAAwB,mBAClEA,EAAwB,sBAAwBA,EAAwB,gBACxEA,EAAwB,mBAAqBA,EAAwB,gBACrEA,EAAwB,sBAAwBA,EAAwB,gBACxEA,EAAwB,mBAAqBA,EAAwB,gBACrEA,EAAwB,iBAAmBA,EAAwB,WACnEA,EAAwB,cAAgBA,EAAwB,WAChEA,EAAwB,iBAAmBA,EAAwB,WACnEA,EAAwB,cAAgBA,EAAwB,WAChEA,EAAwB,yBAA2BA,EAAwB,mBAC3EA,EAAwB,sBAAwBA,EAAwB,mBACxEA,EAAwB,yBAA2BA,EAAwB,mBAC3EA,EAAwB,sBAAwBA,EAAwB,mBAIxEA,EAAwB,aAAa,EAAIA,EAAwB,WACjEA,EAAwB,cAAc,EAAIA,EAAwB,YAClEA,EAAwB,eAAe,EAAIA,EAAwB,aACnEA,EAAwB,kBAAkB,EAAIA,EAAwB,gBACtEA,EAAwB,qBAAqB,EAAIA,EAAwB,mBACzEA,EAAwB,uBAAuB,EAAIA,EAAwB,oBAC3EA,EAAwB,iBAAiB,EAAIA,EAAwB,eACrEA,EAAwB,cAAc,EAAIA,EAAwB,QAClEA,EAAwB,YAAY,EAAIA,EAAwB,WAChEA,EAAwB,oBAAoB,EAAIA,EAAwB,WACxEA,EAAwB,iBAAiB,EAAIA,EAAwB,WACrEA,EAAwB,cAAc,EAAIA,EAAwB,YAClEA,EAAwB,mBAAmB,EAAIA,EAAwB,UACvEA,EAAwB,gBAAgB,EAAIA,EAAwB,UACpEA,EAAwB,kBAAkB,EAAIA,EAAwB,gBACtEA,EAAwB,0BAA0B,EAAIA,EAAwB,gBAC9EA,EAAwB,uBAAuB,EAAIA,EAAwB,gBAC3EA,EAAwB,oBAAoB,EAAIA,EAAwB,WACxEA,EAAwB,iBAAiB,EAAIA,EAAwB,WACrEA,EAAwB,qBAAqB,EAAIA,EAAwB,mBACzEA,EAAwB,6BAA6B,EAAIA,EAAwB,mBACjFA,EAAwB,0BAA0B,EAAIA,EAAwB,mBAG9E,IAAI+B,GAAsBxE,GAAc,CAAC,CAAC,cAAe,cAAc,EAAG,CAAC,aAAc,aAAa,EAAG,CAAC,OAAQ,OAAO,EAAG,CAAC,aAAc,aAAa,EAAG,CAAC,kBAAmB,kBAAkB,EAAG,CAAC,kBAAmB,kBAAkB,EAAG,CAAC,kBAAmB,kBAAkB,EAAG,CAAC,sBAAuB,sBAAsB,EAAG,CAAC,yBAA0B,yBAAyB,EAE3X,CAAC,eAAgB,eAAe,EAAG,CAAC,cAAe,cAAc,EAAG,CAAC,cAAe,cAAc,EAAG,CAAC,oBAAqB,oBAAoB,EAAG,CAAC,oBAAqB,oBAAoB,EAAG,CAAC,oBAAqB,oBAAoB,EAAG,CAAC,yBAA0B,yBAAyB,EAAG,CAAC,4BAA6B,4BAA4B,CAAC,CAAC,EAC3VmF,GAAgB,CAAC,SAAS,EAG1BvB,GAAkB5D,GAAc,CAAC,CAAC,MAAO,KAAK,EAAG,CAAC,OAAQ,OAAO,EAAG,CAAC,WAAY,UAAU,EAAG,CAAC,YAAa,WAAW,EAAG,CAAC,YAAa,WAAW,CAAC,CAAC,EAOrJ8D,GAAsB,IAAI,OAAO,iDAAkD,GAAG,EACtFC,GAAsB,IAAI,OAAO,gBAAgB,EAOrD,SAASqB,GAAQC,EAAQ,CACvB,OAAO,OAAO,KAAKA,CAAM,EAAE,OAAO,SAAUC,EAAQC,EAAa,CAC/D,IAAIC,EAAgBH,EAAOE,CAAW,EAOtC,GANI3E,GAAS4E,CAAa,IAExBA,EAAgBA,EAAc,QAI5B3E,GAASsE,GAAeI,CAAW,EACrC,OAAAD,EAAOC,CAAW,EAAIC,EACfF,EAET,IAAIG,EAAmBC,GAAgBH,EAAaC,CAAa,EAC/D1I,EAAM2I,EAAiB,IACvB7J,EAAQ6J,EAAiB,MAC3B,OAAAH,EAAOxI,CAAG,EAAIlB,EACP0J,CACX,EAAK,MAAM,QAAQD,CAAM,EAAI,CAAE,EAAG,CAAE,CAAA,CACpC,CAQA,SAASK,GAAgBH,EAAaC,EAAe,CACnD,IAAIG,EAAW,wBAAwB,KAAKH,CAAa,EACrD1I,EAAM6I,EAAWJ,EAAcK,GAAwBL,CAAW,EAClE3J,EAAQ+J,EAAWH,EAAgBK,GAAqB/I,EAAK0I,CAAa,EAC9E,MAAO,CACL,IAAK1I,EACL,MAAOlB,CACX,CACA,CAOA,SAASgK,GAAwBhL,EAAU,CACzC,OAAO4J,GAAoB5J,CAAQ,GAAKA,CAC1C,CAQA,SAASiL,GAAqB/I,EAAK0I,EAAe,CAChD,GAAI,CAACnD,GAAgBmD,CAAa,EAChC,OAAOA,EAET,GAAI7E,GAAS6E,CAAa,EACxB,OAAOJ,GAAQI,CAAa,EAG9B,IAAIM,EAAQrF,GAAS+E,CAAa,EAC9BO,EAASvF,GAAWgF,CAAa,EACjCQ,EAAqBF,GAASC,EAASP,EAAgBA,EAAc,QAAQ,kBAAmB,EAAE,EAClGS,EAAc,CAACH,GAASE,EAAmB,SAAWR,EAAc,OACpEU,EAAiBzD,EAAwB3F,CAAG,EAC5CqJ,EAaJ,OAZID,EACFC,EAAWD,EAAe,CACxB,MAAOF,EACP,gBAAiBpC,GACjB,oBAAqBY,GACrB,MAAO,GACP,oBAAqBV,GACrB,oBAAqBC,EAC3B,CAAK,EAEDoC,EAAWvC,GAAgBoC,CAAkB,GAAKA,EAEhDC,EACKE,EAAW,cAEbA,CACT,CChfA,MAAMC,GAAmB,SACnBC,GAAY,OACZC,GAAQ,CAAA,EACd,SAASC,GAAcrF,EAAO,CAC5B,MAAO,IAAMA,EAAM,aACrB,CACA,SAASsF,GAAkBC,EAAM,CAC/B,GAAI,OAAO,UAAU,eAAe,KAAKH,GAAOG,CAAI,EAClD,OAAOH,GAAMG,CAAI,EAEnB,GAAIA,EAAK,OAAO,EAAG,CAAC,IAAM,KACxB,OAAOA,EAET,MAAMC,EAAQD,EAAK,QAAQL,GAAkBG,EAAa,EAC1D,OAAOD,GAAMG,CAAI,EAAIJ,GAAU,KAAKK,CAAK,EAAI,IAAMA,EAAQA,CAC7D,CCfA,SAASC,GAAwBC,EAAgB,CAC/C,OAAIA,EAAe,OAAO,CAAC,IAAM,IACxBA,EAAe,MAAM,CAAC,EAExBA,CACT,CCJO,IAAIC,GAAM,QACNC,GAAS,WAETC,GAAU,OACVC,GAAU,OACVC,GAAc,OAGdC,GAAQ,SACRC,GAAS,UAGTC,GAAW,YAGXC,GAAY,aAIZC,GAAQ,SChBRC,GAAM,KAAK,IAMXC,GAAO,OAAO,aAMdC,GAAS,OAAO,OAOpB,SAASC,GAAM9L,EAAO+L,EAAQ,CACpC,OAAOC,GAAOhM,EAAO,CAAC,EAAI,MAAY+L,GAAU,EAAKC,GAAOhM,EAAO,CAAC,IAAM,EAAKgM,GAAOhM,EAAO,CAAC,IAAM,EAAKgM,GAAOhM,EAAO,CAAC,IAAM,EAAKgM,GAAOhM,EAAO,CAAC,EAAI,CACvJ,CAMO,SAASiM,GAAMjM,EAAO,CAC5B,OAAOA,EAAM,KAAM,CACpB,CAOO,SAASsF,GAAOtF,EAAOkM,EAAS,CACtC,OAAQlM,EAAQkM,EAAQ,KAAKlM,CAAK,GAAKA,EAAM,CAAC,EAAIA,CACnD,CAQO,SAASmM,GAASnM,EAAOkM,EAASE,EAAa,CACrD,OAAOpM,EAAM,QAAQkM,EAASE,CAAW,CAC1C,CAQO,SAASC,GAASrM,EAAOsM,EAAQC,EAAU,CACjD,OAAOvM,EAAM,QAAQsM,EAAQC,CAAQ,CACtC,CAOO,SAASP,GAAQhM,EAAO2D,EAAO,CACrC,OAAO3D,EAAM,WAAW2D,CAAK,EAAI,CAClC,CAQO,SAAS6I,GAAQxM,EAAOyM,EAAOlK,EAAK,CAC1C,OAAOvC,EAAM,MAAMyM,EAAOlK,CAAG,CAC9B,CAMO,SAASmK,GAAQ1M,EAAO,CAC9B,OAAOA,EAAM,MACd,CAMO,SAAS2M,GAAQ3M,EAAO,CAC9B,OAAOA,EAAM,MACd,CAOO,SAAS4M,GAAQ5M,EAAOqE,EAAO,CACrC,OAAOA,EAAM,KAAKrE,CAAK,EAAGA,CAC3B,CAOO,SAAS6M,GAASxI,EAAOyI,EAAU,CACzC,OAAOzI,EAAM,IAAIyI,CAAQ,EAAE,KAAK,EAAE,CACnC,CCjHO,IAAIC,GAAO,EACPC,GAAS,EACTjB,GAAS,EACTQ,GAAW,EACXU,GAAY,EACZC,GAAa,GAYjB,SAASC,GAAMnN,EAAOoN,EAAMC,EAAQC,EAAMC,EAAOC,EAAUzB,EAAQ0B,EAAU,CACnF,MAAO,CAAC,MAAOzN,EAAO,KAAMoN,EAAM,OAAQC,EAAQ,KAAMC,EAAM,MAAOC,EAAO,SAAUC,EAAU,KAAMT,GAAM,OAAQC,GAAQ,OAAQjB,EAAQ,OAAQ,GAAI,SAAU0B,CAAQ,CAC3K,CAOO,SAASC,GAAMN,EAAMG,EAAO,CAClC,OAAO1B,GAAOsB,GAAK,GAAI,KAAM,KAAM,GAAI,KAAM,KAAM,EAAGC,EAAK,QAAQ,EAAGA,EAAM,CAAC,OAAQ,CAACA,EAAK,MAAM,EAAGG,CAAK,CAC1G,CAeO,SAASI,IAAQ,CACvB,OAAOV,EACR,CAKO,SAASW,IAAQ,CACvB,OAAAX,GAAYV,GAAW,EAAIP,GAAOkB,GAAY,EAAEX,EAAQ,EAAI,EAExDS,KAAUC,KAAc,KAC3BD,GAAS,EAAGD,MAENE,EACR,CAKO,SAASY,IAAQ,CACvB,OAAAZ,GAAYV,GAAWR,GAASC,GAAOkB,GAAYX,IAAU,EAAI,EAE7DS,KAAUC,KAAc,KAC3BD,GAAS,EAAGD,MAENE,EACR,CAKO,SAASa,IAAQ,CACvB,OAAO9B,GAAOkB,GAAYX,EAAQ,CACnC,CAKO,SAASwB,IAAS,CACxB,OAAOxB,EACR,CAOO,SAASyB,GAAOvB,EAAOlK,EAAK,CAClC,OAAOiK,GAAOU,GAAYT,EAAOlK,CAAG,CACrC,CAMO,SAAS0L,GAAOX,EAAM,CAC5B,OAAQA,EAAI,CAEX,IAAK,GAAG,IAAK,GAAG,IAAK,IAAI,IAAK,IAAI,IAAK,IACtC,MAAO,GAER,IAAK,IAAI,IAAK,IAAI,IAAK,IAAI,IAAK,IAAI,IAAK,IAAI,IAAK,IAAI,IAAK,KAE3D,IAAK,IAAI,IAAK,KAAK,IAAK,KACvB,MAAO,GAER,IAAK,IACJ,MAAO,GAER,IAAK,IAAI,IAAK,IAAI,IAAK,IAAI,IAAK,IAC/B,MAAO,GAER,IAAK,IAAI,IAAK,IACb,MAAO,EACR,CAED,MAAO,EACR,CAMO,SAASY,GAAOlO,EAAO,CAC7B,OAAO+M,GAAOC,GAAS,EAAGjB,GAASW,GAAOQ,GAAalN,CAAK,EAAGuM,GAAW,EAAG,CAAE,CAChF,CAMO,SAAS4B,GAASnO,EAAO,CAC/B,OAAOkN,GAAa,GAAIlN,CACzB,CAMO,SAASoO,GAASd,EAAM,CAC9B,OAAOrB,GAAK+B,GAAMzB,GAAW,EAAG8B,GAAUf,IAAS,GAAKA,EAAO,EAAIA,IAAS,GAAKA,EAAO,EAAIA,CAAI,CAAC,CAAC,CACnG,CAMO,SAASgB,GAAUtO,EAAO,CAChC,OAAOmO,GAAQI,GAAUL,GAAMlO,CAAK,CAAC,CAAC,CACvC,CAMO,SAASwO,GAAYlB,EAAM,CACjC,MAAOL,GAAYa,GAAM,IACpBb,GAAY,IACfY,GAAM,EAIR,OAAOI,GAAMX,CAAI,EAAI,GAAKW,GAAMhB,EAAS,EAAI,EAAI,GAAK,GACvD,CAMO,SAASsB,GAAWf,EAAU,CACpC,KAAOK,GAAM,GACZ,OAAQI,GAAMhB,EAAS,EAAC,CACvB,IAAK,GAAGL,GAAO6B,GAAWlC,GAAW,CAAC,EAAGiB,CAAQ,EAChD,MACD,IAAK,GAAGZ,GAAOwB,GAAQnB,EAAS,EAAGO,CAAQ,EAC1C,MACD,QAASZ,GAAOhB,GAAKqB,EAAS,EAAGO,CAAQ,CACzC,CAEF,OAAOA,CACR,CAOO,SAASkB,GAAU/K,EAAOgL,EAAO,CACvC,KAAO,EAAEA,GAASd,GAAM,GAEnB,EAAAZ,GAAY,IAAMA,GAAY,KAAQA,GAAY,IAAMA,GAAY,IAAQA,GAAY,IAAMA,GAAY,KAA9G,CAGD,OAAOe,GAAMrK,EAAOoK,GAAK,GAAMY,EAAQ,GAAKb,GAAI,GAAM,IAAMD,GAAM,GAAI,GAAG,CAC1E,CAMO,SAASQ,GAAWf,EAAM,CAChC,KAAOO,GAAM,GACZ,OAAQZ,GAAS,CAEhB,KAAKK,EACJ,OAAOf,GAER,IAAK,IAAI,IAAK,IACTe,IAAS,IAAMA,IAAS,IAC3Be,GAAUpB,EAAS,EACpB,MAED,IAAK,IACAK,IAAS,IACZe,GAAUf,CAAI,EACf,MAED,IAAK,IACJO,GAAM,EACN,KACD,CAEF,OAAOtB,EACR,CAOO,SAASqC,GAAWtB,EAAM3J,EAAO,CACvC,KAAOkK,GAAM,GAERP,EAAOL,KAAc,GAAK,IAGzB,GAAIK,EAAOL,KAAc,GAAK,IAAMa,GAAM,IAAK,GACnD,MAEF,MAAO,KAAOE,GAAMrK,EAAO4I,GAAW,CAAC,EAAI,IAAMX,GAAK0B,IAAS,GAAKA,EAAOO,GAAI,CAAE,CAClF,CAMO,SAASY,GAAY9K,EAAO,CAClC,KAAO,CAACsK,GAAMH,IAAM,GACnBD,GAAM,EAEP,OAAOG,GAAMrK,EAAO4I,EAAQ,CAC7B,CCxPO,SAASsC,GAAS7O,EAAO,CAC/B,OAAOmO,GAAQW,GAAM,GAAI,KAAM,KAAM,KAAM,CAAC,EAAE,EAAG9O,EAAQkO,GAAMlO,CAAK,EAAG,EAAG,CAAC,CAAC,EAAGA,CAAK,CAAC,CACtF,CAcO,SAAS8O,GAAO9O,EAAOoN,EAAMC,EAAQ0B,EAAMC,EAAOC,EAAUC,EAAQC,EAAQC,EAAc,CAiBhG,QAhBIzL,EAAQ,EACR6B,EAAS,EACTuG,EAASmD,EACTG,EAAS,EACTrQ,EAAW,EACXsQ,EAAW,EACXC,EAAW,EACXC,EAAW,EACXC,EAAY,EACZxC,EAAY,EACZK,EAAO,GACPC,EAAQyB,EACRxB,EAAWyB,EACXS,EAAYX,EACZ7B,EAAaI,EAEVkC,GACN,OAAQF,EAAWrC,EAAWA,EAAYY,GAAM,EAAA,CAE/C,IAAK,IACJ,GAAIyB,GAAY,KAAOtD,GAAOkB,EAAYnB,EAAS,CAAC,GAAK,GAAI,CACxDM,GAAQa,GAAcf,GAAQiC,GAAQnB,CAAS,EAAG,IAAK,KAAK,EAAG,MAAOtB,GAAIhI,EAAQwL,EAAOxL,EAAQ,CAAC,EAAI,CAAC,CAAC,GAAK,KAChH8L,EAAY,IACb,KACA,CAEF,IAAK,IAAI,IAAK,IAAI,IAAK,IACtBvC,GAAckB,GAAQnB,CAAS,EAC/B,MAED,IAAK,GAAG,IAAK,IAAI,IAAK,IAAI,IAAK,IAC9BC,GAAcsB,GAAWc,CAAQ,EACjC,MAED,IAAK,IACJpC,GAAcwB,GAASX,KAAU,EAAG,CAAC,EACrC,SAED,IAAK,IACJ,OAAQD,GAAM,EAAA,CACb,IAAK,IAAI,IAAK,IACblB,GAAO+C,GAAQf,GAAUf,KAAQE,IAAO,EAAGX,EAAMC,EAAQ+B,CAAY,EAAGA,CAAY,GAC/EnB,GAAMqB,GAAY,CAAC,GAAK,GAAKrB,GAAMH,MAAU,CAAC,GAAK,IAAMpB,GAAOQ,CAAU,GAAKV,GAAOU,EAAY,GAAI,MAAM,IAAM,MAAKA,GAAc,KAC1I,MACD,QACCA,GAAc,GACf,CACD,MAED,IAAK,KAAMqC,EACVJ,EAAOxL,GAAO,EAAI+I,GAAOQ,CAAU,EAAIuC,EAExC,IAAK,KAAMF,EAAU,IAAK,IAAI,IAAK,GAClC,OAAQtC,EAAS,CAEhB,IAAK,GAAG,IAAK,KAAKuC,EAAW,EAE7B,IAAK,IAAKhK,EAAYiK,GAAa,KAAIvC,EAAaf,GAAQe,EAAY,MAAO,EAAE,GAC5ElO,EAAW,IAAM0N,GAAOQ,CAAU,EAAInB,GAAWwD,IAAa,GAAKD,IAAa,KACnF1C,GAAO5N,EAAW,GAAK4Q,GAAY1C,EAAa,IAAK6B,EAAM1B,EAAQtB,EAAS,EAAGqD,CAAY,EAAIQ,GAAYzD,GAAQe,EAAY,IAAK,EAAE,EAAI,IAAK6B,EAAM1B,EAAQtB,EAAS,EAAGqD,CAAY,EAAGA,CAAY,EACrM,MAED,IAAK,IAAIlC,GAAc,IAEvB,QAGC,GAFAN,GAAO8C,EAAYG,GAAQ3C,EAAYE,EAAMC,EAAQ1J,EAAO6B,EAAQwJ,EAAOG,EAAQ7B,EAAMC,EAAQ,CAAA,EAAIC,EAAW,CAAE,EAAEzB,EAAQkD,CAAQ,EAAGA,CAAQ,EAE3IhC,IAAc,IACjB,GAAIzH,IAAW,EACdsJ,GAAM5B,EAAYE,EAAMsC,EAAWA,EAAWnC,EAAO0B,EAAUlD,EAAQoD,EAAQ3B,CAAQ,MAEvF,QAAQ6B,IAAW,IAAMrD,GAAOkB,EAAY,CAAC,IAAM,IAAM,IAAMmC,EAAM,CAEpE,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAClCP,GAAM9O,EAAO0P,EAAWA,EAAWX,GAAQnC,GAAOiD,GAAQ7P,EAAO0P,EAAWA,EAAW,EAAG,EAAGV,EAAOG,EAAQ7B,EAAM0B,EAAOzB,EAAQ,CAAA,EAAIxB,EAAQyB,CAAQ,EAAGA,CAAQ,EAAGwB,EAAOxB,EAAUzB,EAAQoD,EAAQJ,EAAOxB,EAAQC,CAAQ,EAC3N,MACD,QACCsB,GAAM5B,EAAYwC,EAAWA,EAAWA,EAAW,CAAC,EAAE,EAAGlC,EAAU,EAAG2B,EAAQ3B,CAAQ,CACvF,CACJ,CAED7J,EAAQ6B,EAASxG,EAAW,EAAGuQ,EAAWE,EAAY,EAAGnC,EAAOJ,EAAa,GAAInB,EAASmD,EAC1F,MAED,IAAK,IACJnD,EAAS,EAAIW,GAAOQ,CAAU,EAAGlO,EAAWsQ,EAC7C,QACC,GAAIC,EAAW,GACd,GAAItC,GAAa,IAChB,EAAEsC,UACMtC,GAAa,KAAOsC,KAAc,GAAK3B,GAAI,GAAM,IACzD,SAEF,OAAQV,GAActB,GAAKqB,CAAS,EAAGA,EAAYsC,EAAQ,CAE1D,IAAK,IACJE,EAAYjK,EAAS,EAAI,GAAK0H,GAAc,KAAM,IAClD,MAED,IAAK,IACJiC,EAAOxL,GAAO,GAAK+I,GAAOQ,CAAU,EAAI,GAAKuC,EAAWA,EAAY,EACpE,MAED,IAAK,IAEA3B,GAAM,IAAK,KACdZ,GAAckB,GAAQP,IAAM,GAE7BwB,EAASvB,GAAI,EAAItI,EAASuG,EAASW,GAAOY,EAAOJ,GAAcuB,GAAWV,IAAO,CAAC,EAAGd,IACrF,MAED,IAAK,IACAqC,IAAa,IAAM5C,GAAOQ,CAAU,GAAK,IAC5CqC,EAAW,EACb,CACF,CAEF,OAAON,CACR,CAiBO,SAASY,GAAS7P,EAAOoN,EAAMC,EAAQ1J,EAAO6B,EAAQwJ,EAAOG,EAAQ7B,EAAMC,EAAOC,EAAUzB,EAAQ0B,EAAU,CAKpH,QAJIqC,EAAOtK,EAAS,EAChBuJ,EAAOvJ,IAAW,EAAIwJ,EAAQ,CAAC,EAAE,EACjCe,EAAOpD,GAAOoC,CAAI,EAEbtP,EAAI,EAAGuQ,EAAI,EAAGC,EAAI,EAAGxQ,EAAIkE,EAAO,EAAElE,EAC1C,QAASyQ,EAAI,EAAGC,EAAI3D,GAAOxM,EAAO8P,EAAO,EAAGA,EAAOnE,GAAIqE,EAAIb,EAAO1P,CAAC,CAAC,CAAC,EAAG2Q,EAAIpQ,EAAOkQ,EAAIH,EAAM,EAAEG,GAC1FE,EAAInE,GAAK+D,EAAI,EAAIjB,EAAKmB,CAAC,EAAI,IAAMC,EAAIhE,GAAQgE,EAAG,OAAQpB,EAAKmB,CAAC,CAAC,CAAC,KACnE3C,EAAM0C,GAAG,EAAIG,GAEhB,OAAOjD,GAAKnN,EAAOoN,EAAMC,EAAQ7H,IAAW,EAAI4F,GAAUkC,EAAMC,EAAOC,EAAUzB,EAAQ0B,CAAQ,CAClG,CASO,SAASkC,GAAS3P,EAAOoN,EAAMC,EAAQI,EAAU,CACvD,OAAON,GAAKnN,EAAOoN,EAAMC,EAAQlC,GAASS,GAAK+B,GAAI,CAAE,EAAGnB,GAAOxM,EAAO,EAAG,EAAE,EAAG,EAAGyN,CAAQ,CAC1F,CAUO,SAASmC,GAAa5P,EAAOoN,EAAMC,EAAQtB,EAAQ0B,EAAU,CACnE,OAAON,GAAKnN,EAAOoN,EAAMC,EAAQhC,GAAamB,GAAOxM,EAAO,EAAG+L,CAAM,EAAGS,GAAOxM,EAAO+L,EAAS,EAAG,EAAE,EAAGA,EAAQ0B,CAAQ,CACxH,CC1LO,SAAS4C,GAAW7C,EAAUV,EAAU,CAG9C,QAFIwD,EAAS,GAEJ7Q,EAAI,EAAGA,EAAI+N,EAAS,OAAQ/N,IACpC6Q,GAAUxD,EAASU,EAAS/N,CAAC,EAAGA,EAAG+N,EAAUV,CAAQ,GAAK,GAE3D,OAAOwD,CACR,CASO,SAASC,GAAWC,EAAS7M,EAAO6J,EAAUV,EAAU,CAC9D,OAAQ0D,EAAQ,KAAI,CACnB,KAAK9E,GAAO,GAAI8E,EAAQ,SAAS,OAAQ,MACzC,KAAKjF,GAAQ,KAAKF,GAAa,OAAOmF,EAAQ,OAASA,EAAQ,QAAUA,EAAQ,MACjF,KAAKrF,GAAS,MAAO,GACrB,KAAKM,GAAW,OAAO+E,EAAQ,OAASA,EAAQ,MAAQ,IAAMH,GAAUG,EAAQ,SAAU1D,CAAQ,EAAI,IACtG,KAAK1B,GAAS,GAAI,CAACsB,GAAO8D,EAAQ,MAAQA,EAAQ,MAAM,KAAK,GAAG,CAAC,EAAG,MAAO,EAC3E,CAED,OAAO9D,GAAOc,EAAW6C,GAAUG,EAAQ,SAAU1D,CAAQ,CAAC,EAAI0D,EAAQ,OAASA,EAAQ,MAAQ,IAAMhD,EAAW,IAAM,EAC3H,CCxBO,SAASiD,GAAYC,EAAY,CACvC,IAAI3E,EAASY,GAAO+D,CAAU,EAE9B,OAAO,SAAUF,EAAS7M,EAAO6J,EAAUV,EAAU,CAGpD,QAFIwD,EAAS,GAEJ7Q,EAAI,EAAGA,EAAIsM,EAAQtM,IAC3B6Q,GAAUI,EAAWjR,CAAC,EAAE+Q,EAAS7M,EAAO6J,EAAUV,CAAQ,GAAK,GAEhE,OAAOwD,CACP,CACF,CAMO,SAASK,GAAW7D,EAAU,CACpC,OAAO,SAAU0D,EAAS,CACpBA,EAAQ,OACRA,EAAUA,EAAQ,SACrB1D,EAAS0D,CAAO,CAClB,CACF,CC/BA,MAAMI,GAAeJ,GAAW,CAC9B,OAAQA,EAAQ,KAAI,CAClB,KAAKpF,GACH,GAAI,OAAOoF,EAAQ,OAAU,SAI3B,OAEFA,EAAQ,MAAQA,EAAQ,MAAM,IAAIxQ,GAE5BA,EAAM,QAAQ,UAAU,IAAM,GACzBA,EAEFsO,GAAStO,CAAK,EAAE,OAAO,CAACuD,EAAKvD,EAAO2D,EAAO6J,IAAa,CAC7D,GAAIxN,IAAU,GACZ,OAAOuD,EAET,GAAIvD,IAAU,KAAOwN,EAAS7J,EAAQ,CAAC,IAAM,SAAU,CACrD,MAAMkN,EAENrD,EAAS7J,EAAQ,CAAC,EAAE,MAAM,EAAG,EAAE,EAE/B,IACA,OAAAJ,EAAI,QAAQsN,CAAQ,EACpBrD,EAAS7J,EAAQ,CAAC,EAAI,GACtB6J,EAAS7J,EAAQ,CAAC,EAAI,GACfJ,CACR,CACD,OAAAA,EAAI,KAAKvD,CAAK,EACPuD,CACR,EAAE,EAAE,EAAE,KAAK,EAAE,CACf,CACJ,CACH,ECjCA,SAASgC,GAAOvF,EAAO+L,EAAQyB,EAAU,CACvC,OAAQ1B,GAAK9L,EAAO+L,CAAM,EAAC,CAEzB,IAAK,MACH,OAAOb,GAAS,SAAWlL,EAAQA,EAErC,IAAK,MACL,IAAK,MACL,IAAK,MAEL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACH,OAAOkL,GAASlL,EAAQA,EAE1B,IAAK,MAOH,GAJIgM,GAAOhM,EAAO,CAAC,IAAM,KAIrBgM,GAAOhM,EAAO+L,EAAS,CAAC,IAAM,IAChC,OAAOb,GAASlL,EAAQA,EAE1B,MAEF,IAAK,MACH,OAAOiL,GAAMjL,EAAQA,EAEvB,IAAK,MACL,IAAK,MACL,IAAK,MACH,OAAOkL,GAASlL,EAAQiL,GAAMjL,EAAQA,EAGxC,IAAK,MACH,GAAI,CAACsF,GAAMtF,EAAO,MAAM,EACtB,OAAOmM,GAAQA,GAAQA,GAAQnM,EAAO,eAAgBkL,GAAS,IAAI,EAAG,cAAeA,GAAS,IAAI,EAAGlL,EAAO,EAAE,EAAIA,EAGtH,IAAK,MACL,IAAK,MAEH,OAAOmM,GAAQnM,EAAO,oBAAqBkL,GAAS,QAAa,EAEnE,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACH,OAAOiB,GAAQnM,EAAO,kBAAmBkL,GAAS,MAAM,EAAIlL,EAE9D,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MAEH,GAAI0M,GAAO1M,CAAK,EAAI,EAAI+L,EAAS,EAAG,OAAQC,GAAOhM,EAAO+L,EAAS,CAAC,EAAC,CAGnE,IAAK,KACH,GAAIC,GAAOhM,EAAO+L,EAAS,CAAC,IAAM,IAChC,OAAOI,GAAQnM,EAAO,mBAEtB,KAAOkL,GAAS,UAAiBD,IAAOe,GAAOhM,EAAO+L,EAAS,CAAC,GAAK,IAAM,KAAO,QAAQ,EAAI/L,EAGlG,IAAK,KACH,MAAO,CAACqM,GAAQrM,EAAO,SAAS,EAAIuF,GAAO4G,GAAQnM,EAAO,UAAW,gBAAgB,EAAG+L,CAAM,EAAI/L,EAAQA,CAC7G,CACD,KACH,CACD,OAAOA,CACT,CAOA,SAAS8Q,GAAeN,EAAS7M,EAAO6J,EAAUV,EAAU,CAC1D,GAAI0D,EAAQ,OAAS,IAAQ,CAACA,EAAQ,OAAQ,OAAQA,EAAQ,KAAI,CAChE,KAAKnF,GACHmF,EAAQ,OAASjL,GAAOiL,EAAQ,MAAOA,EAAQ,MAAM,EACrD,OACF,KAAKpF,GACH,GAAIoF,EAAQ,OAGV,OAAO3D,GAAQ2D,EAAQ,MAAO,SAAUxQ,EAAO,CAC7C,OAAQsF,GAAMtF,EAAO,uBAAuB,EAAC,CAE3C,IAAK,aACL,IAAK,cACH,OAAOqQ,GAGP,CAAC3C,GAAK8C,EAAS,CACb,MAAO,CAACrE,GAAQnM,EAAO,cAAe,IAAMiL,GAAM,IAAI,CAAC,CACvE,CAAe,CAAC,EAAG6B,CAAQ,EAEf,IAAK,gBACH,OAAOuD,GAAU,CAGjB3C,GAAK8C,EAAS,CACZ,MAAO,CAACrE,GAAQnM,EAAO,aAAc,IAAMkL,GAAS,UAAU,CAAC,CAC/E,CAAe,EAGDwC,GAAK8C,EAAS,CACZ,MAAO,CAACrE,GAAQnM,EAAO,aAAc,IAAMiL,GAAM,IAAI,CAAC,CACtE,CAAe,CAAC,EAAG6B,CAAQ,CAChB,CACD,MAAO,EACjB,CAAS,CACN,CAEH,CClIA,SAASiE,GAAgBP,EAAS,CAChC,OAAQA,EAAQ,KAAI,CAClB,IAAK,aACL,KAAKlF,GACL,KAAKE,GACL,KAAKE,GACH,MAAO,EACV,CACD,MAAO,EACT,CCTA,MAAMsF,GAA6BR,GAAW,CACxCO,GAAgBP,CAAO,GAAK,MAAM,QAAQA,EAAQ,QAAQ,GAC5DA,EAAQ,SAAS,KAAK,CAACS,EAAGC,IAAMD,EAAE,MAAM,CAAC,EAAIC,EAAE,MAAM,CAAC,EAAI,EAAI,EAAE,CAEpE,ECAA,SAASC,IAAO,CAAE,CAClB,SAASC,GAAgBC,EAAUC,EAAsB,CACvD,MAAMtC,EAAQ,CAAA,EACd,OAAAqB,GAAUxB,GAAQwC,CAAQ,EAAGZ,GAAW,CAACG,GAAcU,EAAuBN,GAA6BG,GAAML,GAAgBP,GAIjII,GAAU5B,GAAQC,EAAM,KAAKD,CAAI,CAAC,CAAC,CAAC,CAAC,EAC9BC,CACT,CCXA,MAAMuC,GAAwB,cAU9B,SAASC,GAAwBC,EAAgB,CAC/C,MAAO,IAAM1G,GAGb0G,EAAe,QAAQF,GAAuB,MAAM,CAAC,CACvD,CACA,SAASG,GAAcC,EAAmBC,EAAgBC,EAAS,CACjE,IAAIC,EAAUF,EACd,OAAIC,EAAQ,OAAS,IACnBC,EAAUD,EAAQ,YAAY,CAACtO,EAAKsN,IAC3B,GAAGW,GAAwBX,CAAQ,CAAC,MAAMtN,CAAG,KACnDqO,CAAc,GAEZ,GAAGD,CAAiB,IAAIG,CAAO,GACxC,CACA,SAASC,GAAqBC,EAASC,EAAS,CAC9C,KAAM,CACJ,UAAAC,EACA,UAAAC,EACA,SAAAnT,EACA,aAAAoT,EACA,YAAAC,EACA,SAAAC,EACA,MAAAtS,CACD,EAAGgS,EACE,CACJ,UAAAO,EACA,MAAAC,EACA,MAAAC,EACA,SAAAC,CACD,EAAGT,EACEN,EAAoB,IAAIO,CAAS,GACjCN,EAAiB,MAAM,QAAQ5R,CAAK,EAAI,GAAGA,EAAM,IAAI2S,GAAK,GAAG/H,GAAkB5L,CAAQ,CAAC,KAAK2T,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,IAAM,GAAG/H,GAAkB5L,CAAQ,CAAC,KAAKgB,CAAK,IAC/J,IAAI8R,EAAUJ,GAAcC,EAAmBC,EAAgBO,CAAS,EACxE,GAAIE,GAAeD,EAAc,CAC/B,MAAMQ,EAAuB,IAAIR,CAAY,GACvCS,EAAoB,MAAM,QAAQP,CAAQ,EAAI,GAAGA,EAAS,IAAI,GAAK,GAAG1H,GAAkByH,CAAW,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,IAAM,GAAGzH,GAAkByH,CAAW,CAAC,KAAKC,CAAQ,IACjLR,GAAWJ,GAAckB,EAAsBC,EAAmBV,CAAS,CAC5E,CACD,OAAIM,IACFX,EAAU,UAAUW,CAAK,MAAMX,CAAO,MAEpCU,IACFV,EAAU,UAAUU,CAAK,MAAMV,CAAO,MAEpCY,IACFZ,EAAU,aAAaY,CAAQ,MAAMZ,CAAO,MAE1CS,IACFT,EAAU,cAAcS,CAAS,MAAMT,CAAO,MAEzCV,GAAgBU,EAAS,EAAI,CACtC,CChEA,SAASgB,GAAaC,EAAO,CAC3B,IAAIC,EAAM,GAEV,UAAWhU,KAAY+T,EAAO,CAC5B,MAAM/S,EAAQ+S,EAAM/T,CAAQ,EAC5B,GAAI,OAAOgB,GAAU,UAAY,OAAOA,GAAU,SAAU,CAC1DgT,GAAOpI,GAAkB5L,CAAQ,EAAI,IAAMgB,EAAQ,IACnD,QACD,CACD,GAAI,MAAM,QAAQA,CAAK,EACrB,UAAWiT,KAAYjT,EACrBgT,GAAOpI,GAAkB5L,CAAQ,EAAI,IAAMiU,EAAW,GAG3D,CACD,OAAOD,CACT,CCdA,SAASE,GAAoBC,EAAgB,CAC3C,IAAIH,EAAM,GAEV,UAAWI,KAAcD,EACvBH,GAAO,GAAGI,CAAU,IAAIN,GAAaK,EAAeC,CAAU,CAAC,CAAC,IAElE,OAAOJ,CACT,CAIA,SAASK,GAAoBC,EAAcC,EAAa,CACtD,MAAMzB,EAAU,cAAcwB,CAAY,KAAKC,CAAW,IACpDvE,EAAQ,CAAA,EACd,OAAAqB,GAAUxB,GAAQiD,CAAO,EAAGrB,GAAW,CAACF,GAAWO,GAInDH,GAAU5B,GAAQC,EAAM,KAAKD,CAAI,CAAC,CAAC,CAAC,CAAC,EAC9BC,CACT,CCxBA,MAAMwE,GAAa,CACjB,UAAW,CAAC,GAAI,CAAC,iBAAkB,qBAAsB,oBAAqB,oBAAqB,0BAA2B,gBAAiB,qBAAsB,oBAAqB,yBAAyB,CAAC,EACpN,eAAgB,CAAC,GAAI,CAAC,oBAAqB,qBAAqB,CAAC,EACjE,WAAY,CAAC,GAAI,CAAC,uBAAwB,iBAAkB,kBAAmB,kBAAmB,mBAAoB,qBAAsB,sBAAuB,sBAAuB,mBAAoB,gBAAgB,CAAC,EAC/N,mBAAoB,CAAC,GAAI,CAAC,sBAAuB,qBAAqB,CAAC,EACvE,OAAQ,CAAC,GAAI,CAAC,eAAgB,oBAAqB,oBAAqB,oBAAqB,aAAc,kBAAmB,kBAAmB,kBAAmB,cAAe,mBAAoB,mBAAoB,mBAAoB,YAAa,iBAAkB,iBAAkB,gBAAgB,CAAC,EACjT,aAAc,CAAC,GAAI,CAAC,oBAAqB,oBAAqB,mBAAmB,CAAC,EAClF,YAAa,CAAC,GAAI,CAAC,oBAAqB,oBAAqB,mBAAoB,oBAAqB,kBAAkB,CAAC,EACzH,WAAY,CAAC,GAAI,CAAC,kBAAmB,kBAAmB,iBAAiB,CAAC,EAC1E,aAAc,CAAC,GAAI,CAAC,yBAA0B,0BAA2B,sBAAuB,sBAAsB,CAAC,EACvH,YAAa,CAAC,GAAI,CAAC,mBAAoB,mBAAoB,kBAAkB,CAAC,EAC9E,UAAW,CAAC,GAAI,CAAC,iBAAkB,iBAAkB,gBAAgB,CAAC,EACtE,MAAO,CAAC,GAAI,CAAC,aAAc,YAAY,CAAC,EACxC,WAAY,CAAC,GAAI,CAAC,kBAAmB,kBAAmB,iBAAiB,CAAC,EAC1E,QAAS,CAAC,GAAI,CAAC,cAAe,aAAa,CAAC,EAC5C,qBAAsB,CAAC,GAAI,CAAC,yBAA0B,uBAAuB,CAAC,EAC9E,UAAW,CAAC,GAAI,CAAC,gBAAiB,eAAe,CAAC,EAClD,KAAM,CAAC,GAAI,CAAC,YAAa,WAAY,YAAY,CAAC,EAClD,SAAU,CAAC,GAAI,CAAC,gBAAiB,UAAU,CAAC,EAC5C,KAAM,CAAC,GAAI,CAAC,aAAc,WAAY,cAAe,YAAa,cAAe,aAAc,YAAY,CAAC,EAC5G,IAAK,CAAC,GAAI,CAAC,YAAa,QAAQ,CAAC,EACjC,KAAM,CAAC,GAAI,CAAC,YAAa,kBAAmB,eAAgB,eAAgB,gBAAiB,aAAc,oBAAqB,sBAAuB,mBAAoB,QAAQ,CAAC,EACpL,SAAU,CAAC,GAAI,CAAC,gBAAiB,kBAAmB,aAAc,cAAc,CAAC,EACjF,WAAY,CAAC,GAAI,CAAC,gBAAiB,iBAAiB,CAAC,EACrD,QAAS,CAAC,GAAI,CAAC,aAAc,cAAc,CAAC,EAC5C,aAAc,CAAC,GAAI,CAAC,oBAAqB,sBAAuB,kBAAkB,CAAC,EACnF,MAAO,CAAC,GAAI,CAAC,SAAU,OAAQ,QAAS,KAAK,CAAC,EAC9C,WAAY,CAAC,GAAI,CAAC,gBAAiB,iBAAiB,CAAC,EACrD,YAAa,CAAC,GAAI,CAAC,iBAAkB,kBAAkB,CAAC,EACxD,UAAW,CAAC,GAAI,CAAC,iBAAkB,oBAAqB,eAAe,CAAC,EACxE,OAAQ,CAAC,GAAI,CAAC,eAAgB,aAAc,cAAe,WAAW,CAAC,EACvE,YAAa,CAAC,GAAI,CAAC,iBAAkB,kBAAkB,CAAC,EACxD,aAAc,CAAC,GAAI,CAAC,kBAAmB,mBAAmB,CAAC,EAC3D,KAAM,CAAC,GAAI,CAAC,WAAY,gBAAiB,YAAa,WAAY,aAAc,eAAgB,aAAc,UAAU,CAAC,EACzH,WAAY,CAAC,GAAI,CAAC,iBAAkB,mBAAoB,mBAAoB,kBAAmB,mBAAoB,iBAAiB,CAAC,EACrI,OAAQ,CAAC,GAAI,CAAC,eAAgB,iBAAkB,aAAc,iBAAkB,cAAc,CAAC,EAC/F,QAAS,CAAC,GAAI,CAAC,eAAgB,eAAgB,cAAc,CAAC,EAC9D,SAAU,CAAC,GAAI,CAAC,YAAa,WAAW,CAAC,EACzC,mBAAoB,CAAC,GAAI,CAAC,sBAAuB,qBAAqB,CAAC,EACvE,QAAS,CAAC,GAAI,CAAC,gBAAiB,cAAe,eAAgB,YAAY,CAAC,EAC5E,aAAc,CAAC,GAAI,CAAC,kBAAmB,mBAAmB,CAAC,EAC3D,cAAe,CAAC,GAAI,CAAC,mBAAoB,oBAAoB,CAAC,EAC9D,aAAc,CAAC,GAAI,CAAC,eAAgB,gBAAgB,CAAC,EACrD,WAAY,CAAC,GAAI,CAAC,aAAc,cAAc,CAAC,EAC/C,UAAW,CAAC,GAAI,CAAC,YAAa,aAAa,CAAC,EAC5C,aAAc,CAAC,GAAI,CAAC,qBAAsB,mBAAoB,oBAAqB,iBAAiB,CAAC,EACrG,kBAAmB,CAAC,GAAI,CAAC,uBAAwB,wBAAwB,CAAC,EAC1E,mBAAoB,CAAC,GAAI,CAAC,wBAAyB,yBAAyB,CAAC,EAC7E,cAAe,CAAC,GAAI,CAAC,sBAAuB,oBAAqB,qBAAsB,kBAAkB,CAAC,EAC1G,mBAAoB,CAAC,GAAI,CAAC,wBAAyB,yBAAyB,CAAC,EAC7E,oBAAqB,CAAC,GAAI,CAAC,yBAA0B,0BAA0B,CAAC,EAChF,eAAgB,CAAC,GAAI,CAAC,qBAAsB,oBAAoB,CAAC,EACjE,eAAgB,CAAC,GAAI,CAAC,sBAAuB,qBAAsB,sBAAuB,yBAAyB,CAAC,EACpH,aAAc,CAAC,GAAI,CAAC,oBAAqB,mBAAmB,CAAC,EAC7D,WAAY,CAAC,GAAI,CAAC,qBAAsB,kBAAmB,qBAAsB,qBAAsB,0BAA0B,CAAC,EAClI,aAAc,CAAC,GAAI,CAAC,mBAAoB,kBAAkB,CAAC,CAC7D,ECxDA,SAASC,GAAsBC,EAAmBC,EAAkB,CAClE,OAAID,EAAkB,SAAW,EACxBC,EAEF,GAAGD,CAAiB,QAAQC,CAAgB,EACrD,CCLA,SAASC,GAAqB5U,EAAU,CACtC,OAAOA,EAAS,OAAO,EAAG,CAAC,IAAM,QACnC,CCFA,SAAS6U,GAAgB7U,EAAU,CACjC,OAAOA,EAAS,OAAO,EAAG,CAAC,IAAM,QACnC,CCFA,MAAM8U,GAAQ,cACd,SAASC,GAAiB/U,EAAU,CAClC,OAAO8U,GAAM,KAAK9U,CAAQ,CAC5B,CCHA,SAASgV,GAAuBhV,EAAU,CACxC,OAAOA,EAAS,OAAO,EAAG,CAAC,IAAM,WACnC,CCFA,SAASiV,GAAyBjV,EAAU,CAC1C,OAAOA,EAAS,UAAU,EAAG,EAAE,IAAM,YACvC,CCDA,SAAS+F,GAASJ,EAAK,CACrB,OAAOA,GAAO,MAAQ,OAAOA,GAAQ,UAAY,MAAM,QAAQA,CAAG,IAAM,EAC1E,CCEA,MAAMuP,GAAa,CAEjB,OAAQ,IAER,OAAQ,IAER,GAAI,IAEJ,GAAI,IAEJ,GAAI,IAEJ,GAAI,IAEJ,GAAI,GACN,EAoBA,SAASC,GAAmBhC,EAAWF,EAAS,CAC9C,GAAIA,EAAQ,MACV,MAAO,IAGT,GAAIA,EAAQ,OAASA,EAAQ,SAC3B,MAAO,IAET,GAAIA,EAAQ,UACV,MAAO,IAET,GAAIE,EAAU,OAAS,EAAG,CACxB,MAAMiC,EAAmBjC,EAAU,CAAC,EAAE,KAAI,EAC1C,GAAIiC,EAAiB,WAAW,CAAC,IAAM,GAMrC,OAAOF,GAAWE,EAAiB,MAAM,EAAG,CAAC,CAAC,GAAwEF,GAAWE,EAAiB,MAAM,EAAG,CAAC,CAAC,GAAK,GAErK,CAED,MAAO,GACT,CC9DA,SAASC,GAAgBC,EAAQ/O,EAAQ,CACvC,OAAO+O,GAAS/O,EAAS+O,CAC3B,CACA,SAASC,GAAgBtC,EAAS,CAChC,OAAOoC,GAAgBpC,EAAQ,UAAW,GAAG,EAAIoC,GAAgBpC,EAAQ,MAAO,GAAG,EAAIoC,GAAgBpC,EAAQ,MAAO,GAAG,EAAIoC,GAAgBpC,EAAQ,SAAU,GAAG,CACpK,CACA,SAASuC,GAAgB3D,EAAU7R,EAAUiT,EAAS,CAEpD,MAAMwC,EAAc5D,EAAW0D,GAAgBtC,CAAO,EAAIjT,EAGpD0V,EAAYC,GAAWF,CAAW,EAOlCG,EAAgBF,EAAU,WAAW,CAAC,EAE5C,OADyBE,GAAiB,IAAMA,GAAiB,GAExD,OAAO,aAAaA,EAAgB,EAAE,EAAIF,EAAU,MAAM,CAAC,EAE7DA,CACT,CCtBA,SAASG,GAAc,CACrB,SAAA7V,EACA,SAAA6R,EACA,KAAAiE,EACA,MAAA9U,CACF,EAAGiS,EAAS,CACV,OAAO8C,GAAcJ,GAAWG,EAAOjE,EAAW0D,GAAgBtC,CAAO,EAAIjT,EAE7EgB,EAAM,KAAI,CAAE,CACd,CCXA,SAASgV,GAAahV,EAAO,CAC3B,OAAOA,IAAUiV,EACnB,CCDA,SAASC,GAAarE,EAAU,CAC9B,OAAOA,EAAS,QAAQ,QAAS,GAAG,CACtC,CCiBA,SAASsE,GAAuBnW,EAAU,CACxC,OAAOwU,GAAWxU,CAAQ,CAC5B,CACA,SAASoW,GAAwBC,EAAW,CAC1C,IAAIC,EACJ,OAAQA,EAAKD,GAAc,KAA+B,OAASA,EAAU,CAAC,KAAO,MAAQC,IAAO,OAASA,EAAK,CACpH,CACA,SAASC,GAAiBC,EAAYC,EAAaC,EAAcC,EAAc,CAC7EH,EAAWC,CAAW,EAAIE,EAAe,CAACD,EAAcC,CAAY,EAAID,CAC1E,CACA,SAASE,GAAkB9D,EAAS+D,EAAU,CAC5C,OAAIA,EAAS,OAAS,EACb,CAAC/D,EAAS,OAAO,YAAY+D,CAAQ,CAAC,EAExC/D,CACT,CACA,SAASgE,GAAeC,EAAkBC,EAAiBC,EAAQC,EAAQzD,EAAO0D,EAAU,CAC1F,IAAIb,EACJ,MAAMO,EAAW,CAAA,EACbM,IAAa,GACfN,EAAS,KAAK,CAAC,IAAKM,CAAQ,CAAC,EAE3BH,IAAoB,KAAOvD,GAC7BoD,EAAS,KAAK,CAAC,IAAKpD,CAAK,CAAC,GAE3B6C,EAAKS,EAAiBC,CAAe,KAAO,MAAQV,IAAO,SAAcS,EAAiBC,CAAe,EAAI,CAAA,GAC1GC,GACFF,EAAiBC,CAAe,EAAE,KAAKJ,GAAkBK,EAAQJ,CAAQ,CAAC,EAExEK,GACFH,EAAiBC,CAAe,EAAE,KAAKJ,GAAkBM,EAAQL,CAAQ,CAAC,CAE9E,CAMA,SAASO,GAAkB5W,EAAQ6W,EAAoB,GAAIlE,EAAY,CAAE,EAAEF,EAAU,CACnF,UAAW,GACX,MAAO,GACP,MAAO,GACP,SAAU,EACZ,EAAGqE,EAAgB,CAAE,EAAEP,EAAmB,CAAA,EAAIzD,EAAU,CAEtD,UAAWtT,KAAYQ,EAAQ,CAE7B,GAAI+W,GAA2B,eAAevX,CAAQ,EAAG,CACdQ,EAAOR,CAAQ,EACxD,QACD,CACD,MAAMgB,EAAQR,EAAOR,CAAQ,EAE7B,GAAIgB,GAAS,KAGb,IAAIgV,GAAahV,CAAK,EAAG,CACvB,MAAM6Q,EAAWqE,GAAa/C,EAAU,KAAK,EAAE,CAAC,EAE1CjR,EAAMsT,GAAgB3D,EAAU7R,EAAUiT,CAAO,EACvDsD,GAAiBe,EAAepV,EAAK,EAAG,MAAS,EACjD,QACD,CACD,GAAI,OAAOlB,GAAU,UAAY,OAAOA,GAAU,SAAU,CAC1D,MAAM6Q,EAAWqE,GAAa/C,EAAU,KAAK,EAAE,CAAC,EAC1CkD,EAAYF,GAAuBnW,CAAQ,EACjD,GAAIqW,EAAW,CACb,MAAMmB,EAAsBnB,EAAU,CAAC,EACjCoB,EAAuB,OAAO,YAAYD,EAAoB,IAAIxX,GAAY,CAACA,EAAUiW,EAAK,CAAC,CAAC,EACtGmB,GAAkBK,EAAsBJ,EAAmBlE,EAAWF,EAASqE,EAAeP,CAAgB,CAC/G,CAED,MAAM7U,EAAMsT,GAAgB3D,EAAU7R,EAAUiT,CAAO,EACjDC,EAAY2C,GAAc,CAC9B,MAAO7U,EAAM,SAAU,EACvB,KAAMqW,EACN,SAAAxF,EACA,SAAA7R,CACD,EAAEiT,CAAO,EACJyE,EAAgBpE,GAAY,CAChC,IAAKtT,EACL,MAAOsT,CACf,GAAWxI,GAAgB9K,EAAUgB,CAAK,EAC9B2W,EAAeD,EAAc,MAAQ1X,GAAY0X,EAAc,QAAU1W,EACzEoS,EAAeuE,EAAe9B,GAAc,CAChD,MAAO6B,EAAc,MAAM,SAAU,EACrC,SAAUA,EAAc,IACxB,KAAML,EACN,SAAAxF,CACR,EAASoB,CAAO,EAAI,OACR2E,EAAoBD,EAAe,CACvC,aAAAvE,EACA,YAAasE,EAAc,IAC3B,SAAUA,EAAc,KACzB,EAAG,OACEV,EAAkB7B,GAAmBhC,EAAWF,CAAO,EACvD,CAACgE,EAAQC,CAAM,EAAInE,GAAqB,OAAO,OAAO,CAC1D,UAAAG,EACA,UAAAC,EACA,SAAAnT,EACA,MAAAgB,CACR,EAAS4W,CAAiB,EAAG3E,CAAO,EAC9BsD,GAAiBe,EAAepV,EAAKgR,EAAWE,CAAY,EAC5D0D,GAAeC,EAAkBC,EAAiBC,EAAQC,EAAQjE,EAAQ,MAAOmD,GAAwBC,CAAS,CAAC,CACzH,SAAerW,IAAa,gBAAiB,CACvC,MAAM6X,EAAqB,MAAM,QAAQ7W,CAAK,EAAIA,EAAQ,CAACA,CAAK,EAC1D8W,EAAiB,CAAA,EACjBC,EAAoB,CAAA,EAC1B,UAAW5D,KAAkB0D,EAAoB,CAC/C,MAAMtD,EAAcL,GAAoBC,CAAc,EAChD6D,EAAiB9D,GAAoB1J,GAAQ2J,CAAc,CAAC,EAC5D8D,EAAgBlC,GAAcJ,GAAWpB,CAAW,EAC1D,IAAI2D,EACJ,MAAMC,EAAgB9D,GAAoB4D,EAAe1D,CAAW,EACpE,IAAI6D,EAAmB,CAAA,EACnB7D,IAAgByD,EAElBE,EAAmBD,GAEnBC,EAAmBnC,GAAcJ,GAAWqC,CAAc,EAC1DI,EAAmB/D,GAAoB6D,EAAkBF,CAAc,GAEzE,QAASvX,EAAI,EAAGA,EAAI0X,EAAc,OAAQ1X,IACxCqW,GAAeC,EAEf,IAAKoB,EAAc1X,CAAC,EAAG2X,EAAiB3X,CAAC,EAAGwS,EAAQ,MAEpD,CAAC,EAEH6E,EAAe,KAAKG,CAAa,EACjCF,EAAkB,KAAKG,CAAgB,CACxC,CACDd,GAAkB,CAChB,cAAeU,EAAe,KAAK,IAAI,CAC/C,EAAST,EAAmBlE,EAAWF,EAASqE,EAAeP,EAAkBgB,EAAkB,KAAK,IAAI,CAAC,CACxG,SAAU,MAAM,QAAQ/W,CAAK,EAAG,CAE/B,GAAIA,EAAM,SAAW,EAInB,SAEF,MAAM6Q,EAAWqE,GAAa/C,EAAU,KAAK,EAAE,CAAC,EAC1CkD,EAAYF,GAAuBnW,CAAQ,EACjD,GAAIqW,EAAW,CACb,MAAMmB,EAAsBnB,EAAU,CAAC,EACjCoB,EAAuB,OAAO,YAAYD,EAAoB,IAAIxX,GAAY,CAACA,EAAUiW,EAAK,CAAC,CAAC,EACtGmB,GAAkBK,EAAsBJ,EAAmBlE,EAAWF,EAASqE,EAAeP,CAAgB,CAC/G,CACD,MAAM7U,EAAMsT,GAAgB3D,EAAU7R,EAAUiT,CAAO,EACjDC,EAAY2C,GAAc,CAC9B,MAAO7U,EAAM,IAAI2S,IAAMA,GAAiC,IAAI,SAAQ,CAAE,EAAE,KAAK,GAAG,EAChF,KAAM0D,EACN,SAAAxF,EACA,SAAA7R,CACD,EAAEiT,CAAO,EACJoF,EAAiBrX,EAAM,IAAI2S,GAAK7I,GAAgB9K,EAAU2T,CAAC,CAAC,EAElE,GAAI,CAD0B,CAAC0E,EAAe,KAAK1E,GAAKA,EAAE,MAAQ0E,EAAe,CAAC,EAAE,GAAG,EAKrF,SAEF,MAAMV,EAAeU,EAAe,CAAC,EAAE,MAAQrY,GAAYqY,EAAe,KAAK,CAAC1E,EAAGlT,IAAMkT,EAAE,QAAU3S,EAAMP,CAAC,CAAC,EACvG2S,EAAeuE,EAAe9B,GAAc,CAChD,MAAOwC,EAAe,IAAI1E,GAAK,CAC7B,IAAI2C,EACJ,QAASA,EAAK3C,GAAM,KAAuB,OAASA,EAAE,SAAW,MAAQ2C,IAAO,OAASA,EAAK,IAAI,UAC5G,CAAS,EAAE,KAAK,GAAG,EACX,KAAMe,EACN,SAAUgB,EAAe,CAAC,EAAE,IAC5B,SAAAxG,CACR,EAASoB,CAAO,EAAI,OACR2E,EAAoBD,EAAe,CACvC,aAAAvE,EACA,YAAaiF,EAAe,CAAC,EAAE,IAC/B,SAAUA,EAAe,IAAIC,GAAKA,EAAE,KAAK,CAC1C,EAAG,OACEtB,EAAkB7B,GAAmBhC,EAAWF,CAAO,EACvD,CAACgE,EAAQC,CAAM,EAAInE,GAAqB,OAAO,OAAO,CAC1D,UAAAG,EACA,UAAAC,EACA,SAAAnT,EACA,MAAOgB,CACf,EAAS4W,CAAiB,EAAG3E,CAAO,EAC9BsD,GAAiBe,EAAepV,EAAKgR,EAAWE,CAAY,EAC5D0D,GAAeC,EAAkBC,EAAiBC,EAAQC,EAAQjE,EAAQ,MAAOmD,GAAwBC,CAAS,CAAC,CACzH,SAAetQ,GAAS/E,CAAK,GACvB,GAAI+T,GAAiB/U,CAAQ,EAC3BoX,GAAkBpW,EAAOqW,EAAmBlE,EAAU,OAAOpH,GAAwB/L,CAAQ,CAAC,EAAGiT,EAASqE,EAAeP,CAAgB,UAChInC,GAAqB5U,CAAQ,EAAG,CACzC,MAAMuY,EAAqB9D,GAAsBxB,EAAQ,MAAOjT,EAAS,MAAM,CAAC,EAAE,KAAI,CAAE,EACxFoX,GAAkBpW,EAAOqW,EAAmBlE,EAAW,OAAO,OAAO,CAAE,EAAEF,EAAS,CAChF,MAAOsF,CACjB,CAAS,EAAGjB,EAAeP,CAAgB,CAC3C,SAAiBlC,GAAgB7U,CAAQ,EAAG,CACpC,MAAMwY,GAAsBvF,EAAQ,MAAQ,GAAGA,EAAQ,KAAK,IAAM,IAAMjT,EAAS,MAAM,CAAC,EAAE,KAAI,EAC9FoX,GAAkBpW,EAAOqW,EAAmBlE,EAAW,OAAO,OAAO,CAAE,EAAEF,EAAS,CAChF,MAAOuF,CACjB,CAAS,EAAGlB,EAAeP,CAAgB,CAC3C,SAAiB/B,GAAuBhV,CAAQ,EAAG,CAC3C,MAAMyY,EAAuBhE,GAAsBxB,EAAQ,SAAUjT,EAAS,MAAM,CAAC,EAAE,KAAI,CAAE,EAC7FoX,GAAkBpW,EAAOqW,EAAmBlE,EAAW,OAAO,OAAO,CAAE,EAAEF,EAAS,CAChF,SAAUwF,CACpB,CAAS,EAAGnB,EAAeP,CAAgB,CAC3C,SAAiB9B,GAAyBjV,CAAQ,EAAG,CAI7C,MAAM0Y,EAAiB1Y,EAAS,MAAM,EAAE,EAAE,KAAI,EAC9CoX,GAAkBpW,EAAOqW,EAAmBlE,EAAW,OAAO,OAAO,CAAE,EAAEF,EAAS,CAChF,UAAWyF,CACrB,CAAS,EAAGpB,EAAeP,CAAgB,CAC3C,GAIG,CACD,MAAO,CAACO,EAAeP,CAAgB,CACzC,CCzOA,SAAS4B,GAA0BC,EAAevB,EAAoB,GAAI,CACxE,MAAMwB,EAAmB,CAAA,EACnBxG,EAAW,CAAA,EAEjB,UAAWyG,KAAYF,EAAe,CACpC,MAAMG,EAAaH,EAAcE,CAAQ,EACnC,CAACE,EAAajC,CAAgB,EAAIK,GAAkB2B,EAAY1B,CAAiB,EACvFwB,EAAiBC,CAAQ,EAAIE,EAC7B,OAAO,KAAKjC,CAAgB,EAAE,QAAQC,GAAmB,CACvD3E,EAAS2E,CAAe,GAAK3E,EAAS2E,CAAe,GAAK,CAAE,GAAE,OAAOD,EAAiBC,CAAe,CAAC,CAC5G,CAAK,CACF,CACD,MAAO,CAAC6B,EAAkBxG,CAAQ,CACpC,CCfA,SAAS4G,GAAWL,EAAeM,EAAUC,GAAkB,CAC7D,MAAMC,EAAeF,IACrB,IAAIL,EAAmB,KACnBxG,EAAW,KACXgH,EAAwB,KACxBC,EAAwB,KAM5B,SAASC,EAAevG,EAAS,CAC/B,KAAM,CACJ,IAAAwG,EACA,SAAAC,CACD,EAAGzG,EACA6F,IAAqB,OACvB,CAACA,EAAkBxG,CAAQ,EAAIsG,GAA0BC,EAAea,EAAS,iBAAiB,GAUpG,MAAMC,EAAQF,IAAQ,MACtB,OAAIE,EACEL,IAA0B,OAC5BA,EAAwBM,GAA0Bd,EAAkBW,CAAG,GAGrEF,IAA0B,OAC5BA,EAAwBK,GAA0Bd,EAAkBW,CAAG,GAG3EJ,EAAaK,EAAUpH,CAAQ,EACJqH,EAAQL,EAAwBC,CAK5D,CACD,OAAOC,CACT,CCRK,MAAC/E,GAAa,CACjB,OAAAvT,GACA,WAAAC,GACA,aAAAC,GACA,YAAAC,GACA,UAAAC,GACA,YAAAR,GACA,YAAAD,GACA,aAAAU,GACA,YAAAX,GACA,KAAAwB,GACA,IAAAI,GACA,SAAAQ,GACA,OAAAK,GACA,YAAAC,GACA,aAAAG,GACA,QAAAC,GACA,aAAAC,GACA,cAAAC,GACA,SAAAC,GACA,MAAAG,GACA,QAAAC,GACA,WAAAI,GACA,eAAAU,EACF,EC/DA,SAASmU,GAAWL,EAAe,CACjC,MAAMgB,EAAYC,GAAajB,EAAeO,EAAgB,EAM9D,OAAO,UAAsB,CAC3B,MAAMK,EAAMM,KACNL,EAAWM,KACjB,OAAOH,EAAU,CACf,IAAAJ,EACA,SAAAC,CACN,CAAK,CACL,CACA,CCRO,SAASO,GAAK1U,EAAK2U,EAAY,CAElC,MAAMC,EAAS,CAAA,EACf,UAAUhY,KAAOoD,EACT2U,EAAW,QAAQ/X,CAAG,IAAM,IAAMoD,EAAI,eAAepD,CAAG,IACxDgY,EAAOhY,CAAG,EAAIoD,EAAIpD,CAAG,GAG7B,OAAOgY,CACX,CCpBA,MAAMC,GAAyBrM,IAC3BA,EAAS,CAAC,EACH,GAELsM,GAA4BC,GAASA,EAQhC,SAASC,IAAoB,CACpC,KAAM,CAAE,eAAAC,GAAmBC,KACrBC,EAAMF,GAAmB,KAAoC,OAASA,EAAe,YACrFG,EAAoBD,EAAMA,EAAI,sBAAwBN,GACtDQ,EAAsBF,EAAMA,EAAI,qBAAuBL,GAC7D,OAAOQ,GAAgBF,EAAmBC,CAAmB,CACjE,CCjBA,MAAME,GAAmB,CAACxM,EAAQyM,IAAQ,CAAC,EAAEzM,GAAW,MAAqCA,EAAO,SAASyM,CAAK,GAIjGC,GAAqB/H,GAAU,CAC5C,KAAM,CAAE,eAAAuH,GAAmBC,KACrBC,EAAMF,GAAmB,KAAoC,OAASA,EAAe,YACrF,CAAE,KAAAS,EAAM,SAAAlN,EAAU,QAAA0D,EAAS,SAAAyJ,EAAU,sBAAAC,EAAuB,SAAAC,EAAWN,EAAkB,EAAG7H,EAC5FoI,EAAYC,SAAa,MAAS,EACxCC,GAAe,CACX,QAAA9J,EACA,SAAU0J,GAAyBD,EACnC,SAAAnN,EACA,KAAAkN,EACA,SAAAG,CACR,CAAK,EACD,MAAMI,EAAuBF,SAAa,EAAK,EACzCG,EAAWC,GAAkBC,GAAK,CACpC,GAAIH,EAAqB,QAAS,CAC9BA,EAAqB,QAAU,GAC/B,MACH,CACD,MAAMI,EAASD,EAAG,aAAc,EAAC,CAAC,EAChBV,EAAK,MAAOY,GAAM,CAACT,EAASS,EAAI,SAAW,KAAMD,CAAM,CAAC,GACzD,CAACV,GACdnN,EAAS4N,CAAE,CAEvB,CAAK,EACKG,EAAkBJ,GAAkBC,GAAK,CAI3CH,EAAqB,QAAUP,EAAK,KAAMY,GAAMT,EAASS,EAAI,SAAW,KAAMF,EAAG,MAAM,CAAC,CAChG,CAAK,EACDI,EAAAA,UAAgB,IAAI,CAChB,GAAIb,EACA,OAKJ,IAAIc,EAAeC,GAAevB,CAAG,EACrC,MAAMwB,EAAsBC,GAAQ,CAEhC,GAAIA,IAAUH,EAAc,CACxBA,EAAe,OACf,MACH,CACDP,EAASU,CAAK,CAC1B,EAEQ,OAAA1K,GAAY,MAAsCA,EAAQ,iBAAiB,QAASyK,EAAoB,EAAI,EAC5GzK,GAAY,MAAsCA,EAAQ,iBAAiB,aAAcyK,EAAoB,EAAI,EACjHzK,GAAY,MAAsCA,EAAQ,iBAAiB,cAAeyK,EAAoB,EAAI,EAClHzK,GAAY,MAAsCA,EAAQ,iBAAiB,YAAaqK,EAAiB,EAAI,EAE7GT,EAAU,QAAUX,GAAQ,KAAyB,OAASA,EAAI,WAAW,IAAI,CAC7EsB,EAAe,MAClB,EAAE,CAAC,EACG,IAAI,CACPvK,GAAY,MAAsCA,EAAQ,oBAAoB,QAASyK,EAAoB,EAAI,EAC/GzK,GAAY,MAAsCA,EAAQ,oBAAoB,aAAcyK,EAAoB,EAAI,EACpHzK,GAAY,MAAsCA,EAAQ,oBAAoB,cAAeyK,EAAoB,EAAI,EACrHzK,GAAY,MAAsCA,EAAQ,oBAAoB,YAAaqK,EAAiB,EAAI,EAChHpB,GAAQ,MAAkCA,EAAI,aAAaW,EAAU,OAAO,EAC5EW,EAAe,MAC3B,CACA,EAAO,CACCP,EACAhK,EACAyJ,EACAY,EACApB,CACR,CAAK,CACL,EACMuB,GAAkBL,GAAS,CAC7B,GAAIA,EAAQ,CACR,IAAIQ,EAAmCC,EACvC,GAAI,OAAOT,EAAO,QAAW,UAAYA,EAAO,SAAWA,EAEvD,OAAOA,EAAO,MAElB,IAAIU,EAEJ,OAAQA,GAA2CD,EAAwBT,EAAO,iBAAmB,MAAQS,IAA0B,SAAmBD,EAAoCC,EAAsB,eAAiB,MAAQD,IAAsC,OAAnI,OAAqJA,EAAkC,SAAW,MAAQE,IAA4C,OAASA,EAA0C,MAC5b,CAEL,EACMC,GAAkB,gBAUdhB,GAAkBtI,GAAU,CAClC,KAAM,CAAE,SAAAiI,EAAU,QAASV,EAAgB,SAAAzM,EAAU,SAAAqN,EAAWN,GAAkB,aAAA0B,EAAe,IAAM,KAAAvB,CAAI,EAAKhI,EAC1GwJ,EAAanB,EAAAA,SACbG,EAAWC,GAAkBgB,GAAI,CACjBzB,EAAK,MAAOY,GAAM,CAACT,EAASS,EAAI,SAAW,KAAMa,EAAE,MAAM,CAAC,GAC3D,CAACxB,GACdnN,EAAS2O,CAAC,CAEtB,CAAK,EAEDX,EAAAA,UAAgB,IAAI,CAChB,GAAI,CAAAb,EAGJ,OAAAV,GAAmB,MAA6CA,EAAe,iBAAiB+B,GAAiBd,EAAU,EAAI,EACxH,IAAI,CACPjB,GAAmB,MAA6CA,EAAe,oBAAoB+B,GAAiBd,EAAU,EAAI,CAC9I,CACA,EAAO,CACCjB,EACAU,EACAO,CACR,CAAK,EAEDM,EAAAA,UAAgB,IAAI,CAChB,IAAIY,EACJ,GAAI,CAAAzB,EAGJ,OAAAuB,EAAW,QAAUjC,GAAmB,OAA8CmC,EAA8BnC,EAAe,eAAiB,MAAQmC,IAAgC,OAAhH,OAAkIA,EAA4B,YAAY,IAAI,CACtP,MAAMC,EAAgBpC,GAAmB,KAAoC,OAASA,EAAe,cACrG,IAAKoC,GAAkB,KAAmC,OAASA,EAAc,WAAa,WAAaA,GAAkB,KAAmC,OAASA,EAAc,WAAa,UAAW,CAC3M,MAAMT,EAAQ,IAAI,YAAYI,GAAiB,CAC3C,QAAS,EAC7B,CAAiB,EACDK,EAAc,cAAcT,CAAK,CACpC,CACJ,EAAEK,CAAY,EACR,IAAI,CACP,IAAIG,EACJnC,GAAmB,OAA8CmC,EAA8BnC,EAAe,eAAiB,MAAQmC,IAAgC,QAAkBA,EAA4B,aAAaF,EAAW,OAAO,CAChQ,CACA,EAAO,CACCjC,EACAU,EACAsB,CACR,CAAK,CACL,EC/IiBK,GAAsB5J,GAAU,CAC7C,KAAM,CAAE,KAAAgI,EAAM,SAAAlN,EAAU,QAAA0D,EAAS,SAAAyJ,EAAU,SAAU4B,CAAc,EAAG7J,EAChEwI,EAAWC,GAAkBC,GAAK,CACpC,MAAMP,EAAW0B,IAAiB,CAACxO,EAAQyM,IAAQ,CAAC,EAAEzM,GAAW,MAAqCA,EAAO,SAASyM,CAAK,IACrHa,EAASD,EAAG,aAAc,EAAC,CAAC,EAChBV,EAAK,MAAOY,GAAM,CAACT,EAASS,EAAI,SAAW,KAAMD,CAAM,CAAC,GACzD,CAACV,GACdnN,EAAS4N,CAAE,CAEvB,CAAK,EACDI,EAAAA,UAAgB,IAAI,CAChB,GAAI,CAAAb,EAGJ,OAAAzJ,GAAY,MAAsCA,EAAQ,iBAAiB,QAASgK,CAAQ,EAC5FhK,GAAY,MAAsCA,EAAQ,iBAAiB,YAAagK,CAAQ,EACzF,IAAI,CACPhK,GAAY,MAAsCA,EAAQ,oBAAoB,QAASgK,CAAQ,EAC/FhK,GAAY,MAAsCA,EAAQ,oBAAoB,YAAagK,CAAQ,CAC/G,CACA,EAAO,CACCA,EACAhK,EACAyJ,CACR,CAAK,CACL,ECVW,SAAS6B,IAAwB,CACxC,MAAMC,EAAUC,KAEhB,OAAID,GACAE,GAAYF,CAAO,EAEhBG,GAAoB,CACvB,SAAU,CACN,KAAMC,GAAc,MACvB,CACT,CAAK,CACL,CC1BW,SAASC,IAA8B,CAC9C,MAAMC,EAAaC,KACnB,OAAOC,EAAiB,YAAC,IAAI,CACzB,IAAIC,EACAC,EACJ,OAAQA,GAAgDD,EAAsBH,EAAW,WAAa,MAAQG,IAAwB,OAAS,OAASA,EAAoB,yBAAwB,KAAQ,MAAQC,IAAiD,OAASA,EAA+C,EACrU,EAAO,CACCJ,CACR,CAAK,CACL,CCXW,SAASK,IAA2B,CAC3C,MAAML,EAAaC,KACnB,OAAOC,EAAAA,YAAmBI,GAA2B,CACjD,IAAIH,GACHA,EAAsBH,EAAW,WAAa,MAAQG,IAAwB,QAAkBA,EAAoB,OAAOG,CAAwB,CAC5J,EAAO,CACCN,CACR,CAAK,CACL,CCsCY,MAACO,GAA0BC,GAAiB,aAAc,MAAO,CAAC,mOAAmO,CAAC,EAIrSC,GAA6BD,GAAiB,gBAAiB,MAAO,CAAC,uXAAuX,CAAC,EA0S/bE,GAA+BF,GAAiB,kBAAmB,MAAO,CAAC,ieAAie,CAAC,EA0G7iBG,GAAmCH,GAAiB,sBAAuB,MAAO,CAAC,6hBAA6hB,CAAC,EAuEjnBI,GAA0BJ,GAAiB,aAAc,MAAO,CAAC,yIAAyI,CAAC,EAC3MK,GAA2BL,GAAiB,cAAe,MAAO,CAAC,+KAA+K,CAAC,EAuBnPM,GAAiCN,GAAiB,oBAAqB,MAAO,CAAC,8bAA8b,CAAC,EAI9gBO,GAA0BP,GAAiB,aAAc,MAAO,CAAC,ohBAAohB,CAAC,EAgMtlBQ,GAA2BR,GAAiB,cAAe,MAAO,CAAC,2KAA2K,CAAC,EA4C/OS,GAAiCT,GAAiB,oBAAqB,MAAO,CAAC,0OAA0O,CAAC,EAM1TU,GAA+BV,GAAiB,kBAAmB,MAAO,CAAC,qPAAqP,CAAC,EAiLjUW,GAAqCX,GAAiB,wBAAyB,MAAO,CAAC,8JAA8J,CAAC,EAEtPY,GAAmCZ,GAAiB,sBAAuB,MAAO,CAAC,4JAA4J,CAAC,ECj9BhPa,GAAsB,kBACtBC,GAAuB,mBCE9BC,GAAuBC,GAAS,CACpC,KAAQ,CACN,OAAU,QACX,EACD,QAAW,CACT,OAAU,UACX,CACH,EAAG,CACD,EAAK,CAAC,yBAA0B,4BAA4B,CAC9D,CAAC,EACKC,GAAa,CAACC,EAAYC,IAAgB,CAC9C,MAAMC,EAAY1Q,GAAS,CACzB,KAAM,CACJ,UAAA2E,EACA,OAAAgM,EACA,GAAGC,CACJ,EAAG5Q,EACE/N,EAASoe,KACf,OAAOQ,EAAmB,cAACC,WAAgB,KAAMD,EAAmB,cAACL,EAAY,OAAO,OAAO,CAAE,EAAEI,EAAM,CACvG,UAAWG,GAAa9e,EAAO,KAAM0e,GAAU1e,EAAO,QAASke,GAAqBxL,CAAS,CACnG,CAAK,CAAC,EAAGkM,EAAAA,cAAoBJ,EAAa,OAAO,OAAO,CAAE,EAAEG,EAAM,CAC5D,UAAWG,GAAa9e,EAAO,KAAM,CAAC0e,GAAU1e,EAAO,QAASme,GAAsBzL,CAAS,CAChG,CAAA,CAAC,CAAC,CACP,EACE,OAAA+L,EAAU,YAAc,eACjBA,CACT,EACAM,GAAeT,GC3BJ,SAASU,GAA8BC,EAAa,CAC3D,MAAMjY,EAAOiY,EAAY,QACnBpY,EAAMoY,EAAY,QAClBnY,EAAQE,EAAO,EACfD,EAASF,EAAM,EACrB,SAASqY,GAAwB,CAC7B,MAAO,CACH,KAAAlY,EACA,IAAAH,EACA,MAAAC,EACA,OAAAC,EACA,EAAGC,EACH,EAAGH,EACH,OAAQ,EACR,MAAO,CACnB,CACK,CACD,MAAO,CACH,sBAAAqY,CACR,CACA,CCfW,SAASC,GAAiBC,EAAYC,EAAa,CAI1D,OAHI,OAAOD,GAAe,UAGtB,OAAOA,GAAe,UAAYA,IAAe,KAC1CE,GAAeF,EAAYC,CAAW,EAE7C,OAAOD,GAAe,WACdG,GAAe,CACnB,MAAMvZ,EAASoZ,EAAWG,CAAY,EACtC,OAAOD,GAAetZ,EAAQqZ,CAAW,CACrD,EAEW,CACH,SAAUA,CAClB,CACA,CACA,MAAMC,GAAiB,CAACtZ,EAAQqZ,IAAc,CAC1C,GAAI,OAAOrZ,GAAW,SAClB,MAAO,CACH,SAAUA,EAASqZ,CAC/B,EAEI,IAAIG,EACJ,MAAO,CACH,GAAGxZ,EACH,WAAYwZ,EAAmBxZ,EAAO,YAAc,MAAQwZ,IAAqB,OAASA,EAAmB,GAAKH,CAC1H,CACA,EC1BiBI,GAA6BC,GAAe,CACzD,KAAM,CAACC,EAAgBC,CAAiB,EAAIC,EAAc,SAACH,CAAY,EAmBvE,MAAO,CACHC,EAnB2BjE,GAAQ,CACnC,GAA2BA,GAAU,KAAM,CACvCkE,EAAkB,MAAS,EAC3B,MACH,CACD,IAAIE,EACEpE,aAAiB,WAGnBoE,EAAapE,EAFboE,EAAapE,EAAM,YAIjBoE,aAAsB,WAI5B,MAAMC,EAAgBf,GAA8Bc,CAAU,EAC9DF,EAAkBG,CAAa,CACvC,CAIA,CACA,EChCiBV,GAAc,EAOdW,GAAsB,ECKtBC,GAAuBlS,GAAQ,CAC5C,cACA,IAAImS,EAAcC,EAAeC,EAAeC,EAAeC,EAAeC,EAC9E,MAAMC,EAAUC,KACVC,EAAqBC,KACrB,CAAE,eAAA5G,GAAmBC,KACrB,CAAC4G,EAAiBC,CAAiB,EAAIC,GAAU,EACjD,CAAE,WAAAC,EAAa,SAAU,SAAA/S,EAAU,QAAAgT,EAAS,UAAAC,EAAY,GAAO,YAAAC,EAAc,QAAS,gBAAAC,EAAiB,aAAAC,EAAc,UAAAC,EAAY,IAAK,UAAAC,EAAY,IAAK,UAAAC,CAAW,EAAGxT,EACrK,CAACyT,EAASC,CAAkB,EAAIC,GAAqB,CACvD,MAAO3T,EAAM,QACb,aAAc,EACtB,CAAK,EACK4T,EAAa5E,EAAAA,YAAkB,CAAC7B,EAAI0G,IAAO,CAC7Cf,IACAY,EAAoBI,IACZD,EAAK,UAAYC,IACjBV,GAAoB,MAA8CA,EAAgBjG,EAAI0G,CAAI,GAEvFA,EAAK,QACf,CACT,EAAO,CACCf,EACAY,EACAN,CACR,CAAK,EACK3a,EAAQ,CACV,UAAAya,EACA,YAAAC,EACA,UAAAG,EACA,UAAAC,EACA,aAAAF,EACA,QAAAI,EACA,oBAAqBA,EACrB,WAAAT,EACA,UAAAQ,EAEA,WAAY,CACR,QAAS,KACZ,EACD,QAASO,GAAYd,EAAS,CAC1B,aAAc,CACV,KAAM,SACT,EACD,YAAa,KACzB,CAAS,CACT,EACIxa,EAAM,QAAQ,GAAKub,GAAM,WAAYvb,EAAM,QAAQ,EAAE,EACrD,MAAMwb,EAAqB,CACvB,QAASxb,EAAM,QACf,aAAc,EAAIwZ,GAClB,SAAU,QACV,MAAO,SACP,OAAQ,EACR,GAAGiC,GAA4Bzb,EAAM,WAAW,CACxD,EACQA,EAAM,YACNwb,EAAmB,OAAS7C,GAAiB6C,EAAmB,OAAQ3C,EAAW,GAEvF,KAAM,CAAE,UAAA6C,EAAW,aAAAC,EAAc,SAAAC,CAAQ,EAAKC,GAAeL,CAAkB,EAC/Exb,EAAM,QAAQ,IAAM8b,GAAc9b,EAAM,QAAQ,IAAK2b,CAAY,EACjE3b,EAAM,SAAW4b,EAIjBG,GAA0B,IAAI,CAC1B,GAAIf,EAAS,CACT,IAAIgB,EACJ,MAAMC,EAAc,CAChB,KAAOvH,GAAKyG,EAAW,OAAW,CAC1B,QAAS,GACT,sBAAuBzG,CAC/C,CAAqB,CACrB,GACasH,EAA0BhC,EAAQ,kBAAoB,MAAQgC,IAA4B,QAAkBA,EAAwB,KAAI,EACzIhC,EAAQ,eAAiBiC,EACzB,MAAMC,EAAqBxH,GAAK,CACxBA,EAAG,MAAQyH,IAAU,CAACzH,EAAG,mBACzBuH,EAAY,KAAKvH,CAAE,EAGnBA,EAAG,eAAc,EAErC,EACY,OAAAnB,GAAmB,MAA6CA,EAAe,iBAAiB,UAAW2I,EAAmB,CAG1H,QAAS,EACzB,CAAa,EACM,IAAI,CACHlC,EAAQ,iBAAmBiC,IAC3BjC,EAAQ,eAAiB,QAE7BzG,GAAmB,MAA6CA,EAAe,oBAAoB,UAAW2I,EAAmB,CAC7H,QAAS,EAC7B,CAAiB,CACjB,CACS,CACT,EAAO,CACClC,EACAzG,EACAyH,EACAG,CACR,CAAK,EAGD,MAAMiB,EAA0B/H,SAAa,EAAK,EAE5CgI,EAAiB9F,cAAmB7B,GAAK,CAC3C,GAAIA,EAAG,OAAS,SAAW0H,EAAwB,QAAS,CACxDA,EAAwB,QAAU,GAClC,MACH,CAED,MAAM3e,EAAQuc,EAAQ,eAAiB,EAAIha,EAAM,UACjDoa,EAAgB,IAAI,CAChBe,EAAWzG,EAAI,CACX,QAAS,EACzB,CAAa,CACJ,EAAEjX,CAAK,EACRiX,EAAG,QAAO,CAClB,EAAO,CACC0F,EACAe,EACAnb,EAAM,UACNga,CACR,CAAK,EACKrD,EAA2BP,GAA2B,IAEtD,CAACkG,CAA0B,EAAIjD,EAAAA,SAAe,IAAI,CACpD,MAAMkD,EAAoB7H,GAAK,CAC3B,IAAI8H,EAKE,GAAAA,EAAa9H,EAAG,UAAY,MAAQ8H,IAAe,SAAkBA,EAAW,2BAA8B,CAAC7F,IACjHyF,EAAwB,QAAU,GAElD,EAEQ,IAAIK,EAAU,KAEd,OAAQjS,GAAU,CACdiS,GAAY,MAAsCA,EAAQ,oBAAoBC,GAAiBH,CAAgB,EAC/G/R,GAAY,MAAsCA,EAAQ,iBAAiBkS,GAAiBH,CAAgB,EAC5GE,EAAUjS,CACtB,CACA,CAAK,EAEKmS,EAAiBpG,cAAmB7B,GAAK,CAC3C,IAAIjX,EAAQuC,EAAM,UACd0U,EAAG,OAAS,SAEZjX,EAAQ,EAMR2e,EAAwB,SAAW7I,GAAmB,KAAoC,OAASA,EAAe,iBAAmBmB,EAAG,QAE5I0F,EAAgB,IAAI,CAChBe,EAAWzG,EAAI,CACX,QAAS,EACzB,CAAa,CACJ,EAAEjX,CAAK,EACRiX,EAAG,QAAO,CAClB,EAAO,CACC0F,EACAe,EACAnb,EAAM,UACNuT,CACR,CAAK,EAGDvT,EAAM,QAAQ,eAAiB4c,GAAe5c,EAAM,QAAQ,eAAgBqa,CAAiB,EAC7Fra,EAAM,QAAQ,eAAiB4c,GAAe5c,EAAM,QAAQ,eAAgB2c,CAAc,EAC1F3c,EAAM,QAAQ,QAAU4c,GAAe5c,EAAM,QAAQ,QAASqa,CAAiB,EAC/Era,EAAM,QAAQ,OAAS4c,GAAe5c,EAAM,QAAQ,OAAQ2c,CAAc,EAC1E,MAAM7I,EAAQ+I,GAAgBrV,CAAQ,EAChCsV,EAAmB,CAAA,EACnBC,GAAiBjJ,GAAU,OAAqC4F,EAAe5F,EAAM,SAAW,MAAQ4F,IAAiB,OAAnE,OAAqFA,EAAa,eAAe,KAAO,SAAW5F,GAAU,OAAqC6F,EAAgB7F,EAAM,SAAW,MAAQ6F,IAAkB,OAArE,OAAuFA,EAAc,eAAe,GACxV,OAAIiB,IAAiB,QAEb,OAAO5a,EAAM,QAAQ,UAAa,SAClC8c,EAAiB,YAAY,EAAI9c,EAAM,QAAQ,UAE/C8c,EAAiB,iBAAiB,EAAI9c,EAAM,QAAQ,GAEpDA,EAAM,oBAAsB,IAEzB4a,IAAiB,gBACxBkC,EAAiB,kBAAkB,EAAI9c,EAAM,QAAQ,GAErDA,EAAM,oBAAsB,KAI5Bka,GAAsB6C,KACtB/c,EAAM,oBAAsB,IAGhCA,EAAM,SAAWgd,GAA4BxV,EAAU,CACnD,GAAGsV,EACH,GAAGhJ,GAAU,KAA2B,OAASA,EAAM,MACvD,IAAKgI,GAAchI,GAAU,KAA2B,OAASA,EAAM,IAAKwI,EAC5Ed,EAAmB,SAAW,OAAYE,EAAY,MAAS,EAC/D,eAAgBjH,GAAiBmI,GAAe9I,GAAU,OAAqC8F,EAAgB9F,EAAM,SAAW,MAAQ8F,IAAkB,OAArE,OAAuFA,EAAc,eAAgByC,CAAc,CAAC,EACzN,eAAgB5H,GAAiBmI,GAAe9I,GAAU,OAAqC+F,EAAgB/F,EAAM,SAAW,MAAQ+F,IAAkB,OAArE,OAAuFA,EAAc,eAAgB8C,CAAc,CAAC,EACzN,QAASlI,GAAiBmI,GAAe9I,GAAU,OAAqCgG,EAAgBhG,EAAM,SAAW,MAAQgG,IAAkB,OAArE,OAAuFA,EAAc,QAASuC,CAAc,CAAC,EAC3M,OAAQ5H,GAAiBmI,GAAe9I,GAAU,OAAqCiG,EAAgBjG,EAAM,SAAW,MAAQiG,IAAkB,OAArE,OAAuFA,EAAc,OAAQ4C,CAAc,CAAC,CACjN,CAAK,EACM3c,CACX,EC9NiBid,GAA0Bjd,GAElBkd,GAAMC,EAAAA,SAAW,CAClC,SAAU,CACNnd,EAAM,SACNA,EAAM,qBAAqCod,GAAKC,GAAQ,CACpD,UAAWrd,EAAM,UACjB,SAAwBkd,GAAMld,EAAM,QAAS,CACzC,SAAU,CACNA,EAAM,WAA2Bod,GAAK,MAAO,CACzC,IAAKpd,EAAM,SACX,UAAWA,EAAM,cAC7C,CAAyB,EACDA,EAAM,QAAQ,QACjB,CACrB,CAAiB,CACjB,CAAa,CACJ,CACT,CAAK,ECnBQsd,GAAoB,CAC/B,QAAS,sBACX,EAIMC,GAAyB1F,GAAS,CACtC,KAAM,CACJ,OAAQ,SACR,QAAS,WACT,QAAS,WACT,QAAS,WACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,UACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,UACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,WACT,OAAQ,UACR,OAAQ,UACR,QAAS,SACV,EACD,QAAS,CACP,OAAQ,SACT,EACD,SAAU,CACR,OAAQ,UACR,OAAQ,SACT,EACD,MAAO,CACL,QAAS,WACT,OAAQ,WACR,QAAS,WACT,OAAQ,WACR,QAAS,UACT,OAAQ,WACR,QAAS,SACT,QAAS,WACT,QAAS,UACT,QAAS,UACT,OAAQ,WACR,OAAQ,WACR,QAAS,WACT,OAAQ,WACR,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,WACT,OAAQ,UACR,QAAS,UACT,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,EACR,MAAO,EACP,QAAS,EACT,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,WACR,OAAQ,UACR,QAAS,UACT,OAAQ,WACR,OAAQ,WACR,OAAQ,UACR,QAAS,WACT,OAAQ,WACR,QAAS,WACT,QAAS,UACT,QAAS,UACV,CACH,EAAG,CACD,EAAG,CAAC,yBAA0B,oCAAqC,8BAA+B,6BAA8B,+CAAgD,8CAA+C,kDAAmD,sCAAuC,CAAC,qDAAsD,CAC9W,EAAG,EACP,CAAG,EAAG,CAAC,4DAA6D,CAChE,EAAG,EACP,CAAG,EAAG,CAAC,wCAAyC,CAC5C,EAAG,EACP,CAAG,EAAG,6DAA8D,kDAAmD,8HAA+H,2BAA4B,kEAAmE,+DAAgE,gCAAiC,yBAA0B,qDAAsD,qDAAsD,uCAAwC,wCAAyC,iEAAkE,kEAAmE,wDAAyD,wDAAyD,iCAAoC,oCAAqC,+CAAgD,CAAC,kCAAmC,CAC7hC,EAAG,EACJ,CAAA,EAAG,gCAAiC,iCAAkC,CAAC,qEAAsE,CAC5I,EAAG,EACJ,CAAA,EAAG,wEAAyE,kEAAmE,wFAA2F,kFAAqF,uFAA0F,mFAAsF,wFAA2F,qFAAwF,uFAA0F,kFAAoF,CACn1B,CAAC,EAIY2F,GAA4Bxd,GAAS,CAChD,cAEA,MAAMxG,EAAS+jB,KACf,OAAAvd,EAAM,QAAQ,UAAYsY,GAAagF,GAAkB,QAAS9jB,EAAO,KAAMwG,EAAM,aAAe,YAAcxG,EAAO,SAAUwG,EAAM,SAAWxG,EAAO,QAASwG,EAAM,QAAQ,SAAS,EAC3LA,EAAM,eAAiBxG,EAAO,MACvBwG,CACT,EC5HiByd,GAAWlW,GAAQ,CAChC,MAAMvH,EAAQyZ,GAAoBlS,CAAK,EACvC,OAAAiW,GAA0Bxd,CAAK,EAC/B0d,GAA4B,2BAA2B,EAAE1d,CAAK,EACvDid,GAAuBjd,CAAK,CACvC,EACAyd,GAAQ,YAAc,UAEtBA,GAAQ,yBAA2B,GCVvB,MAACE,GAAkBC,GAAc,CACzC,aAAc,OACd,WAAY,UACZ,aAAc,GACd,KAAM,GACN,gBAAkB,CACd,MAAO,IAAI,EACd,EACD,gBAAiB,CAAE,EACnB,cAAgB,CAEf,EACD,iBAAmB,CAElB,EACD,SAAW,CAEV,EACD,KAAM,QACV,CAAC,EAM+BD,GAAgB,SC7BzC,SAASE,GAAyB7d,EAAO,CAC5C,KAAM,CAAE,WAAAua,EAAY,KAAAuD,EAAM,cAAAC,EAAe,wBAAAC,EAAyB,eAAAC,EAAgB,gBAAAC,EAAiB,aAAAC,EAAc,QAAAC,EAAS,KAAArU,EAAM,2BAAAsU,EAA4B,cAAAC,EAAe,yBAAAC,CAAwB,EAAKve,EAClMwe,EAAW,CACb,aAAc,OACd,WAAAjE,EACA,aAAc,GACd,KAAAuD,EACA,eAAAG,EACA,gBAAAC,EACA,aAAAC,EACA,gBAAiB,IAAI,KACrB,QAAAC,EACA,KAAArU,CACR,EACU0U,EAAU,CACZ,aAAc,OACd,aAAc,GACd,cAAAV,EACA,wBAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,gBAAiB,IAAI,KACrB,cAAAG,EACA,yBAAAC,CACR,EACUG,EAAmBC,EAAAA,QAAc,KAAK,CACpC,WAAYN,CACxB,GAAY,CACJA,CACR,CAAK,EACD,MAAO,CACH,SAAAG,EACA,iBAAAE,EACA,QAAAD,CACR,CACA,CCjCW,MAAMG,GAAyB5e,GAEjBkd,GAAMld,EAAM,KAAM,CACnC,SAAU,CACNA,EAAM,WAA2Bod,GAAKpd,EAAM,UAAW,CAAA,CAAE,EACzDA,EAAM,KAAK,QACd,CACT,CAAK,ECJY6e,GAAuBC,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CACnE,MAAM5U,EAAQ+e,GAAmBxX,EAAOqN,CAAG,EAC3C,OAAAoK,GAAyBhf,CAAK,EAC9B0d,GAA4B,0BAA0B,EAAE1d,CAAK,EACtD4e,GAAsB5e,CAAK,CACtC,CAAC,EACD6e,GAAO,YAAc,SCXd,SAASI,GAAuB1X,EAAO,CAC1C,KAAM,CAAE,YAAAmT,CAAa,EAAGnT,EAUlB2X,EAAgB,CAClB,SAAU,QACV,MAAO,QACP,OAAQ,CACJ,UAAW,EACX,SAAU,CACb,EACD,kBAfsB,CACtB,QACA,QACA,YACA,SACA,YACR,EAUQ,gBAAiB,QACjB,SAAU,GACV,GAAGzD,GAA4Bf,CAAW,CAClD,EACU,CAAE,UAAAgB,EAAW,aAAAC,CAAc,EAAGE,GAAeqD,CAAa,EAChE,MAAO,CACHvD,EACAD,CACR,CACA,CCvBW,SAASyD,GAAeC,EAAqBxK,EAAK5I,EAAS,CAClE,KAAM,CAAE,MAAO,CAAE,KAAA8R,EAAM,QAAAM,EAAS,YAAAiB,GAAe,aAAAC,EAAc,YAAAC,EAAa,2BAAAlB,CAA4B,EAAGrS,EACnGwT,EAAUlE,GAAY8D,EAAqB,CAC7C,aAAc,CACV,KAAM,OACN,gBAAiBtB,EACjB,KAAM,WACN,GAAG,OAAOwB,GAAiB,UAAYA,CAC1C,EACD,YAAAC,CACR,CAAK,EAEKE,EAAapL,SAAa,IAAI,EACpC,OAAAmL,EAAQ,IAAM1D,GAAc2D,EAAYD,EAAQ,IAAK5K,CAAG,EAExD4K,EAAQ,OAAS5C,GAAgB1H,GAAQ,CACrCkJ,EAAQlJ,EAAO,EAAK,EACpBmK,EAAY,EAAK,CACzB,EAAOG,EAAQ,MAAM,EACjBA,EAAQ,QAAU5C,GAAgB1H,GAAQ,CAClCA,EAAM,SAAWA,EAAM,eACvBmK,EAAY,EAAI,CAE5B,EAAOG,EAAQ,OAAO,EAClBA,EAAQ,QAAU5C,GAAgB1H,GAAQ,CACtCkJ,EAAQlJ,EAAO,CAAC4I,CAAI,CAC5B,EAAO0B,EAAQ,OAAO,EAElBA,EAAQ,UAAY5C,GAAe8C,GAAkB,CACjD,2BAAArB,EACA,GAAGrS,EAAQ,KACnB,CAAK,EAAGwT,EAAQ,SAAS,EACdA,CACX,CACA,SAASE,GAAkB1T,EAAS,CAChC,KAAM,CAAE,2BAAAqS,EAA4B,cAAAN,EAAe,QAAAK,EAAS,aAAAD,EAAc,YAAAwB,EAAa,KAAA7B,CAAM,EAAG9R,EAC1F4T,EAAkBrJ,EAAAA,YAAkB,IAAI,CAC1C,MAAMsJ,EAAiBxB,EAA2B,SAClD,OAAOwB,EAAiB9B,EAAc8B,CAAc,EAAI,MAChE,EAAO,CACCxB,EACAN,CACR,CAAK,EACK+B,EAAQ,IAAI,CACdzB,EAA2B,MAAK,CACxC,EACU0B,EAAO,IAAI,CACb1B,EAA2B,KAAI,CACvC,EACUxW,EAAQmY,GAAe,CACrBA,EACA3B,EAA2B,KAAI,EAE/BA,EAA2B,MAAK,CAE5C,EACU/U,EAAY0W,GAAe,CACzBA,EACA3B,EAA2B,KAAI,EAE/BA,EAA2B,MAAK,CAE5C,EACU4B,EAAS,IAAI,CACf,QAAQxmB,EAAI,EAAGA,EAAI,GAAIA,IACnB4kB,EAA2B,KAAI,CAE3C,EACU6B,EAAW,IAAI,CACjB,QAAQzmB,EAAI,EAAGA,EAAI,GAAIA,IACnB4kB,EAA2B,KAAI,CAE3C,EACU8B,EAAwBzJ,KAC9B,OAAOjC,GAAkBgB,GAAI,CACzB,MAAM2K,EAASC,GAAyB5K,EAAG,CACvC,KAAAqI,EACA,YAAA6B,CACZ,CAAS,EACKK,EAAeJ,IACrB,OAAOQ,EAAM,CACT,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,WACL,IAAK,WACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,cACL,IAAK,SACD3K,EAAE,eAAc,EAChB,KACP,CAED,OADA0K,EAAsB,EAAI,EACnBC,EAAM,CACT,IAAK,QACDN,IACA,MACJ,IAAK,OACDC,IACA,MACJ,IAAK,OACDlY,EAAKmY,CAAY,EACjB,MACJ,IAAK,WACD1W,EAAS0W,CAAY,EACrB,MACJ,IAAK,WACDE,IACA,MACJ,IAAK,SACDD,IACA,MACJ,IAAK,OACD7B,EAAQ3I,EAAG,EAAI,EACf,MACJ,IAAK,QAEDA,EAAE,gBAAe,EACjB2I,EAAQ3I,EAAG,EAAK,EAChB,MACJ,IAAK,cACD,CAACkK,GAAe,EAAEK,GAAiB,MAA2CA,EAAa,WAAa5B,EAAQ3I,EAAG,EAAK,EAE5H,IAAK,SACDuK,GAAgB7B,EAAa1I,EAAGuK,CAAY,EAC5C,MACJ,IAAK,MACD,CAACL,GAAeK,GAAgB7B,EAAa1I,EAAGuK,CAAY,EAC5D,KACP,CACT,CAAK,CACL,CCnIW,SAASM,GAAqBC,EAAkB3L,EAAK5I,EAAS,CACrE,cACA,KAAM,CAAE,MAAO,CAAE,KAAA8R,EAAM,QAAAM,EAAS,cAAAL,CAAa,EAAI,aAAAuB,EAAc,2BAAAjB,CAA4B,EAAGrS,EAExFwU,EAAenM,SAAa,EAAE,EAC9B,CAACoM,EAAeC,CAAe,EAAIpG,GAAU,EAC7CqG,EAA2B,CAACC,EAASC,EAAM,CAC7C,cAAe,EACvB,IAAQ,CACA,KAAM,CAAE,cAAAC,CAAe,EAAGD,EACpBhB,EAAiBxB,EAA2B,SAC5C0C,EAAc1C,EAA2B,KAAM2C,GAAK,CACtD,MAAMC,EAASlD,EAAciD,CAAE,EAC/B,MAAO,CAAC,CAACC,GAAUL,EAAQK,EAAO,IAAI,CAClD,EAAW,CACC,UAAWH,EAAgBzC,EAA2B,KAAK,CACvD,QAAS,EACZ,CAAA,EAAIwB,CACjB,CAAS,EACD,OAAIkB,GAIG1C,EAA2B,KAAM2C,GAAK,CACzC,MAAMC,EAASlD,EAAciD,CAAE,EAC/B,MAAO,CAAC,CAACC,GAAUL,EAAQK,EAAO,IAAI,CAClD,CAAS,CACT,EACUC,EAAoD,IAAI,CACtDP,EAA0BQ,GACnBA,EAAW,oBAAoB,QAAQX,EAAa,OAAO,IAAM,EACzE,CAEC,cAAeA,EAAa,QAAQ,SAAW,CAC3D,CAAS,GAIGY,GAAkBZ,EAAa,OAAO,GAAKG,EAA0BQ,GAC9DA,EAAW,kBAAiB,EAAG,QAAQX,EAAa,QAAQ,CAAC,CAAC,IAAM,EAC5E,CAEC,cAAe,EAC3B,CAAS,GAGDnC,EAA2B,KAAI,CACvC,EACUgD,EAAoB3M,GAAK,CAE3BgM,IAEIL,GAAyB3L,CAAE,IAAM,SAEjC8L,EAAa,SAAW9L,EAAG,IAAI,YAAW,EAC1C+L,EAAc,IAAI,CACdD,EAAa,QAAU,EAC1B,EAAE,GAAG,EACF1C,GACAoD,IAGJ,CAACpD,GAAQM,EAAQ1J,EAAI,EAAI,EAErC,EACU8K,EAAUL,GAAeoB,EAAkB3L,EAAK,CAClD,MAAO5I,EAAQ,MACf,aAAAsT,EACA,YAAa,SACb,2BAAAjB,CACR,CAAK,EACD,OAAAmB,EAAQ,UAAY5C,GAAeyE,EAAkB7B,EAAQ,SAAS,EAC/DA,CACX,CAGI,SAAS4B,GAAkBE,EAAK,CAChC,QAAQ7nB,EAAI,EAAGA,EAAI6nB,EAAI,OAAQ7nB,IAC3B,GAAI6nB,EAAI7nB,CAAC,IAAM6nB,EAAI7nB,EAAI,CAAC,EACpB,MAAO,GAGf,MAAO,EACX,CCxEW,MAAM8nB,GAAuB,CAACha,EAAOqN,IAAM,CAClD,cACA,IAAI4M,EAEJja,EAAQka,GAA8Bla,EAAO,CACzC,iBAAkB,GAClB,aAAc,EACtB,CAAK,EACD,KAAM,CAAE,WAAYma,EAA4B,gBAAAC,EAAiB,WAAYtD,CAA4B,EAAGuD,GAAoB,CAC5H,YAAcC,GAAKA,EAAG,UAAU,SAASC,GAAiB,IAAI,CACtE,CAAK,EACKC,EAAYC,GAAqB,CACnC,GAAGza,EACH,2BAAA8W,EACA,SAAU,EAClB,CAAK,EACK,CAAE,UAAA4D,EAAW,eAAAC,EAAgB,SAAAjO,EAAU,SAAAkO,EAAU,YAAAxC,EAAa,KAAA7B,EAAM,gBAAAI,EAAiB,QAAAE,CAAS,EAAG2D,EACjG,CAAE,QAASK,EAAoB,KAAMC,CAAe,EAAKC,GAA0B,CACrF,MAAA/a,EACA,mBAAoB,SACpB,kBAAmB,CACf,UACH,CACT,CAAK,EACK,CAACgb,EAAkBC,CAAiB,EAAIvD,GAAuB1X,CAAK,EACpEkY,EAAapL,SAAa,IAAI,EAC9BoK,EAAUgE,GAAelb,EAAM,QAASuU,GAAcyG,EAAkBb,CAA0B,EAAG,CACvG,MAAOK,EACP,WAAAtC,EACA,aAAc,CACV,SAAUlY,EAAM,QACnB,CACT,CAAK,EACK,CAAE,eAAAgM,GAAmBC,KAC3BO,GAAkB,CACd,QAASR,EACT,SAAW2B,GAAQkJ,EAAQlJ,EAAO,EAAK,EACvC,KAAM,CACFuK,EACA8C,EACAC,CACH,EACD,SAAU,CAAC1E,CACnB,CAAK,EACD,IAAI4E,EACJ,MAAMlD,EAAUc,IAAsBoC,EAAgBnb,EAAM,UAAY,MAAQmb,IAAkB,OAASA,EAAgB,GAAI5G,GAAc2D,EAAYkC,EAAiB/M,CAAG,EAAG,CAC5K,MAAOmN,EACP,aAAc,CACV,KAAM,SAEN,SAAUK,EAAmB,SAAW,OAAY,EACpD,SAAUL,EAAU,OAASxa,EAAM,YACnC,gBAAiBuW,EAAOW,GAAY,KAA6B,OAASA,EAAQ,GAAK,OACvF,GAAG2D,CACN,EACD,2BAAA/D,CACR,CAAK,EACKsE,EAAWrH,GAAY/T,EAAM,KAAM,CACrC,aAAc,CACV,YAAa,CAACA,EAAM,aAAeuW,EAAOW,GAAY,KAA6B,OAASA,EAAQ,GAAK,OACzG,SAAUlX,EAAM,SAChB,GAAG8a,CACN,EACD,YAAa,KACrB,CAAK,EACDM,EAAS,IAAM7G,GAAc6G,EAAS,IAAKH,CAAiB,EAC5D,MAAMI,EAAkB1E,EAAgB,OAAS,GAAK,CAACjK,GAAYgO,GAAa,CAACtC,EAC3E3f,EAAQ,CACV,WAAY,CACR,KAAM,MACN,OAAQ,SACR,YAAa,SACb,WAAY,OACZ,QAAS6iB,EACZ,EACD,KAAMF,EACN,OAAQnD,EACR,QAAS1B,GAAQqE,EAAW1D,EAAU,OACtC,YAAaqE,GAAcvb,EAAM,YAAa,CAC1C,aAAc,CACV,aAAc,kBACd,SAAwB6Q,EAAAA,cAAoB2K,GAAa,IAAI,EAG7D,SAAUH,EAAkB,EAAI,OAChC,KAAM,QACT,EACD,YAAa,SACb,gBAAiB,EAC7B,CAAS,EACD,WAAYE,GAAcvb,EAAM,WAAY,CACxC,gBAAiB,GACjB,aAAc,CACV,SAAwB6Q,EAAAA,cAAoB4K,GAAiB,IAAI,CACpE,EACD,YAAa,MACzB,CAAS,EACD,mBAAoB,CAACjB,EAAU,OAAS,CAAC,CAACxa,EAAM,YAChD,gBAAAqb,EACA,2BAAAvE,EACA,GAAG0D,CACX,EACUkB,EAAqBxO,GAAiBmI,IAAgB4E,EAAqBxhB,EAAM,eAAiB,MAAQwhB,IAAuB,OAAS,OAASA,EAAmB,QAAU9M,GAAK,CACvL,IAAIwO,EACJhB,EAAexN,CAAE,GAChBwO,EAAsBzD,EAAW,WAAa,MAAQyD,IAAwB,QAAkBA,EAAoB,MAAK,CAC7H,CAAA,CAAC,EACF,OAAIljB,EAAM,cACNA,EAAM,YAAY,QAAUijB,GAG5BtD,IACA3f,EAAM,YAAc,QAcjBA,CACX,EC3IiBmjB,GAA0B,CAACnjB,EAAOojB,IAE1BhG,GAAKpd,EAAM,KAAM,CAClC,SAAwBod,GAAKiG,GAAiC,CAC1D,MAAOD,EAAc,iBACrB,SAAwBhG,GAAKkG,GAAe,SAAU,CAClD,MAAOF,EAAc,QACrB,SAAwBlG,GAAMS,GAAgB,SAAU,CACpD,MAAOyF,EAAc,SACrB,SAAU,CACQlG,GAAMld,EAAM,OAAQ,CAC9B,SAAU,CACNA,EAAM,OAAO,SACbA,EAAM,YAA4Bod,GAAKpd,EAAM,WAAY,CAAA,CAAE,CAC9D,CAC7B,CAAyB,EACDA,EAAM,aAA6Bod,GAAKpd,EAAM,YAAa,CAAA,CAAE,EAC7DA,EAAM,UAAYA,EAAM,YAA4Bod,GAAKpd,EAAM,QAAS,CAAE,CAAA,EAAkBod,GAAKC,GAAQ,CACrG,UAAWrd,EAAM,UACjB,SAAwBod,GAAKpd,EAAM,QAAS,CAAA,CAAE,CAC1E,CAAyB,EACJ,CACrB,CAAiB,CACjB,CAAa,CACb,CAAS,CACT,CAAK,EC7BQujB,GAAqB,CAChC,KAAM,eACN,OAAQ,uBACR,YAAa,4BACb,WAAY,2BACZ,QAAS,uBACX,EAIMhG,GAAyB1F,GAAS,CACtC,KAAM,CACJ,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,UACR,QAAS,WACT,OAAQ,UACR,QAAS,WACT,OAAQ,WACR,OAAQ,UACR,QAAS,WACT,QAAS,UACT,QAAS,UACT,OAAQ,WACR,QAAS,WACT,OAAQ,WACR,OAAQ,CAAC,UAAW,UAAU,EAC9B,QAAS,WACT,QAAS,CAAC,WAAY,SAAS,EAC/B,OAAQ,UACR,OAAQ,CAAC,WAAY,UAAU,EAC/B,QAAS,CAAC,WAAY,UAAU,EAChC,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,WACT,OAAQ,WACR,OAAQ,UACR,QAAS,UACT,OAAQ,WACR,OAAQ,WACR,OAAQ,UACR,OAAQ,UACR,OAAQ,UACR,QAAS,WACT,OAAQ,UACR,QAAS,UACT,OAAQ,WACR,QAAS,WACT,QAAS,WACT,QAAS,WACT,QAAS,UACV,EACD,QAAS,CACP,QAAS,WACT,OAAQ,WACR,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,UACR,QAAS,SACV,EACD,iBAAkB,CAChB,OAAQ,QACT,EACD,cAAe,CACb,QAAS,SACV,EACD,OAAQ,CACN,QAAS,UACT,OAAQ,WACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,UACR,QAAS,WACT,OAAQ,UACR,OAAQ,WACR,QAAS,WACT,OAAQ,WACR,QAAS,UACT,QAAS,WACT,QAAS,WACT,OAAQ,CAAC,WAAY,SAAS,EAC9B,OAAQ,UACR,QAAS,SACV,EACD,YAAa,CACX,OAAQ,SACT,EACD,MAAO,CACL,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,CAAC,UAAW,SAAS,CAC/B,EACD,OAAQ,CACN,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,WACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,CAAC,WAAY,SAAS,CAChC,EACD,MAAO,CACL,OAAQ,WACR,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,CAAC,WAAY,SAAS,CAChC,EACD,QAAS,CACP,OAAQ,UACR,QAAS,EACT,QAAS,WACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,SACT,EACD,mBAAoB,CAClB,QAAS,UACT,QAAS,CAAC,WAAY,UAAU,EAChC,OAAQ,UACR,OAAQ,CAAC,WAAY,UAAU,EAC/B,QAAS,UACT,OAAQ,CAAC,WAAY,SAAS,EAC9B,OAAQ,UACR,QAAS,CAAC,UAAW,UAAU,CAChC,EACD,UAAW,CACT,OAAQ,WACR,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,UACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,SACT,EACD,iBAAkB,CAChB,OAAQ,UACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,SACT,EACD,gBAAiB,CACf,OAAQ,WACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,SACT,EACD,QAAS,CACP,OAAQ,UACR,OAAQ,CAAC,UAAW,SAAS,EAC7B,OAAQ,WACR,QAAS,CAAC,UAAW,SAAS,CAC/B,EACD,iBAAkB,CAChB,OAAQ,UACT,EACD,SAAU,CACR,QAAS,UACT,OAAQ,WACR,OAAQ,WACR,OAAQ,CAAC,UAAW,SAAS,EAC7B,QAAS,UACT,OAAQ,CAAC,UAAW,SAAS,EAC7B,QAAS,UACT,QAAS,CAAC,WAAY,UAAU,EAChC,QAAS,UACT,OAAQ,CAAC,WAAY,UAAU,CAChC,EACD,aAAc,CACZ,OAAQ,WACR,QAAS,SACV,EACD,OAAQ,CACN,OAAQ,QACT,CACH,EAAG,CACD,EAAG,CAAC,CAAC,qDAAsD,CACzD,EAAG,EACP,CAAG,EAAG,oCAAqC,iCAAkC,8BAA+B,gCAAiC,mCAAoC,2CAA4C,gCAAmC,uCAAwC,8BAA+B,gCAAiC,iCAAkC,mFAAoF,yEAA0E,0EAA2E,CAAC,iGAAkG,CACltB,EAAG,EACP,CAAG,EAAG,6DAA8D,wCAAyC,kDAAmD,kEAAmE,gEAAiE,yCAA0C,CAAC,qDAAsD,CACjY,EAAG,EACP,CAAG,EAAG,6BAA8B,yBAA0B,uBAAwB,gCAAiC,iEAAkE,CAAC,yBAA0B,CAChN,EAAG,EACP,CAAG,EAAG,kDAAmD,qDAAsD,6BAA8B,2BAA4B,+CAAgD,oEAAqE,4CAA6C,8BAA+B,8BAA+B,wBAAyB,kDAAmD,8CAA+C,kDAAmD,kDAAmD,CAAC,+HAAgI,CACvuB,EAAG,EACP,CAAG,EAAG,CAAC,+HAAgI,CACnI,EAAG,EACJ,CAAA,EAAG,8CAA+C,mDAAoD,CAAC,gIAAiI,CACvO,EAAG,EACP,CAAG,EAAG,CAAC,+HAAgI,CACnI,EAAG,EACJ,CAAA,EAAG,wDAAyD,8CAA+C,kDAAmD,CAAC,yHAA0H,CACxR,EAAG,EACP,CAAG,EAAG,CAAC,wHAAyH,CAC5H,EAAG,EACP,CAAG,EAAG,6DAA8D,CAAC,4EAA6E,CAC9I,EAAG,EACP,CAAG,EAAG,sEAAuE,CAAC,4FAA6F,CACvK,EAAG,EACP,CAAG,EAAG,CAAC,6BAA8B,CACjC,EAAG,EACP,CAAG,EAAG,CAAC,6DAA8D,CACjE,EAAG,EACP,CAAG,EAAG,8DAA+D,CAAC,6DAA8D,CAChI,EAAG,EACJ,CAAA,EAAG,iHAAkH,mHAAoH,kHAAmH,sHAAuH,gCAAiC,iEAAkE,kEAAmE,iEAAkE,mEAAoE,yDAAyD,EACzzB,EAAG,CAAC,6CAA8C,8CAA+C,oDAAqD,qDAAsD,gEAAiE,2EAA4E,4EAA6E,mGAAmG,EACzgB,EAAG,CAAC,CAAC,mGAAoG,CACvG,EAAG,6CACP,CAAG,EAAG,CAAC,gGAAiG,CACpG,EAAG,6CACP,CAAG,EAAG,CAAC,iHAAkH,CACrH,EAAG,6CACP,CAAG,EAAG,CAAC,8GAA+G,CAClH,EAAG,6CACP,CAAG,EAAG,CAAC,uEAAwE,CAC3E,EAAG,yBACP,CAAG,EAAG,CAAC,gHAAiH,CACpH,EAAG,yBACP,CAAG,EAAG,CAAC,0EAA2E,CAC9E,EAAG,yBACP,CAAG,CAAC,EACF,EAAG,CAAC,oHAAqH,2GAA2G,EACpO,EAAG,CAAC,qCAAqC,EACzC,EAAG,CAAC,oEAAqE,uEAAwE,sEAAuE,0EAA0E,EAClS,EAAG,CAAC,uEAAwE,0EAA2E,wEAAyE,2EAA2E,CAC7S,CAAC,EACK2L,GAA6B3L,GAAS,CAC1C,KAAM,CACJ,QAAS,WACT,OAAQ,UACR,OAAQ,UACR,QAAS,WACT,QAAS,WACT,QAAS,UACT,QAAS,SACV,EACD,MAAO,CACL,QAAS,UACT,OAAQ,CAAC,WAAY,UAAU,CAChC,EACD,OAAQ,CACN,QAAS,UACT,OAAQ,CAAC,WAAY,UAAU,CAChC,EACD,MAAO,CACL,QAAS,WACT,OAAQ,CAAC,WAAY,UAAU,CAChC,EACD,SAAU,CACR,OAAQ,UACT,CACH,EAAG,CACD,EAAG,CAAC,oCAAqC,uDAAwD,2BAA4B,+CAAgD,qCAAsC,iCAAkC,+BAAgC,4BAA6B,sDAAuD,uDAAwD,4BAA6B,6BAA8B,yDAA0D,0DAA2D,yDAAyD,CAC5oB,CAAC,EACK4L,GAAuCC,GAAc,UAAW,WAAY,CAChF,EAAG,CAAC,iNAAkN,sCAAuC,8CAA+C,+JAAgK,2QAA8Q,iNAAkN,uCAAwC,+CAAgD,gKAAiK,2QAA6Q,EACl7C,EAAG,CAAC,8LAA+L,8LAA8L,CACnY,CAAC,EAIYC,GAA6B3jB,GAAS,CACjD,cAEA,KAAM,CACJ,WAAAua,EACA,KAAAuD,EACA,mBAAA8F,EACA,gBAAAhB,EACA,KAAA7Y,CACD,EAAG/J,EACE6jB,EAAU,GAAG7jB,EAAM,OAAO,cAAc,CAAC,IAAO,OAChDiU,EAAWjU,EAAM,OAAO,SACxBxG,EAAS+jB,KACTuG,EAAaN,KACbO,EAAmBN,KACzB,OAAAzjB,EAAM,KAAK,UAAYsY,GAAaiL,GAAmB,KAAM/pB,EAAO,KAAMA,EAAO+gB,CAAU,EAAG,CAACtG,GAAYsG,IAAe,WAAa/gB,EAAO,mBAAoBqqB,GAAWtJ,IAAe,aAAe/gB,EAAO,QAASqqB,GAAWtJ,IAAe,aAAe/gB,EAAO,iBAAkBya,GAAYza,EAAO,SAAUwG,EAAM,KAAK,SAAS,EAC9UA,EAAM,OAAO,UAAYsY,GAAaiL,GAAmB,OAAQ/pB,EAAO,OAAQA,EAAOuQ,CAAI,EAAG6Z,GAAsBpqB,EAAO,YAAaya,GAAYza,EAAO,aAAcwG,EAAM,OAAO,SAAS,EAC3LA,EAAM,UACRA,EAAM,QAAQ,UAAYsY,GAAaiL,GAAmB,QAAS/pB,EAAO,QAASwG,EAAM,aAAexG,EAAO,cAAe,CAACskB,GAAQtkB,EAAO,iBAAkBwG,EAAM,QAAQ,SAAS,GAErLA,EAAM,aACRA,EAAM,WAAW,UAAYsY,GAAaiL,GAAmB,WAAYO,EAAW,KAAMA,EAAW/Z,CAAI,EAAGkK,GAAY6P,EAAW,SAAUlB,GAAmBppB,EAAO,OAAQwG,EAAM,WAAW,SAAS,GAEvMA,EAAM,cACRA,EAAM,YAAY,UAAYsY,GAAaiL,GAAmB,YAAaQ,EAAkBD,EAAW,KAAMA,EAAW/Z,CAAI,EAAGkK,GAAY6P,EAAW,SAAU,CAAClB,GAAmBppB,EAAO,OAAQwG,EAAM,YAAY,SAAS,GAE1NA,CACT,ECzWiBgkB,GAAyBlF,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CACrE,MAAM5U,EAAQuhB,GAAqBha,EAAOqN,CAAG,EACvCwO,EAAgBvF,GAAyB7d,CAAK,EACpD,OAAA2jB,GAA2B3jB,CAAK,EAChC0d,GAA4B,4BAA4B,EAAE1d,CAAK,EACxDmjB,GAAwBnjB,EAAOojB,CAAa,CACvD,CAAC,EACDY,GAAS,YAAc,WCbhB,MAAMC,GAAcrG,GAAc,MAAS,EAC5CsG,GAA0B,CAC5B,KAAM,GACN,QAAS,IAAI,GACb,cAAe,CAAE,EACjB,qBAAsB,IAAI,KAC1B,UAAW,GACX,WAAY,CACR,QAAS,IACZ,EACD,eAAgB,CACZ,QAAS,IACZ,EACD,UAAW,KACX,UAAW,GACX,cAAe,GACf,YAAa,GACb,SAAU,GACV,cAAe,GACf,OAAQ,GACR,mBAAoB,EACxB,EACaC,GAAeF,GAAY,SAC3BG,GAA2BvZ,GAAWwZ,GAAmBJ,GAAa,CAACK,EAAMJ,KAA0BrZ,EAASyZ,CAAG,CAAC,ECtBvHC,GAAqBC,gBAAoB,MAAS,EACtDC,GAAiC,GAC1BC,GAA6BH,GAAmB,SAChDI,GAAiC,IAAI,CAC9C,IAAIC,EACJ,OAAQA,EAAoBC,EAAgB,WAACN,EAAkB,KAAO,MAAQK,IAAsB,OAASA,EAAoBH,EACrI,ECPaK,GAAkBlH,GAAc,MAAS,EAChDmH,GAA8B,CAChC,cAAe,CAAE,EACjB,yBAA0B,IAAI,KAC9B,eAAgB,IAAI,KACpB,YAAa,IAAI,KACjB,SAAU,GACV,cAAe,EACnB,EACaC,GAAmBF,GAAgB,SACnCG,GAA+Bpa,GAAWwZ,GAAmBS,GAAiB,CAACR,EAAMS,KAA8Bla,EAASyZ,CAAG,CAAC,ECR5HY,GAAmB,eAWnBC,GAAuBnZ,GAAU,CAC9C,KAAM,CAAE,KAAAgI,EAAM,SAAAlN,EAAU,QAAA0D,EAAS,SAAAyJ,CAAQ,EAAKjI,EAExCwI,EAAWC,GAAkBC,GAAK,CACpC,MAAM0Q,EAAapR,EAAK,CAAC,EACnBqR,EAAkB3Q,EAAG,OAC3B,IAAI4Q,EAIqB,CAACC,IAAiBD,EAAsBF,EAAW,WAAa,MAAQE,IAAwB,OAASA,EAAsB,KAAMD,CAAe,GACrJ,CAACpR,GACrBnN,EAAS4N,CAAE,CAEvB,CAAK,EACDI,EAAAA,UAAgB,IAAI,CAEhB,GAAItK,GAAW,KAGf,OAAKyJ,GACDzJ,EAAQ,iBAAiB0a,GAAkB1Q,CAAQ,EAEhD,IAAI,CACPhK,EAAQ,oBAAoB0a,GAAkB1Q,CAAQ,CAClE,CACA,EAAO,CACCA,EACAhK,EACAyJ,CACR,CAAK,CACL,EAKiBuR,GAAyB,CAAC3D,EAAIpJ,IAAc,CACzDoJ,EAAG,cAAc,IAAI,YAAYqD,GAAkB,CAC/C,QAAS,GACT,OAAQ,CACJ,YAAAzM,CACH,CACJ,CAAA,CAAC,CACN,EChDW,SAASgN,IAAe,CAC/B,MAAMC,EAAmBtB,GAAyBpK,GAAUA,EAAQ,SAAS,EACvE2L,EAAqBC,GAAoBd,EAAe,EAC9D,OAAOY,GAAoBC,CAC/B,CCJA,MAAME,GAA2B,CAC7B,QACA,eACA,aACA,SACA,gBACA,OACJ,EAQiBC,GAAoBve,GAAQ,CACzC,MAAMwe,EAAYN,KACZ,CAAE,WAAAO,EAAa,IAAK,OAAAC,EAAS,GAAO,cAAAC,EAAgB,GAAO,SAAAC,EAAW,GAAO,cAAAC,EAAgB,GAAO,cAAAC,EAAgB,GAAO,mBAAAC,EAAqB,GAAO,YAAAC,EAAcR,EAAW,qBAAAS,EAAsB,UAAAzL,EAAY,IAAM,EAAGxT,EAC3Nkf,EAAYlL,GAAM,MAAM,EACxB,CAAChC,EAAemN,CAAgB,EAAIzN,GAAyB,EAC7D0N,EAAmB,CACrB,SAAUZ,EAAY,QAAU,QAChC,MAAOA,EAAY,MAAQ,QAC3B,OAAQxe,EAAM,cAAgBgS,EAAgB,OAC9C,kBAAmBwM,EAAYF,GAA2B,OAC1D,GAAGpK,GAA4BlU,EAAM,WAAW,CACxD,EACUC,EAAWof,EAAc,SAAC,QAAQrf,EAAM,QAAQ,EAWtD,IAAIsf,EACAC,EACAtf,EAAS,SAAW,GACpBqf,EAAcrf,EAAS,CAAC,EACxBsf,EAActf,EAAS,CAAC,GACjBA,EAAS,SAAW,IAC3Bsf,EAActf,EAAS,CAAC,GAE5B,KAAM,CAAE,UAAWiY,EAAY,aAAcsH,GAAmBlL,GAAe8K,CAAgB,EAEzF,CAAC7I,EAAMM,CAAO,EAAI4I,GAAiB,CACrC,WAAAhB,EACA,UAAAD,EACA,iBAAAW,EACA,cAAAN,EACA,eAAAW,EACA,WAAAtH,EACA,KAAMlY,EAAM,KACZ,YAAaA,EAAM,YACnB,aAAcA,EAAM,aACpB,cAAA8e,CACR,CAAK,EACK,CAACY,EAAeC,CAAoB,EAAIC,GAAuB,CACjE,cAAe5f,EAAM,cACrB,qBAAAif,EACA,qBAAsBjf,EAAM,oBACpC,CAAK,EACD,MAAO,CACH,OAAA0e,EACA,WAAAD,EACA,UAAAS,EACA,UAAAV,EACA,YAAAQ,EACA,cAAAhN,EACA,iBAAAmN,EACA,cAAAR,EACA,SAAAC,EACA,cAAAC,EACA,YAAAS,EACA,YAAAC,EACA,UAAA/L,EACA,WAAA0E,EACA,eAAAsH,EACA,WAAY,CAAE,EACd,cAAAV,EACA,KAAAvI,EACA,QAAAM,EACA,cAAA6I,EACA,qBAAAC,EACA,mBAAAZ,CACR,CACA,EAIUa,GAA0B5f,GAAQ,CACxC,KAAM,CAAC0f,EAAeG,CAAgB,EAAIlM,GAAqB,CAC3D,MAAO3T,EAAM,cACb,aAAcA,EAAM,qBACpB,aAAc,CAAE,CACxB,CAAK,EACK2f,EAAuBzS,GAAiB,CAACgB,EAAG,CAAE,KAAA5Q,EAAM,aAAAwiB,KAAiB,CACvE,IAAIC,GACHA,EAA8B/f,EAAM,wBAA0B,MAAQ+f,IAAgC,QAAkBA,EAA4B,KAAK/f,EAAOkO,EAAG,CAChK,KAAA5Q,EACA,aAAAwiB,CACZ,CAAS,EACDD,EAAkBG,IAAgB,CAC1B,GAAGA,EACH,CAAC1iB,CAAI,EAAGwiB,CACX,EAAC,CACd,CAAK,EACD,MAAO,CACHJ,EACAC,CACR,CACA,EACMF,GAAoBhnB,GAAQ,CAC9B,cACA,KAAM,CAAE,eAAAuT,GAAmBC,KACrBgU,EAAgBpD,GAAyBpK,GAAUA,EAAQ,OAAO,EAClEyN,EAAehT,GAAiB,CAACgB,EAAG2F,IAAO,CAC7C,IAAIsM,EACJ,OAAQA,EAAsB1nB,EAAM,gBAAkB,MAAQ0nB,IAAwB,OAAS,OAASA,EAAoB,KAAK1nB,EAAOyV,EAAG2F,CAAI,CACvJ,CAAK,EACKuM,EAAqBtT,SAAa,EAAK,EACvC,CAACyJ,EAAM8J,CAAY,EAAI1M,GAAqB,CAC9C,MAAOlb,EAAM,KACb,aAAcA,EAAM,YACpB,aAAc,EACtB,CAAK,EACK6nB,EAAapT,GAAiB,CAACgB,EAAG2F,IAAO,CAC3C,MAAMlG,EAAQO,aAAa,aAAeA,EAAE,OAASyP,GAAmBzP,EAAE,OAAO,YAAcA,EAC/FgS,GAAiB,MAA2CA,EAAavS,EAAO,CAC5E,GAAGkG,CACf,CAAS,EACGA,EAAK,MAAQ3F,EAAE,OAAS,eACxBzV,EAAM,iBAAiByV,CAAC,EAEvB2F,EAAK,MACNpb,EAAM,iBAAiB,MAAS,EAEhCob,EAAK,QACLoM,EAAc/R,EAAG,CACb,GAAG2F,CACnB,CAAa,EAELwM,EAAaxM,EAAK,IAAI,CAC9B,CAAK,EACK,CAAC0M,EAAgBC,CAAgB,EAAIzN,GAAU,EAC/C8D,EAAU3J,GAAiB,CAACgB,EAAG2F,IAAO,CAMxC,GALA2M,IACI,EAAEtS,aAAa,QAAUA,EAAE,SAE3BA,EAAE,QAAO,EAETA,EAAE,OAAS,cAAgBA,EAAE,OAAS,cAAgBA,EAAE,OAAS,aAAeA,EAAE,OAASyP,GAAkB,CAC7G,IAAI8C,EACC,GAAAA,EAA4BhoB,EAAM,WAAW,WAAa,MAAQgoB,IAA8B,SAAkBA,EAA0B,SAASvS,EAAE,MAAM,IAC9JkS,EAAmB,QAAUlS,EAAE,OAAS,cAAgBA,EAAE,OAAS,aAEvEqS,EAAe,IAAID,EAAWpS,EAAG2F,CAAI,EAAGpb,EAAM,UAAU,CACpE,MACY6nB,EAAWpS,EAAG2F,CAAI,CAE9B,CAAK,EACDrH,GAAkB,CACd,SAAUwR,GACV,SAAU,CAACzH,EACX,QAASvK,EACT,KAAM,CACFvT,EAAM,eACN,CAACA,EAAM,eAAiBA,EAAM,UAC1C,EAAU,OAAO,OAAO,EAChB,SAAWkV,GAAQkJ,EAAQlJ,EAAO,CAC1B,KAAM,GACN,KAAM,eACN,MAAAA,CAChB,CAAa,CACb,CAAK,EAED,MAAMkR,EAAgBpmB,EAAM,eAAiBA,EAAM,cACnD4V,GAAmB,CACf,SAAU2P,GACV,QAAShS,EACT,SAAW2B,GAAQkJ,EAAQlJ,EAAO,CAC1B,KAAM,GACN,KAAM,gBACN,MAAAA,CAChB,CAAa,EACL,KAAM,CACFlV,EAAM,eACN,CAACA,EAAM,eAAiBA,EAAM,UAC1C,EAAU,OAAO,OAAO,EAChB,SAAU,CAAC8d,GAAQ,CAACsI,CAC5B,CAAK,EACDjB,GAAoB,CAChB,QAAS5R,EACT,SAAW2B,GAAQ,CAGVyS,EAAmB,SACpBvJ,EAAQlJ,EAAO,CACX,KAAM,GACN,KAAM,iBACN,MAAAA,CACpB,CAAiB,CAER,EACD,SAAU,CAAC4I,EACX,KAAM,CACF9d,EAAM,cACT,CACT,CAAK,EAED,KAAM,CAAE,mBAAAioB,GAAuBC,KACzBC,EAAa5R,EAAAA,YAAkB,IAAI,CACrC,MAAM6R,EAAiBH,EAAmBjoB,EAAM,eAAe,OAAO,EACtEooB,GAAmB,MAA6CA,EAAe,OACvF,EAAO,CACCH,EACAjoB,EAAM,cACd,CAAK,EACKqoB,EAAaC,KACnBxT,OAAAA,EAAAA,UAAgB,IAAI,CAChB,GAAIgJ,EACAqK,YAEI,CAACE,IACI9U,GAAmB,KAAoC,OAASA,EAAe,kBAAoBA,GAAmB,KAAoC,OAASA,EAAe,MAAO,CAC1L,IAMAyU,GACCA,EAA4BhoB,EAAM,WAAW,WAAa,MAAQgoB,IAA8B,QAAkBA,EAA0B,MAAK,CACrJ,CAKjB,EAAO,CACChoB,EAAM,WACNA,EAAM,UACN8d,EACAqK,EACA5U,EACAvT,EAAM,cACd,CAAK,EACM,CACH8d,EACAM,CACR,CACA,ECvQO,SAASmK,GAA8BvoB,EAAO,CACjD,KAAM,CAAE,cAAAinB,EAAe,cAAAf,EAAe,SAAAC,EAAU,OAAAF,EAAQ,UAAAF,EAAW,eAAAgB,EAAgB,UAAAhM,EAAW,qBAAAmM,EAAsB,KAAApJ,EAAM,cAAAuI,EAAe,YAAAE,EAAa,mBAAAD,EAAoB,QAAAlI,EAAS,UAAAqI,EAAW,WAAAhH,CAAY,EAAGzf,EAmB7M,MAAO,CACH,KAlBS,CACT,cAAAinB,EACA,cAAAf,EACA,SAAAC,EACA,OAAAF,EACA,UAAAF,EACA,eAAAgB,EACA,UAAAhM,EACA,qBAAAmM,EACA,KAAApJ,EACA,cAAAuI,EACA,YAAAE,EACA,mBAAAD,EACA,QAAAlI,EACA,UAAAqI,EACA,WAAAhH,CACR,CAGA,CACA,CCnBW,MAAM+I,GAAsB,CAACxoB,EAAOojB,IACtBhL,EAAAA,cAAoB+L,GAAc,CACnD,MAAOf,EAAc,IAC7B,EAAOpjB,EAAM,YAAaA,EAAM,MAAQA,EAAM,WAAW,ECDxCyoB,GAAQlhB,GAAQ,CAC7B,MAAMvH,EAAQ8lB,GAAiBve,CAAK,EAC9B6b,EAAgBmF,GAA8BvoB,CAAK,EACzD,OAAOwoB,GAAoBxoB,EAAOojB,CAAa,CACnD,EACAqF,GAAK,YAAc,OCTZ,MAAMC,GAAqB,CAAC1oB,EAAO4U,IAAM,CAC5C,cACA,MAAM+T,EAA2B1D,GAA6BjL,GAAUA,EAAQ,wBAAwB,EAClG,CAAE,UAAW4O,GAAsB5oB,EAAM,KAC/C,OAAAA,EAAM,KAAK,UAAayV,GAAI,CACxB,IAAIoT,EACJD,GAAsB,MAAgDA,EAAkBnT,CAAC,EACnF,IAAAoT,EAASpT,EAAE,OAAS,MAAQoT,IAAW,OAAS,OAASA,EAAO,QAAU,IAG5EjU,EAAI,UACJ+T,GAA6B,MAAuDA,EAAyBlT,EAAGb,EAAI,OAAO,EAEvI,EACW5U,CACX,ECPM8oB,GAAmBhR,GAAWiR,GAAoBC,EAAmB,EACrEC,GAAkBnR,GAAWoR,GAAmBC,EAAkB,EAGvDC,GAAuB,CAAC7hB,EAAOqN,IAAM,CAClD,MAAMyU,EAAmB1E,KACnB2E,EAAwBlF,GAAyBpK,GAAUA,EAAQ,kBAAkB,EACrF,CAAE,GAAAuP,EAAK,MAAO,SAAAtV,EAAW,GAAO,WAAAuV,EAAaH,EAAkB,eAAAI,EAAiBH,CAAuB,EAAG/hB,EAC1G4e,EAAWlB,GAA6BjL,GAAUA,EAAQ,QAAQ,EAClEkM,EAAgBjB,GAA6BjL,GAAUA,EAAQ,aAAa,EAC5EoE,EAAUgG,GAAyBpK,GAAUA,EAAQ,OAAO,EAC5D,CAAE,IAAAxH,GAAQgB,KACVkW,EAAWrV,SAAa,IAAI,EAC5BsV,EAA2BtV,SAAa,EAAK,EAC7CrU,EAAQ,CACV,WAAAwpB,EACA,SAAAvV,EACA,eAAAwV,EACA,WAAY,CACR,KAAM,MACN,KAAM,OACN,UAAW,OACX,iBAAkB,OAClB,QAAS,OACT,iBAAkB,MACrB,EACD,KAAMnO,GAAYsO,GAAyBL,EAAIM,GAAmBN,EAAI,CAClE,KAAM,WACN,GAAGhiB,EACH,SAAU,GACV,kBAAmB0M,EACnB,IAAK6H,GAAclH,EAAK8U,CAAQ,EAChC,UAAWjV,GAAkBS,GAAQ,CACjC,IAAI4U,GACHA,EAAmBviB,EAAM,aAAe,MAAQuiB,IAAqB,QAAkBA,EAAiB,KAAKviB,EAAO2N,CAAK,EACtH,CAACA,EAAM,mBAAkB,IAAOA,EAAM,MAAQ6U,IAAS7U,EAAM,MAAQ8U,MACrEL,EAAyB,QAAU,GAEvD,CAAa,EACD,aAAclV,GAAkBS,GAAQ,CACpC,IAAI+U,EAAmBC,GACtBD,EAAoBP,EAAS,WAAa,MAAQO,IAAsB,QAAkBA,EAAkB,MAAK,GACjHC,EAAsB3iB,EAAM,gBAAkB,MAAQ2iB,IAAwB,QAAkBA,EAAoB,KAAK3iB,EAAO2N,CAAK,CACtJ,CAAa,EACD,QAAST,GAAkBS,GAAQ,CAC/B,IAAIiV,EACA,CAACX,GAAc,CAACC,IAChBrL,EAAQlJ,EAAO,CACX,KAAM,GACN,SAAUyU,EAAyB,QACnC,OAAQ,GACR,KAAM,gBACN,MAAAzU,CACxB,CAAqB,EACDyU,EAAyB,QAAU,KAEtCQ,EAAiB5iB,EAAM,WAAa,MAAQ4iB,IAAmB,QAAkBA,EAAe,KAAK5iB,EAAO2N,CAAK,CAClI,CAAa,CACJ,CAAA,CAAC,EAAG,CACD,YAAa,KACzB,CAAS,EACD,KAAM4N,GAAcvb,EAAM,KAAM,CAC5B,gBAAiB4e,EACjB,YAAa,MACzB,CAAS,EACD,UAAWrD,GAAcvb,EAAM,UAAW,CACtC,gBAAiB2e,EACjB,YAAa,MACzB,CAAS,EACD,iBAAkBpD,GAAcvb,EAAM,iBAAkB,CACpD,gBAAiBiiB,EACjB,aAAc,CACV,SAAUhX,IAAQ,MAAsB4F,gBAAoB0Q,GAAkB,IAAI,EAAkB1Q,EAAAA,cAAoB6Q,GAAiB,IAAI,CAChJ,EACD,YAAa,MACzB,CAAS,EACD,QAASnG,GAAcvb,EAAM,QAAS,CAClC,gBAAiB,CAAC,CAACA,EAAM,SACzB,aAAc,CACV,SAAUA,EAAM,QACnB,EACD,YAAa,MACzB,CAAS,EACD,iBAAkBub,GAAcvb,EAAM,iBAAkB,CACpD,YAAa,MACzB,CAAS,CACT,EACI,OAAAmhB,GAAmB1oB,EAAO0pB,CAAQ,EAC3B1pB,CACX,EC/FiBoqB,GAA2BpqB,GAEnBkd,GAAMld,EAAM,KAAM,CACnC,SAAU,CACNA,EAAM,WAA2Bod,GAAKpd,EAAM,UAAW,CAAA,CAAE,EACzDA,EAAM,MAAsBod,GAAKpd,EAAM,KAAM,CAAA,CAAE,EAC/CA,EAAM,SAAyBod,GAAKpd,EAAM,QAAS,CAAA,CAAE,EACrDA,EAAM,kBAAkCod,GAAKpd,EAAM,iBAAkB,CAAA,CAAE,EACvEA,EAAM,kBAAkCod,GAAKpd,EAAM,iBAAkB,CAAA,CAAE,CAC1E,CACT,CAAK,ECbCud,GAAyB1F,GAAS,CACtC,KAAM,CACJ,OAAQ,UACR,QAAS,UACT,QAAS,UACT,QAAS,SACV,EACD,YAAa,CACX,QAAS,WACT,QAAS,SACV,CACH,EAAG,CACD,EAAG,CAAC,wBAAyB,yBAA0B,+BAAgC,2BAA4B,gCAAgC,CACrJ,CAAC,EAMYwS,GAA8BrqB,GAAS,CAClD,cAEA,MAAMxG,EAAS+jB,KACXvd,EAAM,YACRA,EAAM,UAAU,UAAYsY,GAAa9e,EAAO,KAAMwG,EAAM,SAAWxG,EAAO,YAAawG,EAAM,UAAU,SAAS,EAExH,ECtBasqB,GAAqB,CAChC,KAAM,eACN,KAAM,qBACN,UAAW,0BACX,iBAAkB,iCAClB,QAAS,wBACT,iBAAkB,gCACpB,EACMC,GAAiC7G,GAAc,WAAY,WAAY,CAC3E,EAAG,CAAC,kiBAAmiB,mHAAoH,oDAAqD,mDAAoD,0FAA2F,8HAA+H,uCAAwC,+CAAgD,gKAAiK,4QAA+Q,kiBAAmiB,mHAAoH,oDAAqD,mDAAoD,0FAA2F,8HAA+H,uCAAwC,+CAAgD,gKAAiK,2QAA6Q,EACt8F,EAAG,CAAC,sxBAAyxB,+LAAgM,sxBAAyxB,8LAA8L,CACt7D,CAAC,EACK8G,GAAoC9G,GAAc,WAAY,UAAW,CAAC,0FAA2F,wFAAwF,CAAC,EAC9P+G,GAA6C/G,GAAc,WAAY,WAAY,CAAC,mOAAoO,8DAA+D,8DAA+D,mOAAoO,8DAA+D,6DAA6D,CAAC,EACvxBgH,GAAiChH,GAAc,UAAW,KAAM,CAAC,4IAA4I,CAAC,EAC9MiH,GAA6CjH,GAAc,UAAW,KAAM,CAAC,8HAA8H,CAAC,EAC5MnG,GAAyB1F,GAAS,CACtC,UAAW,CACT,QAAS,SACV,EACD,cAAe,CACb,QAAS,SACV,EACD,iBAAkB,CAChB,QAAS,CAAC,WAAY,UAAU,EAChC,QAAS,CAAC,WAAY,UAAU,EAChC,OAAQ,CAAC,WAAY,SAAS,EAC9B,OAAQ,WACR,OAAQ,WACR,QAAS,UACT,OAAQ,SACT,EACD,SAAU,CACR,OAAQ,WACR,QAAS,UACT,OAAQ,WACR,OAAQ,UACR,QAAS,WACT,QAAS,UACT,QAAS,WACT,QAAS,UACT,OAAQ,WACR,OAAQ,UACR,QAAS,WACT,OAAQ,WACR,QAAS,UACT,QAAS,UACT,OAAQ,UACR,QAAS,WACT,QAAS,UACV,CACH,EAAG,CACD,EAAG,CAAC,4BAA6B,yBAA0B,uCAAwC,wCAAyC,0CAA2C,2CAA4C,6BAA8B,6BAA8B,iCAAoC,mDAAoD,iCAAkC,iEAAkE,yDAAyD,EACphB,EAAG,CAAC,+DAAgE,oEAAqE,sCAAuC,kDAAmD,oDAAqD,oFAAqF,sEAAuE,0EAA0E,EAC9f,EAAG,CAAC,8DAA8D,EAClE,EAAG,CAAC,CAAC,6DAA8D,CACjE,EAAG,yBACP,CAAG,EAAG,CAAC,mEAAoE,CACvE,EAAG,yBACP,CAAG,EAAG,CAAC,2EAA4E,CAC/E,EAAG,yBACP,CAAG,EAAG,CAAC,sFAAuF,CAC1F,EAAG,yBACP,CAAG,EAAG,CAAC,+FAAgG,CACnG,EAAG,yBACP,CAAG,EAAG,CAAC,mEAAoE,CACvE,EAAG,yBACP,CAAG,EAAG,CAAC,4EAA6E,CAChF,EAAG,yBACP,CAAG,CAAC,CACJ,CAAC,EAEY+S,GAA6B5qB,GAAS,CACjD,cAEA,MAAMxG,EAAS+jB,KACTsN,EAAiBN,KACjBO,EAAoBN,KACpBO,EAA6BN,KAC7BO,EAAiBN,KACjBO,EAA6BN,KACnC,OAAA3qB,EAAM,KAAK,UAAYsY,GAAagS,GAAmB,KAAMO,EAAgB7qB,EAAM,UAAYxG,EAAO,SAAUwG,EAAM,KAAK,SAAS,EAChIA,EAAM,UACRA,EAAM,QAAQ,UAAYsY,GAAagS,GAAmB,QAASQ,EAAmB9qB,EAAM,QAAQ,SAAS,GAE3GA,EAAM,YACRA,EAAM,UAAU,UAAYsY,GAAagS,GAAmB,UAAW9wB,EAAO,UAAWwG,EAAM,UAAU,SAAS,GAEhHA,EAAM,mBACRA,EAAM,iBAAiB,UAAYsY,GAAagS,GAAmB,iBAAkB,CAACtqB,EAAM,UAAY+qB,EAA4B/qB,EAAM,iBAAiB,SAAS,GAElKA,EAAM,OACRA,EAAM,KAAK,UAAYsY,GAAagS,GAAmB,KAAMU,EAAgBhrB,EAAM,KAAK,SAAS,GAE/FA,EAAM,mBACRA,EAAM,iBAAiB,UAAYsY,GAAagS,GAAmB,iBAAkBW,EAA4BjrB,EAAM,iBAAiB,SAAS,GAEnJqqB,GAA4BrqB,CAAK,EAC1BA,CACT,ECjGiBkrB,GAAyBpM,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CACrE,MAAM5U,EAAQopB,GAAqB7hB,EAAOqN,CAAG,EAC7C,OAAAgW,GAA2B5qB,CAAK,EAChC0d,GAA4B,4BAA4B,EAAE1d,CAAK,EACxDoqB,GAAwBpqB,CAAK,CACxC,CAAC,EACDkrB,GAAS,YAAc,WCJZ,MAAMC,GAAuB,CAAC5jB,EAAOqN,IAAM,CAClD,KAAM,CAAE,iBAAAwW,GAAqBlD,KACvB,CAAE,eAAA3U,GAAmBC,KACrB6X,EAAcC,KACdC,EAAiB3F,GAAoB3B,EAAW,EAChDuH,EAAkBC,GAAwB,CAC5C,SAAU,EAClB,CAAK,EACGC,GAAyBnkB,EAAO8jB,EAAaE,CAAc,GAG3D,QAAQ,KAAK,+FAA+F,EAEhH,MAAM7B,EAAWrV,SAAa,IAAI,EAClCS,EAAAA,UAAgB,IAAI,CAChB,MAAMtK,EAAUkf,EAAS,QACzB,GAAI6B,GAAkBhY,GAAkB/I,EAAS,CAC7C,MAAMmhB,EAAsBlW,GAAI,CAC5B,MAAMmW,EAAcnW,EAAE,OAAO,KACzBmW,GAAephB,EAAQ,SAAS+I,EAAe,aAAa,GAAK,CAAC/I,EAAQ,SAASohB,CAAW,GAE9FnW,EAAE,eAAc,CAEpC,EACY,OAAAlC,EAAe,iBAAiBsY,GAA2BF,CAAkB,EACtE,IAAI,CACPpY,EAAe,oBAAoBsY,GAA2BF,CAAkB,CAChG,CACS,CACT,EAAO,CACCjC,EACAnW,EACAgY,CACR,CAAK,EACD,MAAM5C,EAA2BpS,EAAAA,YAAkB,CAACd,EAAGqW,IAAS,CAE5D,MAAMC,EAAgB,CAClB,WACA,mBACA,eACZ,EACQ,GAAI,CAACrC,EAAS,QACV,OAEJ,MAAMsC,EAAYZ,EAAiB1B,EAAS,QAAU7H,GAAKA,EAAG,aAAa,MAAM,GAAKkK,EAAc,QAAQlK,EAAG,aAAa,MAAM,CAAC,IAAM,EAAE,EAC3I,IAAIoK,EAAaD,EAAU,QAAQF,CAAM,EAAI,EACzCG,IAAeD,EAAU,SACzBC,EAAa,GAEjB,MAAMC,EAAaF,EAAU,IAAKG,GAAW,CACzC,IAAIC,EACJ,OAAQA,EAAwBD,EAAS,eAAiB,MAAQC,IAA0B,OAAS,OAASA,EAAsB,OAAO,CAAC,EAAE,YAAW,CACrK,CAAS,EACKzkB,EAAO8N,EAAE,IAAI,YAAW,EACxB4W,EAAqB,CAAC/vB,EAAOgwB,IAAY,CAC3C,QAAQ7yB,EAAI6C,EAAO7C,EAAIyyB,EAAW,OAAQzyB,IACtC,GAAIkO,IAASukB,EAAWzyB,CAAC,EACrB,OAAOA,EAGf,MAAO,EACnB,EAEQ,IAAIkE,EAAQ0uB,EAAmBJ,CAAgB,EAE3CtuB,IAAU,KACVA,EAAQ0uB,EAAmB,CAAO,GAGlC1uB,EAAQ,IACRquB,EAAUruB,CAAK,EAAE,OAE7B,EAAO,CACCytB,CACR,CAAK,EACD,IAAImB,EACJ,KAAM,CAACtF,EAAeG,CAAgB,EAAIlM,GAAqB,CAC3D,OAAQqR,EAAuBhlB,EAAM,iBAAmB,MAAQglB,IAAyB,OAASA,EAAuBhB,EAAiBF,EAAY,cAAgB,OACtK,aAAc9jB,EAAM,qBACpB,aAAc,CAAE,CACxB,CAAK,EACD,IAAI+f,EACJ,MAAMkF,GAA4BlF,EAA8B/f,EAAM,wBAA0B,MAAQ+f,IAAgC,OAASA,EAA8BiE,EAAiBF,EAAY,qBAAuB,OAC7NoB,EAAiBhY,GAAiB,CAACgB,EAAG5Q,EAAM7K,EAAO0yB,IAAU,CAE/D,MAAMC,EAAkB,CACpB,IAFkB1F,GAAkB,KAAmC,OAASA,EAAcpiB,CAAI,IAAM,CAAA,CAGpH,EACY6nB,EACAC,EAAgB,OAAOA,EAAgB,QAAQ3yB,CAAK,EAAG,CAAC,EAExD2yB,EAAgB,KAAK3yB,CAAK,EAE9BwyB,GAA6B,MAAuDA,EAAyB/W,EAAG,CAC5G,KAAA5Q,EACA,aAAc8nB,CAC1B,CAAS,EACDvF,EAAkBwF,IAAK,CACf,GAAGA,EACH,CAAC/nB,CAAI,EAAG8nB,CACX,EAAC,CACd,CAAK,EACKE,EAAcpY,GAAiB,CAACgB,EAAG5Q,EAAM7K,IAAQ,CACnD,MAAM2yB,EAAkB,CACpB3yB,CACZ,EACQotB,EAAkBwF,IAAK,CACf,GAAGA,EACH,CAAC/nB,CAAI,EAAG8nB,CACX,EAAC,EACNH,GAA6B,MAAuDA,EAAyB/W,EAAG,CAC5G,KAAA5Q,EACA,aAAc8nB,CAC1B,CAAS,CACT,CAAK,EACD,MAAO,CACH,WAAY,CACR,KAAM,KACT,EACD,KAAMrR,GAAYsO,GAAyB,MAAO,CAI9C,IAAK9N,GAAclH,EAAK8U,CAAQ,EAChC,KAAM,OACN,kBAAmB2B,EAAY,UAC/B,GAAGG,EACH,GAAGjkB,CACf,CAAS,EAAG,CACA,YAAa,KACzB,CAAS,EACD,SAAU8jB,EAAY,UAAY,GAClC,cAAeA,EAAY,eAAiB,GAC5C,cAAApE,EACA,eAAAsE,EACA,yBAAA5C,EACA,YAAAkE,EACA,eAAAJ,CACR,CACA,EAGUnB,GAA0B,IAAI,CACpC,MAAMrE,EAAgB7C,GAAyBpK,GAAUA,EAAQ,aAAa,EACxEkN,EAAuB9C,GAAyBpK,GAAUA,EAAQ,oBAAoB,EACtFyM,EAAYrC,GAAyBpK,GAAUA,EAAQ,SAAS,EAChEmM,EAAW/B,GAAyBpK,GAAUA,EAAQ,QAAQ,EAC9DkM,EAAgB9B,GAAyBpK,GAAUA,EAAQ,aAAa,EAC9E,MAAO,CACH,cAAAiN,EACA,qBAAAC,EACA,UAAAT,EACA,SAAAN,EACA,cAAAD,CACR,CACA,EAGUwF,GAA2B,CAACnkB,EAAOulB,EAAcvB,IAAiB,CACxE,IAAIwB,EAAyB,GAC7B,UAAUpuB,KAAOmuB,EACTvlB,EAAM5I,CAAG,IACTouB,EAAyB,IAGjC,OAAOxB,GAAkBwB,CAC7B,EC1KiBC,GAA0B,CAAChtB,EAAOojB,IAE1BhG,GAAK4H,GAAkB,CACxC,MAAO5B,EAAc,SACrB,SAAwBhG,GAAKpd,EAAM,KAAM,CAAA,CAAE,CACnD,CAAK,ECVE,SAASitB,GAAkCjtB,EAAO,CACrD,KAAM,CAAE,cAAAinB,EAAe,cAAAf,EAAe,SAAAC,EAAU,YAAA0G,EAAa,yBAAAlE,EAA0B,eAAA8D,CAAgB,EAAGzsB,EAU1G,MAAO,CACH,SATa,CACb,cAAAinB,EACA,cAAAf,EACA,SAAAC,EACA,YAAA0G,EACA,yBAAAlE,EACA,eAAA8D,CACR,CAGA,CACA,CCbO,MAAMS,GAAqB,CAChC,KAAM,cACR,EACM3P,GAAyB1F,GAAS,CACtC,KAAM,CACJ,OAAQ,UACR,QAAS,WACT,OAAQ,EACR,QAAS,EACT,OAAQ,UACT,EACD,eAAgB,CACd,QAAS,UACV,CACH,EAAG,CACD,EAAG,CAAC,0BAA2B,oCAAqC,CAAC,sBAAuB,CAC1F,EAAG,EACJ,CAAA,EAAG,yBAAyB,CAC/B,CAAC,EAIYsV,GAA6BntB,GAAS,CACjD,cAEA,MAAMxG,EAAS+jB,KACf,OAAAvd,EAAM,KAAK,UAAYsY,GAAa4U,GAAmB,KAAM1zB,EAAO,KAAMwG,EAAM,gBAAkBxG,EAAO,eAAgBwG,EAAM,KAAK,SAAS,EACtIA,CACT,ECrBiBotB,GAAyBtO,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CACrE,MAAM5U,EAAQmrB,GAAqB5jB,EAAOqN,CAAG,EACvCwO,EAAgB6J,GAAkCjtB,CAAK,EAC7D,OAAAmtB,GAA2BntB,CAAK,EAChC0d,GAA4B,4BAA4B,EAAE1d,CAAK,EACxDgtB,GAAwBhtB,EAAOojB,CAAa,CACvD,CAAC,EACDgK,GAAS,YAAc,WCCZ,MAAMC,GAA0B,CAAC9lB,EAAOqN,IAAM,CACrD,cACA,MAAMwQ,EAAahB,GAAyBpK,GAAUA,EAAQ,cAAc,EACtEoE,EAAUgG,GAAyBpK,GAAUA,EAAQ,OAAO,EAC5D8D,EAAOsG,GAAyBpK,GAAUA,EAAQ,IAAI,EACtDuM,EAAcnC,GAAyBpK,GAAUA,EAAQ,WAAW,EACpEyF,EAAa2E,GAAyBpK,GAAUA,EAAQ,UAAU,EAClE+L,EAAYN,KACZ6H,EAA4BjZ,SAAa,EAAI,EAC7CkZ,EAA+BzX,KAC/B,CAAC0X,EAAoBC,CAAoB,EAAInT,GAAU,EACvD,CAAE,IAAA9H,GAAQgB,KACVka,EAAgBlb,IAAQ,MAAQmb,GAAYC,GAG5CC,EAA+BtX,cAAmBpP,GAAO,CACvDA,GAIAA,EAAK,iBAAiB,YAAcsO,GAAI,CAChC6X,EAA0B,UAC1BA,EAA0B,QAAU,GACpC9H,GAAuBJ,EAAW,QAAS3P,CAAC,EAC5C+X,EAAmB,IAAIF,EAA0B,QAAU,GAAM,GAAG,EAExF,CAAa,CAEb,EAAO,CACClI,EACAoI,CACR,CAAK,EACD1Y,EAAAA,UAAgB,IAAI,CAExB,EAAO,CACC2Y,CACR,CAAK,EACD,IAAIK,EACJ,MAAM7H,GAAU6H,EAA2B1J,GAAyBpK,GAAUA,EAAQ,MAAM,KAAO,MAAQ8T,IAA6B,OAASA,EAA2B,GACtK/S,EAAYqJ,GAAyBpK,GAAUA,EAAQ,SAAS,EAChE+T,EAAYzS,GAAYsO,GAAyB,MAAO,CAC1D,KAAM,eACN,GAAG2D,EACH,GAAGhmB,EAIH,IAAKuU,GAAclH,EAAKwQ,EAAYyI,CAA4B,CACxE,CAAK,EAAG,CACA,YAAa,KACrB,CAAK,EACK,CAAE,aAAcG,EAAsB,UAAWC,CAAiB,EAAKF,EAC7E,OAAAA,EAAU,aAAetZ,GAAkBS,GAAQ,EAC3CqR,GAAeR,IACf3H,EAAQlJ,EAAO,CACX,KAAM,GACN,SAAU,GACV,KAAM,wBACN,MAAAA,CAChB,CAAa,EAEL8Y,GAAyB,MAAmDA,EAAqB9Y,CAAK,CAC9G,CAAK,EACD6Y,EAAU,UAAYtZ,GAAkBS,GAAQ,CAC5C,MAAMha,EAAMga,EAAM,IAClB,GAAIha,IAAQihB,IAAU4J,GAAa7qB,IAAQwyB,EAAe,CACtD,IAAIpI,EACAxH,IAAU,GAAAwH,EAAsBF,EAAW,WAAa,MAAQE,IAAwB,SAAkBA,EAAoB,SAASpQ,EAAM,MAAM,IAAM,CAACA,EAAM,uBAChKkJ,EAAQlJ,EAAO,CACX,KAAM,GACN,SAAU,GACV,KAAM,qBACN,MAAAA,CACpB,CAAiB,EAGDA,EAAM,eAAc,EAE3B,CACD,GAAIha,IAAQgzB,KACR9P,EAAQlJ,EAAO,CACX,KAAM,GACN,SAAU,GACV,KAAM,qBACN,MAAAA,CAChB,CAAa,EACG,CAAC6Q,GAAW,CACZ,IAAI7C,GACHA,EAAsBzD,EAAW,WAAa,MAAQyD,IAAwB,QAAkBA,EAAoB,MAAK,CAC7H,CAEL+K,GAAsB,MAAgDA,EAAkB/Y,CAAK,CACrG,CAAK,EACM,CACH,OAAA+Q,EACA,UAAAlL,EACA,WAAY,CACR,KAAM,KACT,EACD,KAAMgT,CACd,CACA,EClHaI,GAAwB,CACnC,KAAM,iBACR,EACM5Q,GAAyB1F,GAAS,CACtC,KAAM,CACJ,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,UACR,OAAQ,UACR,OAAQ,UACR,QAAS,WACT,QAAS,UACT,QAAS,WACT,QAAS,WACT,OAAQ,WACR,OAAQ,WACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,UACT,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,UACR,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,WACT,QAAS,WACT,OAAQ,UACR,OAAQ,UACR,OAAQ,UACR,OAAQ,UACR,QAAS,UACT,OAAQ,UACR,OAAQ,WACR,QAAS,UACT,OAAQ,UACR,QAAS,UACT,QAAS,UACT,OAAQ,UACR,OAAQ,UACR,QAAS,WACT,OAAQ,UACR,QAAS,SACV,CACH,EAAG,CACD,EAAG,CAAC,CAAC,qDAAsD,CACzD,EAAG,EACJ,CAAA,EAAG,6DAA8D,kDAAmD,oCAAqC,6BAA8B,8BAA+B,gCAAiC,gCAAiC,yCAA0C,CAAC,yBAA0B,CAC5V,EAAG,EACP,CAAG,EAAG,CAAC,4DAA6D,CAChE,EAAG,EACP,CAAG,EAAG,+CAAgD,8CAA+C,kDAAmD,mDAAoD,uDAAwD,sDAAuD,iEAAkE,oDAAqD,qDAAsD,oFAAqF,kFAAmF,oFAAqF,qFAAsF,kFAAmF,iFAAkF,2CAA2C,EACzgC,EAAG,CAAC,qDAAsD,kIAAkI,EAC5L,EAAG,CAAC,CAAC,mGAAoG,CACvG,EAAG,0BACP,CAAG,EAAG,CAAC,4FAA6F,CAChG,EAAG,0BACP,CAAG,EAAG,CAAC,6FAA8F,CACjG,EAAG,0BACP,CAAG,CAAC,EACF,EAAG,CAAC,qHAAsH,6GAA6G,CACzO,CAAC,EAIYuW,GAAgCpuB,GAAS,CACpD,cAEA,MAAMxG,EAAS+jB,KACf,OAAAvd,EAAM,KAAK,UAAYsY,GAAa6V,GAAsB,KAAM30B,EAAO,KAAMwG,EAAM,KAAK,SAAS,EAC1FA,CACT,ECvFiBquB,GAA8BruB,GAEvCA,EAAM,OACeod,GAAKpd,EAAM,KAAM,CAAE,CAAA,EAEvBod,GAAKC,GAAQ,CAC9B,UAAWrd,EAAM,UACjB,SAAwBod,GAAKpd,EAAM,KAAM,CAAA,CAAE,CACnD,CAAK,ECNYsuB,GAA4BxP,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CACxE,MAAM5U,EAAQqtB,GAAwB9lB,EAAOqN,CAAG,EAChD,OAAAwZ,GAA8BpuB,CAAK,EACnC0d,GAA4B,+BAA+B,EAAE1d,CAAK,EAC3DquB,GAA2BruB,CAAK,CAC3C,CAAC,EACDsuB,GAAY,YAAc,cCAf,MAAMC,GAA2BhnB,GAAQ,CAChD,KAAM,CAAE,SAAAC,EAAU,yBAAAgnB,EAA2B,EAAK,EAAKjnB,EACjDkY,EAAa2E,GAAyBpK,GAAUA,EAAQ,UAAU,EAClE+M,EAAiB3C,GAAyBpK,GAAUA,EAAQ,cAAc,EAC1EoE,EAAUgG,GAAyBpK,GAAUA,EAAQ,OAAO,EAC5D8D,EAAOsG,GAAyBpK,GAAUA,EAAQ,IAAI,EACtDyM,EAAYrC,GAAyBpK,GAAUA,EAAQ,SAAS,EAChEuM,EAAcnC,GAAyBpK,GAAUA,EAAQ,WAAW,EACpEqM,EAAgBjC,GAAyBpK,GAAUA,EAAQ,aAAa,EACxE+L,EAAYN,KACZ,CAAE,mBAAAwC,GAAuBC,KACzBC,EAAa5R,EAAAA,YAAkB,IAAI,CACrC,MAAM6R,EAAiBH,EAAmBlB,EAAe,OAAO,EAChEqB,GAAmB,MAA6CA,EAAe,OACvF,EAAO,CACCH,EACAlB,CACR,CAAK,EACK0H,EAAwBpa,SAAa,EAAK,EAC1Cqa,EAAgBra,SAAa,EAAK,EAClC,CAAE,IAAA7B,GAAQgB,KACVmb,EAAenc,IAAQ,MAAQob,GAAaD,GAC5C7Z,EAAQ+I,GAAgBrV,CAAQ,EAChConB,EAAiB1Z,GAAQ,CACvB2Z,GAAiB3Z,CAAK,GAAKA,EAAM,mBAAkB,GAGnDmR,IACAnR,EAAM,eAAc,EACpBkJ,EAAQlJ,EAAO,CACX,KAAM,GACN,SAAU,GACV,KAAM,yBACN,MAAAA,CAChB,CAAa,EAEb,EACU4Z,EAAW5Z,GAAQ,CACjB2Z,GAAiB3Z,CAAK,GAGrBmR,IACDjI,EAAQlJ,EAAO,CACX,KAAM,CAAC4I,EACP,SAAU2Q,EAAsB,QAChC,KAAM,mBACN,MAAAvZ,CAChB,CAAa,EACDuZ,EAAsB,QAAU,GAE5C,EACUM,EAAa7Z,GAAQ,CACvB,GAAI2Z,GAAiB3Z,CAAK,EACtB,OAEJ,MAAMha,EAAMga,EAAM,IACd,CAACmR,IAAkBN,GAAa7qB,IAAQyzB,GAAgB,CAAC5I,GAAa7qB,IAAQ8zB,KAC9E5Q,EAAQlJ,EAAO,CACX,KAAM,GACN,SAAU,GACV,KAAM,qBACN,MAAAA,CAChB,CAAa,EAEDha,IAAQihB,IAAU,CAAC4J,GACnB3H,EAAQlJ,EAAO,CACX,KAAM,GACN,SAAU,GACV,KAAM,qBACN,MAAAA,CAChB,CAAa,EAGD4I,GAAQ5iB,IAAQyzB,GAAgB5I,GAChCoC,GAEZ,EACU8G,EAAgB/Z,GAAQ,CACtB2Z,GAAiB3Z,CAAK,GAGtBqR,GAAemI,EAAc,SAC7BtQ,EAAQlJ,EAAO,CACX,KAAM,GACN,SAAU,GACV,KAAM,wBACN,MAAAA,CAChB,CAAa,CAEb,EAIUga,EAAeha,GAAQ,CACrB2Z,GAAiB3Z,CAAK,GAGtBqR,GAAe,CAACmI,EAAc,UAC9BtQ,EAAQlJ,EAAO,CACX,KAAM,GACN,SAAU,GACV,KAAM,uBACN,MAAAA,CAChB,CAAa,EACDwZ,EAAc,QAAU,GAEpC,EACUS,EAAgBja,GAAQ,CACtB2Z,GAAiB3Z,CAAK,GAGtBqR,GACAnI,EAAQlJ,EAAO,CACX,KAAM,GACN,SAAU,GACV,KAAM,wBACN,MAAAA,CAChB,CAAa,CAEb,EACUka,EAAmB,CACrB,GAAI3I,EACJ,GAAG3S,GAAU,KAA2B,OAASA,EAAM,MACvD,IAAKgI,GAAc2D,EAAY3L,GAAU,KAA2B,OAASA,EAAM,GAAG,EACtF,aAAcW,GAAiBmI,GAAe9I,GAAU,KAA2B,OAASA,EAAM,MAAM,aAAcmb,CAAY,CAAC,EACnI,aAAcxa,GAAiBmI,GAAe9I,GAAU,KAA2B,OAASA,EAAM,MAAM,aAAcqb,CAAY,CAAC,EACnI,cAAe1a,GAAiBmI,GAAe9I,GAAU,KAA2B,OAASA,EAAM,MAAM,cAAe8a,CAAa,CAAC,EACtI,YAAana,GAAiBmI,GAAe9I,GAAU,KAA2B,OAASA,EAAM,MAAM,YAAaob,CAAW,CAAC,CACxI,EACUG,EAAoB,CACtB,gBAAiB,OACjB,gBAAiB,CAACvR,GAAQ,CAACiI,EAAY,OAAYjI,EACnD,GAAGsR,EACH,QAAS3a,GAAiBmI,GAAe9I,GAAU,KAA2B,OAASA,EAAM,MAAM,QAASgb,CAAO,CAAC,EACpH,UAAWra,GAAiBmI,GAAe9I,GAAU,KAA2B,OAASA,EAAM,MAAM,UAAWib,CAAS,CAAC,CAClI,EACUO,EAA8BzF,IAAoB/V,GAAU,KAA2B,OAASA,EAAM,QAAU,WAAaA,GAAU,KAA2B,OAASA,EAAM,QAAU,IAAMA,EAAM,KAAO,MAAOub,CAAiB,EAC5O,MAAO,CACH,UAAAtJ,EACA,SAAU/I,GAA4BxV,EAAU6e,EAAgB+I,EAAmBZ,EAA2Ba,EAAoBC,CAA2B,CACrK,CACA,EACMT,GAAoB3Z,GAAQ,CAC9B,MAAMqa,EAAc1N,GAAKA,EAAG,aAAa,UAAU,GAAKA,EAAG,aAAa,eAAe,GAAKA,EAAG,aAAa,eAAe,IAAM,OACjI,OAAI2N,GAActa,EAAM,MAAM,GAAKqa,EAAWra,EAAM,MAAM,EAC/C,GAEJsa,GAActa,EAAM,aAAa,GAAKqa,EAAWra,EAAM,aAAa,CAC/E,EC3JiBua,GAA8BzvB,GACtBoY,EAAAA,cAAoBsM,GAA4B,CACjE,MAAO1kB,EAAM,SACrB,EAAOA,EAAM,QAAQ,ECHJ0vB,GAAenoB,GAAQ,CACpC,MAAMvH,EAAQuuB,GAAwBhnB,CAAK,EAC3C,OAAOkoB,GAA2BzvB,CAAK,CAC3C,EACA0vB,GAAY,YAAc,cAE1BA,GAAY,yBAA2B,GCE5B,MAAMC,GAAqB,CAACpoB,EAAOqN,IAAM,CAEhDrN,EAAQka,GAA8Bla,EAAO,CACzC,iBAAkB,GAClB,iBAAkB,EAC1B,CAAK,EACD,KAAM,CAAE,QAAAmlB,EAAS,eAAAkD,EAAgB,SAAA3b,EAAU,cAAA4b,EAAgB,QAAS,SAAAC,EAAU,SAAAC,CAAU,EAAGxoB,EACrFyoB,EAAc1N,GAA0B,CAC1C,MAAA/a,EACA,mBAAoB,QACpB,kBAAmB,CACf,UACA,iBACA,UACH,CACT,CAAK,EACKyZ,EAAKzF,GAAM,UAAWyU,EAAY,QAAQ,EAAE,EAC5C5oB,EAAOkU,GAAY/T,EAAM,KAAM,CACjC,aAAc,CACV,IAAK0oB,GAAgB,EACrB,GAAGD,EAAY,IAClB,EACD,YAAa,KACrB,CAAK,EACKE,EAAY5U,GAAY/T,EAAM,UAAW,CAC3C,aAAc,CACV,cAAe,GACf,SAAwB6Q,EAAAA,cAAoB+X,GAAc,IAAI,CACjE,EACD,YAAa,KACrB,CAAK,EACKC,EAAQ9U,GAAY/T,EAAM,MAAO,CACnC,aAAc,CACV,QAAAmlB,EACA,eAAAkD,EACA,GAAA5O,EACA,IAAApM,EACA,KAAM,SACN,KAAM,WACN,GAAGob,EAAY,OAClB,EACD,YAAa,OACrB,CAAK,EACDI,EAAM,SAAWxT,GAAewT,EAAM,SAAW1b,GAAKob,GAAa,KAA8B,OAASA,EAASpb,EAAI,CAC/G,QAASA,EAAG,cAAc,OAC7B,CAAA,CAAC,EACN,MAAM2b,EAAQvN,GAAcvb,EAAM,MAAO,CACrC,aAAc,CACV,SAAA0M,EACA,QAAS+M,EACT,SAAA+O,EACA,KAAM,QACT,EACD,YAAaO,EACrB,CAAK,EACD,MAAO,CACH,cAAAT,EACA,WAAY,CACR,KAAM,MACN,UAAW,MACX,MAAO,QACP,MAAOS,EACV,EACD,KAAAlpB,EACA,UAAA8oB,EACA,MAAAE,EACA,MAAAC,CACR,CACA,EC9EiBE,GAAyBvwB,GAAQ,CAE9C,KAAM,CAAE,cAAA6vB,CAAe,EAAG7vB,EAC1B,OAAqBkd,GAAMld,EAAM,KAAM,CACnC,SAAU,CACQod,GAAKpd,EAAM,MAAO,EAAE,EAClC6vB,IAAkB,SAAW7vB,EAAM,OAAuBod,GAAKpd,EAAM,MAAO,EAAE,EAChEod,GAAKpd,EAAM,UAAW,EAAE,EACtC6vB,IAAkB,SAAW7vB,EAAM,OAAuBod,GAAKpd,EAAM,MAAO,EAAE,CACjF,CACT,CAAK,CACL,ECZawwB,GAAmB,CAC9B,KAAM,aACN,UAAW,wBACX,MAAO,oBACP,MAAO,mBACT,EAUMC,GAAoC/M,GAAc,UAAW,UAAW,CAC5E,EAAG,CAAC,gGAAiG,sCAAuC,8CAA+C,2KAA4K,uRAA0R,gGAAiG,sCAAuC,8CAA+C,2KAA4K,sRAAwR,EAC5vC,EAAG,CAAC,0MAA2M,yMAAyM,CAC1Z,CAAC,EACKgN,GAA6B7Y,GAAS,CAC1C,SAAU,CACR,QAAS,UACV,CACH,EAAG,CACD,EAAG,CAAC,mCAAmC,CACzC,CAAC,EACK8Y,GAAyCjN,GAAc,WAAY,KAAM,CAC7E,EAAG,CAAC,sYAAuY,uIAAuI,EAClhB,EAAG,CAAC,6FAA8F,qGAAsG,8FAA8F,CACxS,CAAC,EACKkN,GAAkC/Y,GAAS,CAC/C,WAAY,CACV,QAAS,UACV,CACH,EAAG,CACD,EAAG,CAAC,0BAA0B,CAChC,CAAC,EACKgZ,GAAqCnN,GAAc,UAAW,WAAY,CAC9E,EAAG,CAAC,oJAAqJ,yEAA0E,qCAAsC,yFAA0F,oGAAqG,qJAAsJ,2FAA4F,qKAAsK,gLAAiL,gMAAiM,0KAA2K,mLAAoL,0GAA2G,+JAAgK,qJAAsJ,2EAA4E,sCAAuC,0FAA2F,qGAAsG,sJAAuJ,4FAA6F,sKAAuK,iLAAkL,iMAAkM,2KAA4K,oLAAqL,2GAA4G,+JAA+J,EACjoH,EAAG,CAAC,8gBAA+gB,ohBAAohB,CACziC,CAAC,EACKoN,GAA8BjZ,GAAS,CAC3C,OAAQ,CACN,OAAQ,CAAC,WAAY,UAAU,EAC/B,QAAS,UACV,EACD,MAAO,CACL,OAAQ,CAAC,WAAY,UAAU,EAC/B,QAAS,UACV,EACD,MAAO,CACL,QAAS,WACT,QAAS,WACT,OAAQ,SACT,CACH,EAAG,CACD,EAAG,CAAC,sBAAuB,qBAAsB,oBAAqB,uBAAwB,0DAA2D,uBAAuB,CAClL,CAAC,EAEKkZ,GAA8BlZ,GAAS,CAC3C,KAAM,CACJ,QAAS,WACT,OAAQ,UACR,QAAS,WACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,UACV,EACD,MAAO,CACL,OAAQ,WACR,QAAS,WACT,OAAQ,SACT,EACD,MAAO,CACL,OAAQ,CAAC,UAAW,SAAS,CAC9B,EACD,OAAQ,CACN,OAAQ,CAAC,UAAW,SAAS,CAC9B,CACH,EAAG,CACD,EAAG,CAAC,6BAA8B,uEAAwE,qEAAsE,CAAC,wEAAyE,CACxP,EAAG,EACJ,CAAA,EAAG,mDAAoD,sDAAuD,wBAAyB,qDAAsD,qDAAqD,CACrP,CAAC,EAIYmZ,GAA2BhxB,GAAS,CAC/C,cAEA,MAAMixB,EAAoBR,KACpBS,EAAaR,KACbS,EAAyBR,KACzBS,EAAkBR,KAClBS,EAAqBR,KACrBS,EAAcR,KACdS,EAAcR,KACd,CACJ,MAAAV,EACA,cAAAR,CACD,EAAG7vB,EACJ,OAAAA,EAAM,KAAK,UAAYsY,GAAakY,GAAiB,KAAMS,EAAmBpB,IAAkB,SAAWqB,EAAW,SAAUlxB,EAAM,KAAK,SAAS,EACpJA,EAAM,UAAU,UAAYsY,GAAakY,GAAiB,UAAWW,EAAwBd,GAASR,IAAkB,SAAWuB,EAAgB,WAAYpxB,EAAM,UAAU,SAAS,EACxLA,EAAM,MAAM,UAAYsY,GAAakY,GAAiB,MAAOa,EAAoBhB,GAASiB,EAAYzB,CAAa,EAAG7vB,EAAM,MAAM,SAAS,EACvIA,EAAM,QACRA,EAAM,MAAM,UAAYsY,GAAakY,GAAiB,MAAOe,EAAY,KAAMA,EAAY1B,CAAa,EAAG7vB,EAAM,MAAM,SAAS,GAE3HA,CACT,EC1GiBwxB,GAAuB1S,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CACnE,MAAM5U,EAAQ2vB,GAAmBpoB,EAAOqN,CAAG,EAC3C,OAAAoc,GAAyBhxB,CAAK,EAC9B0d,GAA4B,0BAA0B,EAAE1d,CAAK,EACtDuwB,GAAsBvwB,CAAK,CACtC,CAAC,EACDwxB,GAAO,YAAc,SCZrB,MAAMC,GAA6B,CAC/B,WAAY,cACZ,wBAAyB,GACzB,iBAAkB,GAClB,SAAU,GACV,cAAe,OACf,WAAY,IAAI,CACJ,EACZ,aAAc,IAAI,CACN,EACZ,SAAU,IAAI,CACF,EACZ,kBAAmB,KACR,CACH,eAAgB,CAAE,CAC9B,GAEI,KAAM,SACN,SAAU,EACd,EACaC,GAAiB9T,GAAc,MAAS,EACxC+T,GAAkBD,GAAe,SACjCE,GAA8B/mB,GAAWwZ,GAAmBqN,GAAgB,CAACpN,EAAMmN,KAA6B5mB,EAASyZ,CAAG,CAAC,ECXzHuN,GAAkB,CAACtqB,EAAOqN,IAAM,CAC7C,KAAM,CAAE,QAAA4F,EAAS,SAAUsX,EAAc,GAAO,KAAAC,EAAM,QAAAjD,EAAS,QAAAkD,EAAS,MAAAh4B,CAAO,EAAGuN,EAC5EgT,EAAaqX,GAA4BtN,GAAMA,EAAI,UAAU,EAC7D2N,EAA0BL,GAA4BtN,GAAMA,EAAI,uBAAuB,EACvF4N,EAAmBN,GAA4BtN,GAAMA,EAAI,gBAAgB,EACzE6N,EAAeP,GAA4BtN,GAAMA,EAAI,QAAQ,EAC7D8N,EAAWR,GAA4BtN,GAAMA,EAAI,gBAAkBtqB,CAAK,EACxEq4B,EAAaT,GAA4BtN,GAAMA,EAAI,UAAU,EAC7DgO,EAAeV,GAA4BtN,GAAMA,EAAI,YAAY,EACjEiO,EAAWX,GAA4BtN,GAAMA,EAAI,QAAQ,EACzDva,EAAO6nB,GAA4BtN,GAAMA,EAAI,IAAI,EACjDkO,EAAWZ,GAA4BtN,GAAM,CAAC,CAACA,EAAI,QAAQ,EAC3DrQ,EAAWke,GAAgBL,EAC3BpI,EAAWrV,SAAa,IAAI,EAC5Boe,EAAoBvd,GAAQqd,EAASrd,EAAO,CAC1C,MAAAlb,CACZ,CAAS,EACC04B,EAAaje,GAAiBmI,GAAekS,EAAS2D,CAAgB,CAAC,EACvEE,EAAale,GAAiBmI,GAAeoV,EAASS,CAAgB,CAAC,EACvEG,EAAaC,GAAqB,CACpC,UAAW,CACP,UAAWT,CACd,CACT,CAAK,EACDtd,EAAAA,UAAgB,KACZud,EAAW,CACP,MAAAr4B,EACA,IAAK0vB,CACjB,CAAS,EACM,IAAI,CACP4I,EAAa,CACT,MAAAt4B,EACA,IAAK0vB,CACrB,CAAa,CACb,GACO,CACC2I,EACAC,EACA5I,EACA1vB,CACR,CAAK,EACD,MAAM84B,EAAWhQ,GAAciP,EAAM,CACjC,YAAa,MACrB,CAAK,EACKgB,EAAczX,GAAYd,EAAS,CACrC,aAAc,CACV,SAAUjT,EAAM,QACnB,EACD,YAAa,MACrB,CAAK,EACKyrB,EAAuBxY,GAAW,OAAOA,GAAY,SAAWxH,GAAKwH,EAAS,CAChF,KACH,CAAA,EAAIA,EACCyY,EAAW,GAASH,GAAa,MAAuCA,EAAS,UAAa,CAACC,EAAY,UACjH,MAAO,CACH,WAAY,CACR,KAAM,SACN,KAAM,OACN,QAAS,OACT,qBAAsB,MACzB,EACD,KAAMzX,GAAYsO,GAAyB,SAAU,CAIjD,IAAK9N,GAAclH,EAAK8U,CAAQ,EAChC,KAAM,MACN,KAAM,SAGN,gBAAiBzV,EAAW,OAAY,GAAGme,CAAQ,GACnD,GAAGQ,EACH,GAAGrrB,EACH,SAAA0M,EACA,QAASye,EACT,QAASR,EAAmBS,EAAaX,CACrD,CAAS,EAAG,CACA,YAAa,QACzB,CAAS,EACD,KAAMc,EACN,SAAAG,EACA,QAASF,EACT,qBAAsBjQ,GAAckQ,EAAsB,CACtD,gBAAiB,CAACZ,GAAY,CAACa,GAAYhB,EAC3C,aAAc,CACV,SAAU1qB,EAAM,QACnB,EACD,YAAa,MACzB,CAAS,EACD,WAAAgT,EACA,SAAAtG,EACA,SAAAme,EACA,KAAAroB,EACA,MAAA/P,EACA,SAAAw4B,CACR,CACA,ECxGiBU,GAAsBlzB,GAEdkd,GAAMld,EAAM,KAAM,CACnC,SAAU,CACNA,EAAM,MAAsBod,GAAKpd,EAAM,KAAM,CAAA,CAAE,EAC/C,CAACA,EAAM,UAA0Bod,GAAKpd,EAAM,QAAS,CAAA,CAAE,EACvDA,EAAM,sBAAsCod,GAAKpd,EAAM,qBAAsB,CAAA,CAAE,CAClF,CACT,CAAK,ECPCmzB,GAA+B,CACnC,UAAW,+BACX,SAAU,6BACZ,EACMC,GAAwCvb,GAAS,CACrD,KAAM,CACJ,QAAS,EACT,QAAS,EACT,QAAS,UACV,EACD,SAAU,CACR,QAAS,UACT,OAAQ,UACR,QAAS,WACT,QAAS,UACT,OAAQ,UACT,EACD,WAAY,CACV,OAAQ,CAAC,UAAW,UAAU,EAC9B,OAAQ,SACT,EACD,SAAU,CACR,OAAQ,WACR,OAAQ,UACT,CACH,EAAG,CACD,EAAG,CAAC,CAAC,+BAAgC,CACnC,EAAG,EACP,CAAG,EAAG,kDAAmD,4DAA6D,0EAA2E,0CAA2C,4CAA6C,qHAAsH,0CAA2C,qHAAqH,EAC7iB,EAAG,CAAC,CAAC,sFAAuF,CAC1F,EAAG,kCACP,CAAG,EAAG,CAAC,yFAA0F,CAC7F,EAAG,kCACP,CAAG,CAAC,CACJ,CAAC,EACKwb,GAAmB7oB,GAAW,CAClC,GAAIA,EAAS,CACX,IAAI8oB,EACJ,MAAMC,IAAeD,EAAyB9oB,EAAQ,iBAAmB,MAAQ8oB,IAA2B,OAAS,OAASA,EAAuB,sBAAqB,IAAO,CAC/K,EAAG,EACH,EAAG,EACH,MAAO,EACP,OAAQ,CACd,EACUE,EAAUhpB,EAAQ,wBACxB,MAAO,CACL,EAAGgpB,EAAQ,EAAID,EAAW,EAC1B,EAAGC,EAAQ,EAAID,EAAW,EAC1B,MAAOC,EAAQ,MACf,OAAQA,EAAQ,MACtB,CACG,CAEH,EACMC,GAAuB,CAACC,EAAgB15B,IAAU,CACtD,IAAI25B,EACJ,MAAMnpB,EAAUopB,GAAe55B,CAAK,GAAK25B,EAAiCD,EAAe,KAAK,UAAU15B,CAAK,CAAC,KAAO,MAAQ25B,IAAmC,OAAS,OAASA,EAA+B,IAAI,QAAU,OAC/N,OAAOnpB,EAAU6oB,GAAiB7oB,CAAO,EAAI,MAC/C,EAEMopB,GAAiB55B,GAASA,GAAS,KAI5B65B,GAAyC7zB,GAAS,CAC7D,KAAM,CACJ,SAAAiU,EACA,SAAAme,EACA,SAAAI,CACD,EAAGxyB,EACE8zB,EAAwBV,KACxB,CAACW,EAAkBC,CAAmB,EAAI3a,EAAc,SAAA,EACxD,CAAC4a,EAAiBC,CAAkB,EAAI7a,WAAe,CAC3D,OAAQ,EACR,MAAO,CACX,CAAG,EACK8a,EAAoBvC,GAA2BtN,GAAOA,EAAI,iBAAiB,EASjF,GARAxP,EAAAA,UAAgB,IAAM,CAChB8e,GAAeG,CAAgB,GACjCG,EAAmB,CACjB,OAAQ,EACR,MAAO,CACf,CAAO,CAEP,EAAK,CAACH,CAAgB,CAAC,EACjB3B,EAAU,CACZ,KAAM,CACJ,sBAAAgC,EACA,cAAAC,EACA,eAAAX,CACD,EAAGS,EAAiB,EACrB,GAAIP,GAAeQ,CAAqB,GAAKL,IAAqBK,EAAuB,CACvF,MAAME,EAA0Bb,GAAqBC,EAAgBU,CAAqB,EACpFG,EAAkBd,GAAqBC,EAAgBW,CAAa,EAC1E,GAAIE,GAAmBD,EAAyB,CAC9C,MAAM90B,EAASgzB,EAAW8B,EAAwB,EAAIC,EAAgB,EAAID,EAAwB,EAAIC,EAAgB,EAChHC,EAAQhC,EAAW8B,EAAwB,OAASC,EAAgB,OAASD,EAAwB,MAAQC,EAAgB,MACnIL,EAAmB,CACjB,OAAA10B,EACA,MAAAg1B,CACV,CAAS,EACDR,EAAoBI,CAAqB,CAC1C,CACF,CACL,MAAaR,GAAeG,CAAgB,GAGxCC,EAAoB,MAAS,EAG/B,GAAI/f,EACF,OAAOjU,EAIT,MAAMy0B,EAAYR,EAAgB,SAAW,GAAKA,EAAgB,QAAU,EAC5Ej0B,EAAM,KAAK,UAAYsY,GAAatY,EAAM,KAAK,UAAWoyB,GAAY0B,EAAsB,KAAM1B,GAAYqC,GAAaX,EAAsB,SAAU1B,IAAaI,EAAWsB,EAAsB,SAAWA,EAAsB,WAAW,EACrP,MAAMY,EAAc,CAClB,CAACvB,GAA6B,SAAS,EAAG,GAAGc,EAAgB,MAAM,KACnE,CAACd,GAA6B,QAAQ,EAAG,GAAGc,EAAgB,KAAK,EACrE,EACE,OAAAj0B,EAAM,KAAK,MAAQ,CACjB,GAAG00B,EACH,GAAG10B,EAAM,KAAK,KAClB,EACSA,CACT,EC/Ha20B,GAAgB,CAC3B,KAAM,UACN,KAAM,gBACN,QAAS,kBACX,EACMC,GAA0B,CAC9B,QAAS,kCACX,EAUMlE,GAA6B7Y,GAAS,CAC1C,KAAM,CACJ,QAAS,UACT,OAAQ,WACR,QAAS,UACT,QAAS,WACT,QAAS,UACT,OAAQ,WACR,OAAQ,WACR,OAAQ,UACT,EACD,OAAQ,CACN,QAAS,UACT,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,UACR,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,UACR,QAAS,WACT,OAAQ,WACR,QAAS,UACT,QAAS,WACT,QAAS,UACT,OAAQ,WACR,QAAS,UACT,QAAS,WACT,OAAQ,WACR,OAAQ,WACR,QAAS,EACT,QAAS,EACT,QAAS,WACT,QAAS,UACV,EACD,WAAY,CACV,QAAS,SACV,EACD,SAAU,CACR,QAAS,UACV,EACD,gBAAiB,CACf,OAAQ,WACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,UACV,EACD,cAAe,CACb,OAAQ,WACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,UACV,EACD,iBAAkB,CAChB,OAAQ,WACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,UACV,EACD,eAAgB,CACd,OAAQ,WACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,SACV,EACD,gBAAiB,CACf,OAAQ,WACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,UACV,EACD,cAAe,CACb,OAAQ,WACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,SACV,EACD,YAAa,CACX,OAAQ,WACR,QAAS,UACT,QAAS,WACT,QAAS,UACT,QAAS,UACT,OAAQ,UACR,OAAQ,UACR,QAAS,WACT,QAAS,SACV,EACD,OAAQ,CACN,OAAQ,UACR,QAAS,WACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,OAAQ,UACR,OAAQ,UACR,QAAS,WACT,QAAS,SACV,EACD,eAAgB,CACd,QAAS,SACV,EACD,SAAU,CACR,OAAQ,WACR,QAAS,UACT,OAAQ,SACT,EACD,SAAU,CACR,QAAS,WACT,QAAS,UACT,OAAQ,UACR,OAAQ,UACR,QAAS,UACT,QAAS,UACV,CACH,EAAG,CACD,EAAG,CAAC,gCAAiC,2BAA4B,2BAA4B,oCAAqC,wCAAyC,sCAAuC,iCAAkC,gCAAiC,CAAC,yBAA0B,CAC9S,EAAG,EACP,CAAG,EAAG,CAAC,qDAAsD,CACzD,EAAG,EACJ,CAAA,EAAG,6BAA8B,+CAAgD,mDAAoD,CAAC,8BAA+B,CACpK,EAAG,EACP,CAAG,EAAG,kCAAmC,oCAAqC,oCAAqC,qDAAsD,CAAC,kFAAmF,CACzP,EAAG,EACP,CAAG,EAAG,CAAC,+EAAgF,CACnF,EAAG,EACP,CAAG,EAAG,wDAAyD,CAAC,6EAA8E,CAC1I,EAAG,EACP,CAAG,EAAG,CAAC,iFAAkF,CACrF,EAAG,EACP,CAAG,EAAG,CAAC,6EAA8E,CACjF,EAAG,EACP,CAAG,EAAG,CAAC,4EAA6E,CAChF,EAAG,EACP,CAAG,EAAG,iEAAkE,mFAAoF,uFAAwF,iEAAkE,oFAAqF,uFAAwF,oEAAqE,wFAAyF,0FAA2F,2DAA4D,+EAAgF,iFAAkF,gCAAiC,wEAAyE,2EAA4E,wEAAyE,0FAA2F,6FAA8F,oEAAqE,uFAAwF,0FAA0F,CACzmD,CAAC,EACKgd,GAA2Chd,GAAS,CACxD,KAAM,CACJ,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,UACR,QAAS,UACT,OAAQ,UACT,EACD,OAAQ,CACN,OAAQ,EACR,OAAQ,EACR,QAAS,UACV,EACD,OAAQ,CACN,OAAQ,UACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,UACR,OAAQ,UACR,QAAS,WACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,UACR,OAAQ,WACR,QAAS,UACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,UACR,OAAQ,UACT,EACD,eAAgB,CACd,OAAQ,WACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,WACR,OAAQ,UACR,QAAS,UACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,WACR,OAAQ,WACR,QAAS,UACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,UACR,OAAQ,UACT,EACD,eAAgB,CACd,OAAQ,UACR,OAAQ,WACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,SACT,EACD,uBAAwB,CACtB,OAAQ,WACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,UACR,OAAQ,UACT,EACD,OAAQ,CACN,OAAQ,WACR,OAAQ,UACR,QAAS,UACT,OAAQ,WACR,QAAS,WACT,OAAQ,UACT,EACD,eAAgB,CACd,OAAQ,UACR,OAAQ,WACR,QAAS,WACT,OAAQ,WACR,QAAS,WACT,OAAQ,SACT,EACD,eAAgB,CACd,OAAQ,WACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,UACR,OAAQ,UACT,EACD,uBAAwB,CACtB,OAAQ,WACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,UACR,OAAQ,UACT,CACH,EAAG,CACD,EAAG,CAAC,CAAC,uDAAwD,CAC3D,EAAG,EACJ,CAAA,EAAG,0CAA2C,8CAA+C,CAAC,yDAA0D,CACvJ,EAAG,EACP,CAAG,EAAG,2DAA4D,CAAC,+EAAgF,CAC/I,EAAG,EACJ,CAAA,EAAG,kDAAmD,+EAAgF,CAAC,+FAAgG,CACtO,EAAG,EACJ,CAAA,EAAG,sEAAuE,iFAAkF,CAAC,kGAAmG,CAC/P,EAAG,EACJ,CAAA,EAAG,yEAA0E,4DAA6D,CAAC,kFAAmF,CAC7N,EAAG,EACJ,CAAA,EAAG,gDAAiD,8EAA+E,CAAC,qGAAsG,CACzO,EAAG,EACJ,CAAA,EAAG,oEAAqE,iFAAkF,CAAC,uGAAwG,CAClQ,EAAG,EACJ,CAAA,EAAG,uEAAwE,0DAA2D,CAAC,+EAAgF,CACtN,EAAG,EACP,CAAG,EAAG,qEAAsE,CAAC,mFAAoF,CAC7J,EAAG,EACJ,CAAA,EAAG,8DAA+D,gFAAiF,oFAAqF,0DAA2D,yDAA0D,8EAA+E,uEAAwE,iFAAkF,uEAAwE,CAAC,+EAAgF,CAC9tB,EAAG,EACP,CAAG,EAAG,CAAC,mFAAoF,CACvF,EAAG,EACP,CAAG,CAAC,CACJ,CAAC,EAIKid,GAA8Bjd,GAAS,CAC3C,KAAM,CACJ,QAAS,UACT,QAAS,CAAC,WAAY,SAAS,EAC/B,OAAQ,WACR,QAAS,CAAC,UAAW,UAAU,EAC/B,QAAS,WACT,QAAS,WACT,OAAQ,UACR,OAAQ,CAAC,UAAW,SAAS,EAC7B,QAAS,UACV,EACD,SAAU,CACR,QAAS,UACT,QAAS,CAAC,WAAY,SAAS,EAC/B,OAAQ,WACR,QAAS,CAAC,UAAW,UAAU,EAC/B,QAAS,WACT,QAAS,WACT,OAAQ,UACR,OAAQ,CAAC,UAAW,SAAS,EAC7B,QAAS,UACV,CACH,EAAG,CACD,EAAG,CAAC,kEAAmE,qEAAsE,mEAAoE,sEAAuE,4EAA6E,gEAAiE,yDAA0D,sHAAuH,gDAAiD,0LAA2L,yLAAyL,CAC9/B,CAAC,EAEKkd,GAAyCld,GAAS,CACtD,KAAM,CACJ,OAAQ,UACR,MAAO,EACP,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,UACT,OAAQ,WACR,OAAQ,UACR,QAAS,WACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,UACR,OAAQ,UACR,QAAS,WACT,QAAS,WACT,OAAQ,SACT,EACD,SAAU,CACR,OAAQ,WACR,QAAS,SACV,EACD,gBAAiB,CACf,OAAQ,UACR,QAAS,WACT,OAAQ,CAAC,WAAY,SAAS,EAC9B,OAAQ,CAAC,UAAW,UAAU,CAC/B,EACD,cAAe,CACb,OAAQ,UACR,OAAQ,CAAC,WAAY,UAAU,EAC/B,QAAS,UACT,OAAQ,SACT,EACD,iBAAkB,CAChB,OAAQ,UACR,QAAS,WACT,OAAQ,CAAC,WAAY,SAAS,EAC9B,OAAQ,CAAC,UAAW,UAAU,CAC/B,EACD,eAAgB,CACd,OAAQ,WACR,OAAQ,CAAC,WAAY,UAAU,EAC/B,QAAS,WACT,OAAQ,SACT,EACD,gBAAiB,CACf,OAAQ,UACR,QAAS,WACT,OAAQ,CAAC,WAAY,SAAS,EAC9B,OAAQ,CAAC,UAAW,UAAU,CAC/B,EACD,cAAe,CACb,OAAQ,UACR,OAAQ,CAAC,WAAY,UAAU,EAC/B,QAAS,UACT,OAAQ,SACT,CACH,EAAG,CACD,EAAG,CAAC,4EAA6E,CAAC,qEAAsE,CACtJ,EAAG,EACP,CAAG,EAAG,uCAA0C,6CAA8C,0EAA0E,EACtK,EAAG,CAAC,gFAAiF,CAAC,sEAAuE,CAC3J,EAAG,EACP,CAAG,EAAG,uCAA0C,+CAAgD,0EAA0E,EACxK,EAAG,CAAC,CAAC,uFAAwF,CAC3F,EAAG,yBACP,CAAG,EAAG,CAAC,uFAAwF,CAC3F,EAAG,yBACP,CAAG,CAAC,EACF,EAAG,CAAC,8BAA+B,qDAAsD,0DAA2D,0DAA2D,qDAAsD,6BAA8B,8BAA+B,kDAAmD,qDAAsD,uDAAwD,qDAAsD,qDAAsD,qDAAsD,kDAAmD,yDAA0D,qDAAqD,CACzyB,CAAC,EACKub,GAAwCvb,GAAS,CACrD,KAAM,CACJ,QAAS,WACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,UACT,QAAS,WACT,OAAQ,UACT,EACD,SAAU,CACR,QAAS,WACT,QAAS,WACT,QAAS,WACT,OAAQ,UACR,QAAS,WACT,OAAQ,SACT,EACD,SAAU,CACR,QAAS,UACV,EACD,gBAAiB,CACf,QAAS,UACT,OAAQ,UACR,OAAQ,CAAC,WAAY,UAAU,EAC/B,QAAS,CAAC,WAAY,UAAU,CACjC,EACD,cAAe,CACb,QAAS,UACT,OAAQ,CAAC,WAAY,UAAU,EAC/B,OAAQ,UACR,OAAQ,UACT,EACD,iBAAkB,CAChB,QAAS,UACT,OAAQ,WACR,OAAQ,CAAC,UAAW,UAAU,EAC9B,QAAS,CAAC,WAAY,SAAS,CAChC,EACD,eAAgB,CACd,QAAS,UACT,OAAQ,CAAC,WAAY,UAAU,EAC/B,OAAQ,UACR,OAAQ,UACT,EACD,gBAAiB,CACf,QAAS,UACT,OAAQ,WACR,OAAQ,CAAC,UAAW,UAAU,EAC9B,QAAS,CAAC,WAAY,SAAS,CAChC,EACD,cAAe,CACb,QAAS,WACT,OAAQ,CAAC,WAAY,UAAU,EAC/B,OAAQ,WACR,OAAQ,UACT,CACH,EAAG,CACD,EAAG,CAAC,oEAAqE,CAAC,8DAA+D,CACvI,EAAG,EACJ,CAAA,EAAG,gCAAmC,uCAAwC,sEAAuE,yFAA0F,4FAA6F,4EAA6E,6BAA8B,mDAAoD,yDAA0D,0DAA2D,oDAAqD,4BAA6B,6BAA8B,iDAAkD,qDAAsD,sDAAuD,mDAAoD,qDAAsD,mDAAoD,gDAAiD,yDAA0D,qDAAqD,EAC9qC,EAAG,CAAC,CAAC,gFAAiF,CACpF,EAAG,yBACP,CAAG,EAAG,CAAC,+FAAgG,CACnG,EAAG,yBACP,CAAG,EAAG,CAAC,+FAAgG,CACnG,EAAG,yBACP,CAAG,CAAC,CACJ,CAAC,EAIK2L,GAA6B3L,GAAS,CAC1C,KAAM,CACJ,QAAS,UACT,OAAQ,WACR,QAAS,UACT,OAAQ,UACR,QAAS,UACT,QAAS,EACT,QAAS,EACT,QAAS,WACT,OAAQ,UACR,OAAQ,SACT,EACD,MAAO,CACL,QAAS,UACT,QAAS,UACT,OAAQ,SACT,EACD,OAAQ,CACN,QAAS,UACT,QAAS,UACT,OAAQ,SACT,EACD,MAAO,CACL,QAAS,WACT,QAAS,UACT,OAAQ,SACT,EACD,SAAU,CACR,OAAQ,UACR,OAAQ,UACT,CACH,EAAG,CACD,EAAG,CAAC,iCAAkC,+BAAgC,gCAAiC,iCAAkC,oCAAqC,CAAC,8BAA+B,CAC5M,EAAG,EACJ,CAAA,EAAG,2CAA4C,8CAA+C,4BAA6B,yBAA0B,wBAAyB,6BAA8B,yBAA0B,wBAAyB,6CAA8C,4CAA4C,CAC5V,CAAC,EAIKmd,GAAgCnd,GAAS,CAC7C,KAAM,CACJ,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,WACT,QAAS,EACT,QAAS,EACT,QAAS,WACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,UACV,EACD,SAAU,CACR,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACV,EACD,MAAO,CACL,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACV,EACD,cAAe,CACb,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACV,EACD,aAAc,CACZ,QAAS,UACT,OAAQ,UACT,EACD,WAAY,CACV,QAAS,UACT,OAAQ,UACT,EACD,YAAa,CACX,QAAS,SACV,CACH,EAAG,CACD,EAAG,CAAC,+CAAgD,8CAA+C,kDAAmD,mDAAoD,CAAC,8BAA+B,CACxO,EAAG,EACP,CAAG,EAAG,CAAC,6EAA8E,CACjF,EAAG,EACP,CAAG,EAAG,mDAAoD,8CAA+C,kDAAmD,iCAAkC,+BAAgC,iCAAkC,8BAA8B,CAC9R,CAAC,EAIYod,GAAwBj1B,GAAS,CAC5C,cAEA,OAAAk1B,GAA+Bl1B,CAAK,EACpCm1B,GAA4Bn1B,EAAOA,EAAM,IAAI,EAC7Co1B,GAA6Bp1B,CAAK,EAC3BA,CACT,EAUak1B,GAAiCl1B,GAAS,CACrD,cAEA,MAAMkxB,EAAaR,KACb2E,EAAyBN,KACzBjB,EAAwBV,KACxB,CACJ,WAAA7Y,EACA,SAAAtG,EACA,SAAAme,EACA,KAAAroB,EACA,SAAAyoB,CACD,EAAGxyB,EACEs1B,EAAU,CAACX,GAAc,KAAMzD,EAAW,IAAI,EACpD,OAAI3W,IAAe,mBAAqBA,IAAe,mBACrD+a,EAAQ,KAERD,EAAuB,KAAMtrB,IAAS,UAAYyoB,EAAW6C,EAAuB,cAAgBA,EAAuB,iBAAkBtrB,IAAS,WAAayoB,EAAW6C,EAAuB,eAAiBA,EAAuB,kBAAmBtrB,IAAS,UAAYyoB,EAAW6C,EAAuB,cAAgBA,EAAuB,iBAAkBphB,GAAYohB,EAAuB,SAEnZjD,GAAY0B,EAAsB,KAAM1B,GAAY,CAACne,GAAY6f,EAAsB,SAAU1B,GAAYroB,IAAS,UAAYyoB,EAAWsB,EAAsB,cAAgBA,EAAsB,iBAAkB1B,GAAYroB,IAAS,WAAayoB,EAAWsB,EAAsB,eAAiBA,EAAsB,kBAAmB1B,GAAYroB,IAAS,UAAYyoB,EAAWsB,EAAsB,cAAgBA,EAAsB,iBAAkB1B,GAAYne,GAAY6f,EAAsB,QAAQ,EAE1gB9zB,EAAM,KAAK,UAAYsY,GAAa,GAAGgd,EAASt1B,EAAM,KAAK,SAAS,EACpE6zB,GAAuC7zB,CAAK,EACrCA,CACT,EAWam1B,GAA8B,CAACn1B,EAAOu1B,IAAS,CAC1D,cAEA,MAAMrE,EAAaR,KACb8E,EAAcV,KACdW,EAAiBZ,KACjB,CACJ,WAAAta,EACA,SAAAtG,EACA,SAAAme,EACA,KAAAroB,EACA,SAAAyoB,CACD,EAAGxyB,EACE01B,EAAmBnb,IAAe,kBAClCob,EAAmBpb,IAAe,kBAClCqb,EAAaF,GAAoBC,EACjCE,EAAqB,CAACJ,EAAe,KAAMD,EAAY,SAE7DzrB,IAAS,UAAY0rB,EAAe,OAEpCC,GAAoBD,EAAe,OAAQrD,GAAYsD,GAAoBD,EAAe,eAAgBxhB,GAAYyhB,GAAoBD,EAAe,eAAgBrD,GAAYne,GAAYyhB,GAAoBD,EAAe,uBAEpOE,GAAoBF,EAAe,OAAQrD,GAAYuD,GAAoBF,EAAe,eAAgBxhB,GAAY0hB,GAAoBF,EAAe,eAAgBrD,GAAYne,GAAY0hB,GAAoBF,EAAe,sBAAsB,EACpPK,EAAoB,CAACN,EAAY,KAAM,CAACvhB,GAAYsG,IAAe,UAAY2W,EAAW,OAAQ,CAACjd,GAAYsG,IAAe,eAAiB2W,EAAW,YAAa,CAACjd,GAAYme,GAAYlB,EAAW,SAAUjd,GAAYid,EAAW,QAAQ,EAC1P,OAAAqE,EAAK,UAAYjd,GAAa4Y,EAAW,OAEzCsB,EAAWtB,EAAW,SAAWA,EAAW,WAE5CnnB,IAAS,UAAYyoB,EAAWtB,EAAW,cAAgBA,EAAW,iBAAkBnnB,IAAS,WAAayoB,EAAWtB,EAAW,eAAiBA,EAAW,kBAAmBnnB,IAAS,UAAYyoB,EAAWtB,EAAW,cAAgBA,EAAW,iBAAkB,GAAI0E,EAAaC,EAAqBC,EAAoB7hB,GAAYid,EAAW,eAAgBqE,EAAK,SAAS,EACnXv1B,CACT,EAUao1B,GAA+Bp1B,GAAS,CACnD,cAEA,MAAM8jB,EAAaN,KACbuS,EAAgBf,KAChB,CACJ,SAAA5C,EACA,KAAAroB,CACD,EAAG/J,EACJ,OAAIA,EAAM,OACRA,EAAM,KAAK,UAAYsY,GAAaqc,GAAc,KAAM7Q,EAAW,KAAMA,EAAW/Z,CAAI,EAAGqoB,GAAYtO,EAAW,SAAU9jB,EAAM,KAAK,SAAS,GAG9IA,EAAM,uBACRA,EAAM,qBAAqB,UAAYsY,GAAasc,GAAwB,QAASmB,EAAc,KAAMhsB,IAAS,QAAUgsB,EAAc,cAAgBA,EAAc,SAAU/1B,EAAM,KAAO+1B,EAAc,WAAaA,EAAc,aAAcA,EAAc,YAAa/1B,EAAM,QAAQ,SAAS,EAIxSA,EAAM,8BAAgCA,EAAM,qBAAqB,WAEnEA,EAAM,QAAQ,UAAYsY,GAAaqc,GAAc,QAASoB,EAAc,KAAMhsB,IAAS,SAAWgsB,EAAc,MAAO3D,IAAaroB,IAAS,QAAUgsB,EAAc,cAAgBA,EAAc,UAAW/1B,EAAM,KAAO+1B,EAAc,WAAaA,EAAc,aAAc/1B,EAAM,QAAQ,SAAS,EACtSA,CACT,ECvzBiBkuB,GAAoBpP,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CAChE,MAAM5U,EAAQ6xB,GAAgBtqB,EAAOqN,CAAG,EACxC,OAAAqgB,GAAsBj1B,CAAK,EAC3B0d,GAA4B,uBAAuB,EAAE1d,CAAK,EACnDkzB,GAAmBlzB,CAAK,CACnC,CAAC,EACDkuB,GAAI,YAAc,MCFP,MAAM8H,GAAsB,CAACzuB,EAAOqN,IAAM,CACjD,KAAM,CAAE,WAAA2F,EAAa,cAAe,wBAAA0X,EAA0B,GAAM,SAAAhe,EAAW,GAAO,YAAAgiB,EAAa,iBAAA/D,EAAmB,GAAO,KAAAnoB,EAAO,SAAU,SAAAyoB,EAAW,EAAO,EAAGjrB,EAC7JmiB,EAAWrV,SAAa,IAAI,EAC5BmX,EAAkBC,GAAwB,CAC5C,SAAU,GACV,KAAM+G,EAAW,WAAa,aAC9B,gBAAiB,GAEjB,oBAAqB,EAC7B,CAAK,EACK,CAAC6B,EAAe6B,CAAgB,EAAIhb,GAAqB,CAC3D,MAAO3T,EAAM,cACb,aAAcA,EAAM,qBACpB,aAAc,MACtB,CAAK,EAKK4uB,EAAuB9hB,SAAa,MAAS,EAC7C+f,EAAwB/f,SAAa,MAAS,EACpDS,EAAAA,UAAgB,IAAI,CAChBsf,EAAsB,QAAU+B,EAAqB,QACrDA,EAAqB,QAAU9B,CACvC,EAAO,CACCA,CACR,CAAK,EACD,MAAM9B,EAAW9d,GAAiB,CAACS,EAAOkG,IAAO,CAC7C8a,EAAiB9a,EAAK,KAAK,EAC3B6a,GAAgB,MAA0CA,EAAY/gB,EAAOkG,CAAI,CACzF,CAAK,EACKsY,EAAiBrf,SAAa,CAAA,CAAE,EAChCge,EAAa5d,GAAkB2G,GAAO,CACxCsY,EAAe,QAAQ,KAAK,UAAUtY,EAAK,KAAK,CAAC,EAAIA,CAC7D,CAAK,EACKkX,EAAe7d,GAAkB2G,GAAO,CAC1C,OAAOsY,EAAe,QAAQ,KAAK,UAAUtY,EAAK,KAAK,CAAC,CAChE,CAAK,EACK+Y,EAAoB5d,EAAAA,YAAkB,KACjC,CACH,cAAe4f,EAAqB,QACpC,sBAAuB/B,EAAsB,QAC7C,eAAgBV,EAAe,OAC3C,GACO,CAAE,CAAA,EACL,MAAO,CACH,WAAY,CACR,KAAM,KACT,EACD,KAAMpY,GAAYsO,GAAyB,MAAO,CAI9C,IAAK9N,GAAclH,EAAK8U,CAAQ,EAChC,KAAM,UACN,mBAAoB8I,EAAW,WAAa,aAC5C,GAAGhH,EACH,GAAGjkB,CACf,CAAS,EAAG,CACA,YAAa,KACzB,CAAS,EACD,WAAAgT,EACA,wBAAA0X,EACA,SAAAhe,EACA,iBAAAie,EACA,cAAAmC,EACA,KAAAtqB,EACA,SAAAyoB,EACA,WAAAH,EACA,aAAAC,EACA,SAAAC,EACA,kBAAA4B,CACR,CACA,EC/EiBiC,GAAyB,CAACp2B,EAAOojB,IAEzBhG,GAAKpd,EAAM,KAAM,CAClC,SAAwBod,GAAKuU,GAAiB,CAC1C,MAAOvO,EAAc,QACrB,SAAUpjB,EAAM,KAAK,QACjC,CAAS,CACT,CAAK,ECVQq2B,GAAoB,CAC/B,KAAM,aACR,EAIM9Y,GAAyB1F,GAAS,CACtC,KAAM,CACJ,OAAQ,UACR,QAAS,WACT,QAAS,UACT,OAAQ,UACR,OAAQ,UACT,EACD,WAAY,CACV,QAAS,WACT,QAAS,UACV,EACD,SAAU,CACR,QAAS,WACT,QAAS,UACV,EACD,aAAc,CACZ,OAAQ,EACR,QAAS,EACT,OAAQ,UACT,EACD,QAAS,CACP,OAAQ,EACR,QAAS,EACT,OAAQ,SACT,CACH,EAAG,CACD,EAAG,CAAC,0BAA2B,iCAAkC,2BAA4B,8BAA+B,gCAAiC,kCAAmC,oCAAqC,CAAC,iDAAkD,CACtR,EAAG,EACP,CAAG,EAAG,CAAC,2CAA4C,CAC/C,EAAG,EACP,CAAG,CAAC,CACJ,CAAC,EAIYye,GAA4Bt2B,GAAS,CAChD,cAEA,KAAM,CACJ,WAAAua,EACA,SAAAiY,EACA,KAAAzoB,CACD,EAAG/J,EACExG,EAAS+jB,KACTgZ,EAAYhc,IAAe,mBAAqBA,IAAe,kBACrE,OAAAva,EAAM,KAAK,UAAYsY,GAAa+d,GAAkB,KAAM78B,EAAO,KAAMg5B,EAAWh5B,EAAO,SAAWA,EAAO,WAAY+8B,IAAcxsB,IAAS,QAAUvQ,EAAO,aAAeA,EAAO,SAAUwG,EAAM,KAAK,SAAS,EAC9MA,CACT,ECxDO,SAASw2B,GAAiCx2B,EAAO,CACpD,KAAM,CAAE,WAAAua,EAAY,wBAAA0X,EAAyB,SAAAhe,EAAU,iBAAAie,EAAkB,cAAeuE,EAAa,WAAApE,EAAY,aAAAC,EAAc,SAAAC,EAAU,kBAAA4B,EAAmB,KAAApqB,EAAM,SAAAyoB,CAAQ,EAAKxyB,EAc/K,MAAO,CACH,QAdY,CACZ,WAAAua,EACA,wBAAA0X,EACA,SAAAhe,EACA,iBAAAie,EACA,cAAeuE,EACf,SAAAlE,EACA,WAAAF,EACA,aAAAC,EACA,kBAAA6B,EACA,KAAApqB,EACA,SAAAyoB,CACR,CAGA,CACA,CCVgB,MAACkE,GAAwB5X,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CACpE,MAAM5U,EAAQg2B,GAAoBzuB,EAAOqN,CAAG,EACtCwO,EAAgBoT,GAAiCx2B,CAAK,EAC5D,OAAAs2B,GAA0Bt2B,CAAK,EAC/B0d,GAA4B,2BAA2B,EAAE1d,CAAK,EACvDo2B,GAAuBp2B,EAAOojB,CAAa,CACtD,CAAC,EACDsT,GAAQ,YAAc,UCLN,MAACC,GAAmB,CAACpvB,EAAOqN,IAAM,CAC9C,KAAM,CAAE,KAAAgiB,EAAM,SAAAC,EAAU,MAAAC,EAAO,OAAAC,EAAQ,UAAAC,EAAW,cAAAC,EAAe,KAAAltB,EAAM,KAAAmtB,EAAM,OAAAC,EAAQ,MAAAC,CAAK,EAAK7vB,EAyB/F,MAxBc,CACV,MAAO6vB,GAA6C,QACpD,MAAON,GAA6C,GACpD,KAAMI,GAA0C,OAChD,OAAQH,GAAgD,GACxD,KAAMhtB,GAA0C,IAChD,cAAektB,GAAqE,GACpF,SAAUJ,GAAsD,GAChE,UAAWG,GAAyD,GACpE,OAAQG,GAAgD,UACxD,KAAMP,GAA0C,GAChD,WAAY,CACR,KAAM,MACT,EACD,KAAMtb,GAAYsO,GAAyB,OAAQ,CAI/C,IAAKhV,EACL,GAAGrN,CACf,CAAS,EAAG,CACA,YAAa,MACzB,CAAS,CACT,CAEA,ECjCiB8vB,GAAuBr3B,GAEfod,GAAKpd,EAAM,KAAM,CAAE,CAAA,ECJ/Bs3B,GAAiB,CAC5B,KAAM,UACR,EAIM/Z,GAAyB1F,GAAS,CACtC,KAAM,CACJ,QAAS,UACT,QAAS,UACT,QAAS,WACT,QAAS,UACT,OAAQ,UACR,OAAQ,WACR,OAAQ,UACR,QAAS,EACT,QAAS,EACT,QAAS,WACT,OAAQ,SACT,EACD,OAAQ,CACN,OAAQ,UACR,QAAS,EACT,QAAS,EACT,QAAS,UACV,EACD,SAAU,CACR,OAAQ,UACT,EACD,MAAO,CACL,OAAQ,SACT,EACD,OAAQ,CACN,QAAS,UACV,EACD,UAAW,CACT,OAAQ,UACT,EACD,cAAe,CACb,OAAQ,SACT,EACD,uBAAwB,CACtB,OAAQ,UACT,EACD,QAAS,CACP,QAAS,WACT,QAAS,SACV,EACD,QAAS,CACP,QAAS,UACT,QAAS,SACV,EACD,QAAS,CACP,QAAS,UACT,QAAS,SACV,EACD,QAAS,CACP,QAAS,WACT,QAAS,UACV,EACD,QAAS,CACP,QAAS,WACT,QAAS,SACV,EACD,QAAS,CACP,QAAS,UACT,QAAS,SACV,EACD,QAAS,CACP,QAAS,UACT,QAAS,UACV,EACD,QAAS,CACP,QAAS,WACT,QAAS,SACV,EACD,SAAU,CACR,QAAS,UACT,QAAS,UACV,EACD,UAAW,CACT,QAAS,UACV,EACD,QAAS,CACP,QAAS,UACV,EACD,aAAc,CACZ,QAAS,SACV,EACD,eAAgB,CACd,QAAS,SACV,EACD,WAAY,CACV,QAAS,SACV,EACD,YAAa,CACX,OAAQ,UACT,EACD,SAAU,CACR,OAAQ,UACT,EACD,aAAc,CACZ,OAAQ,UACT,CACH,EAAG,CACD,EAAG,CAAC,+CAAgD,8CAA+C,mDAAoD,kDAAmD,8BAA+B,6BAA8B,gCAAiC,CAAC,+BAAgC,CACvU,EAAG,EACJ,CAAA,EAAG,gCAAiC,gCAAiC,CAAC,8BAA+B,CACpG,EAAG,EACP,CAAG,EAAG,qCAAsC,2BAA4B,gCAAiC,6CAA8C,+CAAgD,0DAA2D,+CAAgD,kDAAmD,8CAA+C,kDAAmD,8CAA+C,kDAAmD,+CAAgD,mDAAoD,+CAAgD,kDAAmD,8CAA+C,kDAAmD,8CAA+C,mDAAoD,+CAAgD,kDAAmD,+CAAgD,oDAAqD,qDAAsD,mDAAoD,iDAAkD,mDAAoD,+CAAgD,gCAAiC,6BAA8B,gCAAgC,CAC59C,CAAC,EAIY0f,GAAyBv3B,GAAS,CAC7C,cAEA,MAAMxG,EAAS+jB,KACf,OAAAvd,EAAM,KAAK,UAAYsY,GAAagf,GAAe,KAAM99B,EAAO,KAAMwG,EAAM,OAAS,IAASxG,EAAO,OAAQwG,EAAM,UAAYxG,EAAO,SAAUwG,EAAM,OAASxG,EAAO,MAAOwG,EAAM,QAAUxG,EAAO,OAAQwG,EAAM,WAAaxG,EAAO,UAAWwG,EAAM,eAAiBxG,EAAO,cAAewG,EAAM,WAAaA,EAAM,eAAiBxG,EAAO,uBAAwBwG,EAAM,OAAS,KAAOxG,EAAO,QAASwG,EAAM,OAAS,KAAOxG,EAAO,QAASwG,EAAM,OAAS,KAAOxG,EAAO,QAASwG,EAAM,OAAS,KAAOxG,EAAO,QAASwG,EAAM,OAAS,KAAOxG,EAAO,QAASwG,EAAM,OAAS,KAAOxG,EAAO,QAASwG,EAAM,OAAS,KAAOxG,EAAO,QAASwG,EAAM,OAAS,KAAOxG,EAAO,QAASwG,EAAM,OAAS,KAAQxG,EAAO,SAAUwG,EAAM,OAAS,aAAexG,EAAO,UAAWwG,EAAM,OAAS,WAAaxG,EAAO,QAASwG,EAAM,SAAW,UAAYxG,EAAO,aAAcwG,EAAM,SAAW,YAAcxG,EAAO,eAAgBwG,EAAM,SAAW,QAAUxG,EAAO,WAAYwG,EAAM,QAAU,UAAYxG,EAAO,YAAawG,EAAM,QAAU,OAASxG,EAAO,SAAUwG,EAAM,QAAU,WAAaxG,EAAO,aAAcwG,EAAM,KAAK,SAAS,EAC1kCA,CACT,ECvHO,SAASw3B,GAAaxrB,EAAS,CAClC,KAAM,CAAE,UAAAuR,EAAW,UAAArR,EAAW,YAAAurB,CAAW,EAAKzrB,EACxC0rB,EAAU5Y,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CAC3C,cACA,MAAMpb,EAAS+jB,IACTvd,EAAQ22B,GAAiBpvB,EAAOqN,CAAG,EACzC,OAAA2iB,GAAuBv3B,CAAK,EAC5BA,EAAM,KAAK,UAAYsY,GAAapM,EAAWlM,EAAM,KAAK,UAAWxG,EAAO,KAAM+N,EAAM,SAAS,EAC1F8vB,GAAoBr3B,CAAK,CACxC,CAAK,EACD,OAAA03B,EAAQ,YAAcD,EACfC,CACX,CCXW,MAAMC,GAA2B33B,GAEnBod,GAAKpd,EAAM,KAAM,CAClC,SAAwBod,GAAKpd,EAAM,SAAU,CAAA,CAAE,CACvD,CAAK,ECIY43B,GAAuB,CAACrwB,EAAOqN,IAAM,CAElDrN,EAAQka,GAA8Bla,EAAO,CACzC,iBAAkB,GAClB,iBAAkB,GAClB,aAAc,EACtB,CAAK,EACD,MAAMswB,EAAYC,KAClB,IAAIC,EACJ,KAAM,CAAE,KAAAhuB,EAAO,SAAU,WAAAwQ,GAAcwd,EAAoCF,EAAU,0BAA4B,MAAQE,IAAsC,OAASA,EAAoC,UAAW,OAAAC,EAAS,OAAQ,SAAAlI,CAAU,EAAGvoB,EAK/O,CAACvN,EAAOi+B,CAAQ,EAAI/c,GAAqB,CAC3C,MAAO3T,EAAM,MACb,aAAcA,EAAM,aACpB,aAAc,MACtB,CAAK,EACKyoB,EAAc1N,GAA0B,CAC1C,MAAA/a,EACA,mBAAoB,WACpB,kBAAmB,CACf,WACA,QACA,cACH,CACT,CAAK,EACKvH,EAAQ,CACV,KAAA+J,EACA,WAAAwQ,EACA,OAAAyd,EACA,WAAY,CACR,KAAM,OACN,SAAU,UACb,EACD,SAAU1c,GAAY/T,EAAM,SAAU,CAClC,aAAc,CACV,IAAAqN,EACA,GAAGob,EAAY,OAClB,EACD,YAAa,UACzB,CAAS,EACD,KAAM1U,GAAY/T,EAAM,KAAM,CAC1B,aAAcyoB,EAAY,KAC1B,YAAa,MACzB,CAAS,CACT,EACI,OAAAhwB,EAAM,SAAS,MAAQhG,EACvBgG,EAAM,SAAS,SAAWyU,GAAkBC,GAAK,CAC7C,MAAMnQ,EAAWmQ,EAAG,OAAO,MAC3Bob,GAAa,MAAuCA,EAASpb,EAAI,CAC7D,MAAOnQ,CACnB,CAAS,EACD0zB,EAAS1zB,CAAQ,CACzB,CAAK,EACMvE,CACX,ECnEak4B,GAAqB,CAChC,KAAM,eACN,SAAU,wBACZ,EAIMxH,GAA6B7Y,GAAS,CAC1C,KAAM,CACJ,OAAQ,UACR,QAAS,WACT,OAAQ,WACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,WACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,QAAS,WACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,UACR,OAAQ,UACT,EACD,SAAU,CACR,OAAQ,WACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,UACR,QAAS,UACT,QAAS,CAAC,WAAY,UAAU,EAChC,QAAS,UACT,OAAQ,CAAC,WAAY,UAAU,CAChC,EACD,YAAa,CACX,OAAQ,WACR,QAAS,WACT,OAAQ,WACR,OAAQ,CAAC,UAAW,UAAU,EAC9B,QAAS,WACT,QAAS,CAAC,WAAY,SAAS,EAC/B,OAAQ,UACR,OAAQ,CAAC,WAAY,UAAU,EAC/B,QAAS,CAAC,WAAY,UAAU,EAChC,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,WACT,OAAQ,UACR,OAAQ,UACR,QAAS,UACT,OAAQ,WACR,OAAQ,WACR,OAAQ,UACR,OAAQ,UACR,OAAQ,UACR,QAAS,WACT,OAAQ,UACR,QAAS,UACT,OAAQ,WACR,QAAS,WACT,QAAS,WACT,QAAS,WACT,QAAS,UACT,QAAS,SACV,EACD,OAAQ,CACN,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,UACR,OAAQ,UACR,OAAQ,CAAC,WAAY,SAAS,EAC9B,OAAQ,WACR,QAAS,CAAC,UAAW,UAAU,CAChC,EACD,gBAAiB,CACf,OAAQ,UACT,EACD,iBAAkB,CAChB,OAAQ,SACT,EACD,uBAAwB,CACtB,OAAQ,WACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,WACR,OAAQ,SACT,EACD,wBAAyB,CACvB,OAAQ,UACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,WACR,OAAQ,SACT,EACD,QAAS,CACP,OAAQ,UACR,QAAS,EACT,QAAS,WACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,SACT,EACD,mBAAoB,CAClB,OAAQ,EACR,OAAQ,WACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,UACT,OAAQ,EACR,OAAQ,WACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,QAAS,EACT,QAAS,EACT,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,WACR,QAAS,EACT,OAAQ,WACR,QAAS,EACT,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,SACV,EACD,QAAS,CACP,OAAQ,UACR,OAAQ,CAAC,UAAW,SAAS,EAC7B,OAAQ,WACR,QAAS,CAAC,UAAW,SAAS,CAC/B,CACH,EAAG,CACD,EAAG,CAAC,iCAAkC,oCAAqC,gCAAiC,CAAC,oDAAqD,CAChK,EAAG,EACP,CAAG,EAAG,CAAC,uBAAwB,CAC3B,EAAG,EACP,CAAG,EAAG,CAAC,qDAAsD,CACzD,EAAG,EACJ,CAAA,EAAG,iCAAkC,iEAAkE,CAAC,mFAAoF,CAC3L,EAAG,EACJ,CAAA,EAAG,2CAA4C,gCAAmC,uCAAwC,8BAA+B,gCAAiC,iCAAkC,mFAAoF,yEAA0E,0EAA2E,CAAC,iGAAkG,CACviB,EAAG,EACP,CAAG,EAAG,gFAAiF,wCAAyC,kDAAmD,kEAAmE,gEAAiE,CAAC,+EAAgF,CACpY,EAAG,EACJ,CAAA,EAAG,8DAA+D,6DAA8D,CAAC,2FAA4F,CAC5N,EAAG,EACP,CAAG,EAAG,uCAAwC,CAAC,2FAA4F,CACvI,EAAG,EACP,CAAG,EAAG,CAAC,4EAA6E,CAChF,EAAG,EACJ,CAAA,EAAG,sEAAuE,iHAAkH,mHAAoH,kHAAmH,qHAAqH,EACzhB,EAAG,CAAC,CAAC,uEAAwE,CAC3E,EAAG,yBACP,CAAG,EAAG,CAAC,gHAAiH,CACpH,EAAG,yBACP,CAAG,EAAG,CAAC,0EAA2E,CAC9E,EAAG,yBACP,CAAG,EAAG,CAAC,mGAAoG,CACvG,EAAG,6CACP,CAAG,EAAG,CAAC,gGAAiG,CACpG,EAAG,6CACP,CAAG,EAAG,CAAC,iHAAkH,CACrH,EAAG,6CACP,CAAG,EAAG,CAAC,8GAA+G,CAClH,EAAG,6CACP,CAAG,CAAC,EACF,EAAG,CAAC,qDAAsD,gEAAiE,2EAA4E,4EAA6E,oGAAqG,iEAAkE,8CAA+C,oDAAqD,CAAC,yFAA0F,CACxnB,EAAG,EACJ,CAAA,EAAG,8EAA8E,EAClF,EAAG,CAAC,mGAAoG,uGAAwG,oGAAqG,wGAAyG,CAAC,uFAAwF,CACrf,EAAG,EACJ,CAAA,EAAG,gFAAgF,EACpF,EAAG,CAAC,CAAC,2FAA4F,CAC/F,EAAG,EACJ,CAAA,EAAG,mFAAmF,CACzF,CAAC,EAIKsgB,GAAiCtgB,GAAS,CAC9C,KAAM,CACJ,OAAQ,WACR,OAAQ,CAAC,WAAY,UAAU,EAC/B,OAAQ,WACR,OAAQ,CAAC,WAAY,UAAU,EAC/B,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,QAAS,WACT,OAAQ,UACR,QAAS,WACT,OAAQ,UACR,QAAS,UACT,QAAS,UACT,QAAS,WACT,OAAQ,UACR,QAAS,WACT,QAAS,WACT,QAAS,UACT,OAAQ,UACT,EACD,SAAU,CACR,OAAQ,WACR,QAAS,UACT,OAAQ,SACT,EACD,MAAO,CACL,OAAQ,WACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,WACT,QAAS,WACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACV,EACD,OAAQ,CACN,OAAQ,SACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,WACT,QAAS,WACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACV,EACD,MAAO,CACL,OAAQ,UACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,WACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACV,CACH,EAAG,CACD,EAAG,CAAC,oCAAqC,sCAAuC,qCAAsC,uCAAwC,CAAC,uBAAwB,CACrL,EAAG,EACP,CAAG,EAAG,0CAA2C,oCAAqC,kDAAmD,yBAA0B,+CAAgD,0BAA2B,6EAA8E,oEAAqE,mDAAoD,0CAA2C,qEAAsE,+EAAgF,iCAAkC,0DAA2D,gCAAiC,oFAAqF,2EAA4E,8BAA+B,CAAC,kHAAmH,CACpiC,EAAG,EACP,CAAG,EAAG,+BAAgC,8CAA+C,kDAAmD,kDAAmD,4BAA6B,CAAC,sHAAuH,CAC5U,EAAG,EACP,CAAG,EAAG,+BAAgC,8CAA+C,mDAAoD,6BAA8B,CAAC,4GAA6G,CACjR,EAAG,EACP,CAAG,EAAG,8BAA+B,8CAA+C,iDAAiD,CACrI,CAAC,EAIKugB,GAAuCvgB,GAAS,CACpD,KAAM,CACJ,QAAS,UACV,EACD,KAAM,CACJ,QAAS,UACV,EACD,WAAY,CACV,QAAS,SACV,EACD,SAAU,CACR,QAAS,UACV,CACH,EAAG,CACD,EAAG,CAAC,0BAA2B,0BAA2B,+BAAgC,6BAA6B,CACzH,CAAC,EAIYwgB,GAA6Br4B,GAAS,CACjD,cAEA,KAAM,CACJ,KAAA+J,EACA,WAAAwQ,EACA,OAAAyd,CACD,EAAGh4B,EACEiU,EAAWjU,EAAM,SAAS,SAC1B6jB,EAAU,GAAG7jB,EAAM,SAAS,cAAc,CAAC,IAAO,OAClDkY,EAASqC,EAAW,WAAW,QAAQ,EACvC2W,EAAaR,KACnB1wB,EAAM,KAAK,UAAYsY,GAAa4f,GAAmB,KAAMhH,EAAW,KAAMjd,GAAYid,EAAW,SAAU,CAACjd,GAAYiE,GAAUgZ,EAAW,OAAQ,CAACjd,GAAYid,EAAW3W,CAAU,EAAG,CAACtG,GAAYid,EAAW,YAAa,CAACjd,GAAYsG,IAAe,WAAa2W,EAAW,mBAAoB,CAACjd,GAAY4P,GAAWqN,EAAW,QAASlxB,EAAM,KAAK,SAAS,EAC3W,MAAMs4B,EAAiBH,KACjBI,EAAuBH,KAC7B,OAAAp4B,EAAM,SAAS,UAAYsY,GAAa4f,GAAmB,SAAUI,EAAe,KAAMA,EAAevuB,CAAI,EAAGwuB,EAAqBP,CAAM,EAAG/jB,GAAYqkB,EAAe,SAAUt4B,EAAM,SAAS,SAAS,EACpMA,CACT,EC3YiBw4B,GAAyB1Z,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CACrE,MAAM5U,EAAQ43B,GAAqBrwB,EAAOqN,CAAG,EAC7C,OAAAyjB,GAA2Br4B,CAAK,EAChC0d,GAA4B,4BAA4B,EAAE1d,CAAK,EACxD23B,GAAwB33B,CAAK,CACxC,CAAC,EACDw4B,GAAS,YAAc,WCbvB,MAAMC,GAAiB,IAAI,EACrBC,GAAoB,IAKf,KAELC,GAA0B,IAKrB,KAMA,SAASC,GAAkB5sB,EAAS,CAC3C,KAAM,CAAE,SAAA6sB,EAAU,WAAAC,EAAaJ,GAAmB,iBAAAK,EAAmBJ,GAAyB,QAAAK,EAAUP,EAAgB,EAAGzsB,EAC3H,MAAO,CACH,SAAA6sB,EACA,WAAAC,EACA,iBAAAC,EACA,QAAAC,CACR,CACA,qBClBIC,GAAuB,+CAE3BC,GAAiBD,GCFbA,GAAuBE,GAE3B,SAASC,IAAgB,CAAE,CAC3B,SAASC,IAAyB,CAAE,CACpCA,GAAuB,kBAAoBD,GAE3C,IAAAE,GAAiB,UAAW,CAC1B,SAASC,EAAKhyB,EAAOiyB,EAAUC,EAAeC,EAAUC,EAAcC,EAAQ,CAC5E,GAAIA,IAAWX,GAIf,KAAIY,EAAM,IAAI,MACZ,iLAGN,EACI,MAAAA,EAAI,KAAO,sBACLA,EACV,CACEN,EAAK,WAAaA,EAClB,SAASO,GAAU,CACjB,OAAOP,CAEX,CAEE,IAAIQ,EAAiB,CACnB,MAAOR,EACP,OAAQA,EACR,KAAMA,EACN,KAAMA,EACN,OAAQA,EACR,OAAQA,EACR,OAAQA,EACR,OAAQA,EAER,IAAKA,EACL,QAASO,EACT,QAASP,EACT,YAAaA,EACb,WAAYO,EACZ,KAAMP,EACN,SAAUO,EACV,MAAOA,EACP,UAAWA,EACX,MAAOA,EACP,MAAOA,EAEP,eAAgBT,GAChB,kBAAmBD,EACvB,EAEE,OAAAW,EAAe,UAAYA,EAEpBA,CACT,EC/CEC,GAAc,QAAGb,uBChBnB,MAAMc,GAAsB,CACxB,YAAa,OACb,eAAgB,KAAK,CAAA,EACzB,EACaC,GAAgB1V,EAAAA,cAAoB,MAAS,EAC7C2V,GAAiBD,GAAc,SAC/BE,GAA4B,IAAI,CACzC,IAAIxV,EACJ,OAAQA,EAAoBC,EAAgB,WAACqV,EAAa,KAAO,MAAQtV,IAAsB,OAASA,EAAoBqV,EAChI,EACaI,GAAwB,IAAI,CACrC,KAAM,CAACC,EAAaC,CAAc,EAAIlhB,EAAc,SAAC,MAAM,EAC3D,MAAO,CACH,eAAAkhB,EACA,YAAAD,CACR,CACA,ECZaE,GAAgB,CAC3B,cAAe,oBACjB,EAqBMC,GAA+B5iB,GAAS,CAC5C,MAAO,CACL,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,CAAC,WAAY,SAAS,EAC9B,OAAQ,CAAC,WAAY,UAAU,EAC/B,OAAQ,CAAC,SAAU,SAAS,CAC7B,EACD,IAAK,CACH,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,CAAC,UAAW,UAAU,EAC/B,OAAQ,CAAC,WAAY,UAAU,EAC/B,OAAQ,CAAC,UAAW,QAAQ,CAC7B,EACD,OAAQ,CACN,QAAS,WACT,QAAS,UACV,EACD,MAAO,CACL,QAAS,UACV,EACD,OAAQ,CACN,QAAS,SACV,EACD,MAAO,CACL,QAAS,SACV,EACD,KAAM,CACJ,QAAS,SACV,CACH,EAAG,CACD,EAAG,CAAC,CAAC,sFAAuF,CAC1F,EAAG,EACP,CAAG,EAAG,CAAC,oFAAqF,CACxF,EAAG,EACP,CAAG,EAAG,qBAAsB,sBAAuB,uBAAwB,uBAAwB,CAAC,oFAAqF,CACrL,EAAG,EACP,CAAG,EAAG,CAAC,sFAAuF,CAC1F,EAAG,EACP,CAAG,EAAG,uBAAwB,uBAAwB,uCAAwC,sCAAuC,sCAAuC,qCAAqC,CACjN,CAAC,EACY6iB,GAAyC7iB,GAAS,CAC7D,MAAO,CACL,QAAS,UACV,EACD,OAAQ,CACN,QAAS,SACV,EACD,MAAO,CACL,QAAS,SACV,EACD,KAAM,CACJ,QAAS,UACV,CACH,EAAG,CACD,EAAG,CAAC,uCAAwC,sCAAuC,sCAAuC,qCAAqC,CACjK,CAAC,EACY8iB,GAA0B,CAAC,CACtC,SAAAp0B,EACA,KAAAwD,CACF,IAAM,CACJ,MAAM6wB,EAAaH,KACbI,EAAmBH,KACzB,OAAOpiB,GAAasiB,EAAWr0B,CAAQ,EAAGA,IAAa,UAAYs0B,EAAiB9wB,CAAI,EAAGxD,IAAa,UAAYq0B,EAAW7wB,CAAI,CAAC,CACtI,EC5FM+wB,GAAY,CACd,MAAOC,GAAa,eACpB,OAAQA,GAAa,aACrB,MAAOA,GAAa,eACpB,KAAMA,GAAa,iBACvB,EAGW,SAASC,GAAqBz0B,EAAU00B,EAASzoB,EAAK,CAC7D,MAAM0oB,EAAuB,mBAAmBD,CAAO,WACjDE,EAAuB,wBAAwBF,CAAO,iBACtDG,EAAuB,sBAAsBH,CAAO,QAC1D,OAAI10B,IAAa,QACNiM,IAAQ,MAAQ2oB,EAAuBD,EAE9C30B,IAAa,MACNiM,IAAQ,MAAQ0oB,EAAuBC,EAE9C50B,IAAa,SACN60B,EAEJ,sBACX,CAGsCC,GAAwB,CAAC,CAAE,SAAA90B,EAAU,KAAAwD,EAAM,IAAAyI,CAAG,IAAK,CACrF,MAAM8oB,EAAY,CACd,CAIE,UAAWN,GAAqBz0B,EAAUi0B,GAAc,cAAehoB,CAAG,EACxE,QAAS,CACZ,EACD,CACI,UAAW,uBACX,QAAS,CACZ,CACT,EACUhV,EAAWs9B,GAAU/wB,CAAI,EAC/B,MAAO,CACH,MAAO,CACH,UAAAuxB,EACA,SAAA99B,EACA,OAAQu9B,GAAa,kBACxB,EACD,KAAM,CACF,UAAW,CACP,GAAGO,CACN,EAAC,QAAS,EACX,SAAA99B,EACA,OAAQu9B,GAAa,kBACxB,CACT,CACA,CAAC,EAGU,MAAMQ,GAAsBF,GAAwB,CAAC,CAAE,SAAA90B,EAAU,KAAAwD,EAAM,IAAAyI,KAAQ,CACtF,MAAM8oB,EAAY,CACd,CAIE,UAAWN,GAAqBz0B,EAAUi0B,GAAc,cAAehoB,CAAG,EACxE,UAAW,OAAOgpB,GAAO,0BAA0B,GACnD,QAAS,CACZ,EACD,CACI,UAAW,uBACX,UAAWA,GAAO,SAClB,QAAS,CACZ,CACT,EACUh+B,EAAWs9B,GAAU/wB,CAAI,EAC/B,MAAO,CACH,MAAO,CACH,UAAAuxB,EACA,SAAA99B,EACA,OAAQu9B,GAAa,kBACxB,EACD,KAAM,CACF,UAAW,CACP,GAAGO,CACN,EAAC,QAAS,EACX,SAAA99B,EACA,OAAQu9B,GAAa,kBACxB,CACT,CACA,CAAC,EAGgBU,GAA+BJ,GAAwB,CAAC,CAAE,KAAAtxB,CAAI,IAAK,CAChF,MAAMuxB,EAAY,CACd,CACI,QAAS,CACZ,EACD,CACI,QAAS,CACZ,CACT,EACU99B,EAAWs9B,GAAU/wB,CAAI,EAC/B,MAAO,CACH,MAAO,CACH,UAAAuxB,EACA,OAAQP,GAAa,YACrB,SAAAv9B,CACH,EACD,KAAM,CACF,UAAW,CACP,GAAG89B,CACN,EAAC,QAAS,EACX,OAAQP,GAAa,YACrB,SAAAv9B,CACH,CACT,CACA,CAAC,ECtHM,SAASk+B,GAAsBn0B,EAAO,CACzC,KAAM,CAAE,KAAAuW,EAAO,GAAO,KAAA/T,EAAO,QAAS,SAAAxD,EAAW,OAAS,EAAGgB,EAC7D,MAAO,CACH,KAAAwC,EACA,SAAAxD,EACA,KAAAuX,CACR,CACA,CCFA,MAAM6d,GAAsCjY,GAAc,UAAW,KAAM,CAAC,yEAAyE,CAAC,EAChJkY,GAAiC/jB,GAAS,CAC9C,OAAQ,CACN,OAAQ,UACT,CACH,EAAG,CACD,EAAG,CAAC,gEAAgE,CACtE,CAAC,EAIYgkB,GAAyC77B,GAAS,CAC7D,cAEA,MAAM87B,EAAsBH,KACtBI,EAAiBH,KACvB,OAAI57B,EAAM,WACRA,EAAM,SAAS,UAAYsY,GAAawjB,EAAqB97B,EAAM,gBAAkB+7B,EAAe,OAAQ/7B,EAAM,SAAS,SAAS,GAE/HA,CACT,ECnBiBg8B,GAAqCld,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CACjF,MAAMqnB,EAAqBC,GAA0B,CACjD,GAAG30B,EAMD,GAAIA,EAAM,EACf,EAAEqN,CAAG,EACAunB,EAA6BC,GAAyD,EAC5F,OAAAP,GAAuCI,CAAkB,EAClDI,GAA6BJ,EAAoBE,CAA0B,CACtF,CAAC,EACDH,GAAqB,YAAc,uBChBxB,SAASM,GAAmBC,EAAWtkB,EAAWukB,EAAQ,CACjE,OAAID,IAAc,KACP,KAEJ,CACH,GAAGA,EACH,SAAU,CAACE,EAAGl1B,IACNg1B,GAAc,MAAwCA,EAAU,SACzDA,EAAU,SAAStkB,EAAW,CACjC,GAAG1Q,EACH,GAAGi1B,CACvB,CAAiB,EAEgBpkB,EAAAA,cAAoBH,EAAW,CAChD,GAAG1Q,EACH,GAAGi1B,CACnB,EAAej1B,EAAM,QAAQ,CAE7B,CACA,CCdA,MAAMm1B,GAAgB,CAClB,OAAQ,GACR,UAAW,GACX,IAAmBC,EAAAA,UAAiB,EACpC,KAAM,MACV,EASiBC,GAA4B,CAACr1B,EAAOqN,IAAM,CACvD,KAAM,CAAE,KAAAkJ,EAAM,KAAA/T,EAAM,SAAAxD,CAAQ,EAAKm1B,GAAsBn0B,CAAK,EACtD,CAAE,eAAAs1B,EAAgB,UAAAC,EAAY,QAAS,eAAAC,EAAgB,aAAAtV,EAAc,cAAAuV,EAAe,UAAAjiB,CAAW,EAAGxT,EAClG,CAAE,IAAAiL,EAAK,eAAAe,CAAgB,EAAGC,GAAS,EACnC,CAAE,QAASypB,CAAkB,EAAGC,GAAiBniB,CAAS,EAC1DoiB,EAAsB,GAAQF,IAAqB1pB,GAAmB,KAAoC,OAASA,EAAe,QAAU0pB,GAC5IG,EAAgBC,GAAsB91B,EAAM,QAAQ,EAEpDH,EAAOkU,GAAY,CACrB,GAAG/T,EACH,IAAAqN,EACA,SAJsBkoB,IAAc,aAAeM,IAAkB,KAIvC,CAC1B,GAAGA,CACf,EAAY,KACJ,eAAgBd,GAAmBO,EAAgBpB,GAA8B,CAC7E,KAAA1xB,CACZ,CAAS,CACT,EAAO,CAIG,YAAaiyB,EACvB,CAAK,EACKsB,EAAShiB,GAAY,CACvB,KAAAwC,EACA,aAAA2J,EACA,eAAAsV,EACA,UAAAD,EACA,cAAeR,GAAmBU,EAAezB,GAAqB,CAClE,SAAAh1B,EACA,KAAAwD,EACA,IAAAyI,CACZ,CAAS,EAIC,SAAU,IACpB,EAAO,CACC,YAAa+qB,EACrB,CAAK,EACD,MAAO,CACH,WAAY,CACR,KAAMvB,GACN,OAAQuB,EACX,EACD,KAAAn2B,EACA,OAAAk2B,EACA,KAAAxf,EACA,KAAA/T,EACA,SAAAxD,EACA,oBAAA42B,EAEA,UAAApiB,EACA,OAAQ2hB,EAChB,CACA,ECzEiBc,GAA+B,CAACx9B,EAAO8sB,IAE/B1P,GAAK+c,GAAgB,CACtC,MAAOrN,EACP,SAAwB1P,GAAKpd,EAAM,OAAQ,CACvC,SAAwBod,GAAKpd,EAAM,KAAM,CAAA,CAAE,CACvD,CAAS,CACT,CAAK,ECRQy9B,GAA0B,CACrC,KAAM,oBACN,SAAU,6BACZ,EAIMC,GAAoCha,GAAc,UAAW,UAAW,CAC5E,EAAG,CAAC,sUAAuU,sCAAuC,8CAA+C,+JAAgK,2QAA8Q,sUAAuU,sCAAuC,8CAA+C,+JAAgK,0QAA4Q,EACxpD,EAAG,CAAC,8LAA+L,6LAA6L,CAClY,CAAC,EACKia,GAAmC9lB,GAAS,CAChD,MAAO,CAAE,EACT,IAAK,CAAE,EACP,OAAQ,CACN,QAAS,WACT,QAAS,UACT,OAAQ,SACT,EACD,SAAU,CACR,OAAQ,UACT,CACH,EAAG,CACD,EAAG,CAAC,uBAAwB,4CAA6C,yBAA0B,+BAA+B,CACpI,CAAC,EAIY+lB,GAAkC59B,GAAS,CACtD,cAEA,MAAM69B,EAAiBlD,GAAwB36B,CAAK,EAC9C89B,EAAcJ,KACdxM,EAAayM,KACbI,EAAiB/9B,EAAM,qBAAuBkxB,EAAW,SACzD8M,EAAWh+B,EAAM,KAAK,SAC5B,OAAAA,EAAM,KAAK,UAAYsY,GAAamlB,GAAwB,KAAMI,EAAgBC,EAAa5M,EAAWlxB,EAAM,QAAQ,EAAG+9B,EAAgB/9B,EAAM,KAAK,SAAS,EAC3Jg+B,IACFA,EAAS,UAAY1lB,GAAamlB,GAAwB,SAAUM,EAAgBC,EAAS,SAAS,GAEjGh+B,CACT,ECrCiBi+B,GAA8Bnf,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CAC1E,MAAM5U,EAAQ48B,GAA0Br1B,EAAOqN,CAAG,EAC5CkY,EAAeuN,KACrB,OAAAuD,GAAgC59B,CAAK,EACrC0d,GAA4B,iCAAiC,EAAE1d,CAAK,EACpE0d,GAA4B,iCAAiC,EAAE1d,CAAK,EAC7Dw9B,GAA6Bx9B,EAAO8sB,CAAY,CAC3D,CAAC,EACDmR,GAAc,YAAc,gBCPxB,MAAMC,GAAiB,CAAC,CAAE,UAAAC,EAAW,aAAAC,EAAc,aAAAC,CAAY,IAC3DD,GAAgBC,EACT,OAEPF,IAAc,EACP,MAEPA,EAAYE,IAAiBD,EACtB,SAEJ,SAUME,GAAyB,CAAC/2B,EAAOqN,IAAM,CACpD,KAAM,CAAE,eAAA2lB,GAAmBH,KACrBmE,EAAYlqB,SAAa,IAAI,EAC7B,CAACX,EAAmB8qB,CAAoB,EAAIlrB,GAAiB,EAC7DmrB,EAAoBloB,EAAAA,YAAkB,IAAI,CACvCgoB,EAAU,SAGfhE,EAAe2D,GAAeK,EAAU,OAAO,CAAC,CACxD,EAAO,CACChE,CACR,CAAK,EACKmE,EAAWnoB,EAAAA,YAAkB,IAAI,CACnCioB,IACA9qB,EAAkB,IAAI+qB,EAAiB,CAAE,CACjD,EAAO,CACCD,EACA9qB,EACA+qB,CACR,CAAK,EACD,OAAA1iB,GAA0B,IAAI,CAC1B0iB,GACR,EAAuD,CAC/Cl3B,EAAM,SACNk3B,CACR,CAAK,EACD1iB,GAA0B,KACtB0iB,IACO,IAAID,EAAoB,GAChC,CACCA,EACAC,CACR,CAAK,EACM,CACH,WAAY,CACR,KAAM,KACT,EACD,KAAMnjB,GAAYsO,GAAyB,MAAO,CAI9C,IAAK9N,GAAclH,EAAK2pB,CAAS,EACjC,GAAGh3B,EACH,SAAUqV,GAAerV,EAAM,SAAUm3B,CAAQ,CAC7D,CAAS,EAAG,CACA,YAAa,KACzB,CAAS,CACT,CACA,ECzEiBC,GAA6B3+B,GAErBod,GAAKpd,EAAM,KAAM,CAAE,CAAA,ECJ/B4+B,GAAuB,CAClC,KAAM,gBACR,EAIMrhB,GAAyBmG,GAAc,UAAW,KAAM,CAAC,uHAAwH,+EAAgF,4EAA4E,CAAC,EAIvUmb,GAA+B7+B,GAAS,CACnD,cAEA,MAAMxG,EAAS+jB,KACf,OAAAvd,EAAM,KAAK,UAAYsY,GAAasmB,GAAqB,KAAMplC,EAAQwG,EAAM,KAAK,SAAS,EACpFA,CACT,ECXiB8+B,GAA2BhgB,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CACvE,MAAM5U,EAAQs+B,GAAuB/2B,EAAOqN,CAAG,EAC/C,OAAAiqB,GAA6B7+B,CAAK,EAClC0d,GAA4B,8BAA8B,EAAE1d,CAAK,EAC1D2+B,GAA0B3+B,CAAK,CAC1C,CAAC,EACD8+B,GAAW,YAAc,aCFd,MAAMC,GAA2B,CAACx3B,EAAOqN,IAAM,CACtD,KAAM,CAAE,YAAA0lB,GAAgBF,KACxB,MAAO,CACH,WAAY,CACR,KAAM,QACT,EACD,KAAM9e,GAAYsO,GAAyB,SAAU,CACjD,IAAAhV,EACA,KAAM,OACN,GAAGrN,CACf,CAAS,EAAG,CACA,YAAa,QACzB,CAAS,EACD,YAAA+yB,CACR,CACA,ECtBiB0E,GAA+Bh/B,GAEvBod,GAAKpd,EAAM,KAAM,CAAE,CAAA,ECH/Bi/B,GAAyB,CACpC,KAAM,kBACR,EAIM1hB,GAAyBmG,GAAc,UAAW,KAAM,CAAC,kQAAkQ,CAAC,EAC5Twb,GAAqCrnB,GAAS,CAClD,UAAW,CACT,OAAQ,UACR,OAAQ,WACR,QAAS,CAAC,WAAY,UAAU,EAChC,OAAQ,CAAC,WAAY,UAAU,EAC/B,QAAS,WACT,QAAS,UACT,OAAQ,WACR,QAAS,UACT,QAAS,UACT,QAAS,WACT,QAAS,SACV,EACD,iBAAkB,CAChB,QAAS,SACV,CACH,EAAG,CACD,EAAG,CAAC,+BAAgC,uCAAwC,6BAA8B,4BAA6B,+BAAgC,gEAAiE,+DAAgE,gDAAiD,oEAAqE,gCAAmC,6BAA8B,6BAA6B,CAC9f,CAAC,EAIYsnB,GAAiCn/B,GAAS,CACrD,cAEA,MAAMxG,EAAS+jB,KACT2T,EAAagO,KACnB,OAAAl/B,EAAM,KAAK,UAAYsY,GAAa2mB,GAAuB,KAAMzlC,EAAQwG,EAAM,cAAgB,QAAUkxB,EAAW,UAAW,CAAC,SAAU,QAAQ,EAAE,SAASlxB,EAAM,WAAW,GAAKkxB,EAAW,iBAAkBlxB,EAAM,KAAK,SAAS,EAC7NA,CACT,ECjCiBo/B,GAA6BtgB,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CACzE,MAAM5U,EAAQ++B,GAAyBx3B,EAAOqN,CAAG,EACjD,OAAAuqB,GAA+Bn/B,CAAK,EACpC0d,GAA4B,gCAAgC,EAAE1d,CAAK,EAC5Dg/B,GAA4Bh/B,CAAK,CAC5C,CAAC,EACDo/B,GAAa,YAAc,eCFhB,MAAMC,GAAgC,CAAC93B,EAAOqN,IAAM,CAC3D,KAAM,CAAE,SAAApN,EAAU,QAAA83B,CAAS,EAAG/3B,EACxBg4B,EAAYC,GAA2Blb,GAAMA,EAAI,aAAa,EACpE,MAAO,CACH,WAAY,CACR,KAAM,MACN,QAAS,KACT,OAAQ,KACX,EACD,KAAMhJ,GAAYsO,GAAyB,MAAO,CAC9C,IAAAhV,EACA,GAAGrN,CACf,CAAS,EAAG,CACA,YAAa,KACzB,CAAS,EACD,QAASub,GAAcwc,EAAS,CAC5B,aAAc,CACV,GAAIC,EACJ,SAAA/3B,CACH,EACD,gBAAiB,GACjB,YAAa,IACzB,CAAS,EACD,OAAQsb,GAAcvb,EAAM,OAAQ,CAChC,YAAa,KACzB,CAAS,CACT,CACA,EClCiBk4B,GAAoCz/B,GAE5Bkd,GAAMld,EAAM,KAAM,CACnC,SAAU,CACNA,EAAM,SAAyBod,GAAKpd,EAAM,QAAS,CAAA,CAAE,EACrDA,EAAM,QAAwBod,GAAKpd,EAAM,OAAQ,CAAA,CAAE,CACtD,CACT,CAAK,ECRQ0/B,GAA8B,CACzC,KAAM,wBACN,QAAS,iCACT,OAAQ,+BACV,EAIMniB,GAAyB1F,GAAS,CACtC,KAAM,CACJ,OAAQ,UACR,QAAS,WACT,QAAS,UACT,OAAQ,SACT,EACD,OAAQ,CACN,OAAQ,CAAC,UAAW,SAAS,CAC9B,CACH,EAAG,CACD,EAAG,CAAC,0BAA2B,4CAA6C,gCAAiC,kDAAmD,+DAAgE,6DAA6D,CAC/R,CAAC,EAIY8nB,GAAsC3/B,GAAS,CAC1D,cAEA,MAAMxG,EAAS+jB,KACT,CACJ,QAASnW,EAAO,CAAE,EAClB,OAAAgZ,EACA,WAAAwf,CACD,EAAG5/B,EACJ,OAAA6/B,GAA8B,CAC5B,WAAY,CACV,KAAMD,EAAW,QACjB,OAAQA,EAAW,MACpB,EACD,KAAAx4B,EACA,OAAAgZ,CACJ,CAAG,EACDpgB,EAAM,KAAK,UAAYsY,GAAaonB,GAA4B,KAAMlmC,EAAO,KAAMwG,EAAM,KAAK,SAAS,EACnGA,EAAM,UACRA,EAAM,QAAQ,UAAYsY,GAAaonB,GAA4B,QAAS1/B,EAAM,QAAQ,SAAS,GAEjGA,EAAM,SACRA,EAAM,OAAO,UAAYsY,GAAaonB,GAA4B,OAAQlmC,EAAO,OAAQwG,EAAM,OAAO,SAAS,GAE1GA,CACT,EC7CiB8/B,GAAkChhB,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CAC9E,MAAM5U,EAAQq/B,GAA8B93B,EAAOqN,CAAG,EACtD,OAAA+qB,GAAoC3/B,CAAK,EACzC0d,GAA4B,qCAAqC,EAAE1d,CAAK,EACjEy/B,GAAiCz/B,CAAK,CACjD,CAAC,EACD8/B,GAAkB,YAAc,oBCFrB,MAAMC,GAAyB,CAACx4B,EAAOqN,IAAM,CACpD,KAAM,CAAE,UAAAorB,EAAY,MAAO,KAAAj2B,EAAO,SAAU,KAAAhK,EAAM,GAAGoY,CAAM,EAAG5Q,EACxDikB,EAAkBC,GAAwB,CAC5C,SAAU,GACV,KAAM,aACN,gBAAiB,EACzB,CAAK,EACD,IAAIwU,EACJ,MAAO,CACH,WAAY,CACR,KAAM,MACN,KAAM,IACT,EACD,KAAM3kB,GAAYsO,GAAyB,MAAO,CAC9C,IAAAhV,EACA,cAAeqrB,EAAmB14B,EAAM,YAAY,KAAO,MAAQ04B,IAAqB,OAASA,EAAmB,aACpH,GAAGD,IAAc,QAAUxU,EAAkB,CAAE,EAC/C,GAAGrT,CACf,CAAS,EAAG,CACA,YAAa,KACzB,CAAS,EACD,KAAM2K,GAAc/iB,EAAM,CACtB,gBAAiB,GACjB,aAAc,CACV,KAAM,MACT,EACD,YAAa,IACzB,CAAS,EACD,KAAAgK,CACR,CACA,ECxCMm2B,GAAoB1b,EAAAA,cAAoB,MAAS,EAGtC2b,GAAyB,CACtC,KAAM,QACV,EAGiBC,GAAqBF,GAAkB,SAGvCG,GAAgC,IAAI,CACjD,IAAIzb,EACJ,OAAQA,EAAoBC,EAAgB,WAACqb,EAAiB,KAAO,MAAQtb,IAAsB,OAASA,EAAoBub,EACpI,ECViBG,GAA4B,CAACtgC,EAAOojB,IAE5BhG,GAAKpd,EAAM,KAAM,CAClC,SAAwBod,GAAKgjB,GAAoB,CAC7C,MAAOhd,EACP,SAAUpjB,EAAM,MAAsBod,GAAKpd,EAAM,KAAM,CACnD,SAAUA,EAAM,KAAK,QACrC,CAAa,CACb,CAAS,CACT,CAAK,ECbQugC,GAAuB,CAClC,KAAM,iBACN,KAAM,sBACR,EACMC,GAAgC9c,GAAc,UAAW,KAAM,CAAC,oFAAoF,CAAC,EAI9I+c,GAA+BzgC,GAAS,CACnD,cAEA,MAAM0gC,EAAoBF,KAC1B,OAAAxgC,EAAM,KAAK,UAAYsY,GAAaioB,GAAqB,KAAMvgC,EAAM,KAAK,SAAS,EAC/EA,EAAM,OACRA,EAAM,KAAK,UAAYsY,GAAaooB,EAAmBH,GAAqB,KAAMvgC,EAAM,KAAK,SAAS,GAEjGA,CACT,ECjBO,SAAS2gC,GAAoC3gC,EAAO,CACvD,KAAM,CAAE,KAAA+J,CAAM,EAAG/J,EACjB,OAAO2e,EAAa,QAAC,KAAK,CAClB,KAAA5U,CACZ,GAAY,CACJA,CACR,CAAK,CACL,CCAgB,MAAC62B,GAA2B9hB,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CACvE,MAAM5U,EAAQ+/B,GAAuBx4B,EAAOqN,CAAG,EACzCwO,EAAgBud,GAAoC3gC,CAAK,EAC/D,OAAAygC,GAA6BzgC,CAAK,EAClC0d,GAA4B,8BAA8B,EAAE1d,CAAK,EAC1DsgC,GAA0BtgC,EAAOojB,CAAa,CACzD,CAAC,EACDwd,GAAW,YAAc,aCFd,MAAMC,GAAgC,CAACt5B,EAAOqN,IAAM,CAC3D,KAAM,CAAE,KAAA7K,GAASs2B,KACX,CAAE,IAAA7tB,GAAQgB,KACVue,EAAO+O,GAAetuB,CAAG,EAC/B,MAAO,CACH,WAAY,CACR,KAAM,IACT,EACD,KAAM8I,GAAYsO,GAAyB,KAAM,CAC7C,IAAAhV,EACA,cAAe,GACf,SAAUmd,EACV,GAAGxqB,CACf,CAAS,EAAG,CACA,YAAa,IACzB,CAAS,EACD,KAAAwC,CACR,CACA,EAKI,SAAS+2B,GAAetuB,EAAK,CAC7B,OAAOA,IAAQ,MAAsB4F,EAAAA,cAAoB+Q,GAAoB,IAAI,EAAkB/Q,EAAmB,cAAC4Q,GAAqB,IAAI,CACpJ,CClCW,MAAM+X,GAAoC/gC,GAE5Bod,GAAKpd,EAAM,KAAM,CAAE,CAAA,ECL/BghC,GAA8B,CACzC,KAAM,uBACR,EAIMzjB,GAAyBmG,GAAc,UAAW,KAAM,CAAC,yBAAyB,CAAC,EACnFF,GAA6B3L,GAAS,CAC1C,MAAO,CACL,QAAS,UACV,EACD,OAAQ,CACN,QAAS,SACV,EACD,MAAO,CACL,QAAS,SACV,CACH,EAAG,CACD,EAAG,CAAC,6BAA8B,4BAA6B,2BAA2B,CAC5F,CAAC,EAIYopB,GAAsCjhC,GAAS,CAC1D,cAEA,MAAMxG,EAAS+jB,KACTuG,EAAaN,KACb,CACJ,KAAAzZ,EAAO,QACR,EAAG/J,EACJ,OAAAA,EAAM,KAAK,UAAYsY,GAAa0oB,GAA4B,KAAMxnC,EAAQsqB,EAAW/Z,CAAI,EAAG/J,EAAM,KAAK,SAAS,EAC7GA,CACT,EC3BiBkhC,GAAkCpiB,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CAC9E,MAAM5U,EAAQ6gC,GAA8Bt5B,EAAOqN,CAAG,EACtD,OAAAqsB,GAAoCjhC,CAAK,EACzC0d,GAA4B,qCAAqC,EAAE1d,CAAK,EACjE+gC,GAAiC/gC,CAAK,CACjD,CAAC,EACDkhC,GAAkB,YAAc,oBCFrB,MAAMC,GAA6B,CAAC55B,EAAOqN,IAAM,CACxD,KAAM,CAAE,KAAA7K,GAASs2B,KACjB,MAAO,CACH,WAAY,CACR,KAAM,IACT,EACD,KAAM/kB,GAAYsO,GAAyB,KAAM,CAC7C,IAAAhV,EACA,GAAGrN,CACf,CAAS,EAAG,CACA,YAAa,IACzB,CAAS,EACD,KAAAwC,CACR,CACA,ECrBiBq3B,GAAiCphC,GAEzBod,GAAKpd,EAAM,KAAM,CAClC,SAAUA,EAAM,KAAK,QAC7B,CAAK,ECNQqhC,GAA2B,CACtC,KAAM,oBACR,EACMC,GAA4C5d,GAAc,WAAY,KAAM,CAAC,yHAAyH,CAAC,EAIhM6d,GAAmCvhC,GAAS,CACvD,cAEA,MAAM89B,EAAcwD,KACpB,OAAAthC,EAAM,KAAK,UAAYsY,GAAa+oB,GAAyB,KAAMvD,EAAa99B,EAAM,KAAK,SAAS,EAC7FA,CACT,ECPiBwhC,GAA+B1iB,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CAC3E,MAAM5U,EAAQmhC,GAA2B55B,EAAOqN,CAAG,EACnD,OAAA2sB,GAAiCvhC,CAAK,EACtC0d,GAA4B,kCAAkC,EAAE1d,CAAK,EAC9DohC,GAA8BphC,CAAK,CAC9C,CAAC,EACDwhC,GAAe,YAAc,iBCHlB,MAAMC,GAA+B,CAACl6B,EAAOqN,IAAM,CAC1D,KAAM,CAAE,KAAA7K,GAASs2B,KACX,CAAE,QAAA5jB,EAAU,GAAO,GAAA8M,EAAI,GAAGpR,CAAM,EAAG5Q,EACnCm6B,EAAenY,GAAoChiB,EAAM,KAAQ,IAAM,SAC7E,IAAIo6B,EAAoBC,EACxB,MAAO,CACH,GAAGC,GAAmB,CAClB,WAAY,SACZ,KAAM,OACN,KAAM,OACN,GAAIH,EACJ,aAAc,SACd,eAAgBjlB,GAAWklB,EAAqBp6B,EAAM,cAAc,KAAO,MAAQo6B,IAAuB,OAASA,EAAqB,OAAS,OACjJ,gBAAiBllB,GAAWmlB,EAAsBr6B,EAAM,eAAe,KAAO,MAAQq6B,IAAwB,OAASA,EAAsB,GAAO,OACpJ,GAAGzpB,CACN,EAAEvD,CAAG,EACN,QAAA6H,EACA,KAAA1S,CACR,CACA,EC3BiB+3B,GAAmC9hC,GACzC+hC,GAAsB/hC,CAAK,ECGzBgiC,GAA6B,CACxC,KAAM,uBACN,KAAM,4BACR,EAQMxe,GAA6B3L,GAAS,CAC1C,KAAM,CACJ,QAAS,UACT,QAAS,WACT,QAAS,WACT,OAAQ,WACR,OAAQ,CAAC,UAAW,SAAS,CAC9B,EACD,MAAO,CACL,OAAQ,WACR,QAAS,UACV,EACD,OAAQ,CACN,OAAQ,WACR,QAAS,UACV,EACD,MAAO,CACL,OAAQ,UACR,QAAS,UACV,CACH,EAAG,CACD,EAAG,CAAC,wDAAyD,sDAAuD,kEAAmE,qDAAsD,qDAAsD,oDAAqD,+CAAgD,0EAA2E,+CAAgD,0EAA2E,8CAA+C,yEAAyE,CACxsB,CAAC,EAkBK0F,GAAyB1F,GAAS,CACtC,KAAM,CACJ,QAAS,WACT,OAAQ,SACT,EACD,MAAO,CACL,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,UACV,EACD,OAAQ,CACN,QAAS,WACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,WACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,UACV,EACD,MAAO,CACL,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,OAAQ,EACR,QAAS,UACV,EACD,QAAS,CACP,OAAQ,UACR,QAAS,UACT,OAAQ,WACR,QAAS,WACT,QAAS,WACT,QAAS,UACT,OAAQ,UACR,QAAS,WACT,OAAQ,WACR,OAAQ,UACR,OAAQ,WACR,OAAQ,WACR,QAAS,QACT,OAAQ,UACR,OAAQ,WACR,OAAQ,WACR,QAAS,UACT,OAAQ,UACT,EACD,aAAc,CACZ,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACV,EACD,cAAe,CACb,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACV,EACD,aAAc,CACZ,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACV,CACH,EAAG,CACD,EAAG,CAAC,8BAA+B,8BAA+B,yBAA0B,+CAAgD,8CAA+C,kDAAmD,kDAAmD,CAAC,qDAAsD,CACtV,EAAG,EACJ,CAAA,EAAG,0BAA2B,8CAA+C,mDAAoD,CAAC,qDAAsD,CACvL,EAAG,EACJ,CAAA,EAAG,yBAA0B,8CAA+C,kDAAmD,CAAC,gDAAiD,CAChL,EAAG,EACP,CAAG,EAAG,uEAAwE,2DAA4D,mCAAoC,qDAAsD,oDAAqD,wDAAyD,kDAAkD,EAClY,EAAG,CAAC,sEAAuE,wDAAyD,gCAAiC,kDAAmD,kDAAmD,oDAAqD,6EAA8E,gEAAiE,uCAAwC,wDAAyD,yDAA0D,2DAA2D,CACvqB,CAAC,EAIYoqB,GAAqCjiC,GAAS,CACzD,cAEA,MAAMxG,EAAS+jB,KACTuG,EAAaN,KACb0e,EAAiB,CACrB,MAAO1oC,EAAO,aACd,OAAQA,EAAO,cACf,MAAOA,EAAO,YAClB,EACE,OAAAwG,EAAM,KAAK,UAAYsY,GAAa0pB,GAA2B,KAAMxoC,EAAOwG,EAAM,IAAI,EAAGxG,EAAO,KAAMwG,EAAM,SAAWkiC,EAAeliC,EAAM,IAAI,EAAGA,EAAM,SAAWxG,EAAO,QAASwG,EAAM,KAAK,SAAS,EACpMA,EAAM,OACRA,EAAM,KAAK,UAAYsY,GAAawL,EAAW,KAAMA,EAAW9jB,EAAM,IAAI,EAAGA,EAAM,KAAK,SAAS,GAEnGmiC,GAAyBniC,CAAK,EACvBA,CACT,EC/JiBoiC,GAAiCtjB,EAAAA,WAAiB,CAACvX,EAAOqN,IAAM,CAC7E,MAAM5U,EAAQyhC,GAA6Bl6B,EAAOqN,CAAG,EACrD,OAAAqtB,GAAmCjiC,CAAK,EACxC0d,GAA4B,oCAAoC,EAAE1d,CAAK,EAChE8hC,GAAgC9hC,CAAK,CAChD,CAAC,EACDoiC,GAAiB,YAAc,mECuB9B,UAAW,CAEZ,IAAIC,EAAgB,MAEhBC,EAAU,UAAW,CAAE,OAAO,IAAO,EAAA,EACrC,CAACA,GAAU,OAAO,OAAU,MAAaA,EAAS,QAOtD,IAAIC,EAAS,SAASC,EAAQC,EAAMC,EAAS,CACzC,GAAI,OAAOF,GAAW,SAAU,CACxBD,EAAO,SACPA,EAAO,SAAS,MAAM,KAAM,SAAS,GAErC,QAAQ,MAAM,iDAAkD,EAChE,QAAQ,MAAK,GAEjB,MACH,CACG,UAAU,QAAU,IACpBG,EAAUD,GACTF,EAAO,QAAQC,CAAM,IACtBD,EAAO,SAASC,CAAM,EAAIE,EAC1BH,EAAO,QAAQC,CAAM,EAAI,KAEjC,EAEAD,EAAO,QAAU,GACjBA,EAAO,SAAW,GAKlB,IAAII,EAAW,SAASC,EAAUJ,EAAQ17B,EAAU,CAChD,GAAI,OAAO07B,GAAW,SAAU,CAC5B,IAAIE,EAAUG,EAAOD,EAAUJ,CAAM,EACrC,GAAIE,GAAW,KACX,OAAA57B,GAAYA,EAAQ,EACb47B,CAEnB,SAAe,OAAO,UAAU,SAAS,KAAKF,CAAM,IAAM,iBAAkB,CAEpE,QADIhG,EAAS,CAAA,EACJ/iC,EAAI,EAAGqpC,EAAIN,EAAO,OAAQ/oC,EAAIqpC,EAAG,EAAErpC,EAAG,CAC3C,IAAIspC,EAAMF,EAAOD,EAAUJ,EAAO/oC,CAAC,CAAC,EACpC,GAAIspC,GAAO,MAAaC,EAAQ,SAC5B,OACJxG,EAAO,KAAKuG,CAAG,CAClB,CACD,OAAOj8B,GAAYA,EAAS,MAAM,KAAM01B,CAAM,GAAK,EACtD,CACL,EAEIwG,EAAU,SAASR,EAAQ17B,EAAU,CACrC,IAAIm8B,EAAiBN,EAAS,GAAIH,EAAQ17B,CAAQ,EAClD,OAAIm8B,GAAkB,MAAaD,EAAQ,SAChCA,EAAQ,SAAS,MAAM,KAAM,SAAS,EAC1CC,CACX,EAEIC,EAAkB,SAASN,EAAUO,EAAY,CAEjD,GAAIA,EAAW,QAAQ,GAAG,IAAM,GAAI,CAChC,IAAIC,EAASD,EAAW,MAAM,GAAG,EACjC,OAAOD,EAAgBN,EAAUQ,EAAO,CAAC,CAAC,EAAI,IAAMF,EAAgBN,EAAUQ,EAAO,CAAC,CAAC,CAC1F,CAED,GAAID,EAAW,OAAO,CAAC,GAAK,IAAK,CAC7B,IAAIE,EAAOT,EAAS,MAAM,GAAG,EAAE,MAAM,EAAG,EAAE,EAAE,KAAK,GAAG,EAGpD,IAFAO,EAAaE,EAAO,IAAMF,EAEpBA,EAAW,QAAQ,GAAG,IAAM,IAAM75B,GAAY65B,GAAY,CAC5D,IAAI75B,EAAW65B,EACfA,EAAaA,EAAW,QAAQ,SAAU,GAAG,EAAE,QAAQ,iBAAkB,EAAE,CAC9E,CACJ,CACD,OAAOA,CACX,EAMIN,EAAS,SAASD,EAAUO,EAAY,CACxCA,EAAaD,EAAgBN,EAAUO,CAAU,EAEjD,IAAIX,EAASD,EAAO,QAAQY,CAAU,EACtC,GAAI,CAACX,EAAQ,CAET,GADAA,EAASD,EAAO,SAASY,CAAU,EAC/B,OAAOX,GAAW,WAAY,CAC9B,IAAIc,EAAU,CAAA,EACVC,EAAM,CACN,GAAIJ,EACJ,IAAK,GACL,QAASG,EACT,SAAU,EAC1B,EAEgBE,EAAM,SAAShB,EAAQ17B,EAAU,CACjC,OAAO67B,EAASQ,EAAYX,EAAQ17B,CAAQ,CAC5D,EAEgB28B,EAAcjB,EAAOgB,EAAKF,EAASC,CAAG,EAC1CD,EAAUG,GAAeF,EAAI,QAC7BhB,EAAO,QAAQY,CAAU,EAAIG,EAC7B,OAAOf,EAAO,SAASY,CAAU,CACpC,CACDX,EAASD,EAAO,QAAQY,CAAU,EAAIG,GAAWd,CACpD,CACD,OAAOA,CACX,EAEA,SAASkB,EAAUC,EAAI,CACnB,IAAIv8B,EAAOk7B,EACPqB,IACKrB,EAAOqB,CAAE,IACVrB,EAAOqB,CAAE,EAAI,IACjBv8B,EAAOk7B,EAAOqB,CAAE,IAGhB,CAACv8B,EAAK,QAAU,CAACA,EAAK,OAAO,YAC7Bm7B,EAAO,SAAWn7B,EAAK,OACvBA,EAAK,OAASm7B,EACdn7B,EAAK,OAAO,SAAW,KAGvB,CAACA,EAAK,SAAW,CAACA,EAAK,QAAQ,YAC/B47B,EAAQ,SAAW57B,EAAK,QACxBA,EAAK,QAAU47B,EACf57B,EAAK,QAAQ,SAAW,GAE/B,CAEDs8B,EAAUrB,CAAa,CAEvB,KAEA,IAAI,OAAO,mBAAmB,CAAC,UAAU,UAAU,QAAQ,EAAG,SAASW,EAASM,EAASd,EAAO,CAAC,SAASoB,EAAWtlC,EAAKuG,EAAMlG,EAAK,CACjI,OAAO,eAAeL,EAAKuG,EAAM,CAC7B,MAAOlG,EACP,WAAY,GACZ,SAAU,GACV,aAAc,EACtB,CAAK,CACJ,CACI,OAAO,UAAU,YAClBilC,EAAW,OAAO,UAAW,aAAc,SAAUpjB,EAAcja,EAAU,CACzE,OAAAA,EAAWA,GAAY,EAChB,KAAK,YAAYia,EAAcja,CAAQ,IAAMA,CAC5D,CAAK,EAEA,OAAO,UAAU,UAClBq9B,EAAW,OAAO,UAAW,WAAY,SAAUpjB,EAAcja,EAAU,CACvE,IAAIs9B,EAAgB,MAChBt9B,IAAa,QAAaA,EAAWs9B,EAAc,UACnDt9B,EAAWs9B,EAAc,QAE7Bt9B,GAAYia,EAAa,OACzB,IAAIsjB,EAAYD,EAAc,QAAQrjB,EAAcja,CAAQ,EAC5D,OAAOu9B,IAAc,IAAMA,IAAcv9B,CACjD,CAAK,EAEA,OAAO,UAAU,QAClBq9B,EAAW,OAAO,UAAW,SAAU,SAAUj7B,EAAO,CAGpD,QAFIuK,EAAS,GACT6wB,EAAS,KACNp7B,EAAQ,GACPA,EAAQ,IACRuK,GAAU6wB,IACTp7B,IAAU,KACXo7B,GAAUA,GAElB,OAAO7wB,CACf,CAAK,EAEA,OAAO,UAAU,UAClB0wB,EAAW,OAAO,UAAW,WAAY,SAAUtiB,EAAK/a,EAAU,CAC9D,OAAO,KAAK,QAAQ+a,EAAK/a,CAAQ,GAAK,EAC9C,CAAK,EAEA,OAAO,SACR,OAAO,OAAS,SAAUoO,EAAQ,CAC9B,GAA4BA,GAAW,KACnC,MAAM,IAAI,UAAU,4CAA4C,EAGpE,QADIrK,EAAS,OAAOqK,CAAM,EACjBhX,EAAQ,EAAGA,EAAQ,UAAU,OAAQA,IAAS,CACnD,IAAIqmC,EAAS,UAAUrmC,CAAK,EACAqmC,GAAW,MACnC,OAAO,KAAKA,CAAM,EAAE,QAAQ,SAAU9oC,EAAK,CACvCoP,EAAOpP,CAAG,EAAI8oC,EAAO9oC,CAAG,CAC5C,CAAiB,CAER,CACD,OAAOoP,CACf,GAEK,OAAO,SACR,OAAO,OAAS,SAAU25B,EAAG,CACzB,OAAO,OAAO,KAAKA,CAAC,EAAE,IAAI,SAAUh6B,EAAG,CACnC,OAAOg6B,EAAEh6B,CAAC,CACtB,CAAS,CACT,GAEK,MAAM,UAAU,MACjB25B,EAAW,MAAM,UAAW,OAAQ,SAAUM,EAAW,CAGrD,QAFIvkC,EAAM,KAAK,OACXwkC,EAAU,UAAU,CAAC,EAChBl6B,EAAI,EAAGA,EAAItK,EAAKsK,IAAK,CAC1B,IAAIm6B,EAAS,KAAKn6B,CAAC,EACnB,GAAIi6B,EAAU,KAAKC,EAASC,EAAQn6B,EAAG,IAAI,EACvC,OAAOm6B,CAEd,CACT,CAAK,EAEA,MAAM,UAAU,WACjBR,EAAW,MAAM,UAAW,YAAa,SAAUM,EAAW,CAG1D,QAFIvkC,EAAM,KAAK,OACXwkC,EAAU,UAAU,CAAC,EAChBl6B,EAAI,EAAGA,EAAItK,EAAKsK,IAAK,CAC1B,IAAIm6B,EAAS,KAAKn6B,CAAC,EACnB,GAAIi6B,EAAU,KAAKC,EAASC,EAAQn6B,EAAG,IAAI,EACvC,OAAOA,CAEd,CACT,CAAK,EAEA,MAAM,UAAU,UACjB25B,EAAW,MAAM,UAAW,WAAY,SAAU9jC,EAAMyG,EAAU,CAC9D,OAAO,KAAK,QAAQzG,EAAMyG,CAAQ,GAAK,EAC/C,CAAK,EAEA,MAAM,UAAU,MACjBq9B,EAAW,MAAM,UAAW,OAAQ,SAAU5pC,EAAO,CAajD,QAZIqqC,EAAI,KACJ1kC,EAAM0kC,EAAE,SAAW,EACnB/nC,EAAQ,UAAU,CAAC,EACnBgoC,EAAgBhoC,GAAS,EACzB2N,EAAIq6B,EAAgB,EAClB,KAAK,IAAI3kC,EAAM2kC,EAAe,CAAC,EAC/B,KAAK,IAAIA,EAAe3kC,CAAG,EAC7BpD,EAAM,UAAU,CAAC,EACjBgoC,EAAchoC,IAAQ,OAAYoD,EAAMpD,GAAO,EAC/CioC,EAAQD,EAAc,EACpB,KAAK,IAAI5kC,EAAM4kC,EAAa,CAAC,EAC7B,KAAK,IAAIA,EAAa5kC,CAAG,EACxBsK,EAAIu6B,GACPH,EAAEp6B,CAAC,EAAIjQ,EACPiQ,IAEJ,OAAOo6B,CACf,CAAK,EAEA,MAAM,IACPT,EAAW,MAAO,KAAM,UAAY,CAChC,OAAO,MAAM,UAAU,MAAM,KAAK,SAAS,CACnD,CAAK,CAGL,CAAC,EAED,IAAI,OAAO,yBAAyB,CAAC,UAAU,UAAU,SAAS,kBAAkB,EAAG,SAASZ,EAASM,EAASd,EAAO,CAEzHQ,EAAQ,YAAY,CAEpB,CAAC,EAED,IAAI,OAAO,oBAAoB,CAAC,UAAU,UAAU,QAAQ,EAAG,SAASA,EAASM,EAASd,EAAO,CAACc,EAAQ,SAAW,SAASmB,EAASnmC,EAAK,CACxI,GAAI,OAAOA,GAAQ,UAAY,CAACA,EAC5B,OAAOA,EACX,IAAIoJ,EACJ,GAAI,MAAM,QAAQpJ,CAAG,EAAG,CACpBoJ,EAAO,CAAA,EACP,QAASxM,EAAM,EAAGA,EAAMoD,EAAI,OAAQpD,IAChCwM,EAAKxM,CAAG,EAAIupC,EAASnmC,EAAIpD,CAAG,CAAC,EAEjC,OAAOwM,CACV,CACD,GAAI,OAAO,UAAU,SAAS,KAAKpJ,CAAG,IAAM,kBACxC,OAAOA,EACXoJ,EAAO,CAAA,EACP,QAASxM,KAAOoD,EACZoJ,EAAKxM,CAAG,EAAIupC,EAASnmC,EAAIpD,CAAG,CAAC,EACjC,OAAOwM,CACX,CAEA,CAAC,EAED,IAAI,OAAO,eAAe,CAAC,UAAU,UAAU,SAAS,mBAAmB,EAAG,SAASs7B,EAASM,EAASd,EAAO,CAChHc,EAAQ,KAAO,SAAUr4B,EAAG,CACxB,OAAOA,EAAEA,EAAE,OAAS,CAAC,CACzB,EACAq4B,EAAQ,cAAgB,SAAUS,EAAQ,CACtC,OAAOA,EAAO,MAAM,EAAE,EAAE,UAAU,KAAK,EAAE,CAC7C,EACAT,EAAQ,aAAe,SAAUS,EAAQp7B,EAAO,CAE5C,QADIuK,EAAS,GACNvK,EAAQ,GACPA,EAAQ,IACRuK,GAAU6wB,IACVp7B,IAAU,KACVo7B,GAAUA,GAElB,OAAO7wB,CACX,EACA,IAAIwxB,EAAkB,SAClBC,EAAgB,SACpBrB,EAAQ,eAAiB,SAAUS,EAAQ,CACvC,OAAOA,EAAO,QAAQW,EAAiB,EAAE,CAC7C,EACApB,EAAQ,gBAAkB,SAAUS,EAAQ,CACxC,OAAOA,EAAO,QAAQY,EAAe,EAAE,CAC3C,EACArB,EAAQ,WAAa,SAAUhlC,EAAK,CAChC,IAAIoJ,EAAO,CAAA,EACX,QAASxM,KAAOoD,EACZoJ,EAAKxM,CAAG,EAAIoD,EAAIpD,CAAG,EAEvB,OAAOwM,CACX,EACA47B,EAAQ,UAAY,SAAUjlC,EAAO,CAEjC,QADIqJ,EAAO,CAAA,EACFjO,EAAI,EAAGqpC,EAAIzkC,EAAM,OAAQ5E,EAAIqpC,EAAGrpC,IACjC4E,EAAM5E,CAAC,GAAK,OAAO4E,EAAM5E,CAAC,GAAK,SAC/BiO,EAAKjO,CAAC,EAAI,KAAK,WAAW4E,EAAM5E,CAAC,CAAC,EAElCiO,EAAKjO,CAAC,EAAI4E,EAAM5E,CAAC,EAEzB,OAAOiO,CACX,EACA47B,EAAQ,SAAWN,EAAQ,aAAa,EAAE,SAC1CM,EAAQ,WAAa,SAAUsB,EAAK,CAEhC,QADIC,EAAM,CAAA,EACDprC,EAAI,EAAGA,EAAImrC,EAAI,OAAQnrC,IAC5BorC,EAAID,EAAInrC,CAAC,CAAC,EAAI,EAElB,OAAOorC,CACX,EACAvB,EAAQ,UAAY,SAAU/7B,EAAO,CACjC,IAAIs9B,EAAM,OAAO,OAAO,IAAI,EAC5B,QAASprC,KAAK8N,EACVs9B,EAAIprC,CAAC,EAAI8N,EAAM9N,CAAC,EAEpB,OAAOorC,CACX,EACAvB,EAAQ,YAAc,SAAUjlC,EAAOrE,EAAO,CAC1C,QAASP,EAAI,EAAGA,GAAK4E,EAAM,OAAQ5E,IAC3BO,IAAUqE,EAAM5E,CAAC,GACjB4E,EAAM,OAAO5E,EAAG,CAAC,CAG7B,EACA6pC,EAAQ,aAAe,SAAUhiB,EAAK,CAClC,OAAOA,EAAI,QAAQ,0BAA2B,MAAM,CACxD,EACAgiB,EAAQ,WAAa,SAAUhiB,EAAK,CAChC,OAAQ,GAAKA,GAAK,QAAQ,KAAM,OAAO,EAAE,QAAQ,KAAM,OAAO,EAAE,QAAQ,KAAM,OAAO,EAAE,QAAQ,KAAM,OAAO,CAChH,EACAgiB,EAAQ,gBAAkB,SAAUS,EAAQe,EAAQ,CAChD,IAAIC,EAAU,CAAA,EACd,OAAAhB,EAAO,QAAQe,EAAQ,SAAUxjB,EAAK,CAClCyjB,EAAQ,KAAK,CACT,OAAQ,UAAU,UAAU,OAAS,CAAC,EACtC,OAAQzjB,EAAI,MACxB,CAAS,CACT,CAAK,EACMyjB,CACX,EACAzB,EAAQ,aAAe,SAAU0B,EAAK,CAClC,IAAIC,EAAQ,KACRn+B,EAAW,UAAY,CACvBm+B,EAAQ,KACRD,GACR,EACQE,EAAW,SAAUC,EAAS,CAC9B,OAAAD,EAAS,OAAM,EACfD,EAAQ,WAAWn+B,EAAUq+B,GAAW,CAAC,EAClCD,CACf,EACI,OAAAA,EAAS,SAAWA,EACpBA,EAAS,KAAO,UAAY,CACxB,YAAK,OAAM,EACXF,IACOE,CACf,EACIA,EAAS,OAAS,UAAY,CAC1B,oBAAaD,CAAK,EAClBA,EAAQ,KACDC,CACf,EACIA,EAAS,UAAY,UAAY,CAC7B,OAAOD,CACf,EACWC,CACX,EACA5B,EAAQ,YAAc,SAAU0B,EAAKI,EAAgB,CACjD,IAAIH,EAAQ,KACRn+B,EAAW,UAAY,CACvBm+B,EAAQ,KACRD,GACR,EACQK,EAAQ,SAAUF,EAAS,CACvBF,GAAS,OACTA,EAAQ,WAAWn+B,EAAUq+B,GAAWC,CAAc,EAClE,EACI,OAAAC,EAAM,MAAQ,SAAUF,EAAS,CAC7BF,GAAS,aAAaA,CAAK,EAC3BA,EAAQ,WAAWn+B,EAAUq+B,GAAWC,CAAc,CAC9D,EACIC,EAAM,SAAWA,EACjBA,EAAM,KAAO,UAAY,CACrB,KAAK,OAAM,EACXL,GACR,EACIK,EAAM,OAAS,UAAY,CACvBJ,GAAS,aAAaA,CAAK,EAC3BA,EAAQ,IAChB,EACII,EAAM,UAAY,UAAY,CAC1B,OAAOJ,CACf,EACWI,CACX,EACA/B,EAAQ,mBAAqB,UAAY,CACrC,GAAI,CACA,IAAI,OAAO,QAAQ,CACtB,MACS,CACN,MAAO,EACV,CACD,MAAO,EACX,EACAA,EAAQ,eAAiB,SAAUv8B,EAAMgZ,EAAMulB,EAAqB,CAChE,OAAOA,GAAuBv+B,EAAK,YAAYgZ,CAAI,EAAI,MAAS,EAAI,CACxE,CAEA,CAAC,EAED,IAAI,OAAO,oBAAoB,CAAC,UAAU,UAAU,QAAQ,EAAG,SAASijB,EAASM,EAASd,EAAO,CACjGc,EAAQ,GAAK,CACT,MAAO,QACP,IAAK,MACL,QAAS,SACb,EACAA,EAAQ,MAAQ,UAAY,CACxB,OAAIA,EAAQ,MACDA,EAAQ,GAAG,IAEbA,EAAQ,QACNA,EAAQ,GAAG,MAGXA,EAAQ,GAAG,OAE1B,EACA,IAAIiC,EAAa,OAAO,WAAa,SAAW,UAAY,CAAA,EACxDC,GAAM,iBAAiB,KAAKD,EAAW,QAAQ,GAAK,CAAC,OAAO,GAAG,CAAC,EAAE,YAAW,EAC7EE,EAAKF,EAAW,WAAa,GAC7BG,EAAUH,EAAW,SAAW,GACpCjC,EAAQ,MAASkC,GAAM,MACvBlC,EAAQ,MAASkC,GAAM,MACvBlC,EAAQ,QAAWkC,GAAM,QACzBlC,EAAQ,KACHoC,GAAW,+BAAiCA,EAAQ,QAAQ,WAAW,GAAK,EACvE,YAAYD,EAAG,MAAM,yDAAyD,GAAK,CAAA,GAAI,CAAC,CAAC,EACzF,YAAYA,EAAG,MAAM,mDAAmD,GAAK,CAAE,GAAE,CAAC,CAAC,EAC7FnC,EAAQ,QAAUA,EAAQ,MAAQA,EAAQ,KAAO,EACjDA,EAAQ,QAAUA,EAAQ,UAAYmC,EAAG,MAAM,aAAa,EAC5DnC,EAAQ,QAAU,OAAO,OAAS,UAAY,OAAO,UAAU,SAAS,KAAK,OAAO,KAAQ,GAAK,iBACjGA,EAAQ,SAAW,WAAWmC,EAAG,MAAM,SAAS,EAAE,CAAC,CAAC,GAAK,OACzDnC,EAAQ,SAAW,WAAWmC,EAAG,MAAM,UAAU,EAAE,CAAC,CAAC,GAAK,OAC1DnC,EAAQ,SAAW,WAAWmC,EAAG,MAAM,UAAU,EAAE,CAAC,CAAC,GAAK,CAACnC,EAAQ,UAAY,OAC/EA,EAAQ,OAAS,WAAWmC,EAAG,MAAM,QAAQ,EAAE,CAAC,CAAC,GAAK,OACtDnC,EAAQ,MAAQmC,EAAG,QAAQ,UAAU,GAAK,EAC1CnC,EAAQ,UAAYmC,EAAG,QAAQ,SAAS,GAAK,EAC7CnC,EAAQ,WAAamC,EAAG,QAAQ,QAAQ,GAAK,EAC7CnC,EAAQ,MAAQ,mBAAmB,KAAKmC,CAAE,GAAK,CAAC,OAAO,SACnDnC,EAAQ,QACRA,EAAQ,MAAQ,IACpBA,EAAQ,SAAWA,EAAQ,OAASA,EAAQ,SAE5C,CAAC,EAED,IAAI,OAAO,cAAc,CAAC,UAAU,UAAU,SAAS,mBAAmB,EAAG,SAASN,EAASM,EAASd,EAAO,CAC/G,IAAImD,EAAY3C,EAAQ,aAAa,EACjC4C,EAAW,+BACftC,EAAQ,SAAW,SAASuC,EAASjB,EAAKv9B,EAAQ2M,EAAM,CACpD,GAAI,OAAO4wB,GAAO,UAAYA,EAAK,CAC/B,IAAIkB,EAAM,SAAS,eAAelB,CAAG,EACrC,OAAIv9B,GACAA,EAAO,YAAYy+B,CAAG,EACnBA,CACV,CACD,GAAI,CAAC,MAAM,QAAQlB,CAAG,EAClB,OAAIA,GAAOA,EAAI,aAAev9B,GAC1BA,EAAO,YAAYu9B,CAAG,EACnBA,EAEX,GAAI,OAAOA,EAAI,CAAC,GAAK,UAAY,CAACA,EAAI,CAAC,EAAG,CAEtC,QADImB,EAAM,CAAA,EACDtsC,EAAI,EAAGA,EAAImrC,EAAI,OAAQnrC,IAAK,CACjC,IAAIusC,EAAKH,EAASjB,EAAInrC,CAAC,EAAG4N,EAAQ2M,CAAI,EACtCgyB,GAAMD,EAAI,KAAKC,CAAE,CACpB,CACD,OAAOD,CACV,CACD,IAAIlkB,EAAK,SAAS,cAAc+iB,EAAI,CAAC,CAAC,EAClC54B,EAAU44B,EAAI,CAAC,EACfqB,EAAa,EACbj6B,GAAW,OAAOA,GAAW,UAAY,CAAC,MAAM,QAAQA,CAAO,IAC/Di6B,EAAa,GACjB,QAASxsC,EAAIwsC,EAAYxsC,EAAImrC,EAAI,OAAQnrC,IACrCosC,EAASjB,EAAInrC,CAAC,EAAGooB,EAAI7N,CAAI,EAC7B,OAAIiyB,GAAc,GACd,OAAO,KAAKj6B,CAAO,EAAE,QAAQ,SAAUk6B,EAAG,CACtC,IAAIvnC,EAAMqN,EAAQk6B,CAAC,EACfA,IAAM,QACNrkB,EAAG,UAAY,MAAM,QAAQljB,CAAG,EAAIA,EAAI,KAAK,GAAG,EAAIA,EAE/C,OAAOA,GAAO,YAAcunC,GAAK,SAAWA,EAAE,CAAC,GAAK,IACzDrkB,EAAGqkB,CAAC,EAAIvnC,EAEHunC,IAAM,MACPlyB,IACAA,EAAKrV,CAAG,EAAIkjB,GAEXqkB,IAAM,QACP,OAAOvnC,GAAO,WACdkjB,EAAG,MAAM,QAAUljB,GAElBA,GAAO,MACZkjB,EAAG,aAAaqkB,EAAGvnC,CAAG,CAEtC,CAAS,EAED0I,GACAA,EAAO,YAAYwa,CAAE,EAClBA,CACX,EACAyhB,EAAQ,gBAAkB,SAAU6C,EAAK,CACrC,OAAKA,IACDA,EAAM,UACHA,EAAI,MAAQA,EAAI,qBAAqB,MAAM,EAAE,CAAC,GAAKA,EAAI,eAClE,EACA7C,EAAQ,cAAgB,SAAU8C,EAAKzC,EAAI,CACvC,OAAO,SAAS,gBACZ,SAAS,gBAAgBA,GAAMiC,EAAUQ,CAAG,EAC5C,SAAS,cAAcA,CAAG,CAClC,EACA9C,EAAQ,eAAiB,SAAU94B,EAAS,CACxCA,EAAQ,UAAY,EACxB,EACA84B,EAAQ,eAAiB,SAAU+C,EAAa77B,EAAS,CACrD,IAAI27B,EAAM37B,EAAUA,EAAQ,cAAgB,SAC5C,OAAO27B,EAAI,eAAeE,CAAW,CACzC,EACA/C,EAAQ,eAAiB,SAAU94B,EAAS,CACxC,IAAI27B,EAAM37B,EAAUA,EAAQ,cAAgB,SAC5C,OAAO27B,EAAI,wBACf,EACA7C,EAAQ,YAAc,SAAUzhB,EAAIhd,EAAM,CACtC,IAAIywB,GAAWzT,EAAG,UAAY,IAAI,MAAM,MAAM,EAC9C,OAAOyT,EAAQ,QAAQzwB,CAAI,IAAM,EACrC,EACAy+B,EAAQ,YAAc,SAAUzhB,EAAIhd,EAAM,CACjCy+B,EAAQ,YAAYzhB,EAAIhd,CAAI,IAC7Bgd,EAAG,WAAa,IAAMhd,EAE9B,EACAy+B,EAAQ,eAAiB,SAAUzhB,EAAIhd,EAAM,CAEzC,QADIywB,EAAUzT,EAAG,UAAU,MAAM,MAAM,IAC1B,CACT,IAAIlkB,EAAQ23B,EAAQ,QAAQzwB,CAAI,EAChC,GAAIlH,GAAS,GACT,MAEJ23B,EAAQ,OAAO33B,EAAO,CAAC,CAC1B,CACDkkB,EAAG,UAAYyT,EAAQ,KAAK,GAAG,CACnC,EACAgO,EAAQ,eAAiB,SAAUzhB,EAAIhd,EAAM,CAEzC,QADIywB,EAAUzT,EAAG,UAAU,MAAM,MAAM,EAAGykB,EAAM,KACnC,CACT,IAAI3oC,EAAQ23B,EAAQ,QAAQzwB,CAAI,EAChC,GAAIlH,GAAS,GACT,MAEJ2oC,EAAM,GACNhR,EAAQ,OAAO33B,EAAO,CAAC,CAC1B,CACD,OAAI2oC,GACAhR,EAAQ,KAAKzwB,CAAI,EACrBgd,EAAG,UAAYyT,EAAQ,KAAK,GAAG,EACxBgR,CACX,EACAhD,EAAQ,YAAc,SAAUn8B,EAAM+E,EAAWq6B,EAAS,CAClDA,EACAjD,EAAQ,YAAYn8B,EAAM+E,CAAS,EAGnCo3B,EAAQ,eAAen8B,EAAM+E,CAAS,CAE9C,EACAo3B,EAAQ,aAAe,SAAUtiB,EAAImlB,EAAK,CACtC,IAAIxoC,EAAQ,EAAG6oC,EAEf,GADAL,EAAMA,GAAO,SACRK,EAASL,EAAI,iBAAiB,OAAO,GACtC,KAAOxoC,EAAQ6oC,EAAO,QAClB,GAAIA,EAAO7oC,GAAO,EAAE,KAAOqjB,EACvB,MAAO,GAIvB,EACAsiB,EAAQ,kBAAoB,SAAUtiB,EAAImlB,EAAK,CAC3CA,EAAMA,GAAO,SACTA,EAAI,eAAenlB,CAAE,GACrBmlB,EAAI,eAAenlB,CAAE,EAAE,OAAM,CAErC,EACA,IAAIylB,EACAC,EAAW,CAAA,EACfpD,EAAQ,aAAe,SAAUtpC,EAAO,CACpCysC,EAAYzsC,EACRA,GAAS,GACT2sC,IACMD,IACNA,EAAW,CAAA,EACnB,EACA,SAASC,GAAsB,CAC3B,IAAIjiC,EAAQgiC,EACZA,EAAW,KACXhiC,GAASA,EAAM,QAAQ,SAAU5E,EAAM,CACnC8mC,EAAgB9mC,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CACxC,CAAK,CACJ,CACD,SAAS8mC,EAAgBC,EAAS7lB,EAAIrM,EAAQ,CAC1C,GAAI,SAAO,SAAY,KAEvB,IAAI+xB,GACA,GAAI/xB,EACAgyB,YAEKhyB,IAAW,GAChB,OAAO+xB,EAAS,KAAK,CAACG,EAAS7lB,CAAE,CAAC,EAG1C,GAAI,CAAAylB,EAEJ,KAAIl6B,EAAYoI,EACZ,CAACA,GAAU,CAACA,EAAO,YACnBpI,EAAY,UAGZA,EAAYoI,EAAO,eACf,CAACpI,GAAaA,GAAaoI,KAC3BpI,EAAY,WAEpB,IAAI45B,EAAM55B,EAAU,eAAiBA,EACrC,GAAIyU,GAAMsiB,EAAQ,aAAatiB,EAAIzU,CAAS,EACxC,OAAO,KACPyU,IACA6lB,GAAW;AAAA,wBAA6B7lB,EAAK,OACjD,IAAIjU,EAAQu2B,EAAQ,cAAc,OAAO,EACzCv2B,EAAM,YAAYo5B,EAAI,eAAeU,CAAO,CAAC,EACzC7lB,IACAjU,EAAM,GAAKiU,GACXzU,GAAa45B,IACb55B,EAAY+2B,EAAQ,gBAAgB6C,CAAG,GAC3C55B,EAAU,aAAaQ,EAAOR,EAAU,UAAU,GACrD,CAiDD,GAhDA+2B,EAAQ,gBAAkBsD,EAC1BtD,EAAQ,mBAAqB,SAAUwD,EAAKX,EAAK,CAC7C7C,EAAQ,SAAS,CAAC,OAAQ,CAAE,IAAK,aAAc,KAAMwD,CAAK,CAAA,EAAGxD,EAAQ,gBAAgB6C,CAAG,CAAC,CAC7F,EACA7C,EAAQ,eAAiB,SAAU6C,EAAK,CACpC,IAAIY,EAAQzD,EAAQ,cAAc,WAAW,EAC7CyD,EAAM,MAAM,MAAQ,OACpBA,EAAM,MAAM,SAAW,MACvBA,EAAM,MAAM,OAAS,QACrBA,EAAM,MAAM,QAAU,QACtB,IAAIC,EAAQ1D,EAAQ,cAAc,WAAW,EACzCv2B,EAAQi6B,EAAM,MAClBj6B,EAAM,SAAW,WACjBA,EAAM,KAAO,WACbA,EAAM,SAAW,SACjBA,EAAM,MAAQ,QACdA,EAAM,SAAW,MACjBA,EAAM,OAAS,QACfA,EAAM,QAAU,QAChBi6B,EAAM,YAAYD,CAAK,EACvB,IAAIE,EAAQd,GAAOA,EAAI,iBAAqB,UAAY,SAAS,gBACjE,GAAI,CAACc,EACD,MAAO,GACXA,EAAK,YAAYD,CAAK,EACtB,IAAIE,EAAcH,EAAM,YACxBh6B,EAAM,SAAW,SACjB,IAAIo6B,EAAgBJ,EAAM,YAC1B,OAAIG,IAAgBC,IAChBA,EAAgBH,EAAM,aAE1BC,EAAK,YAAYD,CAAK,EACfE,EAAcC,CACzB,EACA7D,EAAQ,cAAgB,SAAU94B,EAASuC,EAAO,CAC9C,OAAO,OAAO,iBAAiBvC,EAAS,EAAE,GAAK,CAAA,CACnD,EACA84B,EAAQ,SAAW,SAAU9pC,EAAQR,EAAUgB,EAAO,CAC9CR,EAAOR,CAAQ,IAAMgB,IACrBR,EAAOR,CAAQ,EAAIgB,EAE3B,EACAspC,EAAQ,kBAAoB,GAC5BA,EAAQ,mBAAqB,GAC7BA,EAAQ,OAASqC,EAAU,MACrB,OAAO,OAAW,KAAe,OAAO,kBAAoB,IAC5D,GACFA,EAAU,aACVrC,EAAQ,OAAS,IACjB,OAAO,SAAa,IAAa,CACjC,IAAI8D,EAAM,SAAS,cAAc,KAAK,EAClC9D,EAAQ,QAAU8D,EAAI,MAAM,YAAc,SAC1C9D,EAAQ,mBAAqB,IAC7B,CAACqC,EAAU,QAAU,OAAOyB,EAAI,MAAM,cAAkB,MACxD9D,EAAQ,kBAAoB,IAChC8D,EAAM,IACT,CACG9D,EAAQ,mBACRA,EAAQ,UAAY,SAAU94B,EAAS68B,EAAIC,EAAI,CAC3C98B,EAAQ,MAAM,UAAY,aAAe,KAAK,MAAM68B,CAAE,EAAI,OAAS,KAAK,MAAMC,CAAE,EAAI,KAC5F,EAGIhE,EAAQ,UAAY,SAAU94B,EAAS68B,EAAIC,EAAI,CAC3C98B,EAAQ,MAAM,IAAM,KAAK,MAAM88B,CAAE,EAAI,KACrC98B,EAAQ,MAAM,KAAO,KAAK,MAAM68B,CAAE,EAAI,IAC9C,CAGA,CAAC,EAED,IAAI,OAAO,cAAc,CAAC,UAAU,UAAU,SAAS,aAAa,EAAG,SAASrE,EAASM,EAASd,EAAO,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQzG,IAAI+E,EAAMvE,EAAQ,OAAO,EACzBM,EAAQ,IAAM,SAAUkE,EAAK1gC,EAAU,CACnC,IAAI2gC,EAAM,IAAI,eACdA,EAAI,KAAK,MAAOD,EAAK,EAAI,EACzBC,EAAI,mBAAqB,UAAY,CAC7BA,EAAI,aAAe,GACnB3gC,EAAS2gC,EAAI,YAAY,CAErC,EACIA,EAAI,KAAK,IAAI,CACjB,EACAnE,EAAQ,WAAa,SAAUoE,EAAM5gC,EAAU,CAC3C,IAAI6gC,EAAOJ,EAAI,kBACX3a,EAAI,SAAS,cAAc,QAAQ,EACvCA,EAAE,IAAM8a,EACRC,EAAK,YAAY/a,CAAC,EAClBA,EAAE,OAASA,EAAE,mBAAqB,SAAU6P,EAAGmL,EAAS,EAChDA,GAAW,CAAChb,EAAE,YAAcA,EAAE,YAAc,UAAYA,EAAE,YAAc,cACxEA,EAAIA,EAAE,OAASA,EAAE,mBAAqB,KACjCgb,GACD9gC,IAEhB,CACA,EACAw8B,EAAQ,WAAa,SAAUkE,EAAK,CAChC,IAAIv8B,EAAI,SAAS,cAAc,GAAG,EAClC,OAAAA,EAAE,KAAOu8B,EACFv8B,EAAE,IACb,CAEA,CAAC,EAED,IAAI,OAAO,cAAc,CAAC,UAAU,UAAU,QAAQ,EAAG,SAAS+3B,EAASM,EAASd,EAAO,CAC3Fc,EAAQ,SAAW,SAAUuE,EAAMC,EAAW,CAC1CD,EAAK,OAASC,EACdD,EAAK,UAAY,OAAO,OAAOC,EAAU,UAAW,CAChD,YAAa,CACT,MAAOD,EACP,WAAY,GACZ,SAAU,GACV,aAAc,EACjB,CACT,CAAK,CACL,EACAvE,EAAQ,MAAQ,SAAUhlC,EAAKypC,EAAO,CAClC,QAAS7sC,KAAO6sC,EACZzpC,EAAIpD,CAAG,EAAI6sC,EAAM7sC,CAAG,EAExB,OAAOoD,CACX,EACAglC,EAAQ,UAAY,SAAU0E,EAAOD,EAAO,CACxCzE,EAAQ,MAAM0E,EAAOD,CAAK,CAC9B,CAEA,CAAC,EAED,IAAI,OAAO,wBAAwB,CAAC,UAAU,UAAU,QAAQ,EAAG,SAAS/E,EAASM,EAASd,EAAO,CACrG,IAAIyF,EAAe,CAAA,EACfC,EAAkB,UAAY,CAAE,KAAK,mBAAqB,EAAK,EAC/DC,EAAiB,UAAY,CAAE,KAAK,iBAAmB,EAAK,EAChEF,EAAa,MACTA,EAAa,eAAiB,SAAUG,EAAW3yB,EAAG,CAClD,KAAK,iBAAmB,KAAK,eAAiB,CAAE,GAChD,KAAK,mBAAqB,KAAK,iBAAmB,CAAE,GACpD,IAAI4yB,EAAY,KAAK,eAAeD,CAAS,GAAK,CAAA,EAC9CE,EAAiB,KAAK,iBAAiBF,CAAS,EACpD,GAAI,GAACC,EAAU,QAAU,CAACC,GAE1B,EAAI,OAAO7yB,GAAK,UAAY,CAACA,KACzBA,EAAI,CAAA,GACHA,EAAE,OACHA,EAAE,KAAO2yB,GACR3yB,EAAE,kBACHA,EAAE,gBAAkByyB,GACnBzyB,EAAE,iBACHA,EAAE,eAAiB0yB,GACvBE,EAAYA,EAAU,QACtB,QAAS5uC,EAAI,EAAGA,EAAI4uC,EAAU,SAC1BA,EAAU5uC,CAAC,EAAEgc,EAAG,IAAI,EAChB,CAAAA,EAAE,oBAF4Bhc,IAElC,CAGJ,GAAI6uC,GAAkB,CAAC7yB,EAAE,iBACrB,OAAO6yB,EAAe7yB,EAAG,IAAI,EACzC,EACAwyB,EAAa,QAAU,SAAUG,EAAW3yB,EAAG,CAC3C,IAAI4yB,GAAa,KAAK,gBAAkB,CAAE,GAAED,CAAS,EACrD,GAAKC,EAEL,CAAAA,EAAYA,EAAU,QACtB,QAAS5uC,EAAI,EAAGA,EAAI4uC,EAAU,OAAQ5uC,IAClC4uC,EAAU5uC,CAAC,EAAEgc,EAAG,IAAI,EAC5B,EACAwyB,EAAa,KAAO,SAAUG,EAAWthC,EAAU,CAC/C,IAAIu+B,EAAQ,KAKZ,GAJA,KAAK,GAAG+C,EAAW,SAASG,GAAc,CACtClD,EAAM,IAAI+C,EAAWG,CAAW,EAChCzhC,EAAS,MAAM,KAAM,SAAS,CACtC,CAAK,EACG,CAACA,EACD,OAAO,IAAI,QAAQ,SAAU0hC,EAAS,CAClC1hC,EAAW0hC,CACvB,CAAS,CAET,EACAP,EAAa,kBAAoB,SAAUG,EAAWthC,EAAU,CAC5D,IAAI2hC,EAAW,KAAK,iBAGpB,GAFKA,IACDA,EAAW,KAAK,iBAAmB,CAAE,WAAY,CAAE,CAAA,GACnDA,EAASL,CAAS,EAAG,CACrB,IAAIM,EAAMD,EAASL,CAAS,EACxBn0B,EAAWw0B,EAAS,WAAWL,CAAS,EACvCn0B,IACDw0B,EAAS,WAAWL,CAAS,EAAIn0B,EAAW,CAAA,GAChDA,EAAS,KAAKy0B,CAAG,EACjB,IAAI,EAAIz0B,EAAS,QAAQnN,CAAQ,EAC7B,GAAK,IACLmN,EAAS,OAAO,EAAG,CAAC,CAC3B,CACDw0B,EAASL,CAAS,EAAIthC,CAC1B,EACAmhC,EAAa,qBAAuB,SAAUG,EAAWthC,EAAU,CAC/D,IAAI2hC,EAAW,KAAK,iBACpB,GAAKA,EAEL,KAAIx0B,EAAWw0B,EAAS,WAAWL,CAAS,EAC5C,GAAIK,EAASL,CAAS,GAAKthC,EACnBmN,GACA,KAAK,kBAAkBm0B,EAAWn0B,EAAS,IAAK,CAAA,UAE/CA,EAAU,CACf,IAAIxa,EAAIwa,EAAS,QAAQnN,CAAQ,EAC7BrN,GAAK,IACLwa,EAAS,OAAOxa,EAAG,CAAC,CAC3B,EACL,EACAwuC,EAAa,GACTA,EAAa,iBAAmB,SAAUG,EAAWthC,EAAU6hC,EAAW,CACtE,KAAK,eAAiB,KAAK,gBAAkB,CAAA,EAC7C,IAAIN,EAAY,KAAK,eAAeD,CAAS,EAC7C,OAAKC,IACDA,EAAY,KAAK,eAAeD,CAAS,EAAI,CAAA,GAC7CC,EAAU,QAAQvhC,CAAQ,GAAK,IAC/BuhC,EAAUM,EAAY,UAAY,MAAM,EAAE7hC,CAAQ,EAC/CA,CACf,EACAmhC,EAAa,IACTA,EAAa,eACTA,EAAa,oBAAsB,SAAUG,EAAWthC,EAAU,CAC9D,KAAK,eAAiB,KAAK,gBAAkB,CAAA,EAC7C,IAAIuhC,EAAY,KAAK,eAAeD,CAAS,EAC7C,GAAKC,EAEL,KAAI1qC,EAAQ0qC,EAAU,QAAQvhC,CAAQ,EAClCnJ,IAAU,IACV0qC,EAAU,OAAO1qC,EAAO,CAAC,EACzC,EACAsqC,EAAa,mBAAqB,SAAUG,EAAW,CAC9CA,IACD,KAAK,eAAiB,KAAK,iBAAmB,QAC9C,KAAK,iBACL,KAAK,eAAeA,CAAS,EAAI,QACjC,KAAK,mBACL,KAAK,iBAAiBA,CAAS,EAAI,OAC3C,EACA9E,EAAQ,aAAe2E,CAEvB,CAAC,EAED,IAAI,OAAO,uBAAuB,CAAC,UAAU,UAAU,QAAQ,EAAG,SAASjF,EAASM,EAASd,EAAO,CAACc,EAAQ,YAAc,SAAqBsF,EAAKxtB,EAAM,CACvJ,IAAI3F,EAAI,IAAI,MAAMmzB,CAAG,EACrBnzB,EAAE,KAAU2F,EACR,OAAO,SAAW,UAAY,QAAQ,OACtC,QAAQ,MAAM3F,CAAC,EACnB,WAAW,UAAY,CAAE,MAAMA,CAAI,CAAA,CACvC,CAEA,CAAC,EAED,IAAI,OAAO,mCAAmC,CAAC,UAAU,UAAU,QAAQ,EAAG,SAASutB,EAASM,EAASd,EAAO,CAAC,IAAIqG,EAAyB,CAC1I,0CAA2C,2BAC3C,gCAAiC,2BACjC,+CAAgD,OAChD,uBAAwB,aACxB,uCAAwC,SACxC,6BAA8B,qEAC9B,qCAAsC,SACtC,2BAA4B,8FAC5B,0BAA2B,cAC3B,uBAAwB,gBACxB,wBAAyB,iBACzB,8BAA+B,uBAC/B,8BAA+B,aAC/B,2BAA4B,MAC5B,iCAAkC,eAClC,+BAAgC,UAChC,8BAA+B,MAC/B,kCAAmC,sBACnC,iCAAkC,gBAClC,+BAAgC,uBAChC,qCAAsC,oBACtC,uCAAwC,sBACxC,4BAA6B,WAC7B,kCAAmC,SACnC,wBAAyB,mBACzB,uCAAwC,0CACxC,wCAAyC,0CACzC,sCAAuC,8BACvC,mCAAoC,cACpC,iCAAkC,YAClC,qCAAsC,iCACtC,uCAAwC,mCACxC,oCAAqC,gCACrC,2BAA4B,cAC5B,2CAA4C,QAC5C,yCAA0C,SAC1C,6CAA8C,UAC9C,2CAA4C,WAC5C,0CAA2C,sBAC3C,wCAAyC,uBACzC,wCAAyC,4CACzC,oCAAqC,sCACrC,8CAA+C,mBAC/C,4CAA6C,oBAC7C,0CAA2C,aAC3C,wCAAyC,aAC7C,EACAvF,EAAQ,uBAAyBuF,CAEjC,CAAC,EAED,IAAI,OAAO,qBAAqB,CAAC,UAAU,UAAU,SAAS,cAAc,wBAAwB,uBAAuB,kCAAkC,EAAG,SAAS7F,EAASM,EAASd,EAAO,CAAC,gBACnM,IAAIsG,EAAM9F,EAAQ,OAAO,EACrBiF,EAAejF,EAAQ,iBAAiB,EAAE,aAC1C+F,EAAc/F,EAAQ,gBAAgB,EAAE,YACxC6F,EAAyB7F,EAAQ,4BAA4B,EAAE,uBAC/DgG,EAAkB,CAClB,WAAY,SAAUC,EAAS,CAC3B,OAAO,KAAKA,CAAO,EAAE,QAAQ,SAAU/tC,EAAK,CACxC,KAAK,UAAUA,EAAK+tC,EAAQ/tC,CAAG,CAAC,CACnC,EAAE,IAAI,CACV,EACD,WAAY,SAAUguC,EAAa,CAC/B,IAAIh2B,EAAS,CAAA,EACb,GAAKg2B,EAMK,MAAM,QAAQA,CAAW,IAC/Bh2B,EAASg2B,EACTA,EAAc,OAAO,KAAKh2B,CAAM,OARlB,CACd,IAAIlH,EAAU,KAAK,SACnBk9B,EAAc,OAAO,KAAKl9B,CAAO,EAAE,OAAO,SAAU9Q,EAAK,CACrD,MAAO,CAAC8Q,EAAQ9Q,CAAG,EAAE,MACrC,CAAa,CACJ,CAKD,OAAAguC,EAAY,QAAQ,SAAUhuC,EAAK,CAC/BgY,EAAOhY,CAAG,EAAI,KAAK,UAAUA,CAAG,CACnC,EAAE,IAAI,EACAgY,CACV,EACD,UAAW,SAAUrO,EAAM7K,EAAO,CAC9B,GAAI,KAAK,IAAM6K,CAAI,IAAM7K,EAEzB,KAAI6mB,EAAM,KAAK,SAAShc,CAAI,EAC5B,GAAI,CAACgc,EACD,OAAOsoB,EAAK,sBAAwBtkC,EAAO,GAAG,EAElD,GAAIgc,EAAI,UACJ,OAAO,KAAKA,EAAI,SAAS,GAAK,KAAKA,EAAI,SAAS,EAAE,UAAUhc,EAAM7K,CAAK,EACtE6mB,EAAI,aACL,KAAK,IAAMhc,CAAI,EAAI7K,GACnB6mB,GAAOA,EAAI,KACXA,EAAI,IAAI,KAAK,KAAM7mB,CAAK,EAC/B,EACD,UAAW,SAAU6K,EAAM,CACvB,IAAIgc,EAAM,KAAK,SAAShc,CAAI,EAC5B,OAAKgc,EAGDA,EAAI,UACG,KAAKA,EAAI,SAAS,GAAK,KAAKA,EAAI,SAAS,EAAE,UAAUhc,CAAI,EAC7Dgc,GAAOA,EAAI,IAAMA,EAAI,IAAI,KAAK,IAAI,EAAI,KAAK,IAAMhc,CAAI,EAJjDskC,EAAK,sBAAwBtkC,EAAO,GAAG,CAKrD,CACL,EACA,SAASskC,EAAKC,EAAS,CACf,OAAO,QAAW,KAAe,QAAQ,MACzC,QAAQ,KAAK,MAAM,QAAS,SAAS,CAC5C,CACD,IAAIC,EACAC,EACAC,EAA2B,UAAY,CACvC,SAASA,GAAY,CACjB,KAAK,gBAAkB,GACvBF,EAAWR,EACXS,EAAkB,aACrB,CACD,OAAAC,EAAU,UAAU,cAAgB,SAAUjrC,EAAKopC,EAAM17B,EAAS,CAC9D,OAAK1N,EAAI,WACL,KAAK,gBAAgBopC,CAAI,EAAIppC,EAAI,SAAW,CAAA,GAChD,OAAO,KAAK0N,CAAO,EAAE,QAAQ,SAAU9Q,EAAK,CACxC,IAAI2lB,EAAM7U,EAAQ9Q,CAAG,EACjB,OAAO2lB,GAAO,WACdA,EAAM,CAAE,UAAWA,IACvBA,EAAI,OAASA,EAAI,KAAO3lB,GACxBoD,EAAI,SAASuiB,EAAI,IAAI,EAAIA,EACrB,iBAAkBA,IAClBviB,EAAI,IAAMuiB,EAAI,IAAI,EAAIA,EAAI,aAC1C,CAAS,EACDioB,EAAI,UAAUxqC,EAAK0qC,CAAe,EAC3B,IACf,EACIO,EAAU,UAAU,aAAe,SAAUjrC,EAAK,CAC9C,OAAO,KAAKA,EAAI,QAAQ,EAAE,QAAQ,SAAUpD,EAAK,CAC7C,IAAI2lB,EAAMviB,EAAI,SAASpD,CAAG,EACtB,UAAW2lB,GACXviB,EAAI,UAAUpD,EAAK2lB,EAAI,KAAK,CAC5C,CAAS,CACT,EACI0oB,EAAU,UAAU,gBAAkB,SAAU7B,EAAM7iC,EAAM7K,EAAO,CAC/D,GAAI,CAAC0tC,EAAM,CACP,IAAKA,KAAQ,KAAK,gBACd,GAAI,KAAK,gBAAgBA,CAAI,EAAE7iC,CAAI,EAC/B,MACR,GAAI,CAAC,KAAK,gBAAgB6iC,CAAI,EAAE7iC,CAAI,EAChC,MAAO,EACd,CACD,IAAI2kC,EAAO,KAAK,gBAAgB9B,CAAI,IAAM,KAAK,gBAAgBA,CAAI,EAAI,CAAA,GACnE8B,EAAK3kC,CAAI,IACL2kC,EAAK,UACL,KAAK,gBAAgBA,EAAK,UAAW3kC,EAAM7K,CAAK,EAEhDwvC,EAAK3kC,CAAI,EAAE,MAAQ7K,EAEnC,EACIuvC,EAAU,UAAU,iBAAmB,SAAU7B,EAAM+B,EAAY,CAC/D,OAAO,KAAKA,CAAU,EAAE,QAAQ,SAAUvuC,EAAK,CAC3C,KAAK,gBAAgBwsC,EAAMxsC,EAAKuuC,EAAWvuC,CAAG,CAAC,CAClD,EAAE,IAAI,CACf,EACIquC,EAAU,UAAU,YAAc,SAAUvvC,EAAOgS,EAAS,CACxDq9B,EAAWrvC,EACPgS,GAAWA,EAAQ,eACnBs9B,EAAkBt9B,EAAQ,aAEtC,EACIu9B,EAAU,UAAU,IAAM,SAAUruC,EAAKwuC,EAAelN,EAAQ,CACvD6M,EAASnuC,CAAG,IACbiuC,EAAK,iCAAmCjuC,EAAM,oFAAsFwuC,EAAgB,IAAI,EACnJL,EAASK,CAAa,GACvBP,EAAK,4CAA8CO,EAAgB,0EAA0E,GAGrJ,IAAIC,EAAaN,EAASnuC,CAAG,GAAKmuC,EAASK,CAAa,GAAKA,EAC7D,OAAIlN,IACI8M,IAAoB,gBACpBK,EAAaA,EAAW,QAAQ,gBAAiB,SAAUlN,EAAGmN,EAAa,CACvE,OAAIA,GAAe,IACR,IACJpN,EAAOoN,CAAW,CAC7C,CAAiB,GAEDN,IAAoB,kBACpBK,EAAaA,EAAW,QAAQ,gBAAiB,SAAUlN,EAAGoN,EAAmB,CAC7E,OAAOrN,EAAOqN,CAAiB,CACnD,CAAiB,IAGFF,CACf,EACWJ,CACV,EAAA,EACDA,EAAU,UAAU,KAAOJ,EAC3BI,EAAU,UAAU,YAAcR,EAClCD,EAAI,UAAUS,EAAU,UAAWtB,CAAY,EAC/C3E,EAAQ,UAAYiG,CAEpB,CAAC,EAED,IAAI,OAAO,yBAAyB,CAAC,UAAU,UAAU,QAAQ,EAAG,SAASvG,EAASM,EAASd,EAAO,CAACA,EAAO,QAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAExH,CAAC,EAED,IAAI,OAAO,qBAAqB,CAAC,UAAU,UAAU,SAAS,yBAAyB,aAAa,EAAG,SAASQ,EAASM,EAASd,EAAO,CACzIc,EAAQ,OAAS,GACjBA,EAAQ,SAAW,SACnBA,EAAQ,QAAUN,EAAQ,gBAAgB,EAC1CM,EAAQ,IAAM,qBACd,IAAIiE,EAAMvE,EAAQ,YAAY,EAC9BuE,EAAI,gBAAgBjE,EAAQ,QAASA,EAAQ,SAAU,EAAK,CAE5D,CAAC,EAED,IAAI,OAAO,aAAa,CAAC,UAAU,UAAU,SAAS,eAAe,cAAc,cAAc,qBAAqB,oBAAoB,EAAG,SAASN,EAASM,EAASd,EAAO,CAAC,gBAChL,IAAIsH,EAAO9G,EAAQ,YAAY,EAC3B+G,EAAM/G,EAAQ,WAAW,EACzBuE,EAAMvE,EAAQ,WAAW,EACzBuG,EAAYvG,EAAQ,kBAAkB,EAAE,UAC5CR,EAAO,QAAUc,EAAU,IAAIiG,EAC/B,IAAIv9B,EAAU,CACV,SAAU,GACV,WAAY,KACZ,SAAU,KACV,UAAW,KACX,SAAU,GACV,OAAQ,MACR,YAAa,CAAE,EACf,mBAAoB,GACpB,aAAc,GACd,aAAc,IAClB,EACAs3B,EAAQ,IAAM,SAAUpoC,EAAK,CACzB,GAAI,CAAC8Q,EAAQ,eAAe9Q,CAAG,EAC3B,MAAM,IAAI,MAAM,uBAAyBA,CAAG,EAChD,OAAO8Q,EAAQ9Q,CAAG,CACtB,EACAooC,EAAQ,IAAM,SAAUpoC,EAAKlB,EAAO,CAChC,GAAIgS,EAAQ,eAAe9Q,CAAG,EAC1B8Q,EAAQ9Q,CAAG,EAAIlB,UACV,KAAK,gBAAgB,GAAIkB,EAAKlB,CAAK,GAAK,GAC7C,MAAM,IAAI,MAAM,uBAAyBkB,CAAG,EAC5CA,GAAO,gBACPqsC,EAAI,aAAavtC,CAAK,CAC9B,EACAspC,EAAQ,IAAM,UAAY,CACtB,OAAOwG,EAAK,WAAW99B,CAAO,CAClC,EACAs3B,EAAQ,OAAS,GACjBA,EAAQ,UAAY,SAAUz+B,EAAMmlC,EAAW,CAC3C,GAAIh+B,EAAQ,YAAYnH,CAAI,EACxB,OAAOmH,EAAQ,YAAYnH,CAAI,EACnC,IAAIolC,EAAQplC,EAAK,MAAM,GAAG,EAC1BmlC,EAAYA,GAAaC,EAAMA,EAAM,OAAS,CAAC,GAAK,GACpD,IAAIC,EAAMF,GAAa,WAAa,IAAM,IACtC3G,EAAO4G,EAAMA,EAAM,OAAS,CAAC,EACjC,GAAID,GAAa,UAAYE,GAAO,IAAK,CACrC,IAAIC,EAAK,IAAI,OAAO,IAAMH,EAAY,gBAAkBA,EAAY,IAAK,GAAG,EAC5E3G,EAAOA,EAAK,QAAQ8G,EAAI,EAAE,CAC7B,EACI,CAAC9G,GAAQA,GAAQ2G,IAAcC,EAAM,OAAS,IAC/C5G,EAAO4G,EAAMA,EAAM,OAAS,CAAC,GACjC,IAAIvC,EAAO17B,EAAQg+B,EAAY,MAAM,EACrC,OAAItC,GAAQ,KACRA,EAAO17B,EAAQ,SAEVk+B,GAAO,MACZF,EAAYE,EAAM,IAElBxC,GAAQA,EAAK,MAAM,EAAE,GAAK,MAC1BA,GAAQ,KACLA,EAAOsC,EAAYE,EAAM7G,EAAO,KAAK,IAAI,QAAQ,CAC5D,EACAC,EAAQ,aAAe,SAAUz+B,EAAMulC,EAAO,CAC1C,OAAOp+B,EAAQ,YAAYnH,CAAI,EAAIulC,CACvC,EACA,IAAIC,EAAS,SAAUlH,EAAYmH,EAAI,CACnC,GAAInH,IAAe,sBAAwBA,IAAe,mBACtD,OAAOmH,EAAG,KAAMtH,EAAQ,kBAAkB,CAAC,EAC/C,GAAIuH,EACA,OAAOA,EAAapH,EAAYmH,CAAE,EACtC,QAAQ,MAAM,0BAA0B,CAC5C,EACIC,EACJjH,EAAQ,UAAY,SAAUgH,EAAI,CAC9BC,EAAeD,CACnB,EACAhH,EAAQ,eAAiB,OAAO,OAAO,IAAI,EAC3CA,EAAQ,SAAW,GACnBA,EAAQ,QAAU,GAClBA,EAAQ,WAAa,SAAUkH,EAAUC,EAAQ,CAC7C,IAAIC,EACJ,GAAI,MAAM,QAAQF,CAAQ,EACtB,IAAIG,EAAaH,EAAS,CAAC,EACvBrH,EAAaqH,EAAS,CAAC,UAEtB,OAAOA,GAAY,SACxB,IAAIrH,EAAaqH,EAErB,IAAII,EAAO,SAAUpI,EAAQ,CACzB,GAAIA,GAAU,CAACc,EAAQ,SAASH,CAAU,EACtC,OAAOsH,GAAUA,EAAOjI,CAAM,EAIlC,GAHKc,EAAQ,SAASH,CAAU,IAC5BG,EAAQ,SAASH,CAAU,EAAI,IACnCG,EAAQ,SAASH,CAAU,EAAE,KAAKsH,CAAM,EACpC,EAAAnH,EAAQ,SAASH,CAAU,EAAE,OAAS,GAE1C,KAAI0H,EAAY,UAAY,CACxBR,EAAOlH,EAAY,SAAUtJ,EAAK2I,EAAQ,CAClCA,IACAc,EAAQ,QAAQH,CAAU,EAAIX,GAClCc,EAAQ,MAAM,cAAe,CAAE,KAAMH,EAAY,OAAQX,CAAM,CAAE,EACjE,IAAI6F,EAAY/E,EAAQ,SAASH,CAAU,EAC3CG,EAAQ,SAASH,CAAU,EAAI,KAC/BkF,EAAU,QAAQ,SAAUoC,EAAQ,CAChCA,GAAUA,EAAOjI,CAAM,CAC3C,CAAiB,CACjB,CAAa,CACb,EACQ,GAAI,CAACc,EAAQ,IAAI,UAAU,EACvB,OAAOuH,EAAS,EACpBd,EAAI,WAAWzG,EAAQ,UAAUH,EAAYwH,CAAU,EAAGE,CAAS,EACnEC,IACR,EACI,GAAIxH,EAAQ,eAAeH,CAAU,EACjCG,EAAQ,eAAeH,CAAU,EAAG,EAAC,KAAK,SAAUX,EAAQ,CACpDA,EAAO,QACPoI,EAAKpI,EAAO,OAAO,EAGnBoI,EAAKpI,CAAM,CAE3B,CAAS,MAEA,CACD,GAAI,CACAkI,EAAe,KAAK,SAASvH,CAAU,CAC1C,MACS,CAAG,CACbyH,EAAKF,GAAgBpH,EAAQ,QAAQH,CAAU,CAAC,CACnD,CACL,EACAG,EAAQ,SAAW,SAAUH,EAAY,CACrC,GAAI,OAAOX,EAAO,SAAc,WAAY,CACxC,IAAIgB,EAAM,UACV,OAAOhB,EAAOgB,CAAG,EAAEL,CAAU,CAChC,CACL,EACAG,EAAQ,gBAAkB,SAAUH,EAAYsH,EAAQ,CACpDnH,EAAQ,eAAeH,CAAU,EAAIsH,CACzC,EACA,IAAIK,EAAmC,UAAY,CAC3C,CAAC9+B,EAAQ,UAAY,CAACA,EAAQ,YAC3B,CAACA,EAAQ,UAAY,CAACA,EAAQ,WAC9B,CAAC,OAAO,KAAKA,EAAQ,WAAW,EAAE,SACrC,QAAQ,MAAM,+CAAgD,uFAAwF,0CAA0C,EAChM8+B,EAAmC,UAAY,CAAA,EAEvD,EACAxH,EAAQ,QAAU,QAElB,CAAC,EAED,IAAI,OAAO,mBAAmB,CAAC,UAAU,UAAU,SAAS,yBAAyB,YAAY,EAAG,SAASN,EAASM,EAASd,EAAQ,CAGvIQ,EAAQ,sBAAsB,EAC9B,IAAI+H,EAAS/H,EAAQ,UAAU,EAC/B+H,EAAO,UAAU,SAAS5H,EAAYmH,EAAI,CACtCtH,EAAQ,CAACG,CAAU,EAAG,SAASX,EAAQ,CACnC8H,EAAG,KAAM9H,CAAM,CACvB,CAAK,CACL,CAAC,EAED,IAAIF,EAAU,UAAW,CACrB,OAAO,MAAQ,OAAO,OAAU,KAAe,MACnD,IAEAE,EAAO,QAAU,SAASwI,EAAK,CAC3BD,EAAO,KAAOE,EACdF,EAAO,SAAW/H,EAClBgI,EAAI,QAAUhI,CAIlB,EACAiI,EAAK,EAAI,EAAE,SAASA,EAAKC,EAAU,CAE/B,GAAI,GAAC5I,GAAU,CAACA,EAAO,UAGvB,CAAAyI,EAAO,IAAI,WAAYG,GAAYlI,EAAQ,UAAYR,EAAO,UAAaF,EAAO,QAAUC,SAAO,QAAS,EAE5G,IAAI4I,EAAgB,CAAA,EAChBC,EAAY,GACZC,EAAiB,SAAS,eAAiB,SAAS,eACpDC,EAAkBD,GAAiBA,EAAc,eAAiB,SAElEA,GAAiBA,EAAc,MAC/BD,EAAYC,EAAc,IAAI,MAAM,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,MAAM,EAAG,EAAE,EAAE,KAAK,GAAG,GAAK,IAIxF,QADIE,EAAUD,EAAgB,qBAAqB,QAAQ,EAClD7xC,EAAE,EAAGA,EAAE8xC,EAAQ,OAAQ9xC,IAAK,CACjC,IAAI+xC,EAASD,EAAQ9xC,CAAC,EAElBgyC,EAAMD,EAAO,KAAOA,EAAO,aAAa,KAAK,EACjD,GAAKC,EAIL,SADIC,EAAaF,EAAO,WACfxhC,EAAE,EAAG84B,EAAE4I,EAAW,OAAQ1hC,EAAI84B,EAAG94B,IAAK,CAC3C,IAAI2hC,EAAOD,EAAW1hC,CAAC,EACnB2hC,EAAK,KAAK,QAAQ,WAAW,IAAM,IACnCR,EAAcS,EAAYD,EAAK,KAAK,QAAQ,aAAc,EAAE,CAAC,CAAC,EAAIA,EAAK,MAE9E,CAED,IAAIE,EAAIJ,EAAI,MAAM,iCAAiC,EAC/CI,IACAT,EAAYS,EAAE,CAAC,GACtB,CAEGT,IACAD,EAAc,KAAOA,EAAc,MAAQC,EAC3CD,EAAc,SAAW,IAG7BA,EAAc,SAAWA,EAAc,KACvCA,EAAc,WAAaA,EAAc,YAAcA,EAAc,KACrEA,EAAc,SAAWA,EAAc,UAAYA,EAAc,KACjEA,EAAc,UAAYA,EAAc,WAAaA,EAAc,KACnE,OAAOA,EAAc,KAErB,QAASjwC,KAAOiwC,EACR,OAAOA,EAAcjwC,CAAG,EAAM,KAC9B6vC,EAAO,IAAI7vC,EAAKiwC,EAAcjwC,CAAG,CAAC,EAC7C,CAED,SAAS0wC,EAAYtqB,EAAK,CACtB,OAAOA,EAAI,QAAQ,QAAS,SAASuqB,EAAGC,EAAI,CAAE,OAAOA,EAAG,YAAa,CAAG,CAAA,CAC3E,CACD,CAAC,EAED,IAAI,OAAO,YAAY,CAAC,UAAU,UAAU,QAAQ,EAAG,SAAS9I,EAASM,EAASd,EAAO,CACzF,IAAIuJ,EAAuB,UAAY,CACnC,SAASA,EAAMC,EAAUC,EAAaC,EAAQC,EAAW,CACrD,KAAK,MAAQ,CACT,IAAKH,EACL,OAAQC,CACpB,EACQ,KAAK,IAAM,CACP,IAAKC,EACL,OAAQC,CACpB,CACK,CACD,OAAAJ,EAAM,UAAU,QAAU,SAAUK,EAAO,CACvC,OAAO,KAAK,MAAM,MAAQA,EAAM,MAAM,KAClC,KAAK,IAAI,MAAQA,EAAM,IAAI,KAC3B,KAAK,MAAM,SAAWA,EAAM,MAAM,QAClC,KAAK,IAAI,SAAWA,EAAM,IAAI,MAC1C,EACIL,EAAM,UAAU,SAAW,UAAY,CACnC,MAAQ,WAAa,KAAK,MAAM,IAAM,IAAM,KAAK,MAAM,OACnD,SAAW,KAAK,IAAI,IAAM,IAAM,KAAK,IAAI,OAAS,GAC9D,EACIA,EAAM,UAAU,SAAW,SAAUM,EAAKrlC,EAAQ,CAC9C,OAAO,KAAK,QAAQqlC,EAAKrlC,CAAM,GAAK,CAC5C,EACI+kC,EAAM,UAAU,aAAe,SAAUK,EAAO,CAC5C,IAAIE,EAAK/vC,EAAM6vC,EAAM,IAAK9vC,EAAQ8vC,EAAM,MAExC,OADAE,EAAM,KAAK,QAAQ/vC,EAAI,IAAKA,EAAI,MAAM,EAClC+vC,GAAO,GACPA,EAAM,KAAK,QAAQhwC,EAAM,IAAKA,EAAM,MAAM,EACtCgwC,GAAO,EACA,EAEFA,GAAO,EACL,EAGA,GAGNA,GAAO,GACL,IAGPA,EAAM,KAAK,QAAQhwC,EAAM,IAAKA,EAAM,MAAM,EACtCgwC,GAAO,GACA,GAEFA,GAAO,EACL,GAGA,EAGvB,EACIP,EAAM,UAAU,aAAe,SAAU,EAAG,CACxC,OAAO,KAAK,QAAQ,EAAE,IAAK,EAAE,MAAM,CAC3C,EACIA,EAAM,UAAU,cAAgB,SAAUK,EAAO,CAC7C,OAAO,KAAK,aAAaA,EAAM,KAAK,GAAK,GAAK,KAAK,aAAaA,EAAM,GAAG,GAAK,CACtF,EACIL,EAAM,UAAU,WAAa,SAAUK,EAAO,CAC1C,IAAIE,EAAM,KAAK,aAAaF,CAAK,EACjC,OAAQE,GAAO,IAAMA,GAAO,GAAKA,GAAO,CAChD,EACIP,EAAM,UAAU,MAAQ,SAAUM,EAAKrlC,EAAQ,CAC3C,OAAO,KAAK,IAAI,KAAOqlC,GAAO,KAAK,IAAI,QAAUrlC,CACzD,EACI+kC,EAAM,UAAU,QAAU,SAAUM,EAAKrlC,EAAQ,CAC7C,OAAO,KAAK,MAAM,KAAOqlC,GAAO,KAAK,MAAM,QAAUrlC,CAC7D,EACI+kC,EAAM,UAAU,SAAW,SAAUM,EAAKrlC,EAAQ,CAC1C,OAAOqlC,GAAO,UACd,KAAK,MAAM,OAASA,EAAI,OACxB,KAAK,MAAM,IAAMA,EAAI,MAGrB,KAAK,MAAM,IAAMA,EACjB,KAAK,MAAM,OAASrlC,EAEhC,EACI+kC,EAAM,UAAU,OAAS,SAAUM,EAAKrlC,EAAQ,CACxC,OAAOqlC,GAAO,UACd,KAAK,IAAI,OAASA,EAAI,OACtB,KAAK,IAAI,IAAMA,EAAI,MAGnB,KAAK,IAAI,IAAMA,EACf,KAAK,IAAI,OAASrlC,EAE9B,EACI+kC,EAAM,UAAU,OAAS,SAAUM,EAAKrlC,EAAQ,CAC5C,OAAI,KAAK,QAAQqlC,EAAKrlC,CAAM,GAAK,EACzB,OAAK,MAAMqlC,EAAKrlC,CAAM,GAAK,KAAK,QAAQqlC,EAAKrlC,CAAM,GAOpD,EACf,EACI+kC,EAAM,UAAU,YAAc,SAAUM,EAAKrlC,EAAQ,CACjD,OAAI,KAAK,QAAQqlC,EAAKrlC,CAAM,GAAK,EACzB,MAAK,MAAMqlC,EAAKrlC,CAAM,EAOvB,EACf,EACI+kC,EAAM,UAAU,UAAY,SAAUM,EAAKrlC,EAAQ,CAC/C,OAAI,KAAK,QAAQqlC,EAAKrlC,CAAM,GAAK,EACzB,MAAK,QAAQqlC,EAAKrlC,CAAM,EAOzB,EACf,EACI+kC,EAAM,UAAU,QAAU,SAAUM,EAAKrlC,EAAQ,CAC7C,MAAI,CAAC,KAAK,eACFqlC,IAAQ,KAAK,MAAM,IACZrlC,EAAS,KAAK,MAAM,OAAS,GAAMA,EAAS,KAAK,IAAI,OAAS,EAAI,EAG7EqlC,EAAM,KAAK,MAAM,IACV,GACPA,EAAM,KAAK,IAAI,IACR,EACP,KAAK,MAAM,MAAQA,EACZrlC,GAAU,KAAK,MAAM,OAAS,EAAI,GACzC,KAAK,IAAI,MAAQqlC,EACVrlC,GAAU,KAAK,IAAI,OAAS,EAAI,EACpC,CACf,EACI+kC,EAAM,UAAU,aAAe,SAAUM,EAAKrlC,EAAQ,CAClD,OAAI,KAAK,MAAM,KAAOqlC,GAAO,KAAK,MAAM,QAAUrlC,EACvC,GAGA,KAAK,QAAQqlC,EAAKrlC,CAAM,CAE3C,EACI+kC,EAAM,UAAU,WAAa,SAAUM,EAAKrlC,EAAQ,CAChD,OAAI,KAAK,IAAI,KAAOqlC,GAAO,KAAK,IAAI,QAAUrlC,EACnC,EAGA,KAAK,QAAQqlC,EAAKrlC,CAAM,CAE3C,EACI+kC,EAAM,UAAU,cAAgB,SAAUM,EAAKrlC,EAAQ,CACnD,OAAI,KAAK,IAAI,KAAOqlC,GAAO,KAAK,IAAI,QAAUrlC,EACnC,EAEF,KAAK,MAAM,KAAOqlC,GAAO,KAAK,MAAM,QAAUrlC,EAC5C,GAGA,KAAK,QAAQqlC,EAAKrlC,CAAM,CAE3C,EACI+kC,EAAM,UAAU,SAAW,SAAUQ,EAAUC,EAAS,CACpD,GAAI,KAAK,IAAI,IAAMA,EACf,IAAIjwC,EAAM,CAAE,IAAKiwC,EAAU,EAAG,OAAQ,WACjC,KAAK,IAAI,IAAMD,EACpB,IAAIhwC,EAAM,CAAE,IAAKgwC,EAAU,OAAQ,CAAC,EACxC,GAAI,KAAK,MAAM,IAAMC,EACjB,IAAIlwC,EAAQ,CAAE,IAAKkwC,EAAU,EAAG,OAAQ,WACnC,KAAK,MAAM,IAAMD,EACtB,IAAIjwC,EAAQ,CAAE,IAAKiwC,EAAU,OAAQ,CAAC,EAC1C,OAAOR,EAAM,WAAWzvC,GAAS,KAAK,MAAOC,GAAO,KAAK,GAAG,CACpE,EACIwvC,EAAM,UAAU,OAAS,SAAUM,EAAKrlC,EAAQ,CAC5C,IAAIslC,EAAM,KAAK,QAAQD,EAAKrlC,CAAM,EAClC,GAAIslC,GAAO,EACP,OAAO,KACN,GAAIA,GAAO,GACZ,IAAIhwC,EAAQ,CAAE,IAAK+vC,EAAK,OAAQrlC,CAAM,MAEtC,KAAIzK,EAAM,CAAE,IAAK8vC,EAAK,OAAQrlC,CAAM,EACxC,OAAO+kC,EAAM,WAAWzvC,GAAS,KAAK,MAAOC,GAAO,KAAK,GAAG,CACpE,EACIwvC,EAAM,UAAU,QAAU,UAAY,CAClC,OAAQ,KAAK,MAAM,MAAQ,KAAK,IAAI,KAAO,KAAK,MAAM,SAAW,KAAK,IAAI,MAClF,EACIA,EAAM,UAAU,YAAc,UAAY,CACtC,OAAQ,KAAK,MAAM,MAAQ,KAAK,IAAI,GAC5C,EACIA,EAAM,UAAU,MAAQ,UAAY,CAChC,OAAOA,EAAM,WAAW,KAAK,MAAO,KAAK,GAAG,CACpD,EACIA,EAAM,UAAU,aAAe,UAAY,CACvC,OAAI,KAAK,IAAI,QAAU,EACZ,IAAIA,EAAM,KAAK,MAAM,IAAK,EAAG,KAAK,IAAI,KAAK,MAAM,IAAK,KAAK,IAAI,IAAM,CAAC,EAAG,CAAC,EAE1E,IAAIA,EAAM,KAAK,MAAM,IAAK,EAAG,KAAK,IAAI,IAAK,CAAC,CAC/D,EACIA,EAAM,UAAU,cAAgB,SAAUU,EAAS,CAC/C,IAAIC,EAAiBD,EAAQ,yBAAyB,KAAK,KAAK,EAC5DE,EAAeF,EAAQ,yBAAyB,KAAK,GAAG,EAC5D,OAAO,IAAIV,EAAMW,EAAe,IAAKA,EAAe,OAAQC,EAAa,IAAKA,EAAa,MAAM,CACzG,EACIZ,EAAM,UAAU,OAAS,SAAUM,EAAKrlC,EAAQ,CAC5C,KAAK,MAAM,KAAOqlC,EAClB,KAAK,MAAM,QAAUrlC,EACrB,KAAK,IAAI,KAAOqlC,EAChB,KAAK,IAAI,QAAUrlC,CAC3B,EACW+kC,CACV,EAAA,EACDA,EAAM,WAAa,SAAUzvC,EAAOC,EAAK,CACrC,OAAO,IAAIwvC,EAAMzvC,EAAM,IAAKA,EAAM,OAAQC,EAAI,IAAKA,EAAI,MAAM,CACjE,EACAwvC,EAAM,cAAgB,SAAUa,EAAIC,EAAI,CACpC,OAAOD,EAAG,IAAMC,EAAG,KAAOD,EAAG,OAASC,EAAG,MAC7C,EACAvJ,EAAQ,MAAQyI,CAEhB,CAAC,EAED,IAAI,OAAO,eAAe,CAAC,UAAU,UAAU,SAAS,aAAa,EAAG,SAAS/I,EAASM,EAASd,EAAO,CA4E1G,QA3EIsG,EAAM9F,EAAQ,OAAO,EACrB8J,EAAO,CACP,cAAe,CACX,GAAI,QAAS,GAAI,OAAQ,GAAI,MAAO,IAAK,OACzC,GAAI,WAAY,GAAI,YAAa,GAAI,aACxC,EACD,SAAU,CACN,KAAQ,EAAG,IAAO,EAAG,OAAU,EAAG,MAAS,EAC3C,MAAS,EAAG,KAAQ,EAAG,QAAW,EAAG,IAAO,EAC5C,QAAW,CACd,EACD,cAAe,CACX,EAAG,YACH,EAAG,MACH,GAAI,SACJ,GAAI,QACJ,GAAI,MACJ,GAAI,QACJ,GAAI,SACJ,GAAI,WACJ,GAAI,MACJ,GAAI,OACJ,GAAI,OACJ,GAAI,KACJ,GAAI,QACJ,GAAI,OACJ,GAAI,QACJ,GAAI,SACJ,GAAI,SACJ,MAAO,cACP,IAAK,UACL,IAAK,YACR,EACD,eAAgB,CACZ,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACpD,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjE,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAC3D,CACL,EACIC,EAAgB,CAChB,QAAS,IACT,UAAW,EACX,IAAK,EACL,OAAQ,GACR,MAAO,GACP,MAAO,GACP,OAAQ,GACR,OAAQ,GACR,SAAU,GACV,IAAK,GACL,KAAM,GACN,OAAQ,GACR,OAAQ,GACR,UAAW,GACX,QAAS,GACT,WAAY,GACZ,UAAW,GACX,UAAW,IACX,MAAO,IACP,MAAO,IACP,YAAa,IACb,UAAW,IACX,aAAc,IACd,UAAW,IACX,MAAO,IACP,MAAO,IACP,OAAQ,IACR,MAAO,IACP,MAAO,GACP,UAAW,IACX,cAAe,IACf,eAAgB,IAChB,aAAc,IACd,eAAgB,GACpB,EACStzC,EAAI,EAAGA,EAAI,GAAIA,IACpBszC,EAAc,QAAUtzC,CAAC,EAAI,GAAKA,EAClCszC,EAAc,SAAWtzC,CAAC,EAAI,GAAKA,EACnCqzC,EAAK,eAAe,GAAKrzC,CAAC,EAAI,GAAKA,EACnCqzC,EAAK,cAAc,GAAKrzC,CAAC,EAAI,SAAWA,EAE5C,QAASA,EAAI,GAAIA,EAAI,GAAIA,IAAK,CAC1B,IAAIuzC,EAAM,OAAO,aAAavzC,EAAI,EAAE,EACpCszC,EAAc,MAAQC,EAAI,YAAa,CAAA,EAAIvzC,EAC3CqzC,EAAK,eAAerzC,CAAC,EAAIuzC,CAC5B,CACD,QAASvzC,EAAI,EAAGA,EAAI,GAAIA,IACpBszC,EAAc,IAAMtzC,CAAC,EAAI,IAAMA,EAC/BqzC,EAAK,cAAc,IAAMrzC,CAAC,EAAI,IAAMA,EAExC,IAAIwzC,EAAY,CACZ,MAAO,GACP,QAAS,GACT,IAAK,GACL,KAAM,GACV,EACA,QAAS1J,KAAO0J,EACZF,EAAcxJ,CAAG,EAAIwJ,EAAcxJ,EAAM,MAAM,EACzCwJ,EAAcxJ,EAAM,OAAO,EAAI0J,EAAU1J,CAAG,EAEtDD,EAAQ,eAAiByJ,EACzBD,EAAK,eAAe,GAAG,EAAI,IAC3B,QAAS9iC,KAAK8iC,EAAK,cAAe,CAC9B,IAAIjoC,EAAOioC,EAAK,cAAc9iC,CAAC,EAAE,YAAW,EAC5C8iC,EAAKjoC,CAAI,EAAI,SAASmF,EAAG,EAAE,CAC9B,CACD,QAASA,KAAK8iC,EAAK,eAAgB,CAC/B,IAAIjoC,EAAOioC,EAAK,eAAe9iC,CAAC,EAAE,YAAW,EAC7C8iC,EAAKjoC,CAAI,EAAI,SAASmF,EAAG,EAAE,CAC9B,CACD8+B,EAAI,MAAMgE,EAAMA,EAAK,aAAa,EAClChE,EAAI,MAAMgE,EAAMA,EAAK,cAAc,EACnChE,EAAI,MAAMgE,EAAMA,EAAK,aAAa,EAClCA,EAAK,MAAQA,EAAK,OAClBA,EAAK,OAASA,EAAK,IACnBA,EAAK,IAAMA,EAAK,OACf,UAAY,CAET,QADII,EAAO,CAAC,MAAO,OAAQ,MAAO,OAAO,EAChCzzC,EAAI,KAAK,IAAI,EAAGyzC,EAAK,MAAM,EAAGzzC,KACnCqzC,EAAK,SAASrzC,CAAC,EAAIyzC,EAAK,OAAO,SAAUhjC,EAAG,CACxC,OAAOzQ,EAAIqzC,EAAK,SAAS5iC,CAAC,CAC7B,CAAA,EAAE,KAAK,GAAG,EAAI,GAEvB,IACA4iC,EAAK,SAAS,CAAC,EAAI,GACnBA,EAAK,SAAS,EAAE,EAAI,SACpBhE,EAAI,MAAMxF,EAASwJ,CAAI,EACvBxJ,EAAQ,QAAUA,EAClBA,EAAQ,gBAAkB,SAAU6J,EAAS,CACzC,IAAIC,EAAYN,EAAKK,CAAO,EAC5B,OAAI,OAAOC,GAAa,WACpBA,EAAY,OAAO,aAAaD,CAAO,GACpCC,EAAU,aACrB,CAEA,CAAC,EAED,IAAI,OAAO,gBAAgB,CAAC,UAAU,UAAU,SAAS,eAAe,mBAAmB,EAAG,SAASpK,EAASM,EAASd,EAAO,CAAe,IAAI6K,EAAOrK,EAAQ,QAAQ,EACtK2C,EAAY3C,EAAQ,aAAa,EACjCsK,EAAc,KACdC,EAAK,EACLC,EACJ,SAASC,GAA+B,CACpCD,EAAwB,GACxB,GAAI,CACA,SAAS,cAAc,EAAE,EAAE,iBAAiB,OAAQ,UAAY,GAAK,CACjE,IAAI,SAAU,CACV,OAAAA,EAAwB,CAAE,QAAS,IAC5B,EACV,CACb,CAAS,CACJ,MACS,CAAG,CAChB,CACD,SAASE,GAAqB,CAC1B,OAAIF,GAAyB,MACzBC,IACGD,CACV,CACD,SAASG,EAAcC,EAAMtmC,EAAMR,EAAU,CACzC,KAAK,KAAO8mC,EACZ,KAAK,KAAOtmC,EACZ,KAAK,SAAWR,CACnB,CACD6mC,EAAc,UAAU,QAAU,UAAY,CAC1CE,EAAe,KAAK,KAAM,KAAK,KAAM,KAAK,QAAQ,EAClD,KAAK,KAAO,KAAK,KAAO,KAAK,SAAW,MAC5C,EACA,IAAIC,EAAcxK,EAAQ,YAAc,SAAUsK,EAAMtmC,EAAMR,EAA2BinC,EAAW,CAChGH,EAAK,iBAAiBtmC,EAAMR,EAAU4mC,EAAoB,CAAA,EACtDK,GACAA,EAAU,WAAW,KAAK,IAAIJ,EAAcC,EAAMtmC,EAAMR,CAAQ,CAAC,CACzE,EACI+mC,EAAiBvK,EAAQ,eAAiB,SAAUsK,EAAMtmC,EAAMR,EAAU,CAC1E8mC,EAAK,oBAAoBtmC,EAAMR,EAAU4mC,EAAoB,CAAA,CACjE,EACApK,EAAQ,UAAY,SAAU7tB,EAAG,CAC7B,OAAA6tB,EAAQ,gBAAgB7tB,CAAC,EACzB6tB,EAAQ,eAAe7tB,CAAC,EACjB,EACX,EACA6tB,EAAQ,gBAAkB,SAAU7tB,EAAG,CAC/BA,EAAE,iBACFA,EAAE,gBAAe,CACzB,EACA6tB,EAAQ,eAAiB,SAAU7tB,EAAG,CAC9BA,EAAE,gBACFA,EAAE,eAAc,CACxB,EACA6tB,EAAQ,UAAY,SAAU7tB,EAAG,CAC7B,OAAIA,EAAE,MAAQ,WACH,EACPA,EAAE,MAAQ,eAAkBkwB,EAAU,OAAUlwB,EAAE,SAAW,CAACA,EAAE,QAAU,CAACA,EAAE,SACtE,EACJA,EAAE,MACb,EACA6tB,EAAQ,QAAU,SAAUzhB,EAAImsB,EAAcC,EAAuB,CACjE,IAAIC,EAAgBrsB,GAAMA,EAAG,eAAiB,SAC9C,SAASssB,EAAU14B,EAAG,CAClBu4B,GAAgBA,EAAav4B,CAAC,EAC9Bw4B,GAAyBA,EAAsBx4B,CAAC,EAChDo4B,EAAeK,EAAe,YAAaF,CAAY,EACvDH,EAAeK,EAAe,UAAWC,CAAS,EAClDN,EAAeK,EAAe,YAAaC,CAAS,CACvD,CACD,OAAAL,EAAYI,EAAe,YAAaF,CAAY,EACpDF,EAAYI,EAAe,UAAWC,CAAS,EAC/CL,EAAYI,EAAe,YAAaC,CAAS,EAC1CA,CACX,EACA7K,EAAQ,sBAAwB,SAAUzhB,EAAI/a,EAAUinC,EAAW,CAC/DD,EAAYjsB,EAAI,QAAS,SAAUpM,EAAG,CAClC,IAAI24B,EAAS,IACTC,EAAS54B,EAAE,QAAU,EACrB64B,EAAS74B,EAAE,QAAU,EACzB,OAAQA,EAAE,UAAS,CACf,KAAKA,EAAE,gBACHA,EAAE,OAAS44B,EAASD,EACpB34B,EAAE,OAAS64B,EAASF,EACpB,MACJ,KAAK34B,EAAE,eACH,IAAI84B,EAAa,GACjB94B,EAAE,OAAS44B,EAASE,EACpB94B,EAAE,OAAS64B,EAASC,EACpB,MACJ,KAAK94B,EAAE,eACH,IAAI+4B,EAAa,IACjB/4B,EAAE,OAAS44B,EAASG,EACpB/4B,EAAE,OAAS64B,EAASE,EACpB,KACP,CACD1nC,EAAS2O,CAAC,CACb,EAAEs4B,CAAS,CAChB,EACAzK,EAAQ,0BAA4B,SAAUmL,EAAUC,EAAUV,EAAcW,EAAcZ,EAAW,CACrG,IAAIa,EAAS,EACTC,EAAQC,EAAQ7J,EAChB8J,EAAa,CACb,EAAG,WACH,EAAG,cACH,EAAG,WACX,EACI,SAASC,EAAYv5B,EAAG,CAYpB,GAXI6tB,EAAQ,UAAU7tB,CAAC,IAAM,EACzBm5B,EAAS,EAEJn5B,EAAE,OAAS,GAChBm5B,IACIA,EAAS,IACTA,EAAS,IAGbA,EAAS,EAETjJ,EAAU,KAAM,CAChB,IAAIsJ,EAAa,KAAK,IAAIx5B,EAAE,QAAUo5B,CAAM,EAAI,GAAK,KAAK,IAAIp5B,EAAE,QAAUq5B,CAAM,EAAI,GAChF,CAAC7J,GAASgK,KACVL,EAAS,GACT3J,GACA,aAAaA,CAAK,EACtBA,EAAQ,WAAW,UAAY,CAAEA,EAAQ,MAASyJ,EAASE,EAAS,CAAC,GAAK,GAAG,EACzEA,GAAU,IACVC,EAASp5B,EAAE,QACXq5B,EAASr5B,EAAE,QAElB,CAGD,GAFAA,EAAE,QAAUm5B,EACZZ,EAAaW,CAAY,EAAE,YAAal5B,CAAC,EACrCm5B,EAAS,EACTA,EAAS,UACJA,EAAS,EACd,OAAOZ,EAAaW,CAAY,EAAEI,EAAWH,CAAM,EAAGn5B,CAAC,CAC9D,CACI,MAAM,QAAQg5B,CAAQ,IACvBA,EAAW,CAACA,CAAQ,GACxBA,EAAS,QAAQ,SAAU5sB,EAAI,CAC3BisB,EAAYjsB,EAAI,YAAamtB,EAAajB,CAAS,CAC3D,CAAK,CACL,EACA,SAASmB,EAAgBz5B,EAAG,CACxB,MAAO,IAAKA,EAAE,QAAU,EAAI,IAAMA,EAAE,OAAS,EAAI,IAAMA,EAAE,SAAW,EAAI,IAAMA,EAAE,QAAU,EAAI,EACjG,CACD6tB,EAAQ,kBAAoB,SAAU7tB,EAAG,CACrC,OAAO43B,EAAK,SAAS6B,EAAgBz5B,CAAC,CAAC,CAC3C,EACA,SAAS05B,EAAqBroC,EAAU2O,EAAG03B,EAAS,CAChD,IAAIiC,EAASF,EAAgBz5B,CAAC,EAI9B,GAHI,CAAC03B,GAAW13B,EAAE,OACd03B,EAAUE,EAAK,eAAe53B,EAAE,IAAI,GAAK03B,GAEzC,CAACxH,EAAU,OAAS2H,EAAa,CAGjC,GAFI73B,EAAE,mBAAqBA,EAAE,iBAAiB,IAAI,GAAKA,EAAE,iBAAiB,KAAK,KAC3E25B,GAAU,GACV9B,EAAY,MACZ,IAAK,EAAI8B,IAAW,EAChB9B,EAAY,MAAQ,MAEpB,QAER,GAAIH,IAAY,IAAMA,IAAY,GAAI,CAClC,IAAIzT,EAAWjkB,EAAE,SACjB,GAAI03B,IAAY,IAAMzT,IAAa,EAC3B4T,EAAYH,CAAO,GAAK,IACxBI,EAAK93B,EAAE,mBAEN03B,IAAY,IAAMiC,IAAW,GAAK1V,IAAa,EAAG,CACvD,IAAI2V,EAAK55B,EAAE,UAAY83B,EACnB8B,EAAK,KACL/B,EAAY,MAAQ,GAC3B,CACJ,CACJ,CAID,GAHIH,KAAWE,EAAK,gBAChBF,EAAU,IAEV,GAACiC,GAAUjC,IAAY,IACnB13B,EAAE,WAAa,IACf3O,EAAS2O,EAAG25B,EAAQ,CAACjC,CAAO,EACxB13B,EAAE,mBAId,IAAIkwB,EAAU,YAAcyJ,EAAS,EAAG,CAEpC,GADAtoC,EAAS2O,EAAG25B,EAAQjC,CAAO,EACvB13B,EAAE,iBACF,OAEA25B,GAAU,EACjB,CACD,MAAI,CAACA,GAAU,EAAEjC,KAAWE,EAAK,gBAAkB,EAAEF,KAAWE,EAAK,gBAC1D,GAEJvmC,EAAS2O,EAAG25B,EAAQjC,CAAO,EACrC,CACD7J,EAAQ,sBAAwB,SAAUzhB,EAAI/a,EAAUinC,EAAW,CAC/D,IAAIuB,EAAuB,KAC3BxB,EAAYjsB,EAAI,UAAW,SAAUpM,EAAG,CACpC63B,EAAY73B,EAAE,OAAO,GAAK63B,EAAY73B,EAAE,OAAO,GAAK,GAAK,EACzD,IAAIvC,EAASi8B,EAAqBroC,EAAU2O,EAAGA,EAAE,OAAO,EACxD,OAAA65B,EAAuB75B,EAAE,iBAClBvC,CACV,EAAE66B,CAAS,EACZD,EAAYjsB,EAAI,WAAY,SAAUpM,EAAG,CACjC65B,IAAyB75B,EAAE,SAAWA,EAAE,QAAUA,EAAE,UAAYA,EAAE,WAClE6tB,EAAQ,UAAU7tB,CAAC,EACnB65B,EAAuB,KAE9B,EAAEvB,CAAS,EACZD,EAAYjsB,EAAI,QAAS,SAAUpM,EAAG,CAClC63B,EAAY73B,EAAE,OAAO,EAAI,IAC5B,EAAEs4B,CAAS,EACPT,IACDiC,IACAzB,EAAY,OAAQ,QAASyB,CAAgB,EAErD,EACA,SAASA,GAAmB,CACxBjC,EAAc,OAAO,OAAO,IAAI,CACnC,CACD,GAAI,OAAO,QAAU,UAAY,OAAO,aAAe,CAAC3H,EAAU,QAAS,CACvE,IAAI6J,EAAgB,EACpBlM,EAAQ,SAAW,SAAUx8B,EAAU2M,EAAK,CACxCA,EAAMA,GAAO,OACb,IAAIg8B,EAAc,wBAA2BD,IACzCh7B,EAAW,SAAUiB,EAAG,CACpBA,EAAE,MAAQg6B,IACVnM,EAAQ,gBAAgB7tB,CAAC,EACzBo4B,EAAep6B,EAAK,UAAWe,CAAQ,EACvC1N,IAEhB,EACQgnC,EAAYr6B,EAAK,UAAWe,CAAQ,EACpCf,EAAI,YAAYg8B,EAAa,GAAG,CACxC,CACC,CACDnM,EAAQ,aAAe,GACvBA,EAAQ,OAAS,SAAUgH,EAAInF,EAAS,CACpC,OAAO,WAAW,SAASuK,GAAU,CAC5BpM,EAAQ,aAIT,WAAWoM,EAAS,GAAG,EAHvBpF,GAKP,EAAEnF,CAAO,CACd,EACA7B,EAAQ,aAAe,KACvBA,EAAQ,UAAY,SAAU7lC,EAAO,CAC7B6lC,EAAQ,cACR,aAAaA,EAAQ,YAAY,EACrCA,EAAQ,aAAe,GACvBA,EAAQ,aAAe,WAAW,UAAY,CAC1CA,EAAQ,aAAe,EAC/B,EAAO7lC,GAAS,GAAG,CACnB,EACA6lC,EAAQ,UAAY,OAAO,QAAU,WAAa,OAAO,uBAClD,OAAO,0BACP,OAAO,6BACP,OAAO,yBACP,OAAO,wBACVA,EAAQ,UACRA,EAAQ,UAAYA,EAAQ,UAAU,KAAK,MAAM,EAEjDA,EAAQ,UAAY,SAAUx8B,EAAU,CACpC,WAAWA,EAAU,EAAE,CAC/B,CAEA,CAAC,EAED,IAAI,OAAO,gBAAgB,CAAC,UAAU,UAAU,QAAQ,EAAG,SAASk8B,EAASM,EAASd,EAAO,CAC7F,IAAImN,EACJnN,EAAO,QAAU,CACb,SAAU,GACV,eAAgB,UAAY,CACxB,OAAImN,GAAYA,EAAW,KAAK,IAAK,EAAG,GAC7B,GACJA,EAAW,EACrB,EACD,OAAQ,UAAY,CAChBA,EAAW,KAAK,KACnB,CACL,CAEA,CAAC,EAED,IAAI,OAAO,yBAAyB,CAAC,UAAU,UAAU,SAAS,gBAAgB,aAAa,oBAAoB,cAAc,eAAe,gBAAgB,cAAc,EAAG,SAAS3M,EAASM,EAASd,EAAO,CACnN,IAAIttB,EAAQ8tB,EAAQ,cAAc,EAC9B4M,EAAM5M,EAAQ,WAAW,EAAE,IAC3B2C,EAAY3C,EAAQ,kBAAkB,EACtCuE,EAAMvE,EAAQ,YAAY,EAC1B8G,EAAO9G,EAAQ,aAAa,EAC5B6M,EAAY7M,EAAQ,cAAc,EAClC8M,EAAiBnK,EAAU,SAAW,GACtCoK,EAAmBpK,EAAU,KAC7BqK,EAAiBrK,EAAU,SAAW,GACtCsK,EAAkB,IAClBC,EAAOlN,EAAQ,aAAa,EAC5BmN,EAAOD,EAAK,SACZE,EAAQzK,EAAU,MAClB0K,EAAkBD,EAAQ,KAAO,KACjCE,EAAW3K,EAAU,SACrB4K,EACJA,EAAY,SAAUC,EAAYC,EAAM,CACpC,IAAIC,EAAOnJ,EAAI,cAAc,UAAU,EACvCmJ,EAAK,UAAY,iBACjBA,EAAK,aAAa,OAAQ,KAAK,EAC/BA,EAAK,aAAa,cAAe,KAAK,EACtCA,EAAK,aAAa,iBAAkB,KAAK,EACzCA,EAAK,aAAa,aAAc,OAAO,EACvCA,EAAK,MAAM,QAAU,IACrBF,EAAW,aAAaE,EAAMF,EAAW,UAAU,EACnD,IAAIG,EAAS,GACTC,EAAS,GACTC,EAAgB,GAChBC,EAAc,GACdC,EAAY,GACXT,IACDI,EAAK,MAAM,SAAW,OAC1B,IAAIM,EAAc,GACdC,EAAoB,GACpBC,EAAY,GACZC,EAAqB,EACrBC,EAAmB,EACnBC,EAAiB,EACjBC,EAAW,OAAO,iBAClBC,EAAS,OAAO,iBAChBC,EAAqB,EACzB,GAAI,CACA,IAAIC,EAAY,SAAS,gBAAkBf,CAC9C,MACS,CAAG,CACb,KAAK,sBAAwB,SAAUxvC,EAAQ,CAG3C,GAFAowC,EAAW,OAAO,iBAClBC,EAAS,OAAO,iBACZrwC,EAAS,EAAG,CACZswC,EAAqB,EACrB,MACH,CACDA,EAAqBtwC,CAC7B,EACI,KAAK,aAAe,UAAY,CAC5B,IAAIwwC,EAAY,GAIhB,GAHIjB,EAAK,sBACLiB,GAAa,GAAG,OAAOjB,EAAK,oBAAqB,IAAI,GAErDA,EAAK,QAAS,CACd,IAAIpE,EAAMoE,EAAK,QAAQ,UAAU,OAAO,IACxCiB,GAAa9B,EAAI,wBAAyB,mBAAoB,CAACvD,EAAM,CAAC,CAAC,CAC1E,CACDqE,EAAK,aAAa,aAAcgB,CAAS,CACjD,EACI,KAAK,eAAiB,SAAU1lC,EAAS,CACjCA,EAAQ,kBACR0kC,EAAK,aAAa,gBAAiB,MAAM,EACzCA,EAAK,aAAa,oBAAqB1kC,EAAQ,OAAS,OAAS,MAAM,EACvE0kC,EAAK,aAAa,wBAAyB1kC,EAAQ,gBAAgB,IAGnE0kC,EAAK,aAAa,gBAAiB,OAAO,EAC1CA,EAAK,aAAa,oBAAqB,MAAM,EAC7CA,EAAK,gBAAgB,uBAAuB,GAE5C1kC,EAAQ,MACR0kC,EAAK,aAAa,OAAQ1kC,EAAQ,IAAI,EAEtCA,EAAQ,WACR0kC,EAAK,aAAa,uBAAwBd,EAAI,kCAAmC,QAAQ,CAAC,EAC1F,KAAK,aAAY,EAE7B,EACI,KAAK,eAAe,CAAE,KAAM,SAAW,CAAA,EACvC16B,EAAM,YAAYw7B,EAAM,OAAQ,SAAUj7B,EAAG,CACrCw7B,IAEJR,EAAK,OAAOh7B,CAAC,EACbg8B,EAAY,GACf,EAAEhB,CAAI,EACPv7B,EAAM,YAAYw7B,EAAM,QAAS,SAAUj7B,EAAG,CAC1C,GAAI,CAAAw7B,EAGJ,IADAQ,EAAY,GACR9L,EAAU,OACV,GAAI,CACA,GAAI,CAAC,SAAS,SAAU,EACpB,MACP,MACS,CAAG,CAEjB8K,EAAK,QAAQh7B,CAAC,EACVkwB,EAAU,OACV,WAAWgM,CAAc,EAEzBA,IACP,EAAElB,CAAI,EACP,KAAK,aAAe,GACpB,KAAK,MAAQ,UAAY,CAIrB,GAHA,KAAK,eAAe,CAChB,SAAUA,EAAK,SAAS,2BACpC,CAAS,EACGM,GAAaf,GAAkB,KAAK,cAAgB,UACpD,OAAOU,EAAK,MAAM,CAAE,cAAe,EAAM,CAAA,EAC7C,IAAIrwC,EAAMqwC,EAAK,MAAM,IACrBA,EAAK,MAAM,SAAW,QACtBA,EAAK,MAAM,IAAM,MACjB,GAAI,CACA,IAAIkB,EAAgBlB,EAAK,sBAAqB,EAAG,KAAO,CAC3D,MACS,CACN,MACH,CACD,IAAImB,EAAY,CAAA,EAChB,GAAID,EAEA,QADIE,GAAIpB,EAAK,cACNoB,IAAKA,GAAE,UAAY,GACtBD,EAAU,KAAKC,EAAC,EAChBA,GAAE,aAAa,gBAAiB,MAAM,EAClC,CAACA,GAAE,eAAiBA,GAAE,YACtBA,GAAIA,GAAE,YAAa,EAAC,KAEpBA,GAAIA,GAAE,cAGlBpB,EAAK,MAAM,CAAE,cAAe,EAAM,CAAA,EAC9BkB,GACAC,EAAU,QAAQ,SAAUE,GAAG,CAC3BA,GAAE,gBAAgB,eAAe,CACjD,CAAa,EAEL,WAAW,UAAY,CACnBrB,EAAK,MAAM,SAAW,GAClBA,EAAK,MAAM,KAAO,QAClBA,EAAK,MAAM,IAAMrwC,EACxB,EAAE,CAAC,CACZ,EACI,KAAK,KAAO,UAAY,CACpBqwC,EAAK,KAAI,CACjB,EACI,KAAK,UAAY,UAAY,CACzB,OAAOe,CACf,EACIhB,EAAK,GAAG,qBAAsB,UAAY,CACtC,IAAIuB,EAAQvB,EAAK,MACbwB,EAAcD,GAASA,EAAM,SAAWA,EAAM,QAAQ,KAC1D,GAAIC,GAAe,eAEnB,KAAIC,EAAeD,IAAgBD,EAAM,YAAcA,EAAM,kBACzDnB,GAAiBqB,IACjBhB,EAAYR,EAAK,MAAQ,GACzByB,MAEJR,IACR,CAAK,EACDlB,EAAK,GAAG,kBAAmB,KAAK,YAAY,EAC5C,IAAI2B,EAAsB,SAAU/F,EAAKrlC,EAAQ,CAE7C,QADIqrC,EAAYrrC,EACPvN,GAAI,EAAGA,IAAK4yC,EAAMiF,GAAY73C,GAAI,EAAI+3C,EAAqB,EAAG/3C,KACnE44C,GAAa5B,EAAK,QAAQ,QAAQpE,EAAM5yC,EAAC,EAAE,OAAS,EAExD,OAAO44C,CACf,EACQV,EAAiBvB,EACf,SAAUp2C,EAAO,CACf,GAAI,GAACy3C,GAAcd,GAAU,CAAC32C,GAAU82C,GAExC,CAAK92C,IACDA,EAAQ,IACZ,IAAIuK,EAAW;AAAA,KAAUvK,EAAQ;AAAA,EAC7BuK,GAAYmsC,EAAK,QACjBA,EAAK,MAAQQ,EAAY3sC,GAC7B,IAAI+tC,EAAiB,EACjBC,GAAe,GAAKv4C,EAAM,SAAWy2C,EAAK,UAAU,QAAS,EAAG,EAAI,KACpEU,GAAsBmB,GAAkBlB,GAAoBmB,KAC5D7B,EAAK,kBAAkB4B,EAAgBC,EAAY,EAEvDpB,EAAqBmB,EACrBlB,EAAmBmB,GACtB,EACC,UAAY,CACV,GAAI,EAAA1B,GAAiBC,IAEjB,GAACW,GAAa,CAACe,GAEnB,CAAA3B,EAAgB,GAChB,IAAIyB,EAAiB,EACjBC,EAAe,EACfxrC,EAAO,GACX,GAAI0pC,EAAK,QAAS,CACd,IAAI4B,GAAY5B,EAAK,UACjBrE,GAAQiG,GAAU,WAClBhG,GAAMgG,GAAU,OAAO,IACvBhG,KAAQkF,EAAS,GACjBD,EAAWC,EAAS,EACpBA,EAASD,EAAW,EAAIE,GAEnBnF,KAAQiF,EAAW,GACxBC,EAASD,EAAW,EACpBA,EAAWC,EAAS,EAAIC,IAEnBnF,GAAMiF,EAAW,GAAKjF,GAAMkF,EAAS,KAC1CD,EAAWjF,GAAMmF,EAAqBnF,GAAMmF,EAAqB,EACjED,EAASlF,GAAMmF,EAAqBnF,GAAMmF,EAAqB,EAAIA,GAGvE,QADIiB,GAAQ,CAAA,EACHh5C,GAAI63C,EAAU73C,IAAK83C,EAAQ93C,KAChCg5C,GAAM,KAAKhC,EAAK,QAAQ,QAAQh3C,EAAC,CAAC,EAKtC,GAHAsN,EAAO0rC,GAAM,KAAK;AAAA,CAAI,EACtBH,EAAiBF,EAAoBhG,GAAM,MAAM,IAAKA,GAAM,MAAM,MAAM,EACxEmG,EAAeH,EAAoBhG,GAAM,IAAI,IAAKA,GAAM,IAAI,MAAM,EAC9DA,GAAM,MAAM,IAAMkF,EAAU,CAC5B,IAAIoB,GAAWjC,EAAK,QAAQ,QAAQa,EAAW,CAAC,EAChDgB,EAAiBlG,GAAM,MAAM,IAAMkF,EAAW,EAAI,EAAIgB,EACtDC,GAAgBG,GAAS,OAAS,EAClC3rC,EAAO2rC,GAAW;AAAA,EAAO3rC,CAC5B,SACQqlC,GAAM,IAAI,IAAMmF,EAAQ,CAC7B,IAAIoB,GAAWlC,EAAK,QAAQ,QAAQc,EAAS,CAAC,EAC9CgB,EAAenG,GAAM,IAAI,IAAMmF,EAAS,EAAIoB,GAAS,OAASvG,GAAM,IAAI,OACxEmG,GAAgBxrC,EAAK,OAAS,EAC9BA,EAAOA,EAAO;AAAA,EAAO4rC,EACxB,MACQrC,GAAYjE,GAAM,IACvBtlC,EAAO;AAAA,EAAOA,EACdwrC,GAAgB,EAChBD,GAAkB,GAElBvrC,EAAK,OAASkpC,IACVqC,EAAiBrC,GAAmBsC,EAAetC,EACnDlpC,EAAOA,EAAK,MAAM,EAAGkpC,CAAe,GAGpClpC,EAAO;AAAA,EACHurC,GAAkBC,EAClBD,EAAiBC,EAAe,GAGhCD,EAAiB,EACjBC,EAAe,KAI3B,IAAIhuC,GAAWwC,EAAO;AAAA;AAAA,EAClBxC,IAAY2sC,IACZR,EAAK,MAAQQ,EAAY3sC,GACzB4sC,EAAqBC,EAAmB7sC,GAAS,OAExD,CAKD,GAJIiuC,IACArB,EAAqBT,EAAK,eAC1BU,EAAmBV,EAAK,cAExBU,GAAoBmB,GACjBpB,GAAsBmB,GACtB5B,EAAK,cAAgBU,EAExB,GAAI,CACAV,EAAK,kBAAkB4B,EAAgBC,CAAY,EACnDpB,EAAqBmB,EACrBlB,EAAmBmB,CACtB,MACS,CAAG,CAEjB1B,EAAgB,GAC5B,EACI,KAAK,eAAiBc,EAClBF,GACAhB,EAAK,QAAO,EAChB,IAAImC,EAAgB,SAAUlC,EAAM,CAChC,OAAOA,EAAK,iBAAmB,GAAKA,EAAK,cAAgBQ,EAAU,QAC5DR,EAAK,QAAUQ,GAAaA,GAC5BR,EAAK,eAAiBU,CACrC,EACQ7e,EAAW,SAAU9c,EAAG,CACpBo7B,IAEAF,EACAA,EAAS,GAEJiC,EAAclC,CAAI,GACvBD,EAAK,UAAS,EACdkB,KAEKrB,GAAYI,EAAK,gBAAkBS,GACxCQ,IAEZ,EACQkB,EAAe,KACnB,KAAK,gBAAkB,SAAUvI,EAAI,CAAEuI,EAAevI,GACtD,KAAK,gBAAkB,UAAY,CAAE,OAAOuI,CAAa,EACzD,IAAIL,EAAmB,GACnBM,EAAW,SAAU94C,EAAO+4C,EAAW,CAGvC,GAFIP,IACAA,EAAmB,IACnB5B,EACA,OAAAe,IACI33C,GACAy2C,EAAK,QAAQz2C,CAAK,EACtB42C,EAAS,GACF,GAWP,QARI0B,EAAiB5B,EAAK,eACtB6B,GAAe7B,EAAK,aACpBsC,GAAa7B,EACb8B,GAAc/B,EAAU,OAASE,EACjC8B,GAAWl5C,EACXm5C,GAAen5C,EAAM,OAASs4C,EAC9Bc,GAAap5C,EAAM,OAASu4C,GAC5B94C,GAAI,EACDu5C,GAAa,GAAK9B,EAAUz3C,EAAC,GAAKO,EAAMP,EAAC,GAC5CA,KACAu5C,KAIJ,IAFAE,GAAWA,GAAS,MAAMz5C,EAAC,EAC3BA,GAAI,EACGw5C,GAAc,GAAK/B,EAAU,OAASz3C,GAAI03C,EAAqB,GAAKD,EAAUA,EAAU,OAASz3C,EAAC,GAAKO,EAAMA,EAAM,OAASP,EAAC,GAChIA,KACAw5C,KAEJE,IAAgB15C,GAAI,EACpB25C,IAAc35C,GAAI,EAClB,IAAI45C,GAAWH,GAAS,OAASz5C,GAAI,EAMrC,GALI45C,GAAW,IACXL,GAAa,CAACK,GACdA,GAAW,GAEfH,GAAWA,GAAS,MAAM,EAAGG,EAAQ,EACjC,CAACN,GAAa,CAACG,IAAY,CAACC,IAAgB,CAACH,IAAc,CAACC,IAAe,CAACG,GAC5E,MAAO,GACXtC,EAAc,GACd,IAAIwC,GAAc,GAClB,OAAI3N,EAAU,WAAauN,IAAY,OACnCA,GAAW,KACXI,GAAc,IAEdJ,IAAY,CAACF,IAAc,CAACC,IAAe,CAACE,IAAgB,CAACC,IAAcpC,EAC3EP,EAAK,YAAYyC,EAAQ,EAGzBzC,EAAK,YAAYyC,GAAU,CACvB,WAAYF,GACZ,YAAaC,GACb,aAAcE,GACd,WAAYC,EAChC,CAAiB,EAELtC,EAAc,GACdI,EAAYl3C,EACZm3C,EAAqBmB,EACrBlB,EAAmBmB,GACnBlB,EAAiB+B,GACVE,GAAc;AAAA,EAAOJ,EAExC,EACQK,EAAU,SAAU99B,EAAG,CACvB,GAAIo7B,EACA,OAAO2C,GAAmB,EAC9B,GAAI/9B,GAAKA,EAAE,UAAW,CAClB,GAAIA,EAAE,WAAa,cACf,OAAOg7B,EAAK,YAAY,MAAM,EAClC,GAAIh7B,EAAE,WAAa,cACf,OAAOg7B,EAAK,YAAY,MAAM,CACrC,CACD,IAAIr1B,EAAOs1B,EAAK,MACZwC,EAAWJ,EAAS13B,EAAM,EAAI,GAC9BA,EAAK,OAAS60B,EAAkB,KAC7BI,EAAgB,KAAK6C,CAAQ,GAC7B5C,GAAYa,EAAqB,GAAKA,GAAsBC,IAC/DO,GAEZ,EACQ8B,EAAsB,SAAUh+B,EAAG2F,EAAMs4B,EAAa,CACtD,IAAIC,GAAgBl+B,EAAE,eAAiB,OAAO,cAC9C,GAAI,GAACk+B,IAAiB7D,GAEtB,KAAI8D,GAAO7D,GAAoB2D,EAAc,OAAS,aACtD,GAAI,CACA,OAAIt4B,EACOu4B,GAAc,QAAQC,GAAMx4B,CAAI,IAAM,GAGtCu4B,GAAc,QAAQC,EAAI,CAExC,OACMn+B,GAAG,CACN,GAAI,CAACi+B,EACD,OAAOD,EAAoBh+B,GAAG2F,EAAM,EAAI,CAC/C,EACT,EACQy4B,GAAS,SAAUp+B,EAAGq+B,EAAO,CAC7B,IAAI14B,EAAOq1B,EAAK,cAChB,GAAI,CAACr1B,EACD,OAAOlG,EAAM,eAAeO,CAAC,EAC7Bg+B,EAAoBh+B,EAAG2F,CAAI,GACvBg1B,IACAuB,EAAev2B,CAAI,EACnBu1B,EAASv1B,EACT,WAAW,UAAY,CACnBu1B,EAAS,EACZ,EAAE,EAAE,GAETmD,EAAQrD,EAAK,MAAO,EAAGA,EAAK,OAAM,EAClCv7B,EAAM,eAAeO,CAAC,IAGtBk7B,EAAS,GACTD,EAAK,MAAQt1B,EACbs1B,EAAK,OAAM,EACX,WAAW,UAAY,CACnBC,EAAS,GACTgB,IACAmC,EAAQrD,EAAK,MAAO,EAAGA,EAAK,OAAM,CAClD,CAAa,EAEb,EACQsD,GAAQ,SAAUt+B,EAAG,CACrBo+B,GAAOp+B,EAAG,EAAI,CACtB,EACQu+B,GAAS,SAAUv+B,EAAG,CACtBo+B,GAAOp+B,EAAG,EAAK,CACvB,EACQw+B,GAAU,SAAUx+B,EAAG,CACvB,IAAI2F,EAAOq4B,EAAoBh+B,CAAC,EAC5Bo6B,EAAU,eAAgB,IAE1B,OAAOz0B,GAAQ,UACXA,GACAq1B,EAAK,QAAQr1B,EAAM3F,CAAC,EACpBkwB,EAAU,MACV,WAAWgM,CAAc,EAC7Bz8B,EAAM,eAAeO,CAAC,IAGtBi7B,EAAK,MAAQ,GACbE,EAAS,IAErB,EACI17B,EAAM,sBAAsBw7B,EAAM,SAAUj7B,EAAG25B,EAAQjC,EAAS,CAC5D,GAAI,CAAA0D,EAEJ,OAAOJ,EAAK,aAAah7B,EAAG25B,EAAQjC,CAAO,CAC9C,EAAEsD,CAAI,EACPv7B,EAAM,YAAYw7B,EAAM,SAAUne,EAAUke,CAAI,EAChDv7B,EAAM,YAAYw7B,EAAM,QAAS6C,EAAS9C,CAAI,EAC9Cv7B,EAAM,YAAYw7B,EAAM,MAAOqD,GAAOtD,CAAI,EAC1Cv7B,EAAM,YAAYw7B,EAAM,OAAQsD,GAAQvD,CAAI,EAC5Cv7B,EAAM,YAAYw7B,EAAM,QAASuD,GAASxD,CAAI,GAC1C,EAAE,UAAWC,IAAS,EAAE,WAAYA,IAAS,EAAE,YAAaA,KAC5Dx7B,EAAM,YAAYs7B,EAAY,UAAW,SAAU/6B,EAAG,CAClD,GAAK,EAAAkwB,EAAU,OAAS,CAAClwB,EAAE,SAAY,CAACA,EAAE,SAE1C,OAAQA,EAAE,QAAO,CACb,IAAK,IACDu+B,GAAOv+B,CAAC,EACR,MACJ,IAAK,IACDw+B,GAAQx+B,CAAC,EACT,MACJ,IAAK,IACDs+B,GAAMt+B,CAAC,EACP,KACP,CACJ,EAAEg7B,CAAI,EAEX,IAAIyD,GAAqB,SAAUz+B,EAAG,CAClC,GAAI,EAAAo7B,GAAiB,CAACJ,EAAK,oBAAsBA,EAAK,aAEtDI,EAAgB,CAAA,EACZ,CAAAG,GAEJ,CAAIv7B,EAAE,OACFo7B,EAAc,kBAAoB,IACtC,WAAW2C,GAAqB,CAAC,EACjC/C,EAAK,QAAQ,kBAAkB,EAC/BA,EAAK,GAAG,YAAa0D,EAAiB,EACtC,IAAI/H,EAAQqE,EAAK,oBACjBrE,EAAM,IAAI,IAAMA,EAAM,MAAM,IAC5BA,EAAM,IAAI,OAASA,EAAM,MAAM,OAC/ByE,EAAc,YAAczE,EAC5ByE,EAAc,eAAiBM,EAC/BV,EAAK,mBAAmBI,CAAa,EACjCA,EAAc,mBACdK,EAAYR,EAAK,MAAQ,GACzBS,EAAqB,EACrBC,EAAmB,IAGfV,EAAK,oBACLG,EAAc,QAAUH,EAAK,qBAC7BA,EAAK,kBACLG,EAAc,QAAUH,EAAK,oBAE7C,EACQ8C,GAAsB,UAAY,CAClC,GAAI,GAAC3C,GAAiB,CAACJ,EAAK,qBAAuBA,EAAK,WAExD,IAAIO,EACA,OAAOmD,GAAiB,EAC5B,GAAItD,EAAc,kBACdJ,EAAK,oBAAoBC,EAAK,KAAK,MAElC,CACD,IAAIt1B,EAAOs1B,EAAK,MAChBoC,EAAS13B,CAAI,EACTy1B,EAAc,cACVA,EAAc,UACdA,EAAc,YAAY,MAAM,OAASA,EAAc,eACjDA,EAAc,QAAQ,wBAEhCA,EAAc,YAAY,IAAI,OAASA,EAAc,YAAY,MAAM,OACjEO,EAAmBP,EAAc,eAAiBQ,EAE/D,EACT,EACQc,GAAmB,SAAU18B,EAAG,CAC5B,CAACg7B,EAAK,kBAAoBA,EAAK,YAEnCI,EAAgB,GAChBJ,EAAK,iBAAgB,EACrBA,EAAK,IAAI,YAAa0D,EAAiB,EACnC1+B,GACA89B,IACZ,EACI,SAASY,IAAoB,CACzBlD,EAAoB,GACpBP,EAAK,KAAI,EACTA,EAAK,MAAK,EACVO,EAAoB,EACvB,CACD,IAAImD,GAAkBtK,EAAK,YAAY0J,GAAqB,EAAE,EAAE,SAAS,KAAK,KAAM,IAAI,EACxF,SAASa,GAAQ5+B,EAAG,CACZA,EAAE,SAAW,IAAMi7B,EAAK,MAAM,OAASA,EAAK,iBACvCG,IACDK,EAAYR,EAAK,OACrBS,EAAqBC,EAAmB,GACxCO,KAEJyC,IACH,CACDl/B,EAAM,YAAYw7B,EAAM,mBAAoBwD,GAAoBzD,CAAI,EACpEv7B,EAAM,YAAYw7B,EAAM,oBAAqB8C,GAAqB/C,CAAI,EACtEv7B,EAAM,YAAYw7B,EAAM,QAAS2D,GAAS5D,CAAI,EAC9Cv7B,EAAM,YAAYw7B,EAAM,UAAW0D,GAAiB3D,CAAI,EACxDv7B,EAAM,YAAYw7B,EAAM,iBAAkByB,GAAkB1B,CAAI,EAChE,KAAK,WAAa,UAAY,CAC1B,OAAOC,CACf,EACI,KAAK,eAAiB,SAAU12C,EAAO,CACnCg3C,EAAch3C,EACd02C,EAAK,SAAW,EACxB,EACI,KAAK,YAAc,SAAU4D,EAAU,CAC9BtD,IACDN,EAAK,SAAW4D,EAC5B,EACI,KAAK,0BAA4B,SAAUt6C,EAAO,CACtD,EACI,KAAK,cAAgB,SAAUyb,EAAG,CAC9B+8B,EAAmB,GACnBb,IACAlB,EAAK,MAAM,oBAAqB,CAAE,OAAQA,EAAM,SAAUh7B,CAAC,CAAE,EAC7D,KAAK,YAAYA,EAAG,EAAI,CAChC,EACI,KAAK,YAAc,SAAUA,EAAG8+B,EAAc,CACrCxD,IACDA,EAAYL,EAAK,MAAM,SAC3BA,EAAK,MAAM,SAAW6D,EAAe,kBAAoB,KAClD5O,EAAU,KAAO,eAAiB,IACnC,kBAAoBwL,EAAqBC,GAAoBX,EAAK,SAAS,eAAiB,GAAM,MACxG,IAAI+D,EAAO/D,EAAK,UAAU,sBAAqB,EAC3C1jC,GAAQw6B,EAAI,cAAckJ,EAAK,SAAS,EACxCpwC,GAAMm0C,EAAK,KAAO,SAASznC,GAAM,cAAc,GAAK,GACpDvM,GAAOg0C,EAAK,MAAQ,SAASA,EAAK,eAAe,GAAK,GACtDC,GAASD,EAAK,OAASn0C,GAAMqwC,EAAK,aAAe,EACjDgE,GAAO,SAAUj/B,GAAG,CACpB8xB,EAAI,UAAUmJ,EAAMj7B,GAAE,QAAUjV,GAAO,EAAG,KAAK,IAAIiV,GAAE,QAAUpV,GAAM,EAAGo0C,EAAM,CAAC,CAC3F,EACQC,GAAKj/B,CAAC,EACFA,EAAE,MAAQ,cAEdg7B,EAAK,SAAS,gBAAkB,GAChC,aAAakE,EAAY,EACrBhP,EAAU,OACVzwB,EAAM,QAAQu7B,EAAK,UAAWiE,GAAME,EAAkB,EAClE,EACI,KAAK,mBAAqBA,GAC1B,IAAID,GACJ,SAASC,IAAqB,CAC1B,aAAaD,EAAY,EACzBA,GAAe,WAAW,UAAY,CAC9B5D,IACAL,EAAK,MAAM,QAAUK,EACrBA,EAAY,IAEhBN,EAAK,SAAS,gBAAkB,GAC5BA,EAAK,SAAS,uBACdA,EAAK,SAAS,uBACrB,EAAE,CAAC,CACP,CACD,IAAI7hB,GAAgB,SAAUnZ,EAAG,CAC7Bg7B,EAAK,UAAU,cAAch7B,CAAC,EAC9Bm/B,IACR,EACI1/B,EAAM,YAAYw7B,EAAM,UAAW9hB,GAAe6hB,CAAI,EACtDv7B,EAAM,YAAYw7B,EAAM,YAAa,SAAUj7B,EAAG,CAC9CA,EAAE,eAAc,EAChBm/B,IACH,EAAEnE,CAAI,EACPv7B,EAAM,YAAYu7B,EAAK,SAAS,SAAU,cAAe7hB,GAAe6hB,CAAI,EAC5Ev7B,EAAM,YAAYw7B,EAAM,cAAe9hB,GAAe6hB,CAAI,EACtDL,GACAyE,GAAuBrE,EAAYC,EAAMC,CAAI,EACjD,SAASmE,GAAuBrE,EAAYC,EAAMC,EAAM,CACpD,IAAIoE,GAAqB,KACrBC,GAAS,GACbrE,EAAK,iBAAiB,UAAW,SAAUj7B,GAAG,CACtCq/B,IACA,aAAaA,EAAkB,EACnCC,GAAS,EACZ,EAAE,EAAI,EACPrE,EAAK,iBAAiB,QAAS,SAAUj7B,GAAG,CACxCq/B,GAAqB,WAAW,UAAY,CACxCC,GAAS,EACZ,EAAE,GAAG,CACT,EAAE,EAAI,EACP,IAAIC,GAAkB,SAAUv/B,GAAG,CAC/B,GAAI,SAAS,gBAAkBi7B,GAE3B,EAAAqE,IAAUlE,GAAiBJ,EAAK,cAAc,iBAE9C,CAAAE,EAGJ,KAAI2B,GAAiB5B,EAAK,eACtB6B,GAAe7B,EAAK,aACpBx1C,GAAM,KACN+5C,GAAW,EAmCf,GAlCI3C,IAAkB,EAClBp3C,GAAMg1C,EAAK,GAENoC,IAAkB,EACvBp3C,GAAMg1C,EAAK,KAENqC,GAAenB,GAAoBF,EAAUqB,EAAY,GAAK;AAAA,EACnEr3C,GAAMg1C,EAAK,IAENoC,GAAiBnB,GAAsBD,EAAUoB,GAAiB,CAAC,GAAK,KAC7Ep3C,GAAMg1C,EAAK,KACX+E,GAAW9E,EAAK,QAEXmC,GAAiBnB,GAClBmB,IAAkBnB,GACfC,GAAoBD,GACpBmB,IAAkBC,GACzBr3C,GAAMg1C,EAAK,KAENqC,GAAenB,GAAoBF,EAAU,MAAM,EAAGqB,EAAY,EAAE,MAAM;AAAA,CAAI,EAAE,OAAS,EAC9Fr3C,GAAMg1C,EAAK,KAENqC,GAAenB,GAAoBF,EAAUqB,GAAe,CAAC,GAAK,KACvEr3C,GAAMg1C,EAAK,MACX+E,GAAW9E,EAAK,SAEXoC,GAAenB,GAChBmB,IAAgBnB,GACbA,GAAoBD,GACpBmB,IAAkBC,MACzBr3C,GAAMg1C,EAAK,OAEXoC,KAAmBC,KACnB0C,IAAY9E,EAAK,OACjBj1C,GAAK,CACL,IAAIgY,GAASu9B,EAAK,aAAa,CAAA,EAAIwE,GAAU/5C,EAAG,EAChD,GAAI,CAACgY,IAAUu9B,EAAK,SAAU,CAC1Bv1C,GAAMg1C,EAAK,gBAAgBh1C,EAAG,EAC9B,IAAIg6C,GAAUzE,EAAK,SAAS,eAAewE,GAAU/5C,EAAG,EACpDg6C,IACAzE,EAAK,YAAYyE,EAAO,CAC/B,CACD/D,EAAqBmB,GACrBlB,EAAmBmB,GACnBZ,EAAe,EAAE,CACpB,EACb,EACQ,SAAS,iBAAiB,kBAAmBqD,EAAe,EAC5DvE,EAAK,GAAG,UAAW,UAAY,CAC3B,SAAS,oBAAoB,kBAAmBuE,EAAe,CAC3E,CAAS,CACJ,CACD,KAAK,QAAU,UAAY,CACnBtE,EAAK,eACLA,EAAK,cAAc,YAAYA,CAAI,CAC/C,CACA,EACApN,EAAQ,UAAYiN,EACpBjN,EAAQ,sBAAwB,SAAU6R,EAAWC,EAAQ,CACzD9E,EAAW6E,EACX/E,EAAQgF,CACZ,CAEA,CAAC,EAED,IAAI,OAAO,6BAA6B,CAAC,UAAU,UAAU,SAAS,mBAAmB,EAAG,SAASpS,EAASM,EAASd,EAAO,CAC9H,IAAImD,EAAY3C,EAAQ,kBAAkB,EACtCqS,EAAc,EACdC,EAAoB,IACpBC,EAAiC,UAAY,CAC7C,SAASA,EAAgBC,EAAc,CACnCA,EAAa,gBAAkB,KAC/B,IAAIC,EAASD,EAAa,OAC1BC,EAAO,kBAAkB,YAAa,KAAK,YAAY,KAAKD,CAAY,CAAC,EACzEC,EAAO,kBAAkB,WAAY,KAAK,cAAc,KAAKD,CAAY,CAAC,EAC1EC,EAAO,kBAAkB,cAAe,KAAK,cAAc,KAAKD,CAAY,CAAC,EAC7EC,EAAO,kBAAkB,YAAa,KAAK,YAAY,KAAKD,CAAY,CAAC,EACzEC,EAAO,kBAAkB,aAAc,KAAK,aAAa,KAAKD,CAAY,CAAC,EAC3E,IAAIlS,EAAU,CAAC,SAAU,cAAe,YAAa,eAAgB,mBACjE,mBAAoB,WAAY,cAAe,WAAW,EAC9DA,EAAQ,QAAQ,SAAUp5B,EAAG,CACzBsrC,EAAatrC,CAAC,EAAI,KAAKA,CAAC,CAC3B,EAAE,IAAI,EACPsrC,EAAa,cAAmB,KAAK,kBAAkB,KAAKA,EAAc,cAAc,EACxFA,EAAa,cAAmB,KAAK,kBAAkB,KAAKA,EAAc,cAAc,CAC3F,CACD,OAAAD,EAAgB,UAAU,YAAc,SAAU7gC,EAAI,CAClD,IAAIghC,EAAchhC,EAAG,cACjBihC,EAAMjhC,EAAG,sBACb,KAAK,eAAiBA,EACtB,IAAI+gC,EAAS,KAAK,OACdG,EAASlhC,EAAG,YAChB,GAAIkhC,IAAW,EAAG,CACd,IAAIC,EAAiBJ,EAAO,oBACxBK,EAAiBD,EAAe,WAChCC,GAAkBF,GAAU,IAC5BH,EAAO,UAAU,eAAeE,CAAG,EACnCC,GAAU,IACVH,EAAO,UAAU,cAAc/gC,EAAG,QAAQ,EACrCixB,EAAU,WACXjxB,EAAG,eAAc,GAEzB,MACH,CAED,GADA,KAAK,eAAe,KAAO,KAAK,IAAG,EAC/BghC,GAAe,CAACD,EAAO,cACvBA,EAAO,MAAK,EACR,KAAK,eAAiB,CAAC,KAAK,iBAAmB,CAACA,EAAO,mBAAmB,CAC1E,KAAK,SAAS,WAAW,EACzB,KAAK,aAAa/gC,CAAE,EACpB,MACH,CAEL,YAAK,aAAaA,CAAE,EACpB,KAAK,YAAYihC,EAAKjhC,EAAG,SAAS,QAAU,CAAC,EACtCA,EAAG,gBAClB,EACI6gC,EAAgB,UAAU,YAAc,SAAUI,EAAKI,EAAuB,CAC1EJ,EAAMA,GAAO,KAAK,OAAO,SAAS,wBAAwB,KAAK,EAAG,KAAK,CAAC,EACxE,IAAIF,EAAS,KAAK,OACb,KAAK,iBAEN,KAAK,eAAe,YAAa,EACjCA,EAAO,UAAU,iBAAiBE,CAAG,EAC/BI,GACNN,EAAO,UAAU,eAAeE,CAAG,EAClCI,GACD,KAAK,OAAM,EACfN,EAAO,SAAS,eAAe,EAC/B,KAAK,SAAS,QAAQ,EAC9B,EACIF,EAAgB,UAAU,OAAS,UAAY,CAC3C,IAAIS,EAAQP,EAAS,KAAK,OACtBQ,EAASR,EAAO,SAAS,wBAAwB,KAAK,EAAG,KAAK,CAAC,EACnE,GAAI,KAAK,gBAAiB,CACtB,IAAInJ,EAAM,KAAK,gBAAgB,aAAa2J,CAAM,EAClD,GAAI3J,GAAO,GACP0J,EAAS,KAAK,gBAAgB,YAEzB1J,GAAO,EACZ0J,EAAS,KAAK,gBAAgB,UAE7B,CACD,IAAIE,EAAgBC,EAAqB,KAAK,gBAAiBF,CAAM,EACrEA,EAASC,EAAc,OACvBF,EAASE,EAAc,MAC1B,CACDT,EAAO,UAAU,mBAAmBO,EAAO,IAAKA,EAAO,MAAM,CAChE,CACDP,EAAO,UAAU,iBAAiBQ,CAAM,EACxCR,EAAO,SAAS,sBACxB,EACIF,EAAgB,UAAU,kBAAoB,SAAUa,EAAU,CAC9D,IAAIJ,EAAQP,EAAS,KAAK,OACtBQ,EAASR,EAAO,SAAS,wBAAwB,KAAK,EAAG,KAAK,CAAC,EAC/DrJ,EAAQqJ,EAAO,UAAUW,CAAQ,EAAEH,EAAO,IAAKA,EAAO,MAAM,EAChE,GAAI,KAAK,gBAAiB,CACtB,IAAII,EAAW,KAAK,gBAAgB,aAAajK,EAAM,KAAK,EACxDkK,EAAS,KAAK,gBAAgB,aAAalK,EAAM,GAAG,EACxD,GAAIiK,GAAY,IAAMC,GAAU,EAC5BN,EAAS,KAAK,gBAAgB,KAC1B5J,EAAM,IAAI,KAAO6J,EAAO,KAAO7J,EAAM,IAAI,QAAU6J,EAAO,UAC1DA,EAAS7J,EAAM,eAEdkK,GAAU,GAAKD,GAAY,EAChCL,EAAS,KAAK,gBAAgB,OAC1B5J,EAAM,MAAM,KAAO6J,EAAO,KAAO7J,EAAM,MAAM,QAAU6J,EAAO,UAC9DA,EAAS7J,EAAM,aAEdiK,GAAY,IAAMC,GAAU,EACjCL,EAAS7J,EAAM,IACf4J,EAAS5J,EAAM,UAEd,CACD,IAAI8J,EAAgBC,EAAqB,KAAK,gBAAiBF,CAAM,EACrEA,EAASC,EAAc,OACvBF,EAASE,EAAc,MAC1B,CACDT,EAAO,UAAU,mBAAmBO,EAAO,IAAKA,EAAO,MAAM,CAChE,CACDP,EAAO,UAAU,iBAAiBQ,CAAM,EACxCR,EAAO,SAAS,sBACxB,EACIF,EAAgB,UAAU,iBAAmB,UAAY,CACrD,KAAK,gBAAkB,KACvB,KAAK,OAAO,WAAW,eAAe,CAC9C,EACIA,EAAgB,UAAU,UAAY,UAAY,CAC9C,IAAIgB,EAAWC,EAAa,KAAK,eAAe,EAAG,KAAK,eAAe,EAAG,KAAK,EAAG,KAAK,CAAC,EACpFC,EAAO,KAAK,OACZF,EAAWlB,GAAeoB,EAAO,KAAK,eAAe,KAAO,KAAK,gBACjE,KAAK,YAAY,KAAK,eAAe,oBAAqB,CAAA,CACtE,EACIlB,EAAgB,UAAU,cAAgB,SAAU7gC,EAAI,CACpD,IAAIihC,EAAMjhC,EAAG,sBACT+gC,EAAS,KAAK,OACdhJ,EAAUgJ,EAAO,QACjBrJ,EAAQK,EAAQ,gBAAgBkJ,CAAG,EACnCvJ,GACIA,EAAM,YACNA,EAAM,MAAM,SACZA,EAAM,IAAI,UAEd,KAAK,SAAS,QAAQ,IAGtBA,EAAQqJ,EAAO,UAAU,aAAaE,EAAI,IAAKA,EAAI,MAAM,EACzD,KAAK,SAAS,eAAe,GAEjC,KAAK,gBAAkBvJ,EACvB,KAAK,OAAM,CACnB,EACImJ,EAAgB,UAAU,cAAgB,SAAU7gC,EAAI,CACpD,IAAIihC,EAAMjhC,EAAG,sBACT+gC,EAAS,KAAK,OAClB,KAAK,SAAS,eAAe,EAC7B,IAAIrJ,EAAQqJ,EAAO,oBACfrJ,EAAM,YAAa,GAAIA,EAAM,SAASuJ,EAAI,IAAKA,EAAI,MAAM,GACzD,KAAK,gBAAkBF,EAAO,UAAU,aAAarJ,EAAM,MAAM,GAAG,EACpE,KAAK,gBAAgB,IAAMqJ,EAAO,UAAU,aAAarJ,EAAM,IAAI,GAAG,EAAE,KAGxE,KAAK,gBAAkBqJ,EAAO,UAAU,aAAaE,EAAI,GAAG,EAEhE,KAAK,OAAM,CACnB,EACIJ,EAAgB,UAAU,YAAc,SAAU7gC,EAAI,CAClD,IAAI+gC,EAAS,KAAK,OAClBA,EAAO,UAAS,EAChB,KAAK,gBAAkBA,EAAO,oBAC9B,KAAK,SAAS,WAAW,CACjC,EACIF,EAAgB,UAAU,aAAe,SAAU7gC,EAAI,CACnD,GAAI,CAAAA,EAAG,YAAa,EAEpB,CAAIA,EAAG,eAAiBA,EAAG,QAAU,CAACA,EAAG,SACrCA,EAAG,OAASA,EAAG,OACfA,EAAG,OAAS,GAEhB,IAAI+gC,EAAS,KAAK,OACb,KAAK,cACN,KAAK,YAAc,CAAE,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,QAAS,CAAC,GACvD,IAAIiB,EAAa,KAAK,YAClB5E,EAAIp9B,EAAG,SAAS,UAChB26B,EAAKyC,EAAI4E,EAAW,EACpBC,EAAKtH,EAAK36B,EAAG,OAAS26B,EAAKqH,EAAW,GACtCE,EAAKvH,EAAK36B,EAAG,OAAS26B,EAAKqH,EAAW,GACtCrH,EAAKiG,IACLqB,GAAMA,EAAKD,EAAW,IAAM,EAC5BE,GAAMA,EAAKF,EAAW,IAAM,GAEhC,IAAIG,EAAY,KAAK,IAAIF,EAAKC,CAAE,EAC5BE,EAAY,GAKhB,GAJID,GAAa,GAAKpB,EAAO,SAAS,eAAe/gC,EAAG,OAASA,EAAG,MAAO,CAAC,IACxEoiC,EAAY,IACZD,GAAa,GAAKpB,EAAO,SAAS,eAAe,EAAG/gC,EAAG,OAASA,EAAG,KAAK,IACxEoiC,EAAY,IACZA,EACAJ,EAAW,QAAU5E,UAEhBA,EAAI4E,EAAW,QAAUpB,EAAmB,CACjD,IAAIyB,EAAW,KAAK,IAAIJ,CAAE,GAAK,IAAM,KAAK,IAAID,EAAW,EAAE,GACpD,KAAK,IAAIE,CAAE,GAAK,IAAM,KAAK,IAAIF,EAAW,EAAE,EAC/CK,GACAD,EAAY,GACZJ,EAAW,QAAU5E,GAGrB4E,EAAW,QAAU,CAE5B,CAID,GAHAA,EAAW,EAAI5E,EACf4E,EAAW,GAAKC,EAChBD,EAAW,GAAKE,EACZE,EACA,OAAArB,EAAO,SAAS,SAAS/gC,EAAG,OAASA,EAAG,MAAOA,EAAG,OAASA,EAAG,KAAK,EAC5DA,EAAG,OAEtB,EACW6gC,CACV,EAAA,EACDA,EAAgB,UAAU,UAAYA,EAAgB,UAAU,iBAChEA,EAAgB,UAAU,aAAeA,EAAgB,UAAU,iBACnEA,EAAgB,UAAU,iBAAmBA,EAAgB,UAAU,iBACvEjS,EAAQ,gBAAkBiS,EAC1B,SAASiB,EAAaQ,EAAIC,EAAIC,EAAIC,EAAI,CAClC,OAAO,KAAK,KAAK,KAAK,IAAID,EAAKF,EAAI,CAAC,EAAI,KAAK,IAAIG,EAAKF,EAAI,CAAC,CAAC,CAC/D,CACD,SAASd,EAAqB/J,EAAO6J,EAAQ,CACzC,GAAI7J,EAAM,MAAM,KAAOA,EAAM,IAAI,IAC7B,IAAIE,EAAM,EAAI2J,EAAO,OAAS7J,EAAM,MAAM,OAASA,EAAM,IAAI,eACxDA,EAAM,MAAM,KAAOA,EAAM,IAAI,IAAM,GAAK,CAACA,EAAM,MAAM,QAAU,CAACA,EAAM,IAAI,OAC/E,IAAIE,EAAM2J,EAAO,OAAS,MAE1B,KAAI3J,EAAM,EAAI2J,EAAO,IAAM7J,EAAM,MAAM,IAAMA,EAAM,IAAI,IAC3D,OAAIE,EAAM,EACC,CAAE,OAAQF,EAAM,MAAO,OAAQA,EAAM,KAErC,CAAE,OAAQA,EAAM,IAAK,OAAQA,EAAM,MACjD,CAED,CAAC,EAED,IAAI,OAAO,iBAAiB,CAAC,UAAU,UAAU,QAAQ,EAAG,SAASpJ,EAASM,EAASd,EAAO,CAACc,EAAQ,oBAAsB,SAA6BpuB,EAAO,CAC7JA,EAAM,gBAAe,EACrB,IAAIP,EAASO,EAAM,cACfkiC,EAAmBziC,EAAO,aAAeA,EAAO,aAC/CyiC,GACDliC,EAAM,eAAc,CAE5B,CAEA,CAAC,EAED,IAAI,OAAO,cAAc,CAAC,UAAU,UAAU,SAAS,cAAc,gBAAgB,YAAY,gBAAgB,EAAG,SAAS8tB,EAASM,EAASd,EAAO,CACtJ,IAAI6U,EAAa,MAAQ,KAAK,WAAe,UAAY,CACrD,IAAIC,EAAgB,SAAUhmC,EAAGpG,EAAG,CAChC,OAAAosC,EAAgB,OAAO,gBAClB,CAAE,UAAW,CAAA,aAAgB,OAAS,SAAUhmC,EAAGpG,EAAG,CAAEoG,EAAE,UAAYpG,CAAE,GACzE,SAAUoG,EAAGpG,EAAG,CAAE,QAAS6mC,KAAK7mC,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAG6mC,CAAC,IAAGzgC,EAAEygC,CAAC,EAAI7mC,EAAE6mC,CAAC,IAC1FuF,EAAchmC,EAAGpG,CAAC,CACjC,EACI,OAAO,SAAUoG,EAAGpG,EAAG,CACnB,GAAI,OAAOA,GAAM,YAAcA,IAAM,KACjC,MAAM,IAAI,UAAU,uBAAyB,OAAOA,CAAC,EAAI,+BAA+B,EAC5FosC,EAAchmC,EAAGpG,CAAC,EAClB,SAASqsC,GAAK,CAAE,KAAK,YAAcjmC,CAAI,CACvCA,EAAE,UAAYpG,IAAM,KAAO,OAAO,OAAOA,CAAC,GAAKqsC,EAAG,UAAYrsC,EAAE,UAAW,IAAIqsC,EACvF,CACA,IACIC,EAAY,MAAQ,KAAK,UAAa,SAAS,EAAG,CAClD,IAAI5qB,EAAI,OAAO,QAAW,YAAc,OAAO,SAAUif,EAAIjf,GAAK,EAAEA,CAAC,EAAGnzB,EAAI,EAC5E,GAAIoyC,EAAG,OAAOA,EAAE,KAAK,CAAC,EACtB,GAAI,GAAK,OAAO,EAAE,QAAW,SAAU,MAAO,CAC1C,KAAM,UAAY,CACd,OAAI,GAAKpyC,GAAK,EAAE,SAAQ,EAAI,QACrB,CAAE,MAAO,GAAK,EAAEA,GAAG,EAAG,KAAM,CAAC,EACvC,CACT,EACI,MAAM,IAAI,UAAUmzB,EAAI,0BAA4B,iCAAiC,CACzF,EACI2a,EAAMvE,EAAQ,WAAW,EACjBA,EAAQ,aAAa,EACjC,IAAI+I,EAAQ/I,EAAQ,SAAS,EAAE,MAC3ByU,EAAsBzU,EAAQ,cAAc,EAAE,oBAC9C0U,EAAY,cACZj6B,EAAyB,UAAY,CACrC,SAASA,EAAQ+yB,EAAY,CACzB,KAAK,OAAS,GACd,KAAK,SAAW,KAChB,KAAK,YAAcA,CACtB,CACD,OAAA/yB,EAAQ,UAAU,MAAQ,UAAY,CAClC,YAAK,SAAW8pB,EAAI,cAAc,KAAK,EACvC,KAAK,SAAS,UAAYmQ,EAC1B,KAAK,SAAS,MAAM,QAAU,OAC9B,KAAK,YAAY,YAAY,KAAK,QAAQ,EACnC,KAAK,QACpB,EACIj6B,EAAQ,UAAU,WAAa,UAAY,CACvC,OAAO,KAAK,UAAY,KAAK,MAAK,CAC1C,EACIA,EAAQ,UAAU,QAAU,SAAUizB,EAAM,CACxC,KAAK,WAAU,EAAG,YAAcA,CACxC,EACIjzB,EAAQ,UAAU,QAAU,SAAUk6B,EAAM,CACxC,KAAK,WAAU,EAAG,UAAYA,CACtC,EACIl6B,EAAQ,UAAU,YAAc,SAAUvT,EAAGC,EAAG,CAC5C,KAAK,WAAU,EAAG,MAAM,KAAOD,EAAI,KACnC,KAAK,WAAU,EAAG,MAAM,IAAMC,EAAI,IAC1C,EACIsT,EAAQ,UAAU,aAAe,SAAUvR,EAAW,CAClDq7B,EAAI,YAAY,KAAK,WAAY,EAAEr7B,CAAS,CACpD,EACIuR,EAAQ,UAAU,SAAW,SAAUm6B,EAAO,CAC1C,KAAK,SAAS,UAAYF,EAAY,KACjCE,EAAM,OAAS,YAAc,KAAOA,EAAM,UAAY,GACnE,EACIn6B,EAAQ,UAAU,KAAO,SAAUizB,EAAMxmC,EAAGC,EAAG,CACvCumC,GAAQ,MACR,KAAK,QAAQA,CAAI,EACjBxmC,GAAK,MAAQC,GAAK,MAClB,KAAK,YAAYD,EAAGC,CAAC,EACpB,KAAK,SACN,KAAK,WAAY,EAAC,MAAM,QAAU,QAClC,KAAK,OAAS,GAE1B,EACIsT,EAAQ,UAAU,KAAO,SAAUhI,EAAG,CAC9B,KAAK,SACL,KAAK,WAAY,EAAC,MAAM,QAAU,OAClC,KAAK,WAAU,EAAG,UAAYiiC,EAC9B,KAAK,OAAS,GAE1B,EACIj6B,EAAQ,UAAU,UAAY,UAAY,CACtC,OAAO,KAAK,WAAY,EAAC,YACjC,EACIA,EAAQ,UAAU,SAAW,UAAY,CACrC,OAAO,KAAK,WAAY,EAAC,WACjC,EACIA,EAAQ,UAAU,QAAU,UAAY,CACpC,KAAK,OAAS,GACV,KAAK,UAAY,KAAK,SAAS,YAC/B,KAAK,SAAS,WAAW,YAAY,KAAK,QAAQ,CAE9D,EACWA,CACV,EAAA,EACGo6B,EAA8B,UAAY,CAC1C,SAASA,GAAe,CACpB,KAAK,OAAS,EACjB,CACD,OAAAA,EAAa,UAAU,SAAW,SAAUC,EAAO,CAC/C,KAAK,OAAO,KAAKA,CAAK,EACtB,KAAK,aAAY,CACzB,EACID,EAAa,UAAU,YAAc,SAAUC,EAAO,CAClD,IAAIn6C,EAAQ,KAAK,OAAO,QAAQm6C,CAAK,EACjCn6C,IAAU,KACV,KAAK,OAAO,OAAOA,EAAO,CAAC,EAC3B,KAAK,aAAY,EAE7B,EACIk6C,EAAa,UAAU,aAAe,UAAY,CAC9C,IAAIE,EAAKzoC,EAAI0oC,EAAKC,EAClB,KAAK,OAAO,KAAK,SAAUhtC,EAAGC,EAAG,CAAE,OAAOA,EAAE,SAAWD,EAAE,QAAW,CAAA,EACpE,IAAIitC,EAAgB,CAAA,EACpB,GAAI,CACA,QAASC,EAAKX,EAAS,KAAK,MAAM,EAAGY,EAAKD,EAAG,KAAM,EAAE,CAACC,EAAG,KAAMA,EAAKD,EAAG,OAAQ,CAC3E,IAAIL,EAAQM,EAAG,MACXC,EAAgB,GACpB,GAAI,CACA,QAASC,GAAmBN,EAAM,OAAQR,EAASU,CAAa,GAAIK,EAAoBD,EAAgB,KAAM,EAAE,CAACC,EAAkB,KAAMA,EAAoBD,EAAgB,OAAQ,CACjL,IAAIE,EAAeD,EAAkB,MACrC,GAAI,KAAK,gBAAgBC,EAAcV,CAAK,EAAG,CAC3CO,EAAgB,GAChB,KACH,CACJ,CACJ,OACMI,EAAO,CAAET,EAAM,CAAE,MAAOS,CAAO,CAAG,QACjC,CACJ,GAAI,CACIF,GAAqB,CAACA,EAAkB,OAASN,EAAKK,EAAgB,SAASL,EAAG,KAAKK,CAAe,CAC7G,QACO,CAAE,GAAIN,EAAK,MAAMA,EAAI,KAAQ,CACxC,CACGK,EACAH,EAAc,KAAKJ,CAAK,EAGxBA,EAAM,KAAI,CAEjB,CACJ,OACMY,EAAO,CAAEX,EAAM,CAAE,MAAOW,CAAO,CAAG,QACjC,CACJ,GAAI,CACIN,GAAM,CAACA,EAAG,OAAS9oC,EAAK6oC,EAAG,SAAS7oC,EAAG,KAAK6oC,CAAE,CACrD,QACO,CAAE,GAAIJ,EAAK,MAAMA,EAAI,KAAQ,CACxC,CACT,EACIF,EAAa,UAAU,gBAAkB,SAAUc,EAAQC,EAAQ,CAC/D,IAAIC,EAAQF,EAAO,WAAY,EAAC,sBAAqB,EACjDG,EAAQF,EAAO,WAAY,EAAC,sBAAqB,EACrD,OAAQC,EAAM,KAAOC,EAAM,OAASD,EAAM,MAAQC,EAAM,MAAQD,EAAM,IAAMC,EAAM,QAAUD,EAAM,OAC5FC,EAAM,GACpB,EACWjB,CACV,EAAA,EACGkB,EAAe,IAAIlB,EACvBvU,EAAQ,aAAeyV,EACvBzV,EAAQ,QAAU7lB,EAClB,IAAIu7B,EAA8B,SAAUC,EAAQ,CAChD5B,EAAU2B,EAAcC,CAAM,EAC9B,SAASD,EAAaxI,EAAY,CAC1BA,IAAe,SAAUA,EAAa,SAAS,MACnD,IAAI0I,EAAQD,EAAO,KAAK,KAAMzI,CAAU,GAAK,KAC7C0I,EAAM,QAAU,OAChBA,EAAM,MAAQ,EACdA,EAAM,SAAW,IACjBA,EAAM,UAAY,OAClBA,EAAM,WAAaA,EAAM,WAAW,KAAKA,CAAK,EAC9CA,EAAM,YAAcA,EAAM,YAAY,KAAKA,CAAK,EAChDA,EAAM,aAAeA,EAAM,aAAa,KAAKA,CAAK,EAClDA,EAAM,KAAOA,EAAM,KAAK,KAAKA,CAAK,EAClC,IAAIr3B,EAAKq3B,EAAM,aACf,OAAAr3B,EAAG,MAAM,WAAa,WACtBA,EAAG,MAAM,cAAgB,OACzBA,EAAG,iBAAiB,WAAYq3B,EAAM,UAAU,EAChDr3B,EAAG,SAAW,GACdA,EAAG,iBAAiB,QAAQ,UAAY,CAC/BA,EAAG,SAAS,SAAS,aAAa,GACnC,KAAK,KAAI,CACzB,GAAU,KAAKq3B,CAAK,CAAC,EACbr3B,EAAG,iBAAiB,QAAS41B,CAAmB,EACzCyB,CACV,CACD,OAAAF,EAAa,UAAU,YAAc,SAAUvD,EAAQ,CACnDA,EAAO,GAAG,YAAa,KAAK,WAAW,EACvCA,EAAO,GAAG,YAAa,KAAK,IAAI,EAChCA,EAAO,SAAS,sBAAsB,iBAAiB,WAAY,KAAK,WAAY,EAAI,CAChG,EACIuD,EAAa,UAAU,iBAAmB,SAAUvD,EAAQ,CACxDA,EAAO,IAAI,YAAa,KAAK,WAAW,EACxCA,EAAO,IAAI,YAAa,KAAK,IAAI,EACjCA,EAAO,SAAS,sBAAsB,oBAAoB,WAAY,KAAK,WAAY,EAAI,EACvF,KAAK,UACL,aAAa,KAAK,OAAO,EACzB,KAAK,QAAU,KAE3B,EACIuD,EAAa,UAAU,YAAc,SAAUvjC,EAAGggC,EAAQ,CACtD,KAAK,UAAYhgC,EACjB,KAAK,MAAQ,KAAK,MAClB,IAAI0jC,EAAiB1D,EAAO,cAAc,eAC1C,GAAI,KAAK,OAAQ,CACb,IAAIE,EAAM,KAAK,WAAa,KAAK,UAAU,uBACvC,CAAC,KAAK,OACH,CAAC,KAAK,MAAM,SAASA,EAAI,IAAKA,EAAI,MAAM,GACxCwD,GACA,KAAK,gBAAgB,KAAK,SAAS,IACtC,KAAK,KAAI,CAEhB,CACG,KAAK,SAAWA,IAEpB,KAAK,UAAY1jC,EACjB,KAAK,QAAU,WAAW,KAAK,aAAc,KAAK,QAAQ,EAClE,EACIujC,EAAa,UAAU,aAAe,UAAY,CAC1C,KAAK,SACL,aAAa,KAAK,OAAO,EAC7B,IAAI3J,EAAK,KAAK,IAAG,EAAK,KAAK,MAC3B,GAAI,KAAK,SAAWA,EAAK,GAAI,CACzB,KAAK,QAAU,WAAW,KAAK,aAAc,KAAK,SAAWA,CAAE,EAC/D,MACH,CACD,KAAK,QAAU,KACX,KAAK,WAAa,CAAC,KAAK,gBAAgB,KAAK,SAAS,GACtD,KAAK,YAAY,KAAK,UAAW,KAAK,UAAU,MAAM,CAElE,EACI2J,EAAa,UAAU,gBAAkB,SAAUvjC,EAAG,CAClD,IAAIggC,EAAShgC,EAAE,OACX2jC,EAAS3jC,EAAE,sBACX1O,EAAO0uC,EAAO,QAAQ,QAAQ2D,EAAO,GAAG,EAC5C,GAAIA,EAAO,QAAUryC,EAAK,OAAQ,CAC9B,IAAIsyC,EAAY5D,EAAO,SAAS,yBAAyBhgC,EAAE,QAASA,EAAE,OAAO,EACzE6jC,EAAa7D,EAAO,QAAQ,yBAAyB2D,EAAO,IAAKA,EAAO,MAAM,EAClF,GAAIE,EAAW,QAAUD,EAAU,QAC5BC,EAAW,KAAOD,EAAU,IAC/B,MAAO,EAEd,CACD,MAAO,EACf,EACIL,EAAa,UAAU,gBAAkB,SAAUh/C,EAAO,CACtD,KAAK,YAAcA,CAC3B,EACIg/C,EAAa,UAAU,aAAe,SAAUvD,EAAQrJ,EAAOmN,EAASC,EAAe,CACnF,IAAIC,EAAS,GACb,GAAI,EAAAD,GAAiBA,GAAiB,KAAK,YAEvC,OAAK,QAAU,SAAS,eAAiB,KAAK,WAAY,GAE9D,KAAI/mC,EAAWgjC,EAAO,SACjB,KAAK,SACNsD,EAAa,SAAS,IAAI,EAC1B,KAAK,qBAAoB,EACzB,KAAK,SAAStmC,EAAS,KAAK,GAEhC,KAAK,OAAS,GACd,KAAK,UAAU25B,EAAOqJ,EAAO,OAAO,EACpC,KAAK,MAAQ1J,EAAM,WAAWK,EAAM,MAAOA,EAAM,GAAG,EACpD,IAAI7lC,EAAWkM,EAAS,wBAAwB25B,EAAM,MAAM,IAAKA,EAAM,MAAM,MAAM,EAC/EoI,EAAO/hC,EAAS,SAAS,sBAAqB,EAC9ClM,EAAS,MAAQiuC,EAAK,OACtBjuC,EAAS,MAAQiuC,EAAK,MAC1B,IAAIhqC,EAAU,KAAK,aACnBA,EAAQ,UAAY,GACpBA,EAAQ,YAAY+uC,CAAO,EAC3B/uC,EAAQ,MAAM,UAAY,GAC1BA,EAAQ,MAAM,QAAU,QACxB,IAAIkvC,EAAclvC,EAAQ,aACtBmvC,EAAanvC,EAAQ,YACrBovC,EAAa,OAAO,YAAcrzC,EAAS,MAAQkM,EAAS,WAC5DonC,EAAU,GACVtzC,EAAS,MAAQmzC,EAAc,GAAKnzC,EAAS,MAAQqzC,IACrDC,EAAU,IAEdrvC,EAAQ,MAAM,WAAaqvC,EAAUtzC,EAAS,MAAQqzC,GAAcH,EAAS,KAC7EjvC,EAAQ,MAAM,IAAMqvC,EAAU,GAAKtzC,EAAS,MAAQkM,EAAS,WAAa,KAC1EjI,EAAQ,MAAM,OAASqvC,EAAU,OAAO,YAActzC,EAAS,MAAQ,KAAO,GAC9EiE,EAAQ,MAAM,KAAO,KAAK,IAAIjE,EAAS,MAAO,OAAO,WAAaozC,EAAaF,CAAM,EAAI,KACjG,EACIT,EAAa,UAAU,UAAY,SAAU5M,EAAOK,EAAS,CACrD,KAAK,QACL,KAAK,eAAe,aAAa,KAAK,MAAM,EAEhD,KAAK,eAAiBA,EACtB,KAAK,OAASA,GAAWA,EAAQ,UAAUL,EAAO,uBAAwB,MAAM,CACxF,EACI4M,EAAa,UAAU,KAAO,SAAUvjC,EAAG,CACnC,CAACA,GAAK,SAAS,eAAiB,KAAK,WAAY,GAEjDA,GAAKA,EAAE,SAAWA,EAAE,MAAQ,WAAaA,EAAE,SAAWA,EAAE,UAAY,KAAK,SAAS,SAASA,EAAE,MAAM,IAEvG,KAAK,UAAY,KACb,KAAK,SACL,aAAa,KAAK,OAAO,EAC7B,KAAK,QAAU,KACf,KAAK,UAAU,IAAI,EACf,KAAK,SACL,KAAK,mBAAkB,EACvB,KAAK,WAAY,EAAC,MAAM,QAAU,OAClC,KAAK,OAAS,GACdsjC,EAAa,YAAY,IAAI,GAEzC,EACIC,EAAa,UAAU,qBAAuB,UAAY,CACtD,OAAO,iBAAiB,UAAW,KAAK,KAAM,EAAI,EAClD,OAAO,iBAAiB,QAAS,KAAK,KAAM,EAAI,EAChD,OAAO,iBAAiB,YAAa,KAAK,KAAM,EAAI,CAC5D,EACIA,EAAa,UAAU,mBAAqB,UAAY,CACpD,OAAO,oBAAoB,UAAW,KAAK,KAAM,EAAI,EACrD,OAAO,oBAAoB,QAAS,KAAK,KAAM,EAAI,EACnD,OAAO,oBAAoB,YAAa,KAAK,KAAM,EAAI,CAC/D,EACIA,EAAa,UAAU,WAAa,SAAUvjC,EAAG,CACzC,KAAK,UACL,aAAa,KAAK,OAAO,EACzB,KAAK,QAAU,MAEnB,KAAK,UAAY,KACZ,KAAK,SAEN,CAACA,EAAE,eAAiB,KAAK,WAAU,EAAG,SAASA,EAAE,aAAa,GAE9DA,GAAKA,EAAE,cAAc,SAASA,EAAE,aAAa,GAE5CA,EAAE,cAAc,UAAU,SAAS,aAAa,GACjD,KAAK,KAAI,EACrB,EACWujC,CACX,EAAEv7B,CAAO,EACT6lB,EAAQ,aAAe0V,CAEvB,CAAC,EAED,IAAI,OAAO,mCAAmC,CAAC,UAAU,UAAU,SAAS,cAAc,gBAAgB,cAAc,aAAa,cAAc,EAAG,SAAShW,EAASM,EAASd,EAAO,CACxL,IAAI6U,EAAa,MAAQ,KAAK,WAAe,UAAY,CACrD,IAAIC,EAAgB,SAAUhmC,EAAGpG,EAAG,CAChC,OAAAosC,EAAgB,OAAO,gBAClB,CAAE,UAAW,CAAA,aAAgB,OAAS,SAAUhmC,EAAGpG,EAAG,CAAEoG,EAAE,UAAYpG,CAAE,GACzE,SAAUoG,EAAGpG,EAAG,CAAE,QAAS6mC,KAAK7mC,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAG6mC,CAAC,IAAGzgC,EAAEygC,CAAC,EAAI7mC,EAAE6mC,CAAC,IAC1FuF,EAAchmC,EAAGpG,CAAC,CACjC,EACI,OAAO,SAAUoG,EAAGpG,EAAG,CACnB,GAAI,OAAOA,GAAM,YAAcA,IAAM,KACjC,MAAM,IAAI,UAAU,uBAAyB,OAAOA,CAAC,EAAI,+BAA+B,EAC5FosC,EAAchmC,EAAGpG,CAAC,EAClB,SAASqsC,GAAK,CAAE,KAAK,YAAcjmC,CAAI,CACvCA,EAAE,UAAYpG,IAAM,KAAO,OAAO,OAAOA,CAAC,GAAKqsC,EAAG,UAAYrsC,EAAE,UAAW,IAAIqsC,EACvF,CACA,IACIC,EAAY,MAAQ,KAAK,UAAa,SAASvT,EAAG,CAClD,IAAIrX,EAAI,OAAO,QAAW,YAAc,OAAO,SAAUif,EAAIjf,GAAKqX,EAAErX,CAAC,EAAGnzB,EAAI,EAC5E,GAAIoyC,EAAG,OAAOA,EAAE,KAAK5H,CAAC,EACtB,GAAIA,GAAK,OAAOA,EAAE,QAAW,SAAU,MAAO,CAC1C,KAAM,UAAY,CACd,OAAIA,GAAKxqC,GAAKwqC,EAAE,SAAQA,EAAI,QACrB,CAAE,MAAOA,GAAKA,EAAExqC,GAAG,EAAG,KAAM,CAACwqC,EACvC,CACT,EACI,MAAM,IAAI,UAAUrX,EAAI,0BAA4B,iCAAiC,CACzF,EACI2a,EAAMvE,EAAQ,YAAY,EAC1B9tB,EAAQ8tB,EAAQ,cAAc,EAC9BvlB,EAAUulB,EAAQ,YAAY,EAAE,QAChC4M,EAAM5M,EAAQ,WAAW,EAAE,IACpBA,EAAQ,aAAa,EAChC,SAAS8W,EAActE,EAAc,CACjC,IAAIC,EAASD,EAAa,OACtBuE,EAAStE,EAAO,SAAS,aACzBuE,EAAU,IAAIC,EAAcxE,CAAM,EACtCD,EAAa,OAAO,kBAAkB,kBAAmB,SAAU//B,EAAG,CAClE,GAAI,GAACggC,EAAO,UAAS,GAAMhgC,EAAE,UAAW,GAAI,GAE5C,KAAIykC,EAAeH,EAAO,UAAUtkC,CAAC,EACrC,GAAIykC,GAAgB,cAEpB,KAAI7N,EAAM52B,EAAE,oBAAmB,EAAG,IAC9B48B,EAAYoD,EAAO,QAAQ,UAC/B,GAAIhgC,EAAE,YAAa,EACf48B,EAAU,SAAShG,EAAK,CAAC,MACxB,CACD,GAAI52B,EAAE,SAAS,QAAU,EACrB,OAAAggC,EAAO,UAAS,EACThgC,EAAE,iBAEb+/B,EAAa,gBAAkBC,EAAO,UAAU,aAAapJ,CAAG,CACnE,CACD,OAAAmJ,EAAa,SAAS,eAAe,EACrCA,EAAa,aAAa//B,CAAC,EACpBA,EAAE,kBACjB,CAAK,EACD,IAAI0kC,EAAgBC,EACpB,SAASC,GAAc,CACnB,IAAIhO,EAAM+N,EAAW,oBAAmB,EAAG,IACvCE,EAAS7E,EAAO,QAAQ,UAAS,EACrC,GAAIpJ,GAAOiO,EAAQ,CACf,IAAIC,EAAY9E,EAAO,SAAS,yBAAyB,EAAG2E,EAAW,CAAC,EAAE,IACtEzE,EAAMyE,EAAW,KACrB,GAAIG,EAAY9E,EAAO,QAAQ,oBAAoBE,EAAI,IAAKA,EAAI,MAAM,EAClE,OAAO6E,EAAW,CACzB,CAED,GADAR,EAAQ,YAAY3N,CAAG,EACnB,EAAC2N,EAAQ,OAGb,GADAvE,EAAO,GAAG,aAAc+E,CAAW,EAC/BhF,EAAa,qBACbiF,EAAYL,CAAU,MAErB,CACD,IAAIM,EAAYN,EAAW,eACvBO,EAAaZ,EAAO,OAAO,IAAIW,CAAS,EAC5C,GAAIC,EAAY,CACZ,IAAIC,EAAgBD,EAAW,QAAQ,cAAc,wBAAwB,EACzEnG,EAAOoG,EAAc,wBACrB7tC,EAAQitC,EAAQ,WAAU,EAAG,MACjCjtC,EAAM,KAAOynC,EAAK,MAAQ,KAC1BznC,EAAM,IAAMynC,EAAK,OAAS,IAC7B,MAEGiG,EAAYL,CAAU,CAE7B,CACJ,CACD,SAASI,GAAc,CACfL,IACAA,EAAiB,aAAaA,CAAc,GAC5CH,EAAQ,SACRA,EAAQ,YAAW,EACnBvE,EAAO,IAAI,aAAc+E,CAAW,EAE3C,CACD,SAASC,EAAYhlC,EAAG,CACpBukC,EAAQ,YAAYvkC,EAAE,EAAGA,EAAE,CAAC,CAC/B,CACD+/B,EAAa,OAAO,kBAAkB,kBAAmB,SAAU//B,EAAG,CAClE,IAAId,EAASc,EAAE,SAAS,QAAUA,EAAE,SAAS,WAC7C,GAAI8xB,EAAI,YAAY5yB,EAAQ,iBAAiB,EACzC,OAAO6lC,EAAW,EAClBR,EAAQ,QAAUxE,EAAa,sBAC/BiF,EAAYhlC,CAAC,EACjB2kC,EAAa3kC,EACT,CAAA0kC,IAEJA,EAAiB,WAAW,UAAY,CACpCA,EAAiB,KACbC,GAAc,CAAC5E,EAAa,eAC5B6E,IAEAG,GACP,EAAE,EAAE,EACb,CAAK,EACDtlC,EAAM,YAAYugC,EAAO,SAAS,QAAS,WAAY,SAAUhgC,EAAG,CAChE2kC,EAAa,KACT,GAACJ,EAAQ,QAAUG,KAEvBA,EAAiB,WAAW,UAAY,CACpCA,EAAiB,KACjBK,GACH,EAAE,EAAE,EACR,EAAE/E,CAAM,EACTA,EAAO,GAAG,gBAAiB+E,CAAW,EACtC/E,EAAO,GAAG,QAAS+E,CAAW,CACjC,CACDlX,EAAQ,cAAgBwW,EACxB,IAAIG,EAA+B,SAAUhB,EAAQ,CACjD5B,EAAU4C,EAAehB,CAAM,EAC/B,SAASgB,EAAcxE,EAAQ,CAC3B,IAAIyD,EAAQD,EAAO,KAAK,KAAMxD,EAAO,SAAS,GAAK,KACnD,OAAAyD,EAAM,OAASzD,EACRyD,CACV,CACD,OAAAe,EAAc,UAAU,YAAc,SAAU/vC,EAAGC,EAAG,CAClD,IAAI0wC,EAAc,OAAO,YAAc,SAAS,gBAAgB,YAC5DC,EAAe,OAAO,aAAe,SAAS,gBAAgB,aAC9DC,EAAQ,KAAK,WACbC,EAAS,KAAK,YAClB9wC,GAAK,GACLC,GAAK,GACDD,EAAI6wC,EAAQF,IACZ3wC,GAAMA,EAAI6wC,EAASF,GAEnB1wC,EAAI6wC,EAASF,IACb3wC,GAAK,GAAK6wC,GAEdv9B,EAAQ,UAAU,YAAY,KAAK,KAAMvT,EAAGC,CAAC,CACrD,EACI,OAAO,eAAe8vC,EAAe,mBAAoB,CACrD,IAAK,UAAY,CACb,MAAO,CACH,MAAO,CACH,SAAUrK,EAAI,2CAA4C,OAAO,EACjE,OAAQA,EAAI,yCAA0C,QAAQ,CACjE,EACD,SAAU,CACN,SAAUA,EAAI,8CAA+C,kBAAkB,EAC/E,OAAQA,EAAI,4CAA6C,mBAAmB,CAC/E,EACD,QAAS,CACL,SAAUA,EAAI,6CAA8C,SAAS,EACrE,OAAQA,EAAI,2CAA4C,UAAU,CACrE,EACD,KAAM,CACF,SAAUA,EAAI,0CAA2C,qBAAqB,EAC9E,OAAQA,EAAI,wCAAyC,sBAAsB,CAC9E,EACD,KAAM,CACF,SAAUA,EAAI,0CAA2C,YAAY,EACrE,OAAQA,EAAI,wCAAyC,aAAa,CACrE,CACjB,CACS,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACDqK,EAAc,UAAU,YAAc,SAAU5N,EAAK,CACjD,IAAI/8B,EACAyqC,EAAS,KAAK,OAAO,SAAS,aAC9BkB,EAAmBlB,EAAO,aAAa1N,CAAG,EAC1C6O,EACAD,EACAC,EAAa,CACT,YAAa,MAAM,KAAKD,EAAiB,WAAW,EACpD,KAAM,MAAM,KAAKA,EAAiB,IAAI,CACtD,EAEYC,EAAa,CAAE,YAAa,CAAE,EAAE,KAAM,CAAE,CAAA,EAC5C,IAAIC,EAAOpB,EAAO,QAAQ,YAAY1N,CAAG,EACzC,GAAI8O,GAAQpB,EAAO,uBAAwB,CAIvC,QAHIqB,EAAoB,CAAE,MAAO,CAAE,EAAE,SAAU,CAAE,EAAE,QAAS,CAAA,EAAI,KAAM,CAAA,EAAI,KAAM,CAAE,CAAA,EAC9EC,EAAe,CAAE,MAAO,EAAG,SAAU,EAAG,QAAS,EAAG,KAAM,EAAG,KAAM,CAAC,EACpEC,EACK7hD,EAAI4yC,EAAM,EAAG5yC,GAAK0hD,EAAK,IAAI,IAAK1hD,IACrC,GAAKsgD,EAAO,aAAatgD,CAAC,EAE1B,QAASuQ,EAAI,EAAGA,EAAI+vC,EAAO,aAAatgD,CAAC,EAAE,KAAK,OAAQuQ,IAAK,CACzD,IAAIuxC,EAAiBxB,EAAO,aAAatgD,CAAC,EAAE,KAAKuQ,CAAC,EAClDoxC,EAAkBG,CAAc,EAAE,KAAKxB,EAAO,aAAatgD,CAAC,EAAE,KAAKuQ,CAAC,CAAC,GACjE,CAACsxC,GACDD,EAAaE,CAAc,EAAIF,EAAaC,CAA8B,KAC1EA,EAAiCC,EAExC,CAEL,GAAI,CAAC,QAAS,WAAY,SAAS,EAAE,SAASD,CAA8B,EAAG,CAC3E,IAAIE,EAA2B,GAAG,OAAOvB,EAAc,2BAA2BmB,CAAiB,EAAG,kBAAkB,EACxHF,EAAW,YAAY,KAAKM,CAAwB,EACpDN,EAAW,KAAK,KAAKI,EAAiC,OAAO,CAChE,CACJ,CACD,GAAIJ,EAAW,YAAY,SAAW,EAClC,OAAO,KAAK,OAGhB,QAFIO,EAAqB,CAAE,MAAO,CAAE,EAAE,SAAU,CAAE,EAAE,QAAS,CAAA,EAAI,KAAM,CAAA,EAAI,KAAM,CAAE,CAAA,EAC/EC,EAAgB3B,EAAO,mBAAqB,eAAiB,WACxDtgD,EAAI,EAAGA,EAAIyhD,EAAW,YAAY,OAAQzhD,IAAK,CACpD,IAAIkiD,EAAcpU,EAAI,cAAc,MAAM,EACtCqU,EAAcrU,EAAI,cAAc,MAAM,GACzCj4B,EAAKssC,EAAY,WAAW,IAAI,MAAMtsC,EAAI,CAAC,OAAO,OAAO4rC,EAAW,KAAKzhD,CAAC,CAAC,EAAGiiD,CAAa,CAAC,EAC7FE,EAAY,aAAa,aAAc,GAAG,OAAO3B,EAAc,iBAAiBiB,EAAW,KAAKzhD,CAAC,EAAE,QAAQ,QAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,EAClImiD,EAAY,aAAa,OAAQ,KAAK,EACtCA,EAAY,YAAYrU,EAAI,eAAe,GAAG,CAAC,EAC/CoU,EAAY,YAAYC,CAAW,EACnCD,EAAY,YAAYpU,EAAI,eAAe2T,EAAW,YAAYzhD,CAAC,CAAC,CAAC,EACrEkiD,EAAY,YAAYpU,EAAI,cAAc,IAAI,CAAC,EAC/CkU,EAAmBP,EAAW,KAAKzhD,CAAC,EAAE,QAAQ,QAAS,EAAE,CAAC,EAAE,KAAKkiD,CAAW,CAC/E,CACD,IAAIE,EAAiB,KAAK,aAC1BtU,EAAI,eAAesU,CAAc,EACjCJ,EAAmB,MAAM,QAAQ,SAAU55B,EAAI,CAAE,OAAOg6B,EAAe,YAAYh6B,CAAE,CAAE,CAAE,EACzF45B,EAAmB,SAAS,QAAQ,SAAU55B,EAAI,CAAE,OAAOg6B,EAAe,YAAYh6B,CAAE,CAAE,CAAE,EAC5F45B,EAAmB,QAAQ,QAAQ,SAAU55B,EAAI,CAAE,OAAOg6B,EAAe,YAAYh6B,CAAE,CAAE,CAAE,EAC3F45B,EAAmB,KAAK,QAAQ,SAAU55B,EAAI,CAAE,OAAOg6B,EAAe,YAAYh6B,CAAE,CAAE,CAAE,EACxF45B,EAAmB,KAAK,QAAQ,SAAU55B,EAAI,CAAE,OAAOg6B,EAAe,YAAYh6B,CAAE,CAAE,CAAE,EACxFg6B,EAAe,aAAa,YAAa,QAAQ,EAC5C,KAAK,SACN,KAAK,SAAS,KAAK,OAAO,SAAS,KAAK,EACxC,KAAK,aAAa,oBAAoB,GAE1C,KAAK,KAAI,EACT,KAAK,OAAO,QAAQ,oBAAqB,IAAI,CACrD,EACI5B,EAAc,UAAU,YAAc,UAAY,CAC9C,KAAK,SAAS,gBAAgB,WAAW,EACzC,KAAK,KAAI,EACT,KAAK,OAAO,QAAQ,oBAAqB,IAAI,CACrD,EACIA,EAAc,2BAA6B,SAAU6B,EAAa,CAC9D,IAAI/D,EAAKzoC,EACLysC,EAAU,CAAA,EACVC,EAAkB,CAAC,QAAS,WAAY,UAAW,OAAQ,MAAM,EACrE,GAAI,CACA,QAASC,EAAoBzE,EAASwE,CAAe,EAAGE,EAAsBD,EAAkB,KAAI,EAAI,CAACC,EAAoB,KAAMA,EAAsBD,EAAkB,KAAI,EAAI,CAC/K,IAAIV,EAAiBW,EAAoB,MACzC,GAAKJ,EAAYP,CAAc,EAAE,OAEjC,KAAIlrB,EAAQyrB,EAAYP,CAAc,EAAE,SAAW,EAAItB,EAAc,iBAAiBsB,CAAc,EAAE,SAAWtB,EAAc,iBAAiBsB,CAAc,EAAE,OAChKQ,EAAQ,KAAK,GAAG,OAAOD,EAAYP,CAAc,EAAE,OAAQ,GAAG,EAAE,OAAOlrB,CAAK,CAAC,EAChF,CACJ,OACMqoB,EAAO,CAAEX,EAAM,CAAE,MAAOW,CAAO,CAAG,QACjC,CACJ,GAAI,CACIwD,GAAuB,CAACA,EAAoB,OAAS5sC,EAAK2sC,EAAkB,SAAS3sC,EAAG,KAAK2sC,CAAiB,CACrH,QACO,CAAE,GAAIlE,EAAK,MAAMA,EAAI,KAAQ,CACxC,CACD,OAAOgE,EAAQ,KAAK,IAAI,CAChC,EACW9B,CACX,EAAEx8B,CAAO,EACT6lB,EAAQ,cAAgB2W,CAExB,CAAC,EAED,IAAI,OAAO,wBAAwB,CAAC,UAAU,UAAU,SAAS,gBAAgB,mBAAmB,EAAG,SAASjX,EAASM,EAASd,EAAO,CACzI,IAAIttB,EAAQ8tB,EAAQ,cAAc,EAC9B2C,EAAY3C,EAAQ,kBAAkB,EACtCmZ,EAA4B,UAAY,CACxC,SAASA,EAAWC,EAAU3G,EAAQ,CAAE,KAAK,MAAO,KAAK,OAAQ,KAAK,OAClE,KAAK,SAAW2G,EAChB,KAAK,OAAS3G,EACd,KAAK,EAAI,KAAK,QAAU2G,EAAS,QACjC,KAAK,EAAI,KAAK,QAAUA,EAAS,QACjC,KAAK,KAAO,KACZ,KAAK,aAAe,KACpB,KAAK,mBAAqB,GAC1B,KAAK,iBAAmB,EAC3B,CACD,OAAAD,EAAW,UAAU,gBAAkB,UAAY,CAC/CjnC,EAAM,gBAAgB,KAAK,QAAQ,EACnC,KAAK,mBAAqB,EAClC,EACIinC,EAAW,UAAU,eAAiB,UAAY,CAC9CjnC,EAAM,eAAe,KAAK,QAAQ,EAClC,KAAK,iBAAmB,EAChC,EACIinC,EAAW,UAAU,KAAO,UAAY,CACpC,KAAK,gBAAe,EACpB,KAAK,eAAc,CAC3B,EACIA,EAAW,UAAU,oBAAsB,UAAY,CACnD,OAAI,KAAK,KACE,KAAK,MAChB,KAAK,KAAO,KAAK,OAAO,SAAS,wBAAwB,KAAK,QAAS,KAAK,OAAO,EAC5E,KAAK,KACpB,EACIA,EAAW,UAAU,aAAe,UAAY,CAC5C,IAAIE,EAAc,KAAK,oBAAmB,EAAG,IACzC9B,EAAY,KAAK,OAAO,QAAQ,oBAAoB8B,EAAa,CAAC,EAClEC,EAAe,KAAK,OAAO,QAAQ,oBAAoB,KAAK,OAAO,SAAS,aAAa,OAAO,IAAI,CAAC,EAAE,IAAK,CAAC,EACjH,OAAO/B,EAAY+B,CAC3B,EACIH,EAAW,UAAU,YAAc,UAAY,CAC3C,GAAI,KAAK,eAAiB,KACtB,OAAO,KAAK,aAChB,IAAI1G,EAAS,KAAK,OACdI,EAAiBJ,EAAO,oBAC5B,GAAII,EAAe,QAAS,EACxB,KAAK,aAAe,OACnB,CACD,IAAIF,EAAM,KAAK,sBACf,KAAK,aAAeE,EAAe,SAASF,EAAI,IAAKA,EAAI,MAAM,CAClE,CACD,OAAO,KAAK,YACpB,EACIwG,EAAW,UAAU,UAAY,UAAY,CACzC,OAAOjnC,EAAM,UAAU,KAAK,QAAQ,CAC5C,EACIinC,EAAW,UAAU,YAAc,UAAY,CAC3C,OAAO,KAAK,SAAS,QAC7B,EACIA,EAAW,UAAU,YAAc,UAAY,CAC3C,OAAOxW,EAAU,MAAQ,KAAK,SAAS,QAAU,KAAK,SAAS,OACvE,EACWwW,CACV,EAAA,EACD7Y,EAAQ,WAAa6Y,CAErB,CAAC,EAED,IAAI,OAAO,6BAA6B,CAAC,UAAU,UAAU,SAAS,cAAc,gBAAgB,mBAAmB,EAAG,SAASnZ,EAASM,EAASd,EAAO,CAC5J,IAAI+E,EAAMvE,EAAQ,YAAY,EAC1B9tB,EAAQ8tB,EAAQ,cAAc,EAC9B2C,EAAY3C,EAAQ,kBAAkB,EACtCuZ,EAAmB,IACnBC,EAAsB,IACtBC,EAA2B,EAC/B,SAASC,EAAgBlH,EAAc,CACnC,IAAIC,EAASD,EAAa,OACtBmH,EAAYpV,EAAI,cAAc,KAAK,EACvCoV,EAAU,MAAM,QAAU,8DAC1BA,EAAU,YAAc,IACxB,IAAIrZ,EAAU,CAAC,WAAY,cAAe,YAAa,eAAgB,aAAa,EACpFA,EAAQ,QAAQ,SAAUp5B,EAAG,CACzBsrC,EAAatrC,CAAC,EAAI,KAAKA,CAAC,CAC3B,EAAE,IAAI,EACPurC,EAAO,GAAG,YAAa,KAAK,YAAY,KAAKD,CAAY,CAAC,EAC1D,IAAIoH,EAAcnH,EAAO,UACrBoH,EAAqB3yC,EAAGC,EACxB2yC,EAAS1Q,EACT2Q,EAAYC,EAAU,EACtBC,EACAC,EACAC,EACAC,EACAC,EACJ,KAAK,YAAc,SAAU5nC,EAAG,CAC5B,GAAI,KAAK,YAAc,CAACmnC,EAAY,UAAW,CAC3C,IAAIU,EAAO,KACX,kBAAW,UAAY,CACnBA,EAAK,YAAW,EAChBA,EAAK,aAAa7nC,CAAC,CACtB,EAAE,CAAC,EACGA,EAAE,gBACZ,CACD22B,EAAQqJ,EAAO,oBACf,IAAI8H,EAAe9nC,EAAE,aACrB8nC,EAAa,cAAgB9H,EAAO,YAAW,EAAK,OAAS,WAC7DA,EAAO,UAAU,YAAYkH,CAAS,EACtCY,EAAa,cAAgBA,EAAa,aAAaZ,EAAW,EAAG,CAAC,EACtE,WAAW,UAAY,CACnBlH,EAAO,UAAU,YAAYkH,CAAS,CAClD,CAAS,EACDY,EAAa,UAAS,EACtBA,EAAa,QAAQ,OAAQ9H,EAAO,QAAQ,aAAY,CAAE,EAC1DyH,EAAa,GACb,KAAK,SAAS,MAAM,CAC5B,EACI,KAAK,UAAY,SAAUznC,EAAG,CAI1B,GAHAmnC,EAAY,UAAY,GACxBM,EAAa,GACb,KAAK,SAAS,IAAI,EACd,CAACzH,EAAO,cAAe,CACvB,IAAI+H,EAAa/nC,EAAE,aAAa,WAC5B,CAACwnC,GAAiBO,GAAc,QAChC/H,EAAO,QAAQ,OAAOA,EAAO,kBAAmB,CAAA,EACpDA,EAAO,kBAAiB,CAC3B,CACD,KAAK,OAAO,WAAW,cAAc,EACrC,KAAK,OAAO,SAAS,eAAe,EAAE,CAC9C,EACI,KAAK,YAAc,SAAUhgC,EAAG,CAC5B,GAAI,EAAAggC,EAAO,YAAa,GAAI,CAACgI,EAAUhoC,EAAE,YAAY,GAErD,OAAAvL,EAAIuL,EAAE,QACNtL,EAAIsL,EAAE,QACDonC,GACDa,IACJV,IACAvnC,EAAE,aAAa,WAAawnC,EAAgBU,EAAcloC,CAAC,EACpDP,EAAM,eAAeO,CAAC,CACrC,EACI,KAAK,WAAa,SAAUA,EAAG,CAC3B,GAAI,EAAAggC,EAAO,YAAa,GAAI,CAACgI,EAAUhoC,EAAE,YAAY,GAErD,OAAAvL,EAAIuL,EAAE,QACNtL,EAAIsL,EAAE,QACDonC,IACDa,IACAV,KAEAY,IAAqB,OACrBA,EAAmB,MACvBnoC,EAAE,aAAa,WAAawnC,EAAgBU,EAAcloC,CAAC,EACpDP,EAAM,eAAeO,CAAC,CACrC,EACI,KAAK,YAAc,SAAUA,EAAG,CAE5B,GADAunC,IACIA,GAAW,GAAKH,EAChB,OAAAgB,IACAZ,EAAgB,KACT/nC,EAAM,eAAeO,CAAC,CAEzC,EACI,KAAK,OAAS,SAAUA,EAAG,CACvB,GAAKsnC,EAEL,KAAIQ,EAAe9nC,EAAE,aACrB,GAAIynC,EACA,OAAQD,EAAa,CACjB,IAAK,OACG7Q,EAAM,SAAS2Q,EAAW,IAAKA,EAAW,MAAM,EAChD3Q,EAAQ,CACJ,MAAO2Q,EACP,IAAKA,CACjC,EAGwB3Q,EAAQqJ,EAAO,SAASrJ,EAAO2Q,CAAU,EAE7C,MACJ,IAAK,OACD3Q,EAAQqJ,EAAO,SAASrJ,EAAO2Q,EAAY,EAAI,EAC/C,KACP,KAEA,CACD,IAAIe,EAAWP,EAAa,QAAQ,MAAM,EAC1CnR,EAAQ,CACJ,MAAO2Q,EACP,IAAKtH,EAAO,QAAQ,OAAOsH,EAAYe,CAAQ,CAC/D,EACYrI,EAAO,MAAK,EACZwH,EAAgB,IACnB,CACD,OAAAY,IACO3oC,EAAM,eAAeO,CAAC,EACrC,EACIP,EAAM,YAAY0nC,EAAa,YAAa,KAAK,YAAY,KAAKpH,CAAY,EAAGC,CAAM,EACvFvgC,EAAM,YAAY0nC,EAAa,UAAW,KAAK,UAAU,KAAKpH,CAAY,EAAGC,CAAM,EACnFvgC,EAAM,YAAY0nC,EAAa,YAAa,KAAK,YAAY,KAAKpH,CAAY,EAAGC,CAAM,EACvFvgC,EAAM,YAAY0nC,EAAa,WAAY,KAAK,WAAW,KAAKpH,CAAY,EAAGC,CAAM,EACrFvgC,EAAM,YAAY0nC,EAAa,YAAa,KAAK,YAAY,KAAKpH,CAAY,EAAGC,CAAM,EACvFvgC,EAAM,YAAY0nC,EAAa,OAAQ,KAAK,OAAO,KAAKpH,CAAY,EAAGC,CAAM,EAC7E,SAASsI,EAAqB9H,EAAQ+H,EAAY,CAC9C,IAAIC,EAAM,KAAK,MACXC,EAAY,CAACF,GAAc/H,EAAO,KAAO+H,EAAW,IACpDG,EAAY,CAACH,GAAc/H,EAAO,QAAU+H,EAAW,OAC3D,GAAI,CAACZ,GAAmBc,GAAaC,EACjC1I,EAAO,qBAAqBQ,CAAM,EAClCmH,EAAkBa,EAClBZ,EAA0B,CAAE,EAAGnzC,EAAG,EAAGC,CAAC,MAErC,CACD,IAAIosC,EAAWC,EAAa6G,EAAwB,EAAGA,EAAwB,EAAGnzC,EAAGC,CAAC,EAClFosC,EAAWkG,EACXW,EAAkB,KAEba,EAAMb,GAAmBZ,IAC9B/G,EAAO,SAAS,uBAChB2H,EAAkB,KAEzB,CACJ,CACD,SAASgB,EAAWnI,EAAQ+H,EAAY,CACpC,IAAIC,EAAM,KAAK,MACXI,EAAa5I,EAAO,SAAS,YAAY,WACzC6I,EAAiB7I,EAAO,SAAS,YAAY,eAC7C8I,EAAa9I,EAAO,SAAS,SAAS,sBAAqB,EAC3D+I,EAAU,CACV,EAAG,CACC,KAAMt0C,EAAIq0C,EAAW,KACrB,MAAOA,EAAW,MAAQr0C,CAC7B,EACD,EAAG,CACC,IAAKC,EAAIo0C,EAAW,IACpB,OAAQA,EAAW,OAASp0C,CAC/B,CACb,EACYs0C,EAAiB,KAAK,IAAID,EAAQ,EAAE,KAAMA,EAAQ,EAAE,KAAK,EACzDE,EAAiB,KAAK,IAAIF,EAAQ,EAAE,IAAKA,EAAQ,EAAE,MAAM,EACzDG,GAAe,CAAE,IAAK1I,EAAO,IAAK,OAAQA,EAAO,QACjDwI,EAAiBH,GAAkB,IACnCK,GAAa,QAAWH,EAAQ,EAAE,KAAOA,EAAQ,EAAE,MAAQ,GAAK,GAEhEE,EAAiBL,GAAc,IAC/BM,GAAa,KAAQH,EAAQ,EAAE,IAAMA,EAAQ,EAAE,OAAS,GAAK,GAEjE,IAAII,GAAU3I,EAAO,KAAO0I,GAAa,IACrCE,GAAU5I,EAAO,QAAU0I,GAAa,OACxCT,GAAY,CAACF,GAAc/H,EAAO,KAAO+H,EAAW,IACpDY,IAAYC,IAAW,CAACX,GACnBf,EAEIc,EAAMd,GAAuBZ,GAClC9G,EAAO,SAAS,qBAAqBkJ,EAAY,EAFjDxB,EAAsBc,EAK1Bd,EAAsB,IAE7B,CACD,SAAS2B,GAAiB,CACtB,IAAId,EAAajB,EACjBA,EAAatH,EAAO,SAAS,wBAAwBvrC,EAAGC,CAAC,EACzD4zC,EAAqBhB,EAAYiB,CAAU,EAC3CI,EAAWrB,EAAYiB,CAAU,CACpC,CACD,SAASN,GAAgB,CACrBtR,EAAQqJ,EAAO,UAAU,kBACzBoH,EAAsBpH,EAAO,QAAQ,UAAUrJ,EAAO,gBAAiBqJ,EAAO,kBAAiB,CAAE,EACjGA,EAAO,eAAc,EACjBA,EAAO,UAAW,GAClBA,EAAO,SAAS,aAAa,YAAY,EAAK,EAClD,cAAcqH,CAAO,EACrBgC,IACAhC,EAAU,YAAYgC,EAAgB,EAAE,EACxC9B,EAAU,EACV9nC,EAAM,YAAY,SAAU,YAAaga,CAAW,CACvD,CACD,SAAS2uB,GAAkB,CACvB,cAAcf,CAAO,EACrBrH,EAAO,QAAQ,aAAaoH,CAAmB,EAC/CA,EAAsB,KACtBpH,EAAO,UAAU,kBAAkBrJ,CAAK,EACpCqJ,EAAO,UAAW,GAAI,CAACyH,GACvBzH,EAAO,kBAAiB,EAC5BrJ,EAAQ,KACR2Q,EAAa,KACbC,EAAU,EACVG,EAAsB,KACtBC,EAAkB,KAClBloC,EAAM,eAAe,SAAU,YAAaga,CAAW,CAC1D,CACD,IAAI0uB,EAAmB,KACvB,SAAS1uB,GAAc,CACf0uB,GAAoB,OACpBA,EAAmB,WAAW,UAAY,CAClCA,GAAoB,MAAQf,GAC5BgB,GACP,EAAE,EAAE,EAEZ,CACD,SAASJ,EAAUF,EAAc,CAC7B,IAAIwB,EAAQxB,EAAa,MACzB,MAAO,CAACwB,GAAS,MAAM,UAAU,KAAK,KAAKA,EAAO,SAAUz3C,EAAM,CAC9D,OAAOA,GAAQ,cAAgBA,GAAQ,MACnD,CAAS,CACJ,CACD,SAASq2C,EAAcloC,EAAG,CACtB,IAAIupC,EAAc,CAAC,OAAQ,WAAY,MAAO,eAAe,EACzDC,EAAc,CAAC,OAAQ,WAAY,WAAY,MAAO,eAAe,EACrEC,EAAoBvZ,EAAU,MAAQlwB,EAAE,OAASA,EAAE,QACnD0pC,EAAgB,gBACpB,GAAI,CACAA,EAAgB1pC,EAAE,aAAa,cAAc,YAAW,CAC3D,MACS,CAAG,CACb,IAAI+nC,EAAa,OACjB,OAAI0B,GAAqBF,EAAY,QAAQG,CAAa,GAAK,EAC3D3B,EAAa,OACRyB,EAAY,QAAQE,CAAa,GAAK,EAC3C3B,EAAa,OACRwB,EAAY,QAAQG,CAAa,GAAK,IAC3C3B,EAAa,QACVA,CACV,CACJ,EACA,UAAY,CACT,KAAK,SAAW,UAAY,CACxB,IAAI4B,EAAW,KAAK,IAAK,EAAG,KAAK,eAAe,KAC5CA,EAAW,KAAK,OAAO,aAAc,GACrC,KAAK,UAAS,CAC1B,EACI,KAAK,YAAc,UAAY,CAC3B,IAAIzqC,EAAS,KAAK,OAAO,UACzBA,EAAO,UAAY,GACnB,KAAK,YAAY,KAAK,eAAe,oBAAqB,CAAA,EAC1D,KAAK,UAAS,CACtB,EACI,KAAK,aAAe,SAAUc,EAAG,CAC7B,KAAK,OAAO,oBACZ,KAAK,OAAO,WAAW,cAAc,EACrC,KAAK,OAAO,SAAS,eAAe,EAAE,EACtC,KAAK,YAAW,CACxB,EACI,KAAK,UAAY,UAAY,CACzB,KAAK,WAAa,GAClB,IAAIggC,EAAS,KAAK,OACd9gC,EAAS8gC,EAAO,UACpB9gC,EAAO,UAAY,GACnB8gC,EAAO,SAAS,aAAa,YAAY,EAAK,EAC9CA,EAAO,SAAS,cAAc,EAC9B,IAAI4J,EAAc1Z,EAAU,MAAQ,UAAY,OAChD8P,EAAO,SAAS,eAAe4J,CAAW,EAC1C,KAAK,SAAS,WAAW,CACjC,EACI,KAAK,YAAc,SAAU5pC,EAAG,CAC5B,IAAId,EAAS,KAAK,OAAO,UACzB,GAAIgxB,EAAU,MAAQ,KAAK,OAAS,YAAa,CAC7C,IAAI4Q,EAAWC,EAAa,KAAK,eAAe,EAAG,KAAK,eAAe,EAAG,KAAK,EAAG,KAAK,CAAC,EACpFD,EAAW,GACX5hC,EAAO,SAAQ,CACtB,CACD,GAAI,KAAK,QAAU,WAAY,CAC3B,IAAI4hC,EAAWC,EAAa,KAAK,eAAe,EAAG,KAAK,eAAe,EAAG,KAAK,EAAG,KAAK,CAAC,EACpFD,EAAW,IACX5hC,EAAO,UAAY,GACnB,KAAK,YAAY,KAAK,eAAe,oBAAqB,CAAA,EAEjE,CACT,EACI,KAAK,YAAc,SAAUc,EAAG,CAC5B,GAAK,KAAK,aAEV,MAAK,eAAiBA,EACtB,IAAIggC,EAAS,KAAK,OACdC,EAAcjgC,EAAE,cAChBmgC,EAASngC,EAAE,YACX6pC,EAAa7pC,EAAE,SAAS,QAAU,EACtC,GAAI6pC,IAAe,GAAK1J,IAAW,GAAKF,EAAa,CACjD,GAAIjgC,EAAE,OAAO,oBAAsBA,EAAE,eAAiBA,EAAE,eACpD,OACJ,KAAK,eAAe,KAAO,KAAK,IAAG,EACnC,IAAI8pC,EAAc9pC,EAAE,SAAS,QAAUA,EAAE,SAAS,WAGlD,GAFI,iBAAkB8pC,IAClBA,EAAY,aAAe,MAC3B9J,EAAO,eAAgB,CACvB,GAAI9P,EAAU,SAAU,CACpB,KAAK,WAAa,GAClB,IAAIiX,EAAcnH,EAAO,UACzBmH,EAAY,UAAY,EAC3B,CACD,KAAK,SAAS,UAAU,CAC3B,MAEG,KAAK,UAAS,EAElB,KAAK,aAAannC,EAAG,KAAK,YAAY,KAAK,IAAI,CAAC,EAChDA,EAAE,iBAAmB,EACxB,EACT,CACA,GAAG,KAAKinC,EAAgB,SAAS,EACjC,SAASlG,EAAaQ,EAAIC,EAAIC,EAAIC,EAAI,CAClC,OAAO,KAAK,KAAK,KAAK,IAAID,EAAKF,EAAI,CAAC,EAAI,KAAK,IAAIG,EAAKF,EAAI,CAAC,CAAC,CAC/D,CACD3T,EAAQ,gBAAkBoZ,CAE1B,CAAC,EAED,IAAI,OAAO,0BAA0B,CAAC,UAAU,UAAU,SAAS,wBAAwB,gBAAgB,aAAa,EAAG,SAAS1Z,EAASM,EAASd,EAAO,CAC7J,IAAI2Z,EAAanZ,EAAQ,eAAe,EAAE,WACtC9tB,EAAQ8tB,EAAQ,cAAc,EAC9BuE,EAAMvE,EAAQ,YAAY,EAC9BM,EAAQ,kBAAoB,SAAUzhB,EAAI4zB,EAAQ,CAC9C,IAAI+J,EAAO,SACP3Q,EACAC,EACA2Q,EACAC,EACAC,EACAC,EACAC,EAAiB,EACjBlK,EACA2J,EAAa,EACbQ,EAAK,EACLC,EAAK,EACLC,EACAC,EACJ,SAASC,GAAoB,CACzB,IAAIrQ,EAAY,OAAO,WAAa,OAAO,UAAU,UACjDsQ,EAAS,GACTC,EAAa,UAAY,CACzB,IAAIhuB,EAAWqjB,EAAO,cAClB4K,EAAU5K,EAAO,QAAQ,eAAgB,EAAC,QAAO,EACrDwK,EAAY,aAAa1Y,EAAI,SAAS4Y,EAAS,CAAC,OAC5C,CAAC/tB,GAAYkuB,EAAkB,WAAW,GAAK,CAAC,OAAQ,CAAE,MAAO,oBAAqB,OAAQ,WAAW,EAAI,YAAY,EACzHluB,GAAYkuB,EAAkB,MAAM,GAAK,CAAC,OAAQ,CAAE,MAAO,oBAAqB,OAAQ,MAAM,EAAI,MAAM,EACxGluB,GAAYkuB,EAAkB,KAAK,GAAK,CAAC,OAAQ,CAAE,MAAO,oBAAqB,OAAQ,KAAK,EAAI,KAAK,EACrGzQ,GAAayQ,EAAkB,OAAO,GAAK,CAAC,OAAQ,CAAE,MAAO,oBAAqB,OAAQ,OAAO,EAAI,OAAO,EAC5GD,GAAWC,EAAkB,MAAM,GAAK,CAAC,OAAQ,CAAE,MAAO,oBAAqB,OAAQ,MAAM,EAAI,MAAM,EACvGA,EAAkB,MAAM,GAAK,CAAC,OAAQ,CAAE,MAAO,oBAAqB,OAAQ,MAAQ,EAAE,MAAM,EAC5FA,EAAkB,oBAAoB,GAAK,CAAC,OAAQ,CAAE,MAAO,oBAAqB,OAAQ,oBAAsB,EAAE,SAAS,CAC9H,EAAG,CAAC,MAAM,CAAC,EAAGL,EAAY,UAAU,CACjD,EACYK,EAAoB,SAAgCC,EAAK,CACzD,OAAO9K,EAAO,SAAS,WAAW8K,EAAK9K,CAAM,CACzD,EACY+K,EAAc,SAAU/qC,EAAG,CAC3B,IAAI2K,EAAS3K,EAAE,OAAO,aAAa,QAAQ,EAC3C,GAAI2K,GAAU,QAAU,CAAC+/B,EACrB,OAAAA,EAAS,CAACA,EACHC,EAAU,EAEjBhgC,GAAU,QACVyvB,EAAU,SAAQ,EAAG,KAAK,SAAUa,EAAM,CACtC+E,EAAO,YAAYr1B,EAAQswB,CAAI,CACnD,CAAiB,EAEItwB,KACDA,GAAU,OAASA,GAAU,UACzByvB,EACAA,EAAU,UAAU4F,EAAO,YAAa,CAAA,EAExC,SAAS,YAAY,MAAM,GAEnCA,EAAO,YAAYr1B,CAAM,GAE7B6/B,EAAY,WAAW,MAAM,QAAU,OACvCE,EAAS,GACL//B,GAAU,sBACVq1B,EAAO,MAAK,CAC5B,EACQwK,EAAc1Y,EAAI,SAAS,CAAC,MACxB,CACI,MAAO,kBACP,aAAc,SAAU9xB,EAAG,CACvB+pC,EAAO,OACP/pC,EAAE,gBAAe,EACjBA,EAAE,eAAc,EAChBggC,EAAO,UAAU,OACpB,EACD,WAAY,SAAUhgC,EAAG,CACrBA,EAAE,gBAAe,EACjBA,EAAE,eAAc,EAChB+qC,EAAY/qC,CAAC,CAChB,EACD,QAAS+qC,CACZ,EACD,CAAC,MAAM,EACP,CAAC,OAAQ,CAAE,MAAO,oBAAqB,OAAQ,MAAQ,EAAE,KAAK,CAC1E,EAAW/K,EAAO,SAAS,CACtB,CACD,SAASgL,GAAkB,CACvB,GAAI,CAAChL,EAAO,UAAU,kBAAkB,EAAG,CACnCwK,GACAS,IAEJ,MACH,CACIT,GACDC,IACJ,IAAIjK,EAASR,EAAO,UAAU,OAC1BkL,EAAUlL,EAAO,SAAS,wBAAwBQ,EAAO,IAAKA,EAAO,MAAM,EAC3E2K,EAAanL,EAAO,SAAS,wBAAwB,EAAG,CAAC,EAAE,MAC3DoL,EAAapL,EAAO,SAAS,WAC7BjB,EAAOiB,EAAO,UAAU,sBAAqB,EACjDwK,EAAY,MAAM,IAAMU,EAAQ,MAAQnM,EAAK,IAAM,EAAI,KACnDmM,EAAQ,MAAQnM,EAAK,KAAOA,EAAK,MAAQ,IACzCyL,EAAY,MAAM,KAAO,GACzBA,EAAY,MAAM,MAAQ,SAG1BA,EAAY,MAAM,MAAQ,GAC1BA,EAAY,MAAM,KAAOW,EAAaC,EAAarM,EAAK,KAAO,MAEnEyL,EAAY,MAAM,QAAU,GAC5BA,EAAY,WAAW,MAAM,QAAU,OACvCxK,EAAO,GAAG,QAASiL,CAAe,CACrC,CACD,SAASA,EAAgBjrC,EAAG,CACpBwqC,IACAA,EAAY,MAAM,QAAU,QAChCxK,EAAO,IAAI,QAASiL,CAAe,CACtC,CACD,SAASI,GAAgB,CACrBnB,EAAiB,KACjB,aAAaA,CAAc,EAC3B,IAAIvT,EAAQqJ,EAAO,UAAU,SAAQ,EACjCC,EAActJ,EAAM,SAASuJ,EAAI,IAAKA,EAAI,MAAM,GAChDvJ,EAAM,WAAa,CAACsJ,KACpBD,EAAO,UAAU,eAAeE,CAAG,EACnCF,EAAO,UAAU,cAErB+J,EAAO,OACPiB,GACH,CACD,SAASM,GAAwB,CAC7BpB,EAAiB,KACjB,aAAaA,CAAc,EAC3BlK,EAAO,UAAU,eAAeE,CAAG,EACnC,IAAIvJ,EAAQkT,GAAc,EACpB7J,EAAO,UAAU,aAAaE,EAAI,GAAG,EACrCF,EAAO,QAAQ,gBAAgBE,CAAG,EACpCvJ,GAAS,CAACA,EAAM,UAChBqJ,EAAO,UAAU,SAASrJ,CAAK,EAG/BqJ,EAAO,UAAU,aAErB+J,EAAO,MACV,CACDtqC,EAAM,YAAY2M,EAAI,cAAe,SAAUpM,EAAG,CAC9C,GAAKuqC,EAEL,KAAIgB,EAAWvL,EAAO,UAAU,WAAU,EAC1CuL,EAAS,MAAK,EACjB,EAAEvL,CAAM,EACTvgC,EAAM,YAAY2M,EAAI,aAAc,SAAUpM,EAAG,CAC7C,IAAIwrC,EAAUxrC,EAAE,QAChB,GAAIkqC,GAAkBsB,EAAQ,OAAS,EAAG,CACtC,aAAatB,CAAc,EAC3BA,EAAiB,KACjBF,EAAc,GACdD,EAAO,OACP,MACH,CACDQ,EAAUvK,EAAO,cAAc,eAAiB,GAChD,IAAIyL,EAAIzL,EAAO,SAAS,YAAY,WAChC0L,EAAI1L,EAAO,SAAS,YAAY,WAChC3D,EAAIr8B,EAAE,UACViqC,EAAQ5N,EACR,IAAIsP,EAAWH,EAAQ,CAAC,EACpB/2C,EAAIk3C,EAAS,QACbj3C,EAAIi3C,EAAS,QACb,KAAK,IAAIvS,EAAS3kC,CAAC,EAAI,KAAK,IAAI4kC,EAAS3kC,CAAC,EAAI+2C,IAC9CzB,EAAc,IAClB5Q,EAASp5B,EAAE,QAAUvL,EACrB4kC,EAASr5B,EAAE,QAAUtL,EACrB21C,EAAKC,EAAK,EACV,IAAIrrC,EAAK,IAAIynC,EAAW1mC,EAAGggC,CAAM,EAEjC,GADAE,EAAMjhC,EAAG,sBACLo9B,EAAI2N,EAAc,KAAOwB,EAAQ,QAAU,GAAK,CAACpB,EACjDP,IACA7pC,EAAE,eAAc,EAChBA,EAAE,OAAS,EACXsrC,QAEC,CACDzB,EAAa,EACb,IAAIrJ,EAASR,EAAO,UAAU,OAC1BO,EAASP,EAAO,UAAU,QAAS,EAAGQ,EAASR,EAAO,UAAU,OAChE4L,EAAY5L,EAAO,SAAS,aAAa,iBAAiBQ,EAAQ,EAAI,EACtEqL,EAAY7L,EAAO,SAAS,aAAa,iBAAiBO,EAAQ,EAAI,EACtExB,EAAOiB,EAAO,SAAS,SAAS,sBAAqB,EACrD8L,EAAY9L,EAAO,SAAS,YAAY,OACxC+L,EAAa/L,EAAO,SAAS,WAC7BgM,EAAmB,SAAUv3C,GAAGC,GAAG,CACnC,OAAAD,GAAIA,GAAIi3C,EACRh3C,GAAIA,GAAI+2C,EAAI,IACLh3C,GAAIA,GAAIC,GAAIA,EACnC,EACY,GAAIsL,EAAE,QAAU++B,EAAK,KAAM,CACvBgL,EAAO,OACP,MACH,CACD,IAAIkC,EAAQD,EAAiBhsC,EAAE,QAAU++B,EAAK,KAAO6M,EAAU,KAAOG,EAAY/rC,EAAE,QAAU++B,EAAK,IAAM6M,EAAU,IAAME,CAAS,EAC9HI,GAAQF,EAAiBhsC,EAAE,QAAU++B,EAAK,KAAO8M,EAAU,KAAOE,EAAY/rC,EAAE,QAAU++B,EAAK,IAAM8M,EAAU,IAAMC,CAAS,EAC9HG,EAAQ,KAAOC,GAAQ,MACvBnC,EAAOkC,EAAQC,GAAQ,SAAW,UAClCA,GAAQ,IACRnC,EAAO,SACFkC,EAAQ,IACblC,EAAO,SAEPA,EAAO,SACXG,EAAiB,WAAWmB,EAAe,GAAG,CACjD,CACDrB,EAAc3N,CACjB,EAAE2D,CAAM,EACTvgC,EAAM,YAAY2M,EAAI,WAAY,SAAUpM,EAAG,CAC3CuqC,EAAUvK,EAAO,cAAc,eAAiB,GAC5CmK,GACA,cAAcA,CAAc,EAC5BJ,GAAQ,QACRA,EAAO,GACPK,EAAiB,GAEZF,GACLlK,EAAO,UAAU,eAAeE,CAAG,EACnCkK,EAAiB,EACjBY,KAEKjB,GAAQ,UACboC,IACAlB,KAGAD,IAEJ,aAAad,CAAc,EAC3BA,EAAiB,IACpB,EAAElK,CAAM,EACTvgC,EAAM,YAAY2M,EAAI,YAAa,SAAUpM,EAAG,CACxCkqC,IACA,aAAaA,CAAc,EAC3BA,EAAiB,MAErB,IAAIsB,EAAUxrC,EAAE,QAChB,GAAI,EAAAwrC,EAAQ,OAAS,GAAKzB,GAAQ,QAElC,KAAI4B,EAAWH,EAAQ,CAAC,EACpBY,EAAShT,EAASuS,EAAS,QAC3BU,EAAShT,EAASsS,EAAS,QAC/B,GAAI5B,GAAQ,OACR,GAAIqC,EAASA,EAASC,EAASA,EAAS,EACpCtC,EAAO,aAEP,QAAO/pC,EAAE,iBAEjBo5B,EAASuS,EAAS,QAClBtS,EAASsS,EAAS,QAClB3rC,EAAE,QAAU2rC,EAAS,QACrB3rC,EAAE,QAAU2rC,EAAS,QACrB,IAAItP,EAAIr8B,EAAE,UACN45B,EAAKyC,EAAI4N,EAEb,GADAA,EAAQ5N,EACJ0N,GAAQ,SAAU,CAClB,IAAIpF,EAAa,IAAI+B,EAAW1mC,EAAGggC,CAAM,EACzC2E,EAAW,MAAQ,EACnBA,EAAW,OAASyH,EACpBzH,EAAW,OAAS0H,EAChB,GAAK,KAAK,IAAID,CAAM,EAAI,KAAK,IAAIC,CAAM,IACvCD,EAAS,GACT,GAAK,KAAK,IAAIC,CAAM,EAAI,KAAK,IAAID,CAAM,IACvCC,EAAS,GACTzS,GAAM,IACNyQ,EAAK+B,EAASxS,EACd0Q,EAAK+B,EAASzS,GAElBoG,EAAO,MAAM,aAAc2E,CAAU,EAChCA,EAAW,qBACZ0F,EAAKC,EAAK,EAEjB,KACI,CACD,IAAIrrC,EAAK,IAAIynC,EAAW1mC,EAAGggC,CAAM,EAC7BE,EAAMjhC,EAAG,sBACT8qC,GAAQ,SACR/J,EAAO,UAAU,qBAAqBE,CAAG,EACpC6J,GAAQ,UACb/J,EAAO,UAAU,mBAAmBE,EAAI,IAAKA,EAAI,MAAM,EAC3DF,EAAO,SAAS,qBAAqBE,CAAG,EACxClgC,EAAE,eAAc,CACnB,EACJ,EAAEggC,CAAM,EACT,SAASmM,GAAU,CACf/B,GAAkB,GAClBD,EAAiB,YAAY,UAAY,CACjCC,KAAoB,IACpB,cAAcD,CAAc,EAC5BA,EAAiB,MAEjB,KAAK,IAAIE,CAAE,EAAI,MACfA,EAAK,GACL,KAAK,IAAIC,CAAE,EAAI,MACfA,EAAK,GACLF,EAAiB,KACjBC,EAAK,GAAMA,GACXD,EAAiB,KACjBE,EAAK,GAAMA,GACf,IAAIgC,EAAetM,EAAO,QAAQ,aAAY,EAC9CA,EAAO,SAAS,SAAS,GAAKqK,EAAI,GAAKC,CAAE,EACrCgC,GAAgBtM,EAAO,QAAQ,aAAc,IAC7CoK,EAAiB,EACxB,EAAE,EAAE,CACR,CACL,CAEA,CAAC,EAED,IAAI,OAAO,0BAA0B,CAAC,UAAU,UAAU,SAAS,gBAAgB,oBAAoB,6BAA6B,mCAAmC,wBAAwB,6BAA6B,0BAA0B,YAAY,EAAG,SAAS7c,EAASM,EAASd,EAAO,CACvS,IAAIttB,EAAQ8tB,EAAQ,cAAc,EAC9B2C,EAAY3C,EAAQ,kBAAkB,EACtCuS,EAAkBvS,EAAQ,oBAAoB,EAAE,gBAChDgf,EAAuBhf,EAAQ,0BAA0B,EAAE,cAC3DmZ,EAAanZ,EAAQ,eAAe,EAAE,WACtC0Z,EAAkB1Z,EAAQ,oBAAoB,EAAE,gBAChDif,EAAoBjf,EAAQ,iBAAiB,EAAE,kBAC/C+H,EAAS/H,EAAQ,WAAW,EAC5Bkf,EAA8B,UAAY,CAC1C,SAASA,EAAazM,EAAQ,CAAE,KAAK,WAAY,KAAK,aAAc,KAAK,YAAa,KAAK,WAAY,KAAK,cACxG,IAAIpQ,EAAQ,KACZ,KAAK,OAASoQ,EACd,IAAIF,EAAgB,IAAI,EACxB,IAAIyM,EAAqB,IAAI,EAC7B,IAAItF,EAAgB,IAAI,EACxB,IAAIyF,EAAc,SAAU1sC,EAAG,CAC3B,IAAI2sC,EAAgB,CAAC,SAAS,UAAY,CAAC,SAAS,SAAU,GACvD,CAAC3M,EAAO,aAAe,SAAS,gBAAkBA,EAAO,WAAaA,EAAO,UAAU,WAAY,GACtG2M,GACA,OAAO,MAAK,EAChB3M,EAAO,MAAK,EACZ,WAAW,UAAY,CACdA,EAAO,UAAW,GACnBA,EAAO,MAAK,CAChC,CAAa,CACb,EACYmH,EAAcnH,EAAO,SAAS,oBAAmB,EACrDvgC,EAAM,YAAY0nC,EAAa,QAAS,KAAK,aAAa,KAAK,KAAM,OAAO,EAAGnH,CAAM,EACrFvgC,EAAM,YAAY0nC,EAAa,YAAa,KAAK,YAAY,KAAK,KAAM,WAAW,EAAGnH,CAAM,EAC5FvgC,EAAM,0BAA0B,CAC5B0nC,EACAnH,EAAO,SAAS,YAAcA,EAAO,SAAS,WAAW,MACzDA,EAAO,SAAS,YAAcA,EAAO,SAAS,WAAW,MACzDA,EAAO,WAAaA,EAAO,UAAU,WAAY,CACpD,EAAC,OAAO,OAAO,EAAG,CAAC,IAAK,IAAK,GAAG,EAAG,KAAM,eAAgBA,CAAM,EAChEvgC,EAAM,sBAAsBugC,EAAO,UAAW,KAAK,aAAa,KAAK,KAAM,YAAY,EAAGA,CAAM,EAChGwM,EAAkBxM,EAAO,UAAWA,CAAM,EAC1C,IAAI4M,EAAW5M,EAAO,SAAS,QAC/BvgC,EAAM,YAAYmtC,EAAU,YAAa,KAAK,aAAa,KAAK,KAAM,iBAAiB,EAAG5M,CAAM,EAChGvgC,EAAM,YAAYmtC,EAAU,QAAS,KAAK,aAAa,KAAK,KAAM,aAAa,EAAG5M,CAAM,EACxFvgC,EAAM,YAAYmtC,EAAU,WAAY,KAAK,aAAa,KAAK,KAAM,gBAAgB,EAAG5M,CAAM,EAC9FvgC,EAAM,YAAYmtC,EAAU,YAAa,KAAK,aAAa,KAAK,KAAM,iBAAiB,EAAG5M,CAAM,EAChGvgC,EAAM,YAAY0nC,EAAa,YAAauF,EAAa1M,CAAM,EAC/DvgC,EAAM,YAAYmtC,EAAU,YAAaF,EAAa1M,CAAM,EACxD9P,EAAU,MAAQ8P,EAAO,SAAS,aAClCvgC,EAAM,YAAYugC,EAAO,SAAS,WAAW,QAAS,YAAa0M,EAAa1M,CAAM,EACtFvgC,EAAM,YAAYugC,EAAO,SAAS,WAAW,QAAS,YAAa0M,EAAa1M,CAAM,GAE1FA,EAAO,GAAG,YAAa,SAAUhgC,EAAG,CAChC,GAAI,EAAA4vB,EAAM,OAASA,EAAM,YAAc,CAACA,EAAM,cAE9C,KAAIp+B,EAAYwuC,EAAO,SAAS,wBAAwBhgC,EAAE,EAAGA,EAAE,CAAC,EAC5D22B,EAAQqJ,EAAO,QAAQ,UAAU,SAAQ,EACzChjC,EAAWgjC,EAAO,SAClB,CAACrJ,EAAM,QAAO,GAAMA,EAAM,YAAYnlC,EAAU,IAAKA,EAAU,MAAM,EACrEwL,EAAS,eAAe,SAAS,EAGjCA,EAAS,eAAe,EAAE,EAEjC,EACDgjC,CAAM,CACT,CACD,OAAAyM,EAAa,UAAU,aAAe,SAAUr9C,EAAM4Q,EAAG,CAChD,KAAK,OAAO,SAEjB,KAAK,OAAO,MAAM5Q,EAAM,IAAIs3C,EAAW1mC,EAAG,KAAK,MAAM,CAAC,CAC9D,EACIysC,EAAa,UAAU,YAAc,SAAUr9C,EAAM4Q,EAAG,CACpD,IAAI4yB,EAAY,KAAK,OAAO,gBAAkB,KAAK,OAAO,eAAe,UACrE,CAACA,GAAa,CAACA,EAAU,QAE7B,KAAK,OAAO,MAAMxjC,EAAM,IAAIs3C,EAAW1mC,EAAG,KAAK,MAAM,CAAC,CAC9D,EACIysC,EAAa,UAAU,aAAe,SAAUr9C,EAAM4Q,EAAG,CACrD,IAAI2kC,EAAa,IAAI+B,EAAW1mC,EAAG,KAAK,MAAM,EAC9C2kC,EAAW,MAAQ,KAAK,aAAe,EACvCA,EAAW,OAAS3kC,EAAE,OACtB2kC,EAAW,OAAS3kC,EAAE,OACtB,KAAK,OAAO,MAAM5Q,EAAMu1C,CAAU,CAC1C,EACI8H,EAAa,UAAU,SAAW,SAAUliD,EAAO,CAC/C,KAAK,MAAQA,CACrB,EACIkiD,EAAa,UAAU,aAAe,SAAUxtC,EAAI4tC,EAAkB,CAClE,KAAK,EAAI5tC,EAAG,EACZ,KAAK,EAAIA,EAAG,EACZ,KAAK,eAAiB,GACtB,IAAI+gC,EAAS,KAAK,OACdhjC,EAAW,KAAK,OAAO,SAC3BA,EAAS,gBAAkB,GAC3B,IAAI6qC,EAAO,KACPpuB,EAAc,SAAUzZ,EAAG,CAC3B,GAAKA,EAEL,IAAIkwB,EAAU,UAAY,CAAClwB,EAAE,OAAS6nC,EAAK,aACvC,OAAOA,EAAK,eAChBA,EAAK,EAAI7nC,EAAE,QACX6nC,EAAK,EAAI7nC,EAAE,QACX6sC,GAAoBA,EAAiB7sC,CAAC,EACtC6nC,EAAK,WAAa,IAAInB,EAAW1mC,EAAG6nC,EAAK,MAAM,EAC/CA,EAAK,YAAc,GAC/B,EACYiF,EAAe,SAAU9sC,EAAG,CAC5BggC,EAAO,IAAI,qBAAsB+M,CAAc,EAC/C,cAAc1F,CAAO,EACjBrH,EAAO,SACPgN,IACJnF,EAAKA,EAAK,MAAQ,KAAK,GAAKA,EAAKA,EAAK,MAAQ,KAAK,EAAE7nC,CAAC,EACtD6nC,EAAK,MAAQ,GACbA,EAAK,eAAiB7qC,EAAS,gBAAkB,GAC7CA,EAAS,uBACTA,EAAS,sBAAqB,EAClC6qC,EAAK,oBAAsBA,EAAK,aAAe,KAC/C7nC,GAAK6nC,EAAK,aAAa,UAAW7nC,CAAC,EACnCggC,EAAO,aAAY,CAC/B,EACYgN,EAAoB,UAAY,CAChCnF,EAAKA,EAAK,KAAK,GAAKA,EAAKA,EAAK,KAAK,IACnCA,EAAK,YAAc,EAC/B,EACQ,GAAI3X,EAAU,SAAWjxB,EAAG,SAAS,MAAQ,WACzC,OAAO,WAAW,UAAY,CAAE6tC,EAAa7tC,CAAE,CAAI,CAAA,EAEvD,IAAI8tC,EAAiB,SAAU/sC,EAAG,CACzB6nC,EAAK,cAEN7H,EAAO,MAAM,QAAQ,MAAQA,EAAO,MAAM,mBAC1C6H,EAAKA,EAAK,MAAQ,KAAK,GAAKA,EAAKA,EAAK,MAAQ,KAAK,IACnDA,EAAK,MAAQ,GACbA,EAAK,aAAY,EAEjC,EACQ7H,EAAO,GAAG,qBAAsB+M,CAAc,EAC9C/M,EAAO,eAAe,CAAE,QAAS,CAAE,KAAM,OAAS,CAAA,CAAE,EACpD6H,EAAK,oBAAsBpuB,EAC3BouB,EAAK,aAAepoC,EAAM,QAAQ,KAAK,OAAO,UAAWga,EAAaqzB,CAAY,EAClF,IAAIzF,EAAU,YAAY2F,EAAmB,EAAE,CACvD,EACIP,EAAa,UAAU,kBAAoB,UAAY,CACnD,IAAIQ,GAAO,SAAUjtC,EAAG,CAChBA,GAAKA,EAAE,UAAYA,EAAE,SAAS,MAAQ,gBAE1C,KAAK,OAAO,IAAI,oBAAqBitC,CAAI,EACrCjtC,GAAKA,EAAE,UACPP,EAAM,UAAUO,EAAE,QAAQ,EAC1C,GAAU,KAAK,IAAI,EACX,WAAWitC,EAAM,EAAE,EACnB,KAAK,OAAO,GAAG,oBAAqBA,CAAI,CAChD,EACIR,EAAa,UAAU,QAAU,UAAY,CACrC,KAAK,cACL,KAAK,aAAY,CAC7B,EACWA,CACV,EAAA,EACDA,EAAa,UAAU,aAAe,KACtCnX,EAAO,cAAcmX,EAAa,UAAW,eAAgB,CACzD,YAAa,CAAE,aAAc,CAAG,EAChC,UAAW,CAAE,aAAevc,EAAU,MAAQ,IAAM,CAAI,EACxD,YAAa,CAAE,aAAc,EAAM,EACnC,aAAc,CAAE,aAAc,CAAG,EACjC,oBAAqB,CAAE,aAAc,EAAM,CAC/C,CAAC,EACDrC,EAAQ,aAAe4e,CAEvB,CAAC,EAED,IAAI,OAAO,yBAAyB,CAAC,UAAU,UAAU,SAAS,aAAa,EAAG,SAASlf,EAASM,EAASd,EAAO,CACpH,IAAI+E,EAAMvE,EAAQ,YAAY,EAC1B2f,EAA6B,UAAY,CACzC,SAASA,EAAYlN,EAAQ,CACzBA,EAAO,GAAG,QAAS,SAAUhgC,EAAG,CAC5B,IAAIlP,EAAWkP,EAAE,sBACbg3B,EAAUgJ,EAAO,QACjB0F,EAAO1O,EAAQ,UAAUlmC,EAAS,IAAKA,EAAS,OAAQ,CAAC,EACzD40C,IACI1lC,EAAE,YAAa,EACfg3B,EAAQ,WAAW0O,CAAI,EAEvB1O,EAAQ,WAAW0O,CAAI,EAC3B1lC,EAAE,KAAI,GAEV,IAAId,EAASc,EAAE,UAAYA,EAAE,SAAS,OAClCd,GAAU4yB,EAAI,YAAY5yB,EAAQ,mBAAmB,GACjD4yB,EAAI,YAAY5yB,EAAQ,iBAAiB,IACzC83B,EAAQ,UAAU,OAAQ,CAACA,EAAQ,eAAgB,CAAA,EACnDgJ,EAAO,SAAS,uBAGpC,CAAS,EACDA,EAAO,GAAG,cAAe,SAAUhgC,EAAG,CAClC,IAAIykC,EAAezE,EAAO,SAAS,aAAa,UAAUhgC,CAAC,EAC3D,GAAIykC,GAAgB,cAAe,CAC/B,IAAI7N,EAAM52B,EAAE,oBAAmB,EAAG,IAC9Bg3B,EAAUgJ,EAAO,QACjBhJ,EAAQ,aAAeA,EAAQ,YAAYJ,CAAG,GAC9CoJ,EAAO,QAAQ,kBAAkBpJ,EAAK52B,CAAC,EACtCggC,EAAO,UAAW,GACnBA,EAAO,MAAK,EAChBhgC,EAAE,KAAI,CACT,CACb,CAAS,EACDggC,EAAO,GAAG,iBAAkB,SAAUhgC,EAAG,CACrC,IAAIykC,EAAezE,EAAO,SAAS,aAAa,UAAUhgC,CAAC,EAC3D,GAAIykC,GAAgB,cAAe,CAC/B,IAAI7N,EAAM52B,EAAE,oBAAmB,EAAG,IAC9Bg3B,EAAUgJ,EAAO,QACjBr6B,EAAOqxB,EAAQ,uBAAuBJ,EAAK,EAAI,EAC/CD,EAAQhxB,EAAK,OAASA,EAAK,WAC/B,GAAIgxB,EAAO,CACPC,EAAMD,EAAM,MAAM,IAClB,IAAI+O,EAAO1O,EAAQ,UAAUJ,EAAKI,EAAQ,QAAQJ,CAAG,EAAE,OAAQ,CAAC,EAC5D8O,EACA1O,EAAQ,WAAW0O,CAAI,GAGvB1O,EAAQ,QAAQ,MAAOL,CAAK,EAC5BqJ,EAAO,SAAS,qBAAqB,CAAE,IAAKrJ,EAAM,MAAM,IAAK,OAAQ,CAAC,CAAE,EAE/E,CACD32B,EAAE,KAAI,CACT,CACb,CAAS,CACJ,CACD,OAAOktC,CACV,EAAA,EACDrf,EAAQ,YAAcqf,CAEtB,CAAC,EAED,IAAI,OAAO,0BAA0B,CAAC,UAAU,UAAU,SAAS,eAAe,eAAe,EAAG,SAAS3f,EAASM,EAASd,EAAO,CACtI,IAAIogB,EAAU5f,EAAQ,aAAa,EAC/B9tB,EAAQ8tB,EAAQ,cAAc,EAC9B6f,EAA4B,UAAY,CACxC,SAASA,EAAWpN,EAAQ,CACxB,KAAK,QAAUA,EACf,KAAK,MAAQ,CAAE,OAAQA,CAAM,EAC7B,KAAK,UAAY,GACjB,KAAK,kBAAkBA,EAAO,QAAQ,CACzC,CACD,OAAAoN,EAAW,UAAU,kBAAoB,SAAUC,EAAI,CACnD,KAAK,sBAAsB,KAAK,eAAe,EAC/C,KAAK,gBAAkBA,EACvB,KAAK,mBAAmBA,EAAI,CAAC,CACrC,EACID,EAAW,UAAU,mBAAqB,SAAUC,EAAI,CACpD,IAAI5B,EAAI,KAAK,UACb,GAAIA,EAAEA,EAAE,OAAS,CAAC,GAAK4B,EAEvB,MAAO5B,EAAEA,EAAE,OAAS,CAAC,GAAKA,EAAEA,EAAE,OAAS,CAAC,GAAK,KAAK,iBAC9C,KAAK,sBAAsBA,EAAEA,EAAE,OAAS,CAAC,CAAC,EAC9C,KAAK,mBAAmB4B,EAAI,CAAC,EACrC,EACID,EAAW,UAAU,mBAAqB,SAAUC,EAAInN,EAAK,CACzD,GAAKmN,EAEL,CAAI,OAAOA,GAAM,YAAc,CAACA,EAAG,iBAC/BA,EAAG,eAAiBA,GACxB,IAAIrpD,EAAI,KAAK,UAAU,QAAQqpD,CAAE,EAC7BrpD,GAAK,IACL,KAAK,UAAU,OAAOA,EAAG,CAAC,EAC1Bk8C,GAAO,KACP,KAAK,UAAU,KAAKmN,CAAE,EAEtB,KAAK,UAAU,OAAOnN,EAAK,EAAGmN,CAAE,EAChCrpD,GAAK,IAAMqpD,EAAG,QACdA,EAAG,OAAO,KAAK,OAAO,EAClC,EACID,EAAW,UAAU,sBAAwB,SAAUC,EAAI,CACvD,IAAIrpD,EAAI,KAAK,UAAU,QAAQqpD,CAAE,EACjC,OAAIrpD,GAAK,GACE,IACX,KAAK,UAAU,OAAOA,EAAG,CAAC,EAC1BqpD,EAAG,QAAUA,EAAG,OAAO,KAAK,OAAO,EAC5B,GACf,EACID,EAAW,UAAU,mBAAqB,UAAY,CAClD,OAAO,KAAK,UAAU,KAAK,UAAU,OAAS,CAAC,CACvD,EACIA,EAAW,UAAU,cAAgB,UAAY,CAC7C,IAAIznC,EAAO,KAAK,MACZq6B,EAASr6B,EAAK,OAClB,OAAO,KAAK,UAAU,IAAI,SAAU8lC,EAAG,CACnC,OAAOA,EAAE,eAAiBA,EAAE,cAAczL,EAAQr6B,CAAI,GAAK,EAC9D,CAAA,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,CACnC,EACIynC,EAAW,UAAU,sBAAwB,SAAUzT,EAAQhC,EAAWD,EAAS13B,EAAG,CAIlF,QAHIstC,EACAC,EAAU,GACVC,EAAW,KAAK,QAAQ,SACnBxpD,EAAI,KAAK,UAAU,OAAQA,MAChCspD,EAAY,KAAK,UAAUtpD,CAAC,EAAE,eAC9B,KAAK,MAAO21C,EAAQhC,EAAWD,EAAS13B,CAAC,EACrC,KAACstC,GAAa,CAACA,EAAU,WAEzBA,EAAU,SAAW,OACrBC,EAAU,GAGVA,EAAUC,EAAS,KAAKF,EAAU,QAAS,KAAK,QAASA,EAAU,KAAMttC,CAAC,EAE1EutC,GAAWvtC,GAAK25B,GAAU,IAC1B2T,EAAU,WAAgB,IAAQA,EAAU,QAAQ,WAAgB,IACpE7tC,EAAM,UAAUO,CAAC,EAEjButC,MAZJ,CAeJ,MAAI,CAACA,GAAW5T,GAAU,KACtB2T,EAAY,CAAE,QAAS,gBACvBC,EAAUC,EAAS,KAAK,eAAgB,KAAK,QAAS7V,CAAS,GAE/D4V,GAAW,KAAK,QAAQ,SACxB,KAAK,QAAQ,QAAQ,mBAAoBD,CAAS,EAC/CC,CACf,EACIH,EAAW,UAAU,aAAe,SAAUptC,EAAG25B,EAAQjC,EAAS,CAC9D,IAAIC,EAAYwV,EAAQ,gBAAgBzV,CAAO,EAC/C,OAAO,KAAK,sBAAsBiC,EAAQhC,EAAWD,EAAS13B,CAAC,CACvE,EACIotC,EAAW,UAAU,YAAc,SAAUnS,EAAM,CAC/C,OAAO,KAAK,sBAAsB,GAAIA,CAAI,CAClD,EACWmS,CACV,EAAA,EACDvf,EAAQ,WAAauf,CAErB,CAAC,EAED,IAAI,OAAO,mBAAmB,CAAC,UAAU,UAAU,QAAQ,EAAG,SAAS7f,EAASM,EAASd,EAAO,CAGhG,IAAIhwB,EAAM,EAAG0wC,EAAU,EACnBC,EAAa,GAA2BC,EAAY,GAAOC,EAAY,GACvEC,EAAa,CAAE,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,GAAM,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,GAAM,GAAM,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CACnK,EACIC,EAAa,CAAE,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,GAAM,EAAG,EAAG,CAAC,CAC/G,EACIC,EAAM,EAAGC,EAAM,EACfC,EAAI,EACJC,EAAI,EACJC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAI,EACJC,EAAI,EACJC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,GACLC,EAAK,GACLC,EAAM,GACNC,EAAM,GACNC,EAAM,GACNC,EAAM,GACNC,EAAM,GACNC,EAAM,GACNC,EAAK,GACLC,EAAe,CACfD,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIZ,EAAGD,EAAGC,EAAGE,EAAIH,EAAGa,EAAIA,EACxDA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIb,EAAGA,EAAGA,EAAGC,EACzDE,EAAIJ,EAAIA,EAAIO,EAAIA,EAAIA,EAAIP,EAAIA,EAAIA,EAAIA,EAAIA,EAAIM,EAAID,EAAIC,EAAID,EAAIA,EAC5DP,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIO,EAAIL,EAAIA,EAAIA,EAAIA,EAAIA,EAC5DA,EAAIJ,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAC9CA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGI,EAAIA,EAAIA,EAAIA,EAAIA,EACjDA,EAAIJ,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAC9CA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGA,EAAGI,EAAIA,EAAIA,EAAIA,EAAIc,EACjDA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIb,EAAGa,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAC3DA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAC5DT,EAAIL,EAAIO,EAAIA,EAAIA,EAAIA,EAAIP,EAAIA,EAAIA,EAAIA,EAAIJ,EAAGI,EAAIA,EAAIc,EAAId,EAAIA,EAC3DO,EAAIA,EAAIT,EAAIA,EAAIE,EAAIJ,EAAGI,EAAIA,EAAIA,EAAIF,EAAIF,EAAGI,EAAIA,EAAIA,EAAIA,EAAIA,CAC9D,EACIgB,EAAe,CACfZ,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIU,EAAIA,EAAIA,EAAIlB,EAAGC,EAC3DG,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAC5DA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAII,EAAIH,EAAGQ,EAAKC,EAAKC,EAAKC,EAAKC,EAAKR,EAChEE,EAAIA,EAAIA,EAAIA,EAAIA,EAAIP,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAC5DA,EAAIA,EAAIA,EAAIA,EAAIK,EAAIL,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAC5DA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAIA,EAAII,CAChE,EACA,SAASa,EAAeC,EAAOC,EAAQtlD,EAAKulD,EAAW,CACnD,IAAIC,EAAS3yC,EAAM+wC,EAAaD,EAAY8B,EAAY,KAAMC,EAAW,KAAMC,EAAW,KAAMC,EAAW,EAAGnlC,GAAS,KAAMolC,GAAO,KAAMC,GAAU,GAAIhsD,GAAI,KAAMisD,GAAK,KAAMpwB,GAAU,CAAA,EACvL,GAAI,CAAC4vB,EACD,IAAKzrD,GAAI,EAAGyrD,EAAY,CAAE,EAAEzrD,GAAIkG,EAAKlG,KACjCyrD,EAAUzrD,EAAC,EAAIksD,EAAkBX,EAAMvrD,EAAC,CAAC,EAQjD,IALAypD,EAAU1wC,EACV2wC,EAAa,GAEbC,EAAY,GACZC,EAAY,GACPqC,GAAK,EAAGA,GAAK/lD,EAAK+lD,KAAM,CAOzB,GANAN,EAAYG,EACZjwB,GAAQowB,EAAE,EAAIL,EAAWO,EAAcZ,EAAOE,EAAW5vB,GAASowB,EAAE,EACpEH,EAAWJ,EAAOC,CAAS,EAAEC,CAAQ,EACrCjlC,GAASmlC,EAAW,IACpBA,GAAY,GACZN,EAAOS,EAAE,EAAIJ,EAAWH,EAAOI,CAAQ,EAAE,CAAC,EACtCnlC,GAAS,EACT,GAAIA,IAAU,GAAM,CAChB,IAAK3mB,GAAIgsD,GAAShsD,GAAIisD,GAAIjsD,KACtBwrD,EAAOxrD,EAAC,EAAI,EAEhBgsD,GAAU,EACb,MAEGA,GAAU,GAIlB,GADAD,GAAOL,EAAOI,CAAQ,EAAE,CAAC,EACrBC,GACIC,IAAW,KACXA,GAAUC,YAIVD,GAAU,GAAI,CACd,IAAKhsD,GAAIgsD,GAAShsD,GAAIisD,GAAIjsD,KACtBwrD,EAAOxrD,EAAC,EAAI6rD,EAEhBG,GAAU,EACb,CAEDP,EAAUQ,EAAE,GAAK3B,IACjBkB,EAAOS,EAAE,EAAI,GAEjBxC,GAAWoC,CACd,CACD,GAAIjC,GACA,IAAK5pD,GAAI,EAAGA,GAAIkG,EAAKlG,KACjB,GAAIyrD,EAAUzrD,EAAC,GAAKuqD,EAAG,CACnBiB,EAAOxrD,EAAC,EAAI+Y,EACZ,QAASxI,GAAIvQ,GAAI,EAAGuQ,IAAK,GACjBk7C,EAAUl7C,EAAC,GAAKk6C,EADIl6C,KAEpBi7C,EAAOj7C,EAAC,EAAIwI,CAMvB,EAGZ,CACD,SAASqzC,EAAaC,EAAKb,EAAQc,EAAQ,CACvC,GAAI,EAAA7C,EAAU4C,GAGd,IAAIA,GAAO,GAAKtzC,GAAOixC,GAAO,CAACL,EAAW,CACtC2C,EAAO,QAAO,EACd,MACH,CAED,QADIpmD,EAAMomD,EAAO,OAAQzpD,EAAQ,EAAGC,EAAKypD,EAAIC,EAAIC,EAC1C5pD,EAAQqD,GAAK,CAChB,GAAIslD,EAAO3oD,CAAK,GAAKwpD,EAAK,CAEtB,IADAvpD,EAAMD,EAAQ,EACPC,EAAMoD,GAAOslD,EAAO1oD,CAAG,GAAKupD,GAC/BvpD,IAEJ,IAAKypD,EAAK1pD,EAAO2pD,EAAK1pD,EAAM,EAAGypD,EAAKC,EAAID,IAAMC,IAC1CC,EAAMH,EAAOC,CAAE,EACfD,EAAOC,CAAE,EAAID,EAAOE,CAAE,EACtBF,EAAOE,CAAE,EAAIC,EAEjB5pD,EAAQC,CACX,CACDD,GACH,EACJ,CACD,SAASspD,EAAcZ,EAAOjG,EAAOzpB,EAASowB,EAAI,CAC9C,IAAIS,EAAQpH,EAAM2G,CAAE,EAAGU,EAAOC,EAAO1mD,EAAKlG,EAC1C,OAAQ0sD,EAAK,CACT,KAAKzC,EACL,KAAKC,EACDR,EAAa,GACjB,KAAKW,EACL,KAAKD,EACD,OAAOsC,EACX,KAAKvC,EACD,OAAOT,EAAaU,EAAKD,EAC7B,KAAKK,EACD,OAAAd,EAAa,GAENQ,EACX,KAAKO,EACD,OAAOJ,EACX,KAAKK,EACD,OAAIuB,EAAK,GAAMA,EAAK,GAAM3G,EAAM,SAC1BqH,EAAQ9wB,EAAQowB,EAAK,CAAC,IAAM9B,GAAMwC,GAASvC,IAC3CwC,EAAQtH,EAAM2G,EAAK,CAAC,IAAM9B,GAAMyC,GAASxC,EACpCC,GAEPX,IACAkD,EAAQxC,GAELwC,GAASD,EAAQC,EAAQvC,GACpC,KAAKM,EAED,OADAgC,EAAQV,EAAK,EAAIpwB,EAAQowB,EAAK,CAAC,EAAI3B,EAC/BqC,GAASxC,GAAO8B,EAAK,EAAK3G,EAAM,QAAUA,EAAM2G,EAAK,CAAC,GAAK9B,EACpDA,EAEJE,EACX,KAAKO,EACD,GAAIqB,EAAK,GAAKpwB,EAAQowB,EAAK,CAAC,GAAK9B,EAC7B,OAAOA,EAEX,GAAIT,EACA,OAAOW,EAIX,IAFArqD,EAAIisD,EAAK,EACT/lD,EAAMo/C,EAAM,OACLtlD,EAAIkG,GAAOo/C,EAAMtlD,CAAC,GAAK4qD,GAC1B5qD,IAEJ,OAAIA,EAAIkG,GAAOo/C,EAAMtlD,CAAC,GAAKmqD,EAChBA,EAEJE,EACX,KAAKQ,EAGD,IAFA3kD,EAAMo/C,EAAM,OACZtlD,EAAIisD,EAAK,EACFjsD,EAAIkG,GAAOo/C,EAAMtlD,CAAC,GAAK6qD,GAC1B7qD,IAEJ,GAAIA,EAAIkG,EAAK,CACT,IAAI2mD,GAAItB,EAAMU,CAAE,EAAGa,GAAgBD,IAAK,MAAUA,IAAK,MAAWA,IAAK,MAEvE,GADAF,EAAQrH,EAAMtlD,CAAC,EACX8sD,KAAiBH,GAASzC,GAAKyC,GAASnC,GACxC,OAAON,CAEd,CACD,OAAI+B,EAAK,IAAMU,EAAQrH,EAAM2G,EAAK,CAAC,IAAM3B,EAC9BD,EAEJxuB,EAAQowB,EAAK,CAAC,EACzB,KAAK3B,EACD,OAAAZ,EAAa,GACbC,EAAY,GACL5wC,EACX,KAAKwxC,EACD,OAAAX,EAAY,GACLS,EACX,KAAKS,EACL,KAAKC,EACL,KAAKE,EACL,KAAKC,EACL,KAAKF,EACDtB,EAAa,GACjB,KAAKyB,EACD,OAAOd,CACd,CACJ,CACD,SAAS6B,EAAkB3f,EAAI,CAC3B,IAAIwgB,EAAKxgB,EAAG,WAAW,CAAC,EAAGigB,EAAKO,GAAM,EACtC,OAAIP,GAAM,EACGO,EAAK,IAAU9C,EAAImB,EAAa2B,CAAE,EAEtCP,GAAM,EACH,kBAAkB,KAAKjgB,CAAE,EAAI2d,EAAID,EAEpCuC,GAAM,EACP,yDAAyD,KAAKjgB,CAAE,EACzDse,EACF,+BAA+B,KAAKte,CAAE,EACpC6d,EACF2C,GAAM,KACJnC,EACF,kBAAkB,KAAKre,CAAE,EACvB4d,EAEAK,EAENgC,GAAM,IAAQO,GAAM,KAClB1B,EAAa0B,EAAK,GAAI,EAExBP,GAAM,KACHO,GAAM,MAASvC,EAEpBH,CACV,CAIDxgB,EAAQ,EAAIogB,EACZpgB,EAAQ,EAAIqgB,EACZrgB,EAAQ,GAAKsgB,EACbtgB,EAAQ,KAAO,EACfA,EAAQ,GAAK,EACbA,EAAQ,IAAM,EACdA,EAAQ,EAAI,EACZA,EAAQ,IAAM,EACdA,EAAQ,IAAM,IACdA,EAAQ,cAAgB,SAAUoN,EAAM+V,EAAexkD,EAAO,CAC1D,GAAIyuC,EAAK,OAAS,EACd,MAAO,GACX,IAAIsU,EAAQtU,EAAK,MAAM,EAAE,EAAGgW,EAAoB,IAAI,MAAM1B,EAAM,MAAM,EAAG2B,EAAa,IAAI,MAAM3B,EAAM,MAAM,EAAGC,EAAS,GACxHzyC,EAAMvQ,EAAQwhD,EAAMD,EACpBuB,EAAeC,EAAOC,EAAQD,EAAM,OAAQyB,CAAa,EACzD,QAAShtD,EAAI,EAAGA,EAAIitD,EAAkB,OAAQA,EAAkBjtD,CAAC,EAAIA,EAAGA,IACpE,CACJosD,EAAa,EAAGZ,EAAQyB,CAAiB,EACzCb,EAAa,EAAGZ,EAAQyB,CAAiB,EACzC,QAASjtD,EAAI,EAAGA,EAAIitD,EAAkB,OAAS,EAAGjtD,IAC1CgtD,EAAchtD,CAAC,IAAMoqD,EACrBoB,EAAOxrD,CAAC,EAAI6pC,EAAQ,GAEf2hB,EAAOxrD,CAAC,IAAMkqD,IAAO8C,EAAchtD,CAAC,EAAIwqD,GAAMwC,EAAchtD,CAAC,EAAI8qD,GACnEkC,EAAchtD,CAAC,IAAMqqD,GAAM2C,EAAchtD,CAAC,IAAMmrD,GACnDK,EAAOxrD,CAAC,EAAI6pC,EAAQ,KAEd7pC,EAAI,GAAKurD,EAAMvrD,EAAI,CAAC,IAAM,KAAa,8BAA8B,KAAKurD,EAAMvrD,CAAC,CAAC,IACxFwrD,EAAOxrD,EAAI,CAAC,EAAIwrD,EAAOxrD,CAAC,EAAI6pC,EAAQ,IACpC7pC,KAGJurD,EAAMA,EAAM,OAAS,CAAC,IAAM1hB,EAAQ,MACpC2hB,EAAOD,EAAM,OAAS,CAAC,EAAI1hB,EAAQ,GACnC0hB,EAAM,CAAC,IAAM,MACbC,EAAO,CAAC,EAAI3hB,EAAQ,KACxB,QAAS7pC,EAAI,EAAGA,EAAIitD,EAAkB,OAAQjtD,IAC1CktD,EAAWltD,CAAC,EAAIwrD,EAAOyB,EAAkBjtD,CAAC,CAAC,EAE/C,MAAO,CAAE,kBAAqBitD,EAAmB,WAAcC,CAAU,CAC7E,EACArjB,EAAQ,kBAAoB,SAAUoN,EAAM+V,EAAe,CAEvD,QADIG,EAAM,GACDntD,EAAI,EAAGA,EAAIi3C,EAAK,OAAQj3C,IAC7BgtD,EAAchtD,CAAC,EAAIksD,EAAkBjV,EAAK,OAAOj3C,CAAC,CAAC,EAC/C,CAACmtD,IAAQH,EAAchtD,CAAC,GAAKkqD,GAAK8C,EAAchtD,CAAC,GAAKwqD,GAAMwC,EAAchtD,CAAC,GAAKoqD,KAChF+C,EAAM,IAEd,OAAOA,CACX,EACAtjB,EAAQ,wBAA0B,SAAUujB,EAAQC,EAAQ,CACxD,QAASrtD,EAAI,EAAGA,EAAIqtD,EAAO,kBAAkB,OAAQrtD,IACjD,GAAIqtD,EAAO,kBAAkBrtD,CAAC,GAAKotD,EAC/B,OAAOptD,EAEf,MAAO,EACX,CAEA,CAAC,EAED,IAAI,OAAO,kBAAkB,CAAC,UAAU,UAAU,SAAS,mBAAmB,cAAc,EAAG,SAASupC,EAASM,EAASd,EAAO,CACjI,IAAIukB,EAAW/jB,EAAQ,gBAAgB,EACnC8G,EAAO9G,EAAQ,YAAY,EAC3BgkB,EAAS,kDACTC,EAA6B,UAAY,CACzC,SAASA,EAAYxa,EAAS,CAC1B,KAAK,QAAUA,EACf,KAAK,QAAU,GACf,KAAK,WAAa,KAClB,KAAK,SAAWsa,EAChB,KAAK,WAAa,GAClB,KAAK,IAAM,IACX,KAAK,eAAiB,GACtB,KAAK,SAAW,GAChB,KAAK,OAAS,GACd,KAAK,KAAO,GACZ,KAAK,WAAa,EAClB,KAAK,IAAM,IACX,KAAK,IAAM,IACX,KAAK,aAAe,EACpB,KAAK,YAAc,KACnB,KAAK,cAAgB,EACrB,KAAK,WAAa,EAClB,KAAK,oBAAsB,GAC3B,KAAK,SAAWC,EAAO,KAAKva,EAAQ,SAAQ,CAAE,CACjD,CACD,OAAAwa,EAAY,UAAU,UAAY,SAAU1M,EAAW2M,EAAQC,EAAY,CACvE,OAAK,KAAK,UAEN5M,IAAc,KAAK,aACnB,KAAK,WAAaA,EAClB,KAAK,cAAc2M,EAAQC,CAAU,EACrC,KAAK,cAAa,GAEf,KAAK,QAAQ,YANT,EAOnB,EACIF,EAAY,UAAU,SAAW,SAAUG,EAAO,CACzC,KAAK,SAON,KAAK,WAAa,KANdA,EAAM,QAAU,UAAYJ,EAAO,KAAKI,EAAM,MAAM,KAAK;AAAA,CAAI,CAAC,IAC9D,KAAK,SAAW,GAChB,KAAK,WAAa,KAMlC,EACIH,EAAY,UAAU,eAAiB,UAAY,CAC/C,IAAIC,EAAS,EACTG,EAAW,KAAK,QAAQ,gBAC5B,GAAIA,EAAS,OAAQ,CACjB,IAAI1pD,EAAQ,KAAK,QAAQ,kBAAkB0pD,EAAU,KAAK,UAAU,EAChE1pD,GAAS,IACTupD,EAAS,KAAK,QAAQ,aAAavpD,CAAK,EAC/C,CACD,OAAOupD,CACf,EACID,EAAY,UAAU,cAAgB,UAAY,CAC9C,IAAIE,EAAa,EACbE,EAAW,KAAK,QAAQ,gBAC5B,GAAIA,EAAS,OAET,QADIC,EAAcC,EAAY,KAAK,QAAQ,kBAAkBF,EAAU,KAAK,UAAU,EAC/E,KAAK,WAAaF,EAAa,IAClCG,EAAe,KAAK,QAAQ,kBAAkBD,EAAU,KAAK,WAAaF,EAAa,CAAC,EACpFG,IAAiBC,IAErBA,EAAYD,EACZH,SAIJA,EAAa,KAAK,WAEtB,OAAOA,CACf,EACIF,EAAY,UAAU,cAAgB,SAAUC,EAAQC,EAAY,CAC5DD,IAAW,SACXA,EAAS,KAAK,kBAClB,IAAIM,EAAaN,IAAW,KAAK,QAAQ,UAAS,EAAK,EAAIO,EAAYD,EAAY,KAAK,IAAM,KAAK,IAInG,GAHA,KAAK,WAAa,EAClB,KAAK,KAAO,KAAK,QAAQ,QAAQN,CAAM,EACvC,KAAK,SAAW,KAAK,QAAU,KAAK,KAAK,OAAO,CAAC,IAAM,KAAK,IACxD,KAAK,QAAQ,aAAc,CAC3B,IAAIQ,EAAS,KAAK,QAAQ,UAAUR,CAAM,EACtCQ,IACIP,IAAe,SACfA,EAAa,KAAK,iBAClBA,EAAa,GAAKO,EAAO,QACzB,KAAK,WAAaA,EAAO,OACzB,KAAK,WAAa,KAAK,WAAa,KAAK,WAAWX,EAAS,CAAC,EAC9D,KAAK,KAAQI,EAAaO,EAAO,OAC7B,KAAK,KAAK,UAAUA,EAAOP,EAAa,CAAC,EAAGO,EAAOP,CAAU,CAAC,EAC9D,KAAK,KAAK,UAAUO,EAAOA,EAAO,OAAS,CAAC,CAAC,GAGjD,KAAK,KAAO,KAAK,KAAK,UAAU,EAAGA,EAAOP,CAAU,CAAC,EAErDA,GAAcO,EAAO,SACrB,KAAK,MAAS,KAAK,eAAkBD,EAAYV,EAAS,KAGrE,MAEG,KAAK,MAAQ,KAAK,eAAiBU,EAAYV,EAAS,IAE5D,IAAIta,EAAU,KAAK,QAASkb,EAAQ,EAAG59C,EACvC,KAAK,KAAO,KAAK,KAAK,QAAQ,qCAAsC,SAAUi8B,EAAIvsC,EAAG,CACjF,OAAIusC,IAAO,KAAQyG,EAAQ,YAAYzG,EAAG,WAAW,CAAC,CAAC,GACnDj8B,EAAQi8B,IAAO,IAAQyG,EAAQ,iBAAiBhzC,EAAIkuD,CAAK,EAAI,EAC7DA,GAAS59C,EAAO,EACT+/B,EAAK,aAAaid,EAAS,IAAKh9C,CAAI,GAExCi8B,CACnB,CAAS,EACG,KAAK,WACL,KAAK,YAAY,MAAM,YAAe,KAAK,KAAK,OAAO,KAAK,KAAK,OAAS,CAAC,GAAK+gB,EAAS,IAAO,KAAK,KAAK,OAAO,EAAG,KAAK,KAAK,OAAS,CAAC,EAAI,KAAK,KACjJ,KAAK,cAAgB,KAAK,aAAe,KAAK,YAAY,MAAM,sBAAuB,EAAC,MAEpG,EACIE,EAAY,UAAU,cAAgB,UAAY,CAC9C,IAAIR,EAAgB,CAAA,EAChBM,EAAS,kBAAkB,KAAK,KAAMN,CAAa,GAAK,KAAK,SAC7D,KAAK,QAAUM,EAAS,cAAc,KAAK,KAAMN,EAAe,KAAK,QAAQ,EAG7E,KAAK,QAAU,EAE3B,EACIQ,EAAY,UAAU,YAAc,UAAY,CAC5C,KAAK,WAAa,IAC1B,EACIA,EAAY,UAAU,sBAAwB,SAAUW,EAAa,CACjE,GAAI,KAAK,iBAAmBA,EAAY,eAAe,MAEvD,MAAK,YAAcA,EACnB,IAAItJ,EAAiB,KAAK,eAAiBsJ,EAAY,eAAe,MAClEC,EAAgBD,EAAY,kBAAkB,GAAQ,EAC1D,KAAK,WAAWb,EAAS,CAAC,EAAI,KAAK,WAAWA,EAAS,EAAE,EAAI,KAAK,WAAWA,EAAS,IAAI,EAAIzI,EAC9F,KAAK,WAAWyI,EAAS,CAAC,EAAI,KAAK,WAAWA,EAAS,EAAE,EAAIc,EAC7D,KAAK,WAAWd,EAAS,GAAG,EAAIc,EAAgB,IAChD,KAAK,WAAWd,EAAS,CAAC,EAAI,KAAK,WAAWA,EAAS,GAAG,EAAI,EAC9D,KAAK,WAAa,KAC1B,EACIE,EAAY,UAAU,kBAAoB,SAAUa,EAAgB,CAChE,KAAK,eAAiBA,EACtB,KAAK,WAAa,IAC1B,EACIb,EAAY,UAAU,WAAa,SAAUc,EAAS,CAClD,KAAK,IAAMA,CACnB,EACId,EAAY,UAAU,gBAAkB,SAAUlM,EAAO,CACrD,KAAK,aAAeA,CAC5B,EACIkM,EAAY,UAAU,UAAY,SAAU5a,EAAK,CAC7C,OAAI,KAAK,OACE,GACPA,GAAO,KACC,KAAK,QAAQ,QAAQA,CAAG,EAAE,OAAO,CAAC,GAAK,KAAK,IAE7C,KAAK,QACxB,EACI4a,EAAY,UAAU,gBAAkB,SAAUxR,EAAQuS,EAAU,CAEhE,QADI/R,EAASR,EAAO,oBACXpJ,EAAMoJ,EAAO,UAAU,mBAAkB,EAAG,IAAKpJ,GAAO4J,EAAO,IAAK5J,IACrE,CAAC2b,GAAYvS,EAAO,QAAQ,QAAQpJ,CAAG,EAAE,OAAO,CAAC,IAAMoJ,EAAO,QAAQ,aAAa,IACnFA,EAAO,QAAQ,IAAI,aAAapJ,EAAK,EAAG,CAAC,EACpC2b,GAAYvS,EAAO,QAAQ,QAAQpJ,CAAG,EAAE,OAAO,CAAC,IAAMoJ,EAAO,QAAQ,aAAa,KACvFA,EAAO,QAAQ,IAAI,OAAO,CAAE,OAAQ,EAAG,IAAKpJ,CAAK,EAAEoJ,EAAO,QAAQ,aAAa,GAAG,CAElG,EACIwR,EAAY,UAAU,WAAa,SAAUgB,EAAK,CAC9CA,GAAO,KAAK,WACZ,IAAIC,EAAgB,KAAK,KAAK,OAAO,CAAC,IAAM,KAAK,IAAO,EAAI,EACxDC,EAAcF,EAAMC,EAAiB,KAAK,QAAQ,aAAY,EAAKD,EAAMA,EAAM,EAAKC,EACpFE,EAAYrB,EAAS,wBAAwBoB,EAAY,KAAK,OAAO,EAAGlD,EAAS,KAAK,QAAQ,WAAYzkD,EAAO,EACjH,CAAC,KAAK,QAAQ,gBAAkBynD,GAAOC,GAAgBjD,EAAOmD,CAAS,EAAI,IAAM,GACjFA,IACJ,QAAS3uD,EAAI,EAAGA,EAAI2uD,EAAW3uD,IAC3B+G,GAAQ,KAAK,WAAWykD,EAAOxrD,CAAC,CAAC,EAErC,MAAI,CAAC,KAAK,QAAQ,aAAc,GAAKwuD,EAAMC,GAAkBjD,EAAOmD,CAAS,EAAI,IAAM,IACnF5nD,GAAQ,KAAK,WAAWykD,EAAOmD,CAAS,CAAC,GACzC,KAAK,aACL5nD,GAAQ,KAAK,SAAY,GAAK,KAAK,WAAc,KAAK,YACtD,KAAK,WACLA,GAAQ,KAAK,eACVA,CACf,EACIymD,EAAY,UAAU,cAAgB,SAAUoB,EAAUC,EAAQ,CAC9D,IAAIzjB,EAAM,KAAK,QAASogB,EAASpgB,EAAI,WAAY0jB,EAAOC,EAAa,CAAE,EAAEhpD,EAAS,EAAGipD,EAAY,KAAK,IAAIJ,EAAUC,CAAM,EAAI,KAAK,WAAYI,EAAY,KAAK,IAAIL,EAAUC,CAAM,EAAI,KAAK,WAAYK,EAAa,GAAOC,EAAiB,GAAOtW,EAAiB,EAClQ,KAAK,aACL9yC,GAAU,KAAK,SAAY,GAAK,KAAK,WAAc,KAAK,YAC5D,QAASqnD,EAAQgC,EAAS,EAAGA,EAAS5D,EAAO,OAAQ4D,IACjDhC,EAAShiB,EAAI,kBAAkBgkB,CAAM,EACrCN,EAAQtD,EAAO4D,CAAM,EACrBF,EAAc9B,GAAU4B,GAAe5B,EAAS6B,EAC5CC,GAAc,CAACC,EACftW,EAAiB9yC,EAEZ,CAACmpD,GAAcC,GACpBJ,EAAW,KAAK,CAAE,KAAMlW,EAAgB,MAAO9yC,EAAS8yC,CAAc,CAAE,EAE5E9yC,GAAU,KAAK,WAAW+oD,CAAK,EAC/BK,EAAiBD,EAKrB,GAHIA,GAAeE,IAAW5D,EAAO,QACjCuD,EAAW,KAAK,CAAE,KAAMlW,EAAgB,MAAO9yC,EAAS8yC,CAAc,CAAE,EAExE,KAAK,SACL,QAAS74C,EAAI,EAAGA,EAAI+uD,EAAW,OAAQ/uD,IACnC+uD,EAAW/uD,CAAC,EAAE,MAAQ,KAAK,cAGnC,OAAO+uD,CACf,EACIvB,EAAY,UAAU,YAAc,SAAU6B,EAAM,CAC5C,KAAK,WACLA,GAAQ,KAAK,eACjB,IAAIX,EAAa,EAAGW,EAAO,KAAK,IAAIA,EAAM,CAAC,EAAGtpD,EAAS,EAAG4oD,EAAY,EAAGnD,EAAS,KAAK,QAAQ,WAAY8D,EAAY,KAAK,WAAW9D,EAAOmD,CAAS,CAAC,EAGxJ,IAFI,KAAK,aACLU,GAAQ,KAAK,SAAY,GAAK,KAAK,WAAc,KAAK,YACnDA,EAAOtpD,EAASupD,EAAY,GAAG,CAElC,GADAvpD,GAAUupD,EACNX,IAAcnD,EAAO,OAAS,EAAG,CACjC8D,EAAY,EACZ,KACH,CACDA,EAAY,KAAK,WAAW9D,EAAO,EAAEmD,CAAS,CAAC,CAClD,CACD,OAAIA,EAAY,GAAMnD,EAAOmD,EAAY,CAAC,EAAI,IAAM,GAAOnD,EAAOmD,CAAS,EAAI,IAAM,GAC7EU,EAAOtpD,GACP4oD,IACJD,EAAa,KAAK,QAAQ,kBAAkBC,CAAS,GAEhDA,EAAY,GAAMnD,EAAOmD,EAAY,CAAC,EAAI,IAAM,GAAOnD,EAAOmD,CAAS,EAAI,IAAM,EACtFD,EAAa,GAAMW,EAAOtpD,EAAU,KAAK,QAAQ,kBAAkB4oD,CAAS,EACtE,KAAK,QAAQ,kBAAkBA,EAAY,CAAC,GAE5C,KAAK,UAAYA,IAAcnD,EAAO,OAAS,GAAK8D,IAAc,GAAM9D,EAAOmD,EAAY,CAAC,EAAI,IAAM,GACxG,CAAC,KAAK,UAAYA,IAAc,GAAMnD,EAAOmD,CAAS,EAAI,IAAM,EACpED,EAAa,EAAI,KAAK,QAAQ,kBAAkBC,CAAS,GAGrDA,EAAY,GAAMnD,EAAOmD,EAAY,CAAC,EAAI,IAAM,GAAMW,IAAc,GACpEX,IACJD,EAAa,KAAK,QAAQ,kBAAkBC,CAAS,GAErDD,IAAe,GAAK,KAAK,UACzBA,IACIA,EAAa,KAAK,UAClC,EACWlB,CACV,EAAA,EACD3jB,EAAQ,YAAc2jB,CAEtB,CAAC,EAED,IAAI,OAAO,gBAAgB,CAAC,UAAU,UAAU,SAAS,cAAc,eAAe,wBAAwB,WAAW,EAAG,SAASjkB,EAASM,EAASd,EAAO,CAC9J,IAAIsG,EAAM9F,EAAQ,WAAW,EACzB8G,EAAO9G,EAAQ,YAAY,EAC3BiF,EAAejF,EAAQ,qBAAqB,EAAE,aAC9C+I,EAAQ/I,EAAQ,SAAS,EAAE,MAC3BgmB,EAA2B,UAAY,CACvC,SAASA,EAAUvc,EAAS,CACxB,KAAK,QAAUA,EACf,KAAK,IAAMA,EAAQ,cACnB,KAAK,eAAc,EACnB,KAAK,OAAS,KAAK,KAAO,KAAK,IAAI,aAAa,EAAG,CAAC,EACpD,KAAK,OAAS,KAAK,IAAI,aAAa,EAAG,CAAC,EACxC,KAAK,QAAU,GACf,IAAI6Q,EAAO,KACX,KAAK,OAAO,GAAG,SAAU,SAAU7nC,EAAG,CAClC6nC,EAAK,eAAiB,GACjBA,EAAK,SACNA,EAAK,MAAM,cAAc,EACzB,CAACA,EAAK,UAAY,CAACA,EAAK,SACxBA,EAAK,MAAM,iBAAiB,EAC5B,CAACA,EAAK,4BAA8B7nC,EAAE,IAAI,QAAUA,EAAE,MAAM,SAC5D6nC,EAAK,eAAiB,KACtC,CAAS,EACD,KAAK,OAAO,GAAG,SAAU,UAAY,CACjCA,EAAK,eAAiB,GAClB,CAACA,EAAK,UAAY,CAACA,EAAK,SACxBA,EAAK,MAAM,iBAAiB,CAC5C,CAAS,CACJ,CACD,OAAA0L,EAAU,UAAU,QAAU,UAAY,CACtC,OAAO,KAAK,UAAa,KAAK,OAAO,KAAO,KAAK,KAAK,KAClD,KAAK,OAAO,QAAU,KAAK,KAAK,MAC5C,EACIA,EAAU,UAAU,YAAc,UAAY,CAC1C,MAAO,CAAC,KAAK,UAAY,KAAK,OAAO,KAAO,KAAK,OAAO,GAChE,EACIA,EAAU,UAAU,UAAY,UAAY,CACxC,OAAO,KAAK,KAAK,aACzB,EACIA,EAAU,UAAU,UAAY,SAAU3c,EAAKrlC,EAAQ,CACnD,KAAK,SAAW,GAChB,KAAK,OAAO,YAAYqlC,EAAKrlC,CAAM,CAC3C,EACIgiD,EAAU,UAAU,UAAY,UAAY,CACxC,OAAI,KAAK,SACE,KAAK,mBACT,KAAK,OAAO,aAC3B,EACIA,EAAU,UAAU,iBAAmB,UAAY,CAC/C,OAAO,KAAK,KAAK,aACzB,EACIA,EAAU,UAAU,YAAc,UAAY,CAC1C,IAAIhT,EAAS,KAAK,OACdiT,EAAO,KAAK,KAChB,OAAQjT,EAAO,IAAMiT,EAAK,KAAQjT,EAAO,KAAOiT,EAAK,KAAOjT,EAAO,OAASiT,EAAK,MACzF,EACID,EAAU,UAAU,SAAW,UAAY,CACvC,IAAIhT,EAAS,KAAK,OACdiT,EAAO,KAAK,KAChB,OAAI,KAAK,SACEld,EAAM,WAAWkd,EAAMA,CAAI,EAC/B,KAAK,YAAa,EACnBld,EAAM,WAAWkd,EAAMjT,CAAM,EAC7BjK,EAAM,WAAWiK,EAAQiT,CAAI,CAC3C,EACID,EAAU,UAAU,eAAiB,UAAY,CACxC,KAAK,WACN,KAAK,SAAW,GAChB,KAAK,MAAM,iBAAiB,EAExC,EACIA,EAAU,UAAU,UAAY,UAAY,CACxC,KAAK,cAAc,EAAG,EAAG,OAAO,UAAW,OAAO,SAAS,CACnE,EACIA,EAAU,UAAU,SAAW,SAAU5c,EAAO8c,EAAS,CACrD,IAAI5sD,EAAQ4sD,EAAU9c,EAAM,IAAMA,EAAM,MACpC7vC,EAAM2sD,EAAU9c,EAAM,MAAQA,EAAM,IACxC,KAAK,cAAc9vC,EAAM,IAAKA,EAAM,OAAQC,EAAI,IAAKA,EAAI,MAAM,CACvE,EACIysD,EAAU,UAAU,cAAgB,SAAUG,EAAWC,EAAcC,EAAWC,EAAc,CAC5F,GAAI,MAAK,QAET,KAAIC,EAAW,KAAK,SAChBC,EAAiB,KAAK,kBAC1B,KAAK,QAAU,GACf,KAAK,eAAiB,KAAK,eAAiB,GAC5C,KAAK,OAAO,YAAYL,EAAWC,CAAY,EAC/C,KAAK,OAAO,YAAYC,EAAWC,CAAY,EAC/C,KAAK,SAAW,CAACvd,EAAM,cAAc,KAAK,OAAQ,KAAK,MAAM,EAC7D,KAAK,QAAU,GACX,KAAK,gBACL,KAAK,MAAM,cAAc,GACzB,KAAK,gBAAkB,KAAK,gBAAkBwd,GAAY,KAAK,UAAYC,IAC3E,KAAK,MAAM,iBAAiB,EACxC,EACIR,EAAU,UAAU,eAAiB,SAAUS,EAAO,CAClD,IAAIR,EAAO,KAAK,KACZ,KAAK,UACL,KAAK,mBAAmBA,EAAK,IAAKA,EAAK,MAAM,EACjDQ,EAAM,KAAK,IAAI,CACvB,EACIT,EAAU,UAAU,SAAW,SAAU3c,EAAKrlC,EAAQ,CAClD,KAAK,eAAe,UAAY,CAC5B,KAAK,aAAaqlC,EAAKrlC,CAAM,CACzC,CAAS,CACT,EACIgiD,EAAU,UAAU,iBAAmB,SAAUrT,EAAK,CAClD,KAAK,eAAe,UAAY,CAC5B,KAAK,qBAAqBA,CAAG,CACzC,CAAS,CACT,EACIqT,EAAU,UAAU,OAAS,SAAU3c,EAAKrlC,EAAQ,CAChD,KAAK,eAAc,EACnB,KAAK,aAAaqlC,EAAKrlC,CAAM,CACrC,EACIgiD,EAAU,UAAU,eAAiB,SAAUrT,EAAK,CAChD,KAAK,eAAc,EACnB,KAAK,qBAAqBA,CAAG,CACrC,EACIqT,EAAU,UAAU,SAAW,UAAY,CACvC,KAAK,eAAe,KAAK,YAAY,CAC7C,EACIA,EAAU,UAAU,WAAa,UAAY,CACzC,KAAK,eAAe,KAAK,cAAc,CAC/C,EACIA,EAAU,UAAU,YAAc,UAAY,CAC1C,KAAK,eAAe,KAAK,eAAe,CAChD,EACIA,EAAU,UAAU,WAAa,UAAY,CACzC,KAAK,eAAe,KAAK,cAAc,CAC/C,EACIA,EAAU,UAAU,gBAAkB,UAAY,CAC9C,KAAK,eAAe,KAAK,mBAAmB,CACpD,EACIA,EAAU,UAAU,cAAgB,UAAY,CAC5C,KAAK,eAAe,KAAK,iBAAiB,CAClD,EACIA,EAAU,UAAU,cAAgB,UAAY,CAC5C,KAAK,eAAe,KAAK,iBAAiB,CAClD,EACIA,EAAU,UAAU,gBAAkB,UAAY,CAC9C,KAAK,eAAe,KAAK,mBAAmB,CACpD,EACIA,EAAU,UAAU,gBAAkB,UAAY,CAC9C,KAAK,eAAe,KAAK,mBAAmB,CACpD,EACIA,EAAU,UAAU,eAAiB,UAAY,CAC7C,KAAK,eAAe,KAAK,kBAAkB,CACnD,EACIA,EAAU,UAAU,aAAe,SAAU3c,EAAKrlC,EAAQ,CACtD,GAAI,OAAOA,EAAU,IAAa,CAC9B,IAAIivC,EAAS5J,GAAO,KAAK,KACzBA,EAAM4J,EAAO,IACbjvC,EAASivC,EAAO,MACnB,CACD,OAAO,KAAK,QAAQ,aAAa5J,EAAKrlC,CAAM,CACpD,EACIgiD,EAAU,UAAU,WAAa,UAAY,CACzC,KAAK,kBAAkB,KAAK,aAAc,CAAA,CAClD,EACIA,EAAU,UAAU,YAAc,UAAY,CAC1C,IAAI/S,EAAS,KAAK,YACd7J,EAAQ,KAAK,QAAQ,cAAc6J,EAAO,IAAKA,EAAO,MAAM,EAChE,KAAK,kBAAkB7J,CAAK,CACpC,EACI4c,EAAU,UAAU,aAAe,SAAU3c,EAAKqd,EAAiB,CAC/D,IAAIpY,EAAW,OAAOjF,GAAO,SAAWA,EAAM,KAAK,KAAK,IACpDkF,EACAoY,EAAW,KAAK,QAAQ,YAAYrY,CAAQ,EAQhD,OAPIqY,GACArY,EAAWqY,EAAS,MAAM,IAC1BpY,EAASoY,EAAS,IAAI,KAGtBpY,EAASD,EAEToY,IAAoB,GACb,IAAI3d,EAAMuF,EAAU,EAAGC,EAAQ,KAAK,QAAQ,QAAQA,CAAM,EAAE,MAAM,EAElE,IAAIxF,EAAMuF,EAAU,EAAGC,EAAS,EAAG,CAAC,CACvD,EACIyX,EAAU,UAAU,WAAa,UAAY,CACzC,KAAK,kBAAkB,KAAK,aAAc,CAAA,CAClD,EACIA,EAAU,UAAU,aAAe,UAAY,CAC3C,KAAK,aAAa,GAAI,CAAC,CAC/B,EACIA,EAAU,UAAU,eAAiB,UAAY,CAC7C,KAAK,aAAa,EAAG,CAAC,CAC9B,EACIA,EAAU,UAAU,qBAAuB,SAAU/S,EAAQ2T,EAAS/S,EAAW,CAC7E,IAAIv6C,EAAQ25C,EAAO,OACf15C,EAAM05C,EAAO,OAAS2T,EAC1B,OAAI/S,EAAY,IACZv6C,EAAQ25C,EAAO,OAAS2T,EACxBrtD,EAAM05C,EAAO,QAEV,KAAK,QAAQ,UAAUA,CAAM,GAAK,KAAK,IAAI,QAAQA,EAAO,GAAG,EAAE,MAAM35C,EAAOC,CAAG,EAAE,MAAM,GAAG,EAAE,OAAS,GAAKqtD,CACzH,EACIZ,EAAU,UAAU,eAAiB,UAAY,CAC7C,IAAI/S,EAAS,KAAK,KAAK,YAAW,EAAIkF,EACtC,GAAIA,EAAO,KAAK,QAAQ,UAAUlF,EAAO,IAAKA,EAAO,OAAQ,EAAE,EAC3D,KAAK,aAAakF,EAAK,MAAM,IAAKA,EAAK,MAAM,MAAM,UAE9ClF,EAAO,SAAW,EACnBA,EAAO,IAAM,GACb,KAAK,aAAaA,EAAO,IAAM,EAAG,KAAK,IAAI,QAAQA,EAAO,IAAM,CAAC,EAAE,MAAM,MAG5E,CACD,IAAI2T,EAAU,KAAK,QAAQ,WAAU,EACjC,KAAK,qBAAqB3T,EAAQ2T,EAAS,EAAE,GAAK,CAAC,KAAK,QAAQ,4BAChE,KAAK,aAAa,EAAG,CAACA,CAAO,EAG7B,KAAK,aAAa,EAAG,EAAE,CAE9B,CACT,EACIZ,EAAU,UAAU,gBAAkB,UAAY,CAC9C,IAAI/S,EAAS,KAAK,KAAK,YAAW,EAAIkF,EACtC,GAAIA,EAAO,KAAK,QAAQ,UAAUlF,EAAO,IAAKA,EAAO,OAAQ,CAAC,EAC1D,KAAK,aAAakF,EAAK,IAAI,IAAKA,EAAK,IAAI,MAAM,UAE1C,KAAK,KAAK,QAAU,KAAK,IAAI,QAAQ,KAAK,KAAK,GAAG,EAAE,OACrD,KAAK,KAAK,IAAM,KAAK,IAAI,UAAW,EAAG,GACvC,KAAK,aAAa,KAAK,KAAK,IAAM,EAAG,CAAC,MAGzC,CACD,IAAIyO,EAAU,KAAK,QAAQ,WAAU,EACjC3T,EAAS,KAAK,KACd,KAAK,qBAAqBA,EAAQ2T,EAAS,CAAC,GAAK,CAAC,KAAK,QAAQ,4BAC/D,KAAK,aAAa,EAAGA,CAAO,EAG5B,KAAK,aAAa,EAAG,CAAC,CAE7B,CACT,EACIZ,EAAU,UAAU,oBAAsB,UAAY,CAClD,IAAI3c,EAAM,KAAK,KAAK,IAChBrlC,EAAS,KAAK,KAAK,OACnBuzC,EAAY,KAAK,QAAQ,oBAAoBlO,EAAKrlC,CAAM,EACxD6iD,EAAsB,KAAK,QAAQ,yBAAyBtP,EAAW,CAAC,EACxEuP,EAAe,KAAK,QAAQ,eAAezd,EAAK,KAAMwd,EAAoB,IAAKA,EAAoB,MAAM,EACzGE,EAAeD,EAAa,MAAM,MAAM,EACxCC,EAAa,CAAC,EAAE,QAAU/iD,GAAU,CAAC,KAAK,QAAQ,0BAClD6iD,EAAoB,QAAUE,EAAa,CAAC,EAAE,QAClD,KAAK,qBAAqBF,CAAmB,CACrD,EACIb,EAAU,UAAU,kBAAoB,UAAY,CAChD,IAAIC,EAAO,KAAK,KACZe,EAAU,KAAK,QAAQ,iCAAiCf,EAAK,IAAKA,EAAK,MAAM,EACjF,GAAI,KAAK,KAAK,QAAUe,EAAQ,OAAQ,CACpC,IAAIjjD,EAAO,KAAK,QAAQ,QAAQijD,EAAQ,GAAG,EAC3C,GAAIA,EAAQ,QAAUjjD,EAAK,OAAQ,CAC/B,IAAIkjD,EAAUljD,EAAK,OAAO,MAAM,EAC5BkjD,EAAU,IACVD,EAAQ,OAASC,EACxB,CACJ,CACD,KAAK,aAAaD,EAAQ,IAAKA,EAAQ,MAAM,CACrD,EACIhB,EAAU,UAAU,kBAAoB,UAAY,CAChD,IAAI3c,EAAM,KAAK,IAAI,UAAS,EAAK,EAC7BrlC,EAAS,KAAK,IAAI,QAAQqlC,CAAG,EAAE,OACnC,KAAK,aAAaA,EAAKrlC,CAAM,CACrC,EACIgiD,EAAU,UAAU,oBAAsB,UAAY,CAClD,KAAK,aAAa,EAAG,CAAC,CAC9B,EACIA,EAAU,UAAU,wBAA0B,UAAY,CACtD,IAAI3c,EAAM,KAAK,KAAK,IAChBrlC,EAAS,KAAK,KAAK,OACnBD,EAAO,KAAK,IAAI,QAAQslC,CAAG,EAC3B6d,EAAgBnjD,EAAK,UAAUC,CAAM,EACzC,KAAK,QAAQ,WAAW,UAAY,EACpC,KAAK,QAAQ,QAAQ,UAAY,EACjC,IAAIm0C,EAAO,KAAK,QAAQ,UAAU9O,EAAKrlC,EAAQ,CAAC,EAChD,GAAIm0C,EAAM,CACN,KAAK,aAAaA,EAAK,IAAI,IAAKA,EAAK,IAAI,MAAM,EAC/C,MACH,CAMD,GALI,KAAK,QAAQ,WAAW,KAAK+O,CAAa,IAC1CljD,GAAU,KAAK,QAAQ,WAAW,UAClC,KAAK,QAAQ,WAAW,UAAY,EACpCkjD,EAAgBnjD,EAAK,UAAUC,CAAM,GAErCA,GAAUD,EAAK,OAAQ,CACvB,KAAK,aAAaslC,EAAKtlC,EAAK,MAAM,EAClC,KAAK,gBAAe,EAChBslC,EAAM,KAAK,IAAI,UAAW,EAAG,GAC7B,KAAK,oBAAmB,EAC5B,MACH,CACG,KAAK,QAAQ,QAAQ,KAAK6d,CAAa,IACvCljD,GAAU,KAAK,QAAQ,QAAQ,UAC/B,KAAK,QAAQ,QAAQ,UAAY,GAErC,KAAK,aAAaqlC,EAAKrlC,CAAM,CACrC,EACIgiD,EAAU,UAAU,uBAAyB,UAAY,CACrD,IAAI3c,EAAM,KAAK,KAAK,IAChBrlC,EAAS,KAAK,KAAK,OACnBm0C,EACJ,GAAIA,EAAO,KAAK,QAAQ,UAAU9O,EAAKrlC,EAAQ,EAAE,EAAG,CAChD,KAAK,aAAam0C,EAAK,MAAM,IAAKA,EAAK,MAAM,MAAM,EACnD,MACH,CACD,IAAI75B,EAAM,KAAK,QAAQ,gBAAgB+qB,EAAKrlC,EAAQ,EAAE,EAClDsa,GAAO,OACPA,EAAM,KAAK,IAAI,QAAQ+qB,CAAG,EAAE,UAAU,EAAGrlC,CAAM,GAEnD,IAAImjD,EAAergB,EAAK,cAAcxoB,CAAG,EAQzC,GAPA,KAAK,QAAQ,WAAW,UAAY,EACpC,KAAK,QAAQ,QAAQ,UAAY,EAC7B,KAAK,QAAQ,WAAW,KAAK6oC,CAAY,IACzCnjD,GAAU,KAAK,QAAQ,WAAW,UAClCmjD,EAAeA,EAAa,MAAM,KAAK,QAAQ,WAAW,SAAS,EACnE,KAAK,QAAQ,WAAW,UAAY,GAEpCnjD,GAAU,EAAG,CACb,KAAK,aAAaqlC,EAAK,CAAC,EACxB,KAAK,eAAc,EACfA,EAAM,GACN,KAAK,mBAAkB,EAC3B,MACH,CACG,KAAK,QAAQ,QAAQ,KAAK8d,CAAY,IACtCnjD,GAAU,KAAK,QAAQ,QAAQ,UAC/B,KAAK,QAAQ,QAAQ,UAAY,GAErC,KAAK,aAAaqlC,EAAKrlC,CAAM,CACrC,EACIgiD,EAAU,UAAU,mBAAqB,SAAUkB,EAAe,CAC9D,IAAIvsD,EAAQ,EAAGqoC,EACXokB,EAAe,KACfC,EAAU,KAAK,QAAQ,QAE3B,GADAA,EAAQ,UAAY,EAChB,KAAK,QAAQ,QAAQ,KAAKH,CAAa,EACvCvsD,EAAQ,KAAK,QAAQ,QAAQ,cAE5B,CACD,MAAQqoC,EAAKkkB,EAAcvsD,CAAK,IAAMysD,EAAa,KAAKpkB,CAAE,GACtDroC,IACJ,GAAIA,EAAQ,GAER,IADA0sD,EAAQ,UAAY,GACZrkB,EAAKkkB,EAAcvsD,CAAK,IAAM,CAAC0sD,EAAQ,KAAKrkB,CAAE,GAGlD,GAFAqkB,EAAQ,UAAY,EACpB1sD,IACIysD,EAAa,KAAKpkB,CAAE,EACpB,GAAIroC,EAAQ,EAAG,CACXA,IACA,KACH,KACI,CACD,MAAQqoC,EAAKkkB,EAAcvsD,CAAK,IAAMysD,EAAa,KAAKpkB,CAAE,GACtDroC,IACJ,GAAIA,EAAQ,EACR,KACP,EAIhB,CACD,OAAA0sD,EAAQ,UAAY,EACb1sD,CACf,EACIqrD,EAAU,UAAU,yBAA2B,UAAY,CACvD,IAAI3c,EAAM,KAAK,KAAK,IAChBrlC,EAAS,KAAK,KAAK,OACnBD,EAAO,KAAK,IAAI,QAAQslC,CAAG,EAC3B6d,EAAgBnjD,EAAK,UAAUC,CAAM,EACrCm0C,EAAO,KAAK,QAAQ,UAAU9O,EAAKrlC,EAAQ,CAAC,EAChD,GAAIm0C,EACA,OAAO,KAAK,aAAaA,EAAK,IAAI,IAAKA,EAAK,IAAI,MAAM,EAC1D,GAAIn0C,GAAUD,EAAK,OAAQ,CACvB,IAAI+7B,EAAI,KAAK,IAAI,UAAS,EAC1B,GACIuJ,IACA6d,EAAgB,KAAK,IAAI,QAAQ7d,CAAG,QAC/BA,EAAMvJ,GAAK,QAAQ,KAAKonB,CAAa,GACzC,OAAO,KAAKA,CAAa,IAC1BA,EAAgB,IACpBljD,EAAS,CACZ,CACD,IAAIrJ,EAAQ,KAAK,mBAAmBusD,CAAa,EACjD,KAAK,aAAa7d,EAAKrlC,EAASrJ,CAAK,CAC7C,EACIqrD,EAAU,UAAU,wBAA0B,UAAY,CACtD,IAAI3c,EAAM,KAAK,KAAK,IAChBrlC,EAAS,KAAK,KAAK,OACnBm0C,EACJ,GAAIA,EAAO,KAAK,QAAQ,UAAU9O,EAAKrlC,EAAQ,EAAE,EAC7C,OAAO,KAAK,aAAam0C,EAAK,MAAM,IAAKA,EAAK,MAAM,MAAM,EAC9D,IAAIp0C,EAAO,KAAK,QAAQ,QAAQslC,CAAG,EAAE,UAAU,EAAGrlC,CAAM,EACxD,GAAIA,IAAW,EAAG,CACd,GACIqlC,IACAtlC,EAAO,KAAK,IAAI,QAAQslC,CAAG,QACtBA,EAAM,GAAK,QAAQ,KAAKtlC,CAAI,GACrCC,EAASD,EAAK,OACT,OAAO,KAAKA,CAAI,IACjBA,EAAO,GACd,CACD,IAAIojD,EAAergB,EAAK,cAAc/iC,CAAI,EACtCpJ,EAAQ,KAAK,mBAAmBwsD,CAAY,EAChD,OAAO,KAAK,aAAa9d,EAAKrlC,EAASrJ,CAAK,CACpD,EACIqrD,EAAU,UAAU,oBAAsB,UAAY,CAC9C,KAAK,QAAQ,iBACb,KAAK,wBAAuB,EAE5B,KAAK,yBAAwB,CACzC,EACIA,EAAU,UAAU,mBAAqB,UAAY,CAC7C,KAAK,QAAQ,iBACb,KAAK,uBAAsB,EAE3B,KAAK,wBAAuB,CACxC,EACIA,EAAU,UAAU,aAAe,SAAUsB,EAAMtF,EAAO,CACtD,IAAI3L,EAAY,KAAK,QAAQ,yBAAyB,KAAK,KAAK,IAAK,KAAK,KAAK,MAAM,EACjFkR,EAgBJ,GAfIvF,IAAU,IACNsF,IAAS,IACL,KAAK,QAAQ,aAAa,UAAUjR,EAAU,IAAK,KAAK,KAAK,GAAG,GAChEkR,EAAU,KAAK,QAAQ,aAAa,WAAWlR,EAAU,MAAM,EAC/DA,EAAU,OAAS,KAAK,MAAMkR,EAAU,KAAK,QAAQ,aAAa,WAAW,CAAC,CAAC,GAG/EA,EAAUlR,EAAU,OAAS,KAAK,QAAQ,aAAa,WAAW,CAAC,GAGvE,KAAK,eACLA,EAAU,OAAS,KAAK,eAExB,KAAK,eAAiBA,EAAU,QAEpCiR,GAAQ,GAAK,KAAK,QAAQ,aAAe,KAAK,QAAQ,YAAY,KAAK,KAAK,GAAG,EAAG,CAClF,IAAIE,EAAS,KAAK,QAAQ,YAAY,KAAK,KAAK,GAAG,EAC/CF,EAAO,EACPA,GAAQE,EAAO,WAAa,EACvBF,EAAO,IACZA,GAAQE,EAAO,UAAYA,EAAO,WAAa,GACtD,CACD,IAAIpR,EAAS,KAAK,QAAQ,yBAAyBC,EAAU,IAAMiR,EAAMjR,EAAU,OAAQkR,CAAO,EAC9FD,IAAS,GAAKtF,IAAU,GAAK5L,EAAO,MAAQ,KAAK,KAAK,MAAOA,EAAO,OAAW,KAAK,KAAK,QAE7F,KAAK,aAAaA,EAAO,IAAKA,EAAO,OAAS4L,EAAOA,IAAU,CAAC,CACxE,EACIgE,EAAU,UAAU,qBAAuB,SAAUziD,EAAU,CAC3D,KAAK,aAAaA,EAAS,IAAKA,EAAS,MAAM,CACvD,EACIyiD,EAAU,UAAU,aAAe,SAAU3c,EAAKrlC,EAAQyjD,EAAmB,CACzE,IAAItP,EAAO,KAAK,QAAQ,UAAU9O,EAAKrlC,EAAQ,CAAC,EAC5Cm0C,IACA9O,EAAM8O,EAAK,MAAM,IACjBn0C,EAASm0C,EAAK,MAAM,QAExB,KAAK,2BAA6B,GAClC,IAAIp0C,EAAO,KAAK,QAAQ,QAAQslC,CAAG,EAC/B,kBAAkB,KAAKtlC,EAAK,OAAOC,CAAM,CAAC,GAAKD,EAAK,OAAOC,EAAS,CAAC,IACjE,KAAK,KAAK,KAAOqlC,GAAO,KAAK,KAAK,QAAUrlC,EAAS,EACrDA,EAASA,EAAS,EAElBA,EAASA,EAAS,GAE1B,KAAK,KAAK,YAAYqlC,EAAKrlC,CAAM,EACjC,KAAK,2BAA6B,GAC7ByjD,IACD,KAAK,eAAiB,KAClC,EACIzB,EAAU,UAAU,mBAAqB,SAAU3c,EAAKrlC,EAAQyjD,EAAmB,CAC/E,IAAI9U,EAAM,KAAK,QAAQ,yBAAyBtJ,EAAKrlC,CAAM,EAC3D,KAAK,aAAa2uC,EAAI,IAAKA,EAAI,OAAQ8U,CAAiB,CAChE,EACIzB,EAAU,UAAU,OAAS,UAAY,CACrC,KAAK,KAAK,SACV,KAAK,OAAO,QACpB,EACIA,EAAU,UAAU,kBAAoB,SAAU5c,EAAO,CACrD,KAAK,kBAAkBA,EAAOA,EAAM,QAAUA,EAAM,KAAK,EACzD,KAAK,eAAiBA,EAAM,eAAiB,KAAK,cAC1D,EACI4c,EAAU,UAAU,gBAAkB,SAAU5c,EAAO,CACnD,IAAI,EAAI,KAAK,WACb,OAAIA,GACAA,EAAM,MAAM,OAAS,EAAE,MAAM,OAC7BA,EAAM,MAAM,IAAM,EAAE,MAAM,IAC1BA,EAAM,IAAI,OAAS,EAAE,IAAI,OACzBA,EAAM,IAAI,IAAM,EAAE,IAAI,KAGtBA,EAAQ,EAEZA,EAAM,OAAS,KAAK,YAAW,EAAKA,EAAM,MAAQA,EAAM,IACxDA,EAAM,cAAgB,KAAK,eACpBA,CACf,EACI4c,EAAU,UAAU,oBAAsB,SAAU0B,EAAM,CACtD,IAAIpuD,EAAQ,KAAK,YACjB,GAAI,CACAouD,EAAK,IAAI,EACT,IAAInuD,EAAM,KAAK,YACf,OAAOwvC,EAAM,WAAWzvC,EAAOC,CAAG,CACrC,MACS,CACN,OAAOwvC,EAAM,WAAWzvC,EAAOA,CAAK,CACvC,QACO,CACJ,KAAK,qBAAqBA,CAAK,CAClC,CACT,EACI0sD,EAAU,UAAU,OAAS,UAAY,CACrC,GAAI,KAAK,WAAc,IAAI5tC,EAAO,KAAK,OAAO,IAAI,SAAU,EAAG,CACvD,IAAIuvC,EAAK,EAAE,QACX,OAAAA,EAAG,YAAc,EAAE,QAAU,EAAE,MACxBA,CACvB,CAAa,MAEA,CAAE,IAAIvvC,EAAO,KAAK,WACnBA,EAAK,YAAc,KAAK,aAC3B,CACD,OAAOA,CACf,EACI4tC,EAAU,UAAU,SAAW,SAAU5tC,EAAM,CAC3C,GAAIA,EAAK,OAAS,KACd,GAAI,KAAK,WAAaA,EAAK,OAAS,EAAG,CACnC,KAAK,cAAcA,EAAK,CAAC,CAAC,EAC1B,QAAS3hB,EAAI2hB,EAAK,OAAQ3hB,KAAM,CAC5B,IAAImxD,EAAI7e,EAAM,WAAW3wB,EAAK3hB,CAAC,EAAE,MAAO2hB,EAAK3hB,CAAC,EAAE,GAAG,EAC/C2hB,EAAK3hB,CAAC,EAAE,cACRmxD,EAAE,OAASA,EAAE,OACjB,KAAK,SAASA,EAAG,EAAI,CACxB,CACD,MACH,MAEGxvC,EAAOA,EAAK,CAAC,EAGjB,KAAK,WACL,KAAK,cAAcA,CAAI,EAC3B,KAAK,kBAAkBA,EAAMA,EAAK,WAAW,CACrD,EACI4tC,EAAU,UAAU,QAAU,SAAU5tC,EAAM,CAC1C,IAAKA,EAAK,QAAU,KAAK,aAAeA,EAAK,QAAU,KAAK,WACxD,MAAO,GACX,GAAI,CAACA,EAAK,QAAU,CAAC,KAAK,OACtB,OAAO,KAAK,SAAQ,EAAG,QAAQA,CAAI,EACvC,QAAS3hB,EAAI,KAAK,OAAO,OAAQA,KAC7B,GAAI,CAAC,KAAK,OAAOA,CAAC,EAAE,QAAQ2hB,EAAK3hB,CAAC,CAAC,EAC/B,MAAO,GAEf,MAAO,EACf,EACWuvD,CACV,EAAA,EACDA,EAAU,UAAU,mBAAqBA,EAAU,UAAU,UAC7DA,EAAU,UAAU,mBAAqBA,EAAU,UAAU,UAC7DA,EAAU,UAAU,kBAAoBA,EAAU,UAAU,SAC5DlgB,EAAI,UAAUkgB,EAAU,UAAW/gB,CAAY,EAC/C3E,EAAQ,UAAY0lB,CAEpB,CAAC,EAED,IAAI,OAAO,gBAAgB,CAAC,UAAU,UAAU,SAAS,sBAAsB,EAAG,SAAShmB,EAASM,EAASd,EAAO,CACpH,IAAIuG,EAAc/F,EAAQ,oBAAoB,EAAE,YAC5C6nB,EAAkB,IAClBC,EAA2B,UAAY,CACvC,SAASA,EAAU9hD,EAAO,CACtB,KAAK,WACL,KAAK,OAASA,EACd,KAAK,QAAU,GACf,KAAK,cAAgB,GACrB,QAAS9N,KAAO,KAAK,OAAQ,CAOzB,QANI8E,EAAQ,KAAK,OAAO9E,CAAG,EACvB6vD,EAAc,CAAA,EACdC,EAAa,EACbC,EAAU,KAAK,cAAc/vD,CAAG,EAAI,CAAE,aAAc,QACpDgwD,EAAO,IACPC,EAAiB,CAAA,EACZ1xD,EAAI,EAAGA,EAAIuG,EAAM,OAAQvG,IAAK,CACnC,IAAIsP,EAAO/I,EAAMvG,CAAC,EAOlB,GANIsP,EAAK,eACLkiD,EAAQ,aAAeliD,EAAK,cAC5BA,EAAK,iBAAmBmiD,EAAK,QAAQ,GAAG,IAAM,KAC9CA,GAAQ,KACRniD,EAAK,SAAWmiD,EAAK,QAAQ,GAAG,IAAM,KACtCA,GAAQ,KACRniD,EAAK,OAAS,KAElB,CAAIA,EAAK,iBAAiB,SACtBA,EAAK,MAAQA,EAAK,MAAM,SAAU,EAAC,MAAM,EAAG,EAAE,GAClD,IAAIqiD,EAAgBriD,EAAK,MACrBsiD,EAAa,IAAI,OAAO,OAASD,EAAgB,QAAQ,EAAE,KAAK,GAAG,EAAE,OAAS,EAC9E,MAAM,QAAQriD,EAAK,KAAK,EACpBA,EAAK,MAAM,QAAU,GAAKsiD,GAAc,EACxCtiD,EAAK,MAAQA,EAAK,MAAM,CAAC,EAEpBsiD,EAAa,GAAKtiD,EAAK,MAAM,QAClC,KAAK,YAAY,oDAAqD,CAClE,KAAMA,EACN,WAAYsiD,EAAa,CACrD,CAAyB,EACDtiD,EAAK,MAAQA,EAAK,MAAM,CAAC,IAGzBA,EAAK,WAAaA,EAAK,MACvBA,EAAK,MAAQ,KACbA,EAAK,QAAU,KAAK,cAGnB,OAAOA,EAAK,OAAS,YAAc,CAACA,EAAK,UAC1CsiD,EAAa,EACbtiD,EAAK,QAAU,KAAK,YAEpBA,EAAK,QAAUA,EAAK,OAExBsiD,EAAa,IACT,OAAO,KAAKtiD,EAAK,KAAK,EACtBqiD,EAAgBriD,EAAK,MAAM,QAAQ,cAAe,SAAUzJ,EAAOgsD,EAAO,CACtE,MAAO,MAAQ,SAASA,EAAO,EAAE,EAAIN,EAAa,EAC9E,CAAyB,GAGDK,EAAa,EACbD,EAAgB,KAAK,sBAAsBriD,EAAK,KAAK,GAErD,CAACA,EAAK,YAAc,OAAOA,EAAK,OAAS,UACzCoiD,EAAe,KAAKpiD,CAAI,GAEhCkiD,EAAQD,CAAU,EAAIvxD,EACtBuxD,GAAcK,EACdN,EAAY,KAAKK,CAAa,EACzBriD,EAAK,UACNA,EAAK,QAAU,MACtB,CACIgiD,EAAY,SACbE,EAAQ,CAAC,EAAI,EACbF,EAAY,KAAK,GAAG,GAExBI,EAAe,QAAQ,SAAUpiD,EAAM,CACnCA,EAAK,WAAa,KAAK,qBAAqBA,EAAK,MAAOmiD,CAAI,CAC/D,EAAE,IAAI,EACP,KAAK,QAAQhwD,CAAG,EAAI,IAAI,OAAO,IAAM6vD,EAAY,KAAK,KAAK,EAAI,QAASG,CAAI,CAC/E,CACJ,CACD,OAAAJ,EAAU,UAAU,kBAAoB,SAAUjf,EAAG,CACjDgf,EAAkBhf,EAAI,CAC9B,EACIif,EAAU,UAAU,YAAc,SAAUxpC,EAAK,CAC7C,IAAIpoB,EAAS,KAAK,WAAW,KAAKooB,CAAG,EAAE,MAAM,CAAC,EAC1Cy9B,EAAQ,KAAK,MAAM,MAAM,KAAM7lD,CAAM,EACzC,GAAI,OAAO6lD,GAAU,SACjB,MAAO,CAAC,CAAE,KAAMA,EAAO,MAAOz9B,CAAK,CAAA,EAEvC,QADIka,EAAS,CAAA,EACJ,EAAI,EAAGsH,EAAIic,EAAM,OAAQ,EAAIjc,EAAG,IACjC5pC,EAAO,CAAC,IACRsiC,EAAOA,EAAO,MAAM,EAAI,CACpB,KAAMujB,EAAM,CAAC,EACb,MAAO7lD,EAAO,CAAC,CACnC,GAEQ,OAAOsiC,CACf,EACIsvB,EAAU,UAAU,aAAe,SAAUxpC,EAAK,CAC9C,GAAI,CAACA,EACD,MAAO,GACX,IAAIpoB,EAAS,KAAK,WAAW,KAAKooB,CAAG,EACrC,GAAI,CAACpoB,EACD,MAAO,OAGX,QAFIsiC,EAAS,CAAA,EACTujB,EAAQ,KAAK,WACR,EAAI,EAAGjc,EAAIic,EAAM,OAAQ,EAAIjc,EAAG,IACjC5pC,EAAO,EAAI,CAAC,IACZsiC,EAAOA,EAAO,MAAM,EAAI,CACpB,KAAMujB,EAAM,CAAC,EACb,MAAO7lD,EAAO,EAAI,CAAC,CACvC,GAEQ,OAAOsiC,CACf,EACIsvB,EAAU,UAAU,sBAAwB,SAAUrf,EAAK,CACvD,IAAImf,EAAInf,EAAI,QAAQ,0CAA2C,SAAUvhC,EAAGC,EAAG,CAAE,OAAOA,EAAI,MAAQD,CAAI,CAAA,EACxG,OAAO0gD,CACf,EACIE,EAAU,UAAU,qBAAuB,SAAUrf,EAAKyf,EAAM,CAC5D,GAAIzf,EAAI,QAAQ,KAAK,GAAK,GAAI,CAC1B,IAAI8f,EAAQ,EACRC,EAAY,GACZC,EAAc,CAAA,EAClBhgB,EAAI,QAAQ,uCAAwC,SAAUI,EAAG6f,EAAKC,EAAWC,EAAYC,EAAQluD,EAAO,CACxG,OAAI6tD,EACAA,EAAYK,GAAU,IAEjBA,EACLL,EAAY,GAEPI,GACDL,GAASE,EAAY,QACrBA,EAAY,IAAM9tD,EAAQ,EAC1B8tD,EAAY,MAAQ,IAExBF,KAEKI,IACLJ,IACII,EAAU,QAAU,IACpBF,EAAY,MAAQF,EACpBE,EAAY,MAAQ9tD,IAGrBkuC,CACvB,CAAa,EACG4f,EAAY,KAAO,MAAQ,QAAQ,KAAKhgB,EAAI,OAAOggB,EAAY,GAAG,CAAC,IACnEhgB,EAAMA,EAAI,UAAU,EAAGggB,EAAY,KAAK,EAAIhgB,EAAI,OAAOggB,EAAY,GAAG,EAC7E,CACD,OAAIhgB,EAAI,OAAO,CAAC,GAAK,MACjBA,EAAM,IAAMA,GACZA,EAAI,OAAOA,EAAI,OAAS,CAAC,GAAK,MAC9BA,GAAO,KACJ,IAAI,OAAOA,GAAMyf,GAAQ,IAAI,QAAQ,IAAK,EAAE,CAAC,CAC5D,EACIJ,EAAU,UAAU,cAAgB,SAAU/jD,EAAM+kD,EAAY,CAC5D,GAAIA,GAAc,OAAOA,GAAc,SAAU,CAC7C,IAAIP,EAAQO,EAAW,MAAM,CAAC,EAC9BA,EAAaP,EAAM,CAAC,EAChBO,IAAe,SACfP,EAAM,MAAK,EACXO,EAAaP,EAAM,QAE1B,KAEG,KAAIA,EAAQ,CAAA,EAChB,IAAIQ,EAAmCD,GAAe,QAClD9rD,EAAQ,KAAK,OAAO+rD,CAAY,EAC/B/rD,IACD+rD,EAAe,QACf/rD,EAAQ,KAAK,OAAO+rD,CAAY,GAEpC,IAAId,EAAU,KAAK,cAAcc,CAAY,EACzC5hB,EAAK,KAAK,QAAQ4hB,CAAY,EAClC5hB,EAAG,UAAY,EAKf,QAJI7qC,EAAOk8B,EAAS,GAChBsI,EAAY,EACZkoB,EAAgB,EAChB/jD,EAAQ,CAAE,KAAM,KAAM,MAAO,EAAE,EAC5B3I,EAAQ6qC,EAAG,KAAKpjC,CAAI,GAAG,CAC1B,IAAIO,EAAO2jD,EAAQ,aACfliD,EAAO,KACP/O,EAAQsF,EAAM,CAAC,EACf3B,EAAQwsC,EAAG,UACf,GAAIxsC,EAAQ3D,EAAM,OAAS8pC,EAAW,CAClC,IAAImoB,EAAUllD,EAAK,UAAU+8B,EAAWnmC,EAAQ3D,EAAM,MAAM,EACxDiO,EAAM,MAAQX,EACdW,EAAM,OAASgkD,GAGXhkD,EAAM,MACNuzB,EAAO,KAAKvzB,CAAK,EACrBA,EAAQ,CAAE,KAAMX,EAAM,MAAO2kD,CAAO,EAE3C,CACD,QAASxyD,EAAI,EAAGA,EAAI6F,EAAM,OAAS,EAAG7F,IAClC,GAAI6F,EAAM7F,EAAI,CAAC,IAAM,OAErB,CAAAsP,EAAO/I,EAAMirD,EAAQxxD,CAAC,CAAC,EACnBsP,EAAK,QACLzB,EAAOyB,EAAK,QAAQ/O,EAAO+xD,EAAcR,EAAOxkD,CAAI,EAEpDO,EAAOyB,EAAK,MACZA,EAAK,OACD,OAAOA,EAAK,MAAQ,SACpBgjD,EAAehjD,EAAK,KAGpBgjD,EAAehjD,EAAK,KAAKgjD,EAAcR,CAAK,EAEhDvrD,EAAQ,KAAK,OAAO+rD,CAAY,EAC3B/rD,IACD,KAAK,YAAY,sBAAuB+rD,CAAY,EACpDA,EAAe,QACf/rD,EAAQ,KAAK,OAAO+rD,CAAY,GAEpCd,EAAU,KAAK,cAAcc,CAAY,EACzCjoB,EAAYnmC,EACZwsC,EAAK,KAAK,QAAQ4hB,CAAY,EAC9B5hB,EAAG,UAAYxsC,GAEfoL,EAAK,iBACL+6B,EAAYnmC,GAChB,MAEJ,GAAI3D,GACA,GAAI,OAAOsN,GAAS,UACX,CAACyB,GAAQA,EAAK,QAAU,KAAUd,EAAM,OAASX,EAClDW,EAAM,OAASjO,GAGXiO,EAAM,MACNuzB,EAAO,KAAKvzB,CAAK,EACrBA,EAAQ,CAAE,KAAMX,EAAM,MAAOtN,CAAK,WAGjCsN,EAAM,CACPW,EAAM,MACNuzB,EAAO,KAAKvzB,CAAK,EACrBA,EAAQ,CAAE,KAAM,KAAM,MAAO,EAAE,EAC/B,QAASxO,EAAI,EAAGA,EAAI6N,EAAK,OAAQ7N,IAC7B+hC,EAAO,KAAKl0B,EAAK7N,CAAC,CAAC,CAC1B,EAEL,GAAIqqC,GAAa/8B,EAAK,OAClB,MAEJ,GADA+8B,EAAYnmC,EACRquD,IAAkBnB,EAAiB,CAOnC,IANImB,EAAgB,EAAIjlD,EAAK,QACzB,KAAK,YAAY,sCAAuC,CACpD,WAAY+kD,EACZ,KAAM/kD,CAC9B,CAAqB,EAEE+8B,EAAY/8B,EAAK,QAChBkB,EAAM,MACNuzB,EAAO,KAAKvzB,CAAK,EACrBA,EAAQ,CACJ,MAAOlB,EAAK,UAAU+8B,EAAWA,GAAa,GAAG,EACjD,KAAM,UAC9B,EAEgBioB,EAAe,QACfR,EAAQ,CAAA,EACR,KACH,CACJ,CACD,OAAItjD,EAAM,MACNuzB,EAAO,KAAKvzB,CAAK,EACjBsjD,EAAM,OAAS,GACXA,EAAM,CAAC,IAAMQ,GACbR,EAAM,QAAQ,OAAQQ,CAAY,EAEnC,CACH,OAAQvwB,EACR,MAAO+vB,EAAM,OAASA,EAAQQ,CAC1C,CACA,EACWjB,CACV,EAAA,EACDA,EAAU,UAAU,YAAc/hB,EAClCzF,EAAQ,UAAYwnB,CAEpB,CAAC,EAED,IAAI,OAAO,gCAAgC,CAAC,UAAU,UAAU,SAAS,mBAAmB,EAAG,SAAS9nB,EAASM,EAASd,EAAO,CACjI,IAAIiC,EAAWzB,EAAQ,kBAAkB,EAAE,SACvCkpB,EACJA,EAAqB,UAAY,CAC7B,KAAK,OAAS,CACV,MAAS,CAAC,CACF,MAAO,aACP,MAAO,IACvB,EAAe,CACC,aAAc,MAC9B,CAAa,CACb,CACA,GACC,UAAY,CACT,KAAK,SAAW,SAAUljD,EAAOzJ,EAAQ,CACrC,GAAI,CAACA,EAAQ,CACT,QAASrE,KAAO8N,EACZ,KAAK,OAAO9N,CAAG,EAAI8N,EAAM9N,CAAG,EAChC,MACH,CACD,QAASA,KAAO8N,EAAO,CAEnB,QADIhJ,EAAQgJ,EAAM9N,CAAG,EACZ,EAAI,EAAG,EAAI8E,EAAM,OAAQ,IAAK,CACnC,IAAI+I,EAAO/I,EAAM,CAAC,GACd+I,EAAK,MAAQA,EAAK,WACd,OAAOA,EAAK,MAAQ,UAChBA,EAAK,KAAK,QAAQxJ,CAAM,IAAM,IAC9BwJ,EAAK,KAAOxJ,EAASwJ,EAAK,MAE9BA,EAAK,WAAaA,EAAK,UAAU,QAAQxJ,CAAM,IAAM,IACrDwJ,EAAK,UAAYxJ,EAASwJ,EAAK,WAE1C,CACD,KAAK,OAAOxJ,EAASrE,CAAG,EAAI8E,CAC/B,CACT,EACI,KAAK,SAAW,UAAY,CACxB,OAAO,KAAK,MACpB,EACI,KAAK,WAAa,SAAUmsD,EAAgB5sD,EAAQ6sD,EAAaC,EAAQzlD,EAAQ,CAC7E,IAAI0lD,EAAa,OAAOH,GAAkB,WACpC,IAAIA,EAAgB,EAAC,SAAU,EAC/BA,EACN,GAAIE,EACA,QAAS5yD,EAAI,EAAGA,EAAI4yD,EAAO,OAAQ5yD,IAC/B4yD,EAAO5yD,CAAC,EAAI8F,EAAS8sD,EAAO5yD,CAAC,MAEhC,CACD4yD,EAAS,CAAA,EACT,QAASnxD,KAAOoxD,EACZD,EAAO,KAAK9sD,EAASrE,CAAG,CAC/B,CAED,GADA,KAAK,SAASoxD,EAAY/sD,CAAM,EAC5B6sD,EAEA,QADIG,EAAW,MAAM,UAAU3lD,EAAS,OAAS,SAAS,EACjDnN,EAAI,EAAGA,EAAI4yD,EAAO,OAAQ5yD,IAC/B8yD,EAAS,MAAM,KAAK,OAAOF,EAAO5yD,CAAC,CAAC,EAAGgrC,EAAS2nB,CAAW,CAAC,EAE/D,KAAK,UACN,KAAK,QAAU,IACnB,KAAK,QAAQ,KAAK7sD,CAAM,CAChC,EACI,KAAK,UAAY,UAAY,CACzB,OAAO,KAAK,OACpB,EACI,IAAIitD,EAAY,SAAUT,EAAcR,EAAO,CAC3C,OAAIQ,GAAgB,SAAWR,EAAM,SACjCA,EAAM,QAAQ,KAAK,UAAWQ,CAAY,EACvC,KAAK,SACpB,EACQU,EAAW,SAAUV,EAAcR,EAAO,CAC1C,OAAAA,EAAM,MAAK,EACJA,EAAM,MAAO,GAAI,OAChC,EACI,KAAK,eAAiB,UAAY,CAC9B,IAAIvqC,EAAK,EACLhY,EAAQ,KAAK,OACjB,SAAS0jD,EAAaxxD,EAAK,CACvB,IAAI8E,EAAQgJ,EAAM9N,CAAG,EACrB8E,EAAM,UAAe,GACrB,QAASvG,EAAI,EAAGA,EAAIuG,EAAM,OAAQvG,IAAK,CACnC,IAAIsP,EAAO/I,EAAMvG,CAAC,EACdkzD,EAAW,KACX,MAAM,QAAQ5jD,CAAI,IAClB4jD,EAAW5jD,EACXA,EAAO,CAAA,GAEP,CAACA,EAAK,OAASA,EAAK,QACpBA,EAAK,MAAQA,EAAK,MACbA,EAAK,OACNA,EAAK,KAAO,IAChBA,EAAK,KAAK,KAAK,CACX,aAAcA,EAAK,KAC3C,EAAuB,CACC,MAAOA,EAAK,MAAQ,OACpB,MAAOA,EAAK,KAAOA,EAAK,MACxB,KAAM,KAC9B,CAAqB,EACDA,EAAK,MAAQA,EAAK,MAAQ,SAC1BA,EAAK,KAAO,IAEhB,IAAIlB,EAAOkB,EAAK,MAAQA,EAAK,KAC7B,GAAIlB,GAAQ,MAAM,QAAQA,CAAI,EAAG,CAC7B,IAAI+kD,EAAY7jD,EAAK,UAChB6jD,IACDA,EAAY7jD,EAAK,MACb,OAAO6jD,GAAa,WACpBA,EAAYA,EAAU,CAAC,GAAK,IAC5B5jD,EAAM4jD,CAAS,IACfA,GAAa5rC,MAErBhY,EAAM4jD,CAAS,EAAI/kD,EACnBkB,EAAK,KAAO6jD,EACZF,EAAaE,CAAS,CACzB,MACQ/kD,GAAQ,QACbkB,EAAK,KAAO0jD,GAOhB,GALI1jD,EAAK,OACLA,EAAK,UAAYA,EAAK,MAAQA,EAAK,KACnCA,EAAK,KAAOyjD,EACZ,OAAOzjD,EAAK,MAEZA,EAAK,MACL,QAAS6hD,KAAK7hD,EAAK,MACXC,EAAM4hD,CAAC,EACH5hD,EAAM4hD,CAAC,EAAE,MACT5hD,EAAM4hD,CAAC,EAAE,KAAK,MAAM5hD,EAAM4hD,CAAC,EAAG7hD,EAAK,MAAM6hD,CAAC,CAAC,EAG/C5hD,EAAM4hD,CAAC,EAAI7hD,EAAK,MAAM6hD,CAAC,EAInC,IAAIiC,EAAc,OAAO9jD,GAAQ,SAAWA,EAAOA,EAAK,QASxD,GARI8jD,IACIA,IAAgB,UAChBA,EAAc,SACd,MAAM,QAAQA,CAAW,EACzBF,EAAWE,EAAY,IAAI,SAAU3iD,EAAG,CAAE,OAAOlB,EAAMkB,CAAC,CAAE,CAAE,EAE5DyiD,EAAW3jD,EAAM6jD,CAAW,GAEhCF,EAAU,CACV,IAAIG,EAAO,CAACrzD,EAAG,CAAC,EAAE,OAAOkzD,CAAQ,EAC7B5jD,EAAK,WACL+jD,EAAOA,EAAK,OAAO,SAAU5iD,EAAG,CAAE,MAAO,CAACA,EAAE,IAAK,CAAE,GACvDlK,EAAM,OAAO,MAAMA,EAAO8sD,CAAI,EAC9BrzD,GACH,CACGsP,EAAK,aACLA,EAAK,MAAQ,KAAK,oBAAoBA,EAAK,WAAYA,EAAK,cAAgB,OAAQA,EAAK,eAAe,EACxG,OAAOA,EAAK,aAEnB,CACJ,CACD,OAAO,KAAKC,CAAK,EAAE,QAAQ0jD,EAAc,IAAI,CACrD,EACI,KAAK,oBAAsB,SAAU7nB,EAAKkoB,EAAcC,EAAYC,EAAW,CAC3E,IAAIC,EAAW,OAAO,OAAO,IAAI,EACjC,YAAK,aAAe,GACpB,OAAO,KAAKroB,CAAG,EAAE,QAAQ,SAAU34B,EAAW,CAG1C,QAFIjB,EAAI45B,EAAI34B,CAAS,EACjBnM,EAAOkL,EAAE,MAAMgiD,GAAa,GAAG,EAC1BxzD,EAAIsG,EAAK,OAAQtG,KAAM,CAC5B,IAAI0zD,EAAOptD,EAAKtG,CAAC,EACjB,KAAK,aAAa,KAAK0zD,CAAI,EACvBH,IACAG,EAAOA,EAAK,eAChBD,EAASC,CAAI,EAAIjhD,CACpB,CACJ,EAAE,IAAI,EACP24B,EAAM,KACCmoB,EACD,SAAUhzD,EAAO,CAAE,OAAOkzD,EAASlzD,EAAM,YAAa,CAAA,GAAK+yD,CAAe,EAC1E,SAAU/yD,EAAO,CAAE,OAAOkzD,EAASlzD,CAAK,GAAK+yD,EAC3D,EACI,KAAK,YAAc,UAAY,CAC3B,OAAO,KAAK,SACpB,CACA,GAAG,KAAKb,EAAmB,SAAS,EACpC5oB,EAAQ,mBAAqB4oB,CAE7B,CAAC,EAED,IAAI,OAAO,qBAAqB,CAAC,UAAU,UAAU,QAAQ,EAAG,SAASlpB,EAASM,EAASd,EAAO,CAClG,IAAI4qB,EACJA,EAAY,UAAY,CACpB,KAAK,YAAc,EACvB,GACC,UAAY,CACT,KAAK,IAAM,SAAUvoD,EAAMub,EAAQtZ,EAAU,CACzC,OAAQ,OAAS,CACb,KAAK,KAAK,YACN,KAAK,YAAc,GACvB,KAAK,KAAK,YAAYjC,CAAI,EACtB,KAAK,YAAYA,CAAI,EAAI,EAChC,CACD,KAAK,YAAYA,CAAI,EAAEub,CAAM,EAAItZ,CACzC,EACI,KAAK,cAAgB,SAAUumD,EAAY,CACvC,QAASnyD,KAAOmyD,EACZ,QAASjtC,KAAUitC,EAAWnyD,CAAG,EAC7B,KAAK,IAAIA,EAAKklB,EAAQitC,EAAWnyD,CAAG,EAAEklB,CAAM,CAAC,CAG7D,EACI,KAAK,OAAS,SAAUvb,EAAM,CACtB,KAAK,aAAe,KAAK,YAAYA,CAAI,GACzC,OAAO,KAAK,YAAYA,CAAI,CAExC,EACI,KAAK,QAAU,SAAU26C,EAAM8N,EAAQ,CACnC,GAAI,OAAO9N,GAAS,WAChB,IAAI6N,EAAa,IAAI7N,EAAM,EAAC,cAAc8N,CAAM,MAGhD,KAAID,EAAa7N,EAAK,cAAc8N,CAAM,EAE9C,KAAK,cAAcD,CAAU,CACrC,EACI,KAAK,cAAgB,SAAUC,EAAQ,CACnC,GAAKA,EAGA,CAED,QADI1G,EAAM,CAAA,EACDntD,EAAI,EAAGA,EAAI6zD,EAAO,OAAQ7zD,IAC3B,KAAK,YAAY6zD,EAAO7zD,CAAC,CAAC,IAC1BmtD,EAAI0G,EAAO7zD,CAAC,CAAC,EAAI,KAAK,YAAY6zD,EAAO7zD,CAAC,CAAC,GAGnD,OAAOmtD,CACV,KAVG,QAAO,KAAK,WAWxB,CACA,GAAG,KAAKwG,EAAU,SAAS,EAC3B9pB,EAAQ,UAAY8pB,CAEpB,CAAC,EAED,IAAI,OAAO,qBAAqB,CAAC,UAAU,UAAU,SAAS,WAAW,EAAG,SAASpqB,EAASM,EAASd,EAAO,CAC9G,IAAIuJ,EAAQ/I,EAAQ,SAAS,EAAE,MAC3BuqB,EAA+B,UAAY,CAC3C,SAASA,EAAc9gB,EAAS+gB,EAAYC,EAAe,CACvD,KAAK,SAAWhhB,EAChB,KAAK,KAAO+gB,EACZ,KAAK,WAAa/gB,EAAQ,UAAU+gB,CAAU,EAC9C,IAAIvlD,EAAQwkC,EAAQ,WAAW+gB,EAAYC,CAAa,EACxD,KAAK,YAAcxlD,EAAQA,EAAM,MAAQ,EAC5C,CACD,OAAAslD,EAAc,UAAU,aAAe,UAAY,CAE/C,IADA,KAAK,aAAe,EACb,KAAK,YAAc,GAAG,CAEzB,GADA,KAAK,MAAQ,EACT,KAAK,KAAO,EACZ,YAAK,KAAO,EACL,KAEX,KAAK,WAAa,KAAK,SAAS,UAAU,KAAK,IAAI,EACnD,KAAK,YAAc,KAAK,WAAW,OAAS,CAC/C,CACD,OAAO,KAAK,WAAW,KAAK,WAAW,CAC/C,EACIA,EAAc,UAAU,YAAc,UAAY,CAC9C,KAAK,aAAe,EAEpB,QADIG,EACG,KAAK,aAAe,KAAK,WAAW,QAAQ,CAI/C,GAHA,KAAK,MAAQ,EACRA,IACDA,EAAW,KAAK,SAAS,aACzB,KAAK,MAAQA,EACb,YAAK,KAAOA,EAAW,EAChB,KAEX,KAAK,WAAa,KAAK,SAAS,UAAU,KAAK,IAAI,EACnD,KAAK,YAAc,CACtB,CACD,OAAO,KAAK,WAAW,KAAK,WAAW,CAC/C,EACIH,EAAc,UAAU,gBAAkB,UAAY,CAClD,OAAO,KAAK,WAAW,KAAK,WAAW,CAC/C,EACIA,EAAc,UAAU,mBAAqB,UAAY,CACrD,OAAO,KAAK,IACpB,EACIA,EAAc,UAAU,sBAAwB,UAAY,CACxD,IAAII,EAAY,KAAK,WACjBC,EAAa,KAAK,YAClB5mD,EAAS2mD,EAAUC,CAAU,EAAE,MACnC,GAAI5mD,IAAW,OACX,OAAOA,EAEX,IADAA,EAAS,EACF4mD,EAAa,GAChBA,GAAc,EACd5mD,GAAU2mD,EAAUC,CAAU,EAAE,MAAM,OAE1C,OAAO5mD,CACf,EACIumD,EAAc,UAAU,wBAA0B,UAAY,CAC1D,MAAO,CAAE,IAAK,KAAK,KAAM,OAAQ,KAAK,sBAAqB,EACnE,EACIA,EAAc,UAAU,qBAAuB,UAAY,CACvD,IAAItlD,EAAQ,KAAK,WAAW,KAAK,WAAW,EACxCjB,EAAS,KAAK,wBAClB,OAAO,IAAI+kC,EAAM,KAAK,KAAM/kC,EAAQ,KAAK,KAAMA,EAASiB,EAAM,MAAM,MAAM,CAClF,EACWslD,CACV,EAAA,EACDjqB,EAAQ,cAAgBiqB,CAExB,CAAC,EAED,IAAI,OAAO,4BAA4B,CAAC,UAAU,UAAU,SAAS,cAAc,qBAAqB,qBAAqB,cAAc,EAAG,SAASvqB,EAASM,EAASd,EAAO,CAChL,IAAIsG,EAAM9F,EAAQ,eAAe,EAC7BoqB,EAAYpqB,EAAQ,cAAc,EAAE,UACpCuqB,EAAgBvqB,EAAQ,sBAAsB,EAAE,cAChD8G,EAAO9G,EAAQ,gBAAgB,EAC/B6qB,EAAwB,CAAC,OAAQ,eAAgB,SAAU,QAAS,sBAAsB,EAC1FC,EAA4B,CAAC,OAAQ,eAAgB,SAAU,QAAS,uBAAwB,SAAS,EACzG9zC,EACA+zC,EAAe,CAAA,EACfC,EAAgB,CAAE,IAAK,IAAK,IAAK,GAAG,EACpCC,EAAc,SAAUxY,EAAQ,CAChC,IAAIz0B,EAAK,GAMT,GALIy0B,EAAO,cACPz0B,EAAKy0B,EAAO,UAAU,MAClBsY,EAAa,YAActY,EAAO,YAAY,aAC9CsY,EAAe,CAAE,WAAYtY,EAAO,YAAY,UAAU,IAE9DsY,EAAa/sC,CAAE,EACf,OAAOhH,EAAU+zC,EAAa/sC,CAAE,EACpChH,EAAU+zC,EAAa/sC,CAAE,EAAI,CACzB,qBAAsB,EACtB,gBAAiB,GACjB,oBAAqB,GACrB,sBAAuB,EACvB,iBAAkB,GAClB,uBAAwB,GACxB,qBAAsB,EAC9B,CACA,EACIktC,EAAa,SAAU7b,EAAWjgB,EAAU+7B,EAASC,EAAS,CAC9D,IAAIC,EAAUhc,EAAU,IAAI,IAAMA,EAAU,MAAM,IAClD,MAAO,CACH,KAAM8b,EAAU/7B,EAAWg8B,EAC3B,UAAW,CACP,EACA/b,EAAU,MAAM,OAAS,EACzBgc,EACAhc,EAAU,IAAI,QAAUgc,EAAU,EAAI,EACzC,CACT,CACA,EACIC,EACJA,EAAkB,SAAUtiD,EAAS,CACjCA,EAAUA,GAAW,GACrB,KAAK,IAAI,SAAU,YAAa,SAAUhM,EAAOogB,EAAQq1B,EAAQhJ,EAASiE,EAAM,CAC5E,IAAIuF,EAASR,EAAO,oBAChB1uC,EAAO0lC,EAAQ,IAAI,QAAQwJ,EAAO,GAAG,EACzC,GAAIvF,GAAQ,IAAK,CACbud,EAAYxY,CAAM,EAClB,IAAIpD,EAAYoD,EAAO,oBACnBrjB,EAAWqa,EAAQ,IAAI,aAAa4F,CAAS,EAC7CpqC,EAAQwkC,EAAQ,WAAWwJ,EAAO,IAAKA,EAAO,MAAM,EACxD,GAAI7jB,IAAa,IAAMA,IAAa,KAAOqjB,EAAO,2BAC9C,OAAOyY,EAAW7b,EAAWjgB,EAAU,IAAK,GAAG,EAE9C,GAAInqB,GAAS,0BAA0B,KAAKA,EAAM,IAAI,EAAG,CAC1D,IAAIsmD,EAAgB,CAChB,qBAAsB,iBAC1C,EACgB,OAAIA,EAAc,KAAK,SAAU1sC,EAAI,CAAE,OAAOA,EAAG,KAAK5Z,EAAM,IAAI,CAAE,CAAE,GAAK,kBAAkB,KAAKA,EAAM,IAAI,GACnGA,EAAM,MAAMguC,EAAO,OAAShuC,EAAM,MAAQ,CAAC,IAAM,IACpD,QACJqmD,EAAgB,iBAAiB7Y,EAAQhJ,EAAS,GAAG,EAC9C,CACH,KAAM,KACN,UAAW,CAAC,EAAG,CAAC,CACpC,EACa,SACQ6hB,EAAgB,gBAAgB7Y,EAAQhJ,CAAO,EACpD,MAAI,WAAW,KAAK1lC,EAAKkvC,EAAO,MAAM,CAAC,GAAKR,EAAO,mBAAqBzpC,EAAQ,QAC5EsiD,EAAgB,iBAAiB7Y,EAAQhJ,EAAS,GAAG,EAC9C,CACH,KAAM,KACN,UAAW,CAAC,EAAG,CAAC,CACxC,IAGoB6hB,EAAgB,kBAAkB7Y,EAAQhJ,EAAS,GAAG,EAC/C,CACH,KAAM,IACN,UAAW,CAAC,EAAG,CAAC,CACxC,EAGS,SACQiE,GAAQ,IAAK,CAClBud,EAAYxY,CAAM,EAClB,IAAI+Y,EAAYznD,EAAK,UAAUkvC,EAAO,OAAQA,EAAO,OAAS,CAAC,EAC/D,GAAIuY,GAAa,IAAK,CAClB,IAAIC,EAAWhiB,EAAQ,oBAAoB,IAAK,CAAE,OAAQwJ,EAAO,OAAS,EAAG,IAAKA,EAAO,GAAK,CAAA,EAC9F,GAAIwY,IAAa,MAAQH,EAAgB,sBAAsBrY,EAAQlvC,EAAM2pC,CAAI,EAC7E,OAAA4d,EAAgB,uBAAsB,EAC/B,CACH,KAAM,GACN,UAAW,CAAC,EAAG,CAAC,CACxC,CAEa,CACJ,SACQ5d,GAAQ;AAAA,GAAQA,GAAQ;AAAA,EAAQ,CACrCud,EAAYxY,CAAM,EAClB,IAAI2Y,EAAU,GACVE,EAAgB,uBAAuBrY,EAAQlvC,CAAI,IACnDqnD,EAAUtkB,EAAK,aAAa,IAAK9vB,EAAQ,qBAAqB,EAC9Ds0C,EAAgB,0BAAyB,GAE7C,IAAIE,EAAYznD,EAAK,UAAUkvC,EAAO,OAAQA,EAAO,OAAS,CAAC,EAC/D,GAAIuY,IAAc,IAAK,CACnB,IAAIE,EAAejiB,EAAQ,oBAAoB,CAAE,IAAKwJ,EAAO,IAAK,OAAQA,EAAO,OAAS,CAAG,EAAE,GAAG,EAClG,GAAI,CAACyY,EACD,OAAO,KACX,IAAIC,EAAc,KAAK,WAAWliB,EAAQ,QAAQiiB,EAAa,GAAG,CAAC,CACtE,SACQN,EACL,IAAIO,EAAc,KAAK,WAAW5nD,CAAI,MAErC,CACDunD,EAAgB,0BAAyB,EACzC,MACH,CACD,IAAIM,EAASD,EAAcliB,EAAQ,aAAY,EAC/C,MAAO,CACH,KAAM;AAAA,EAAOmiB,EAAS;AAAA,EAAOD,EAAcP,EAC3C,UAAW,CAAC,EAAGQ,EAAO,OAAQ,EAAGA,EAAO,MAAM,CAC9D,CACS,MAEGN,EAAgB,0BAAyB,CAErD,CAAK,EACD,KAAK,IAAI,SAAU,WAAY,SAAUtuD,EAAOogB,EAAQq1B,EAAQhJ,EAASL,EAAO,CAC5E,IAAIha,EAAWqa,EAAQ,IAAI,aAAaL,CAAK,EAC7C,GAAI,CAACA,EAAM,eAAiBha,GAAY,IAAK,CACzC67B,EAAYxY,CAAM,EAClB,IAAI1uC,EAAO0lC,EAAQ,IAAI,QAAQL,EAAM,MAAM,GAAG,EAC1CoiB,EAAYznD,EAAK,UAAUqlC,EAAM,IAAI,OAAQA,EAAM,IAAI,OAAS,CAAC,EACrE,GAAIoiB,GAAa,IACb,OAAApiB,EAAM,IAAI,SACHA,EAGPpyB,EAAQ,uBAEf,CACT,CAAK,EACD,KAAK,IAAI,SAAU,YAAa,SAAUha,EAAOogB,EAAQq1B,EAAQhJ,EAASiE,EAAM,CAC5E,GAAIA,GAAQ,IAAK,CACbud,EAAYxY,CAAM,EAClB,IAAIpD,EAAYoD,EAAO,oBACnBrjB,EAAWqa,EAAQ,IAAI,aAAa4F,CAAS,EACjD,GAAIjgB,IAAa,IAAMqjB,EAAO,yBAAwB,EAClD,OAAOyY,EAAW7b,EAAWjgB,EAAU,IAAK,GAAG,EAE9C,GAAIk8B,EAAgB,gBAAgB7Y,EAAQhJ,CAAO,EACpD,OAAA6hB,EAAgB,iBAAiB7Y,EAAQhJ,EAAS,GAAG,EAC9C,CACH,KAAM,KACN,UAAW,CAAC,EAAG,CAAC,CACpC,CAES,SACQiE,GAAQ,IAAK,CAClBud,EAAYxY,CAAM,EAClB,IAAIQ,EAASR,EAAO,oBAChB1uC,EAAO0lC,EAAQ,IAAI,QAAQwJ,EAAO,GAAG,EACrCuY,EAAYznD,EAAK,UAAUkvC,EAAO,OAAQA,EAAO,OAAS,CAAC,EAC/D,GAAIuY,GAAa,IAAK,CAClB,IAAIC,EAAWhiB,EAAQ,oBAAoB,IAAK,CAAE,OAAQwJ,EAAO,OAAS,EAAG,IAAKA,EAAO,GAAK,CAAA,EAC9F,GAAIwY,IAAa,MAAQH,EAAgB,sBAAsBrY,EAAQlvC,EAAM2pC,CAAI,EAC7E,OAAA4d,EAAgB,uBAAsB,EAC/B,CACH,KAAM,GACN,UAAW,CAAC,EAAG,CAAC,CACxC,CAEa,CACJ,CACT,CAAK,EACD,KAAK,IAAI,SAAU,WAAY,SAAUtuD,EAAOogB,EAAQq1B,EAAQhJ,EAASL,EAAO,CAC5E,IAAIha,EAAWqa,EAAQ,IAAI,aAAaL,CAAK,EAC7C,GAAI,CAACA,EAAM,eAAiBha,GAAY,IAAK,CACzC67B,EAAYxY,CAAM,EAClB,IAAI1uC,EAAO0lC,EAAQ,IAAI,QAAQL,EAAM,MAAM,GAAG,EAC1CoiB,EAAYznD,EAAK,UAAUqlC,EAAM,MAAM,OAAS,EAAGA,EAAM,MAAM,OAAS,CAAC,EAC7E,GAAIoiB,GAAa,IACb,OAAApiB,EAAM,IAAI,SACHA,CAEd,CACT,CAAK,EACD,KAAK,IAAI,WAAY,YAAa,SAAUpsC,EAAOogB,EAAQq1B,EAAQhJ,EAASiE,EAAM,CAC9E,GAAIA,GAAQ,IAAK,CACbud,EAAYxY,CAAM,EAClB,IAAIpD,EAAYoD,EAAO,oBACnBrjB,EAAWqa,EAAQ,IAAI,aAAa4F,CAAS,EACjD,GAAIjgB,IAAa,IAAMqjB,EAAO,yBAAwB,EAClD,OAAOyY,EAAW7b,EAAWjgB,EAAU,IAAK,GAAG,EAE9C,GAAIk8B,EAAgB,gBAAgB7Y,EAAQhJ,CAAO,EACpD,OAAA6hB,EAAgB,iBAAiB7Y,EAAQhJ,EAAS,GAAG,EAC9C,CACH,KAAM,KACN,UAAW,CAAC,EAAG,CAAC,CACpC,CAES,SACQiE,GAAQ,IAAK,CAClBud,EAAYxY,CAAM,EAClB,IAAIQ,EAASR,EAAO,oBAChB1uC,EAAO0lC,EAAQ,IAAI,QAAQwJ,EAAO,GAAG,EACrCuY,EAAYznD,EAAK,UAAUkvC,EAAO,OAAQA,EAAO,OAAS,CAAC,EAC/D,GAAIuY,GAAa,IAAK,CAClB,IAAIC,EAAWhiB,EAAQ,oBAAoB,IAAK,CAAE,OAAQwJ,EAAO,OAAS,EAAG,IAAKA,EAAO,GAAK,CAAA,EAC9F,GAAIwY,IAAa,MAAQH,EAAgB,sBAAsBrY,EAAQlvC,EAAM2pC,CAAI,EAC7E,OAAA4d,EAAgB,uBAAsB,EAC/B,CACH,KAAM,GACN,UAAW,CAAC,EAAG,CAAC,CACxC,CAEa,CACJ,CACT,CAAK,EACD,KAAK,IAAI,WAAY,WAAY,SAAUtuD,EAAOogB,EAAQq1B,EAAQhJ,EAASL,EAAO,CAC9E,IAAIha,EAAWqa,EAAQ,IAAI,aAAaL,CAAK,EAC7C,GAAI,CAACA,EAAM,eAAiBha,GAAY,IAAK,CACzC67B,EAAYxY,CAAM,EAClB,IAAI1uC,EAAO0lC,EAAQ,IAAI,QAAQL,EAAM,MAAM,GAAG,EAC1CoiB,EAAYznD,EAAK,UAAUqlC,EAAM,MAAM,OAAS,EAAGA,EAAM,MAAM,OAAS,CAAC,EAC7E,GAAIoiB,GAAa,IACb,OAAApiB,EAAM,IAAI,SACHA,CAEd,CACT,CAAK,EACD,KAAK,IAAI,iBAAkB,YAAa,SAAUpsC,EAAOogB,EAAQq1B,EAAQhJ,EAASiE,EAAM,CACpF,IAAIme,EAASpiB,EAAQ,MAAM,SAAWuhB,EACtC,GAAItd,EAAK,QAAU,GAAKme,EAAOne,CAAI,EAAG,CAClC,GAAI,KAAK,kBAAoB,KAAK,iBAAiB,QAAQA,CAAI,GAAK,GAChE,OACJud,EAAYxY,CAAM,EAClB,IAAIqZ,EAAQpe,EACR2B,EAAYoD,EAAO,oBACnBrjB,EAAWqa,EAAQ,IAAI,aAAa4F,CAAS,EACjD,GAAIjgB,IAAa,KAAOA,EAAS,QAAU,GAAK,CAACy8B,EAAOz8B,CAAQ,IAAMqjB,EAAO,yBAAwB,EACjG,OAAOyY,EAAW7b,EAAWjgB,EAAU08B,EAAOA,CAAK,EAElD,GAAI,CAAC18B,EAAU,CAChB,IAAI6jB,EAASR,EAAO,oBAChB1uC,EAAO0lC,EAAQ,IAAI,QAAQwJ,EAAO,GAAG,EACrC8Y,EAAWhoD,EAAK,UAAUkvC,EAAO,OAAS,EAAGA,EAAO,MAAM,EAC1DuY,EAAYznD,EAAK,UAAUkvC,EAAO,OAAQA,EAAO,OAAS,CAAC,EAC3DhuC,EAAQwkC,EAAQ,WAAWwJ,EAAO,IAAKA,EAAO,MAAM,EACpD+Y,EAAaviB,EAAQ,WAAWwJ,EAAO,IAAKA,EAAO,OAAS,CAAC,EACjE,GAAI8Y,GAAY,MAAQ9mD,GAAS,SAAS,KAAKA,EAAM,IAAI,EACrD,OAAO,KACX,IAAIgnD,EAAehnD,GAAS,gBAAgB,KAAKA,EAAM,IAAI,EACvDinD,EAAc,CAACF,GAAc,gBAAgB,KAAKA,EAAW,IAAI,EACjEG,EACJ,GAAIX,GAAaM,EACbK,EAAOF,IAAiBC,EACpBC,GAAQ,cAAc,KAAKH,EAAW,IAAI,IAC1CG,EAAO,QAEV,CAGD,GAFIF,GAAgB,CAACC,GAEjBD,GAAgBC,EAChB,OAAO,KACX,IAAIE,EAAS3iB,EAAQ,MAAM,QAC3B2iB,EAAO,UAAY,EACnB,IAAIC,EAAeD,EAAO,KAAKL,CAAQ,EACvCK,EAAO,UAAY,EACnB,IAAIE,EAAcF,EAAO,KAAKZ,CAAS,EACnCe,EAAkB9iB,EAAQ,MAAM,iBAChC+iB,EAAmBD,GAAmBA,EAAgBT,CAAK,GAAKS,EAAgBT,CAAK,EAAE,KAAKC,CAAQ,EAGxG,GAFK,CAACS,GAAoBH,GAAiBC,GAEvCd,GAAa,CAAC,gBAAgB,KAAKA,CAAS,EAC5C,OAAO,KACX,IAAIiB,EAAa1oD,EAAKkvC,EAAO,OAAS,CAAC,EACvC,GAAI8Y,GAAYD,IAAUW,GAAcX,GAASM,EAAO,KAAKK,CAAU,GACnE,OAAO,KACXN,EAAO,EACV,CACD,MAAO,CACH,KAAMA,EAAOL,EAAQA,EAAQ,GAC7B,UAAW,CAAC,EAAG,CAAC,CACpC,CACa,CACJ,CACT,CAAK,EACD,KAAK,IAAI,iBAAkB,WAAY,SAAU9uD,EAAOogB,EAAQq1B,EAAQhJ,EAASL,EAAO,CACpF,IAAIyiB,EAASpiB,EAAQ,MAAM,SAAWuhB,EAClC57B,EAAWqa,EAAQ,IAAI,aAAaL,CAAK,EAC7C,GAAI,CAACA,EAAM,YAAW,GAAMyiB,EAAO,eAAez8B,CAAQ,EAAG,CACzD67B,EAAYxY,CAAM,EAClB,IAAI1uC,EAAO0lC,EAAQ,IAAI,QAAQL,EAAM,MAAM,GAAG,EAC1CoiB,EAAYznD,EAAK,UAAUqlC,EAAM,MAAM,OAAS,EAAGA,EAAM,MAAM,OAAS,CAAC,EAC7E,GAAIoiB,GAAap8B,EACb,OAAAga,EAAM,IAAI,SACHA,CAEd,CACT,CAAK,EACGpgC,EAAQ,kBAAoB,IAC5B,KAAK,IAAI,kBAAmB,YAAa,SAAUhM,EAAOogB,EAAQq1B,EAAQhJ,EAASiE,EAAM,CACrF,GAAI1wC,IAAU,cAAgB0wC,IAAS;AAAA,GAAQA,IAAS;AAAA,IAAW+E,EAAO,UAAU,UAAW,CAC3F,IAAIQ,EAASR,EAAO,oBACpB,GAAIQ,EAAO,SAAW,EAClB,OAMJ,QAJIlvC,EAAO0lC,EAAQ,IAAI,QAAQwJ,EAAO,GAAG,EACrCtD,EAAWlG,EAAQ,IAAI,QAAQwJ,EAAO,IAAM,CAAC,EAC7Cza,EAASiR,EAAQ,UAAUwJ,EAAO,GAAG,EACrCt4C,EAAQ,EACHlE,EAAI,EAAGA,EAAI+hC,EAAO,OAAQ/hC,IAAK,CACpCkE,GAAS69B,EAAO/hC,CAAC,EAAE,MAAM,OACzB,IAAIi2D,EAAel0B,EAAO/hC,CAAC,EAC3B,GAAIkE,GAASs4C,EAAO,OAAQ,CACxB,GAAIt4C,IAAUs4C,EAAO,OAAQ,CACzB,GAAI,CAAC,QAAQ,KAAKyZ,EAAa,IAAI,EAC/B,OAEJ,GAAI,OAAO,KAAKA,EAAa,KAAK,EAAG,CACjC,IAAIC,EAAYn0B,EAAO/hC,EAAI,CAAC,EAC5B,GAAI,CAACk2D,GAAa,CAAC,QAAQ,KAAKA,EAAU,IAAI,EAC1C,MAEP,CACJ,CACD,IAAIC,EAAmB3Z,EAAO,QAAUt4C,EAAQ+xD,EAAa,MAAM,QAC/DG,EAAcH,EAAa,MAAM,QAAQ,IAAI,EAC7CI,EAAaJ,EAAa,MAAM,QAAQ,MAAOG,EAAc,GAAKA,EAAc,EAAI,CAAC,EAIzF,GAHIC,IAAe,IAAMF,EAAmBE,GAAcF,EAAmBE,EAAa,GAGtFD,IAAgB,IAAMC,IAAe,IAAMF,GAAoBC,GAC5DD,GAAoBE,GAAc,CAAC,QAAQ,KAAKJ,EAAa,IAAI,EACpE,OAEJ,KACH,CACJ,CACD,IAAId,EAAS,KAAK,WAAW7nD,CAAI,EACjC,GAAI,QAAQ,KAAK4rC,CAAQ,EACrB,MAAI,SAAS,KAAK5rC,CAAI,EACX,CACH,KAAM2pC,EAAOke,EAAS,KACtB,UAAW,CAAC,EAAG,EAAIA,EAAO,OAAQ,EAAG,EAAIA,EAAO,MAAM,CAClF,EAG+B,CACH,KAAMle,EAAOke,EAAS,MACtB,UAAW,CAAC,EAAG,EAAIA,EAAO,OAAQ,EAAG,EAAIA,EAAO,MAAM,CAClF,EAGgB,GAAI,SAAS,KAAK7nD,EAAK,UAAU,EAAGkvC,EAAO,MAAM,CAAC,EAC9C,MAAO,CACH,KAAMvF,EAAOke,EAAS,MAAQle,EAAO,IAAMke,EAAS,KACpD,UAAW,CAAC,EAAG,EAAIA,EAAO,OAAQ,EAAG,EAAIA,EAAO,MAAM,CAC9E,CAEa,CACb,CAAS,CAET,EACAN,EAAgB,gBAAkB,SAAU7Y,EAAQhJ,EAAS,CACzD,IAAIwJ,EAASR,EAAO,oBAChBsa,EAAW,IAAIxC,EAAc9gB,EAASwJ,EAAO,IAAKA,EAAO,MAAM,EACnE,GAAI,CAAC,KAAK,gBAAgB8Z,EAAS,mBAAqB,OAAQlC,CAAqB,EAAG,CACpF,GAAI,SAAS,KAAKpY,EAAO,QAAQ,QAAQQ,EAAO,GAAG,EAAEA,EAAO,MAAM,CAAC,EAC/D,MAAO,GACX,IAAI+Z,EAAY,IAAIzC,EAAc9gB,EAASwJ,EAAO,IAAKA,EAAO,OAAS,CAAC,EACxE,GAAI,CAAC,KAAK,gBAAgB+Z,EAAU,gBAAiB,GAAI,OAAQnC,CAAqB,EAClF,MAAO,EACd,CACD,OAAAkC,EAAS,YAAW,EACbA,EAAS,uBAAyB9Z,EAAO,KAC5C,KAAK,gBAAgB8Z,EAAS,gBAAe,GAAM,OAAQjC,CAAyB,CAC5F,EACAQ,EAAgB,gBAAqB,SAAUrmD,EAAO82C,EAAO,CACzD,OAAOA,EAAM,QAAQ92C,EAAM,MAAQA,CAAK,EAAI,EAChD,EACAqmD,EAAgB,iBAAsB,SAAU7Y,EAAQhJ,EAASwjB,EAAS,CACtE,IAAIha,EAASR,EAAO,oBAChB1uC,EAAO0lC,EAAQ,IAAI,QAAQwJ,EAAO,GAAG,EACpC,KAAK,sBAAyBA,EAAQlvC,EAAMiT,EAAQ,oBAAoB,CAAC,CAAC,IAC3EA,EAAQ,qBAAuB,GACnCA,EAAQ,gBAAkBi8B,EAAO,IACjCj8B,EAAQ,oBAAsBi2C,EAAUlpD,EAAK,OAAOkvC,EAAO,MAAM,EACjEj8B,EAAQ,sBACZ,EACAs0C,EAAgB,kBAAuB,SAAU7Y,EAAQhJ,EAASwjB,EAAS,CACvE,IAAIha,EAASR,EAAO,oBAChB1uC,EAAO0lC,EAAQ,IAAI,QAAQwJ,EAAO,GAAG,EACpC,KAAK,uBAA0BA,EAAQlvC,CAAI,IAC5CiT,EAAQ,sBAAwB,GACpCA,EAAQ,iBAAmBi8B,EAAO,IAClCj8B,EAAQ,uBAAyBjT,EAAK,OAAO,EAAGkvC,EAAO,MAAM,EAAIga,EACjEj2C,EAAQ,qBAAuBjT,EAAK,OAAOkvC,EAAO,MAAM,EACxDj8B,EAAQ,uBACZ,EACAs0C,EAAgB,sBAA2B,SAAUrY,EAAQlvC,EAAMkpD,EAAS,CACxE,OAAOj2C,EAAQ,qBAAuB,GAClCi8B,EAAO,MAAQj8B,EAAQ,iBACvBi2C,IAAYj2C,EAAQ,oBAAoB,CAAC,GACzCjT,EAAK,OAAOkvC,EAAO,MAAM,IAAMj8B,EAAQ,mBAC/C,EACAs0C,EAAgB,uBAA4B,SAAUrY,EAAQlvC,EAAM,CAChE,OAAOiT,EAAQ,sBAAwB,GACnCi8B,EAAO,MAAQj8B,EAAQ,kBACvBjT,EAAK,OAAOkvC,EAAO,MAAM,IAAMj8B,EAAQ,sBACvCjT,EAAK,OAAO,EAAGkvC,EAAO,MAAM,GAAKj8B,EAAQ,sBACjD,EACAs0C,EAAgB,uBAA4B,UAAY,CACpDt0C,EAAQ,oBAAsBA,EAAQ,oBAAoB,OAAO,CAAC,EAClEA,EAAQ,sBACZ,EACAs0C,EAAgB,0BAA+B,UAAY,CACnDt0C,IACAA,EAAQ,sBAAwB,EAChCA,EAAQ,iBAAmB,GAEnC,EACA8uB,EAAI,SAASwlB,EAAiBlB,CAAS,EACvC9pB,EAAQ,gBAAkBgrB,CAE1B,CAAC,EAED,IAAI,OAAO,cAAc,CAAC,UAAU,UAAU,QAAQ,EAAG,SAAStrB,EAASM,EAASd,EAAO,CAI3F,QAHI0tB,EAAY,CAAC,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,IAAK,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,KAAM,GAAI,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,KAAM,GAAI,MAAO,GAAI,KAAM,GAAI,GAAI,EAAG,IAAK,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,E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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194]}