nodes\n const node = document.createElement('span');\n node.textContent = segment;\n elements.push(node);\n }\n else {\n elements.push(segment);\n }\n }\n return elements;\n }\n updateBackground(hover) {\n let background;\n if (this.options.secondary) {\n background = hover ? this.options.buttonSecondaryHoverBackground : this.options.buttonSecondaryBackground;\n }\n else {\n background = hover ? this.options.buttonHoverBackground : this.options.buttonBackground;\n }\n if (background) {\n this._element.style.backgroundColor = background;\n }\n }\n get element() {\n return this._element;\n }\n set label(value) {\n var _a;\n if (this._label === value) {\n return;\n }\n if ((0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_8__.isMarkdownString)(this._label) && (0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_8__.isMarkdownString)(value) && (0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_8__.markdownStringEqual)(this._label, value)) {\n return;\n }\n this._element.classList.add('monaco-text-button');\n const labelElement = this.options.supportShortLabel ? this._labelElement : this._element;\n if ((0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_8__.isMarkdownString)(value)) {\n const rendered = (0,_markdownRenderer_js__WEBPACK_IMPORTED_MODULE_3__.renderMarkdown)(value, { inline: true });\n rendered.dispose();\n // Don't include outer ``\n const root = (_a = rendered.element.querySelector('p')) === null || _a === void 0 ? void 0 : _a.innerHTML;\n if (root) {\n // Only allow a very limited set of inline html tags\n const sanitized = (0,_dompurify_dompurify_js__WEBPACK_IMPORTED_MODULE_1__.sanitize)(root, { ADD_TAGS: ['b', 'i', 'u', 'code', 'span'], ALLOWED_ATTR: ['class'], RETURN_TRUSTED_TYPE: true });\n labelElement.innerHTML = sanitized;\n }\n else {\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.reset)(labelElement);\n }\n }\n else {\n if (this.options.supportIcons) {\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.reset)(labelElement, ...this.getContentElements(value));\n }\n else {\n labelElement.textContent = value;\n }\n }\n if (typeof this.options.title === 'string') {\n this._element.title = this.options.title;\n }\n else if (this.options.title) {\n this._element.title = (0,_markdownRenderer_js__WEBPACK_IMPORTED_MODULE_3__.renderStringAsPlaintext)(value);\n }\n this._label = value;\n }\n get label() {\n return this._label;\n }\n set icon(icon) {\n this._element.classList.add(..._common_themables_js__WEBPACK_IMPORTED_MODULE_10__.ThemeIcon.asClassNameArray(icon));\n }\n set enabled(value) {\n if (value) {\n this._element.classList.remove('disabled');\n this._element.setAttribute('aria-disabled', String(false));\n this._element.tabIndex = 0;\n }\n else {\n this._element.classList.add('disabled');\n this._element.setAttribute('aria-disabled', String(true));\n }\n }\n get enabled() {\n return !this._element.classList.contains('disabled');\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codiconStyles.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codiconStyles.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _codicon_codicon_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./codicon/codicon.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.css\");\n/* harmony import */ var _codicon_codicon_modifiers_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./codicon/codicon-modifiers.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codiconStyles.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js":
+/*!**************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js ***!
+ \**************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ContextView: () => (/* binding */ ContextView),\n/* harmony export */ LayoutAnchorMode: () => (/* binding */ LayoutAnchorMode),\n/* harmony export */ isAnchor: () => (/* binding */ isAnchor),\n/* harmony export */ layout: () => (/* binding */ layout)\n/* harmony export */ });\n/* harmony import */ var _canIUse_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../canIUse.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/canIUse.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_range_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/range.js */ \"./node_modules/monaco-editor/esm/vs/base/common/range.js\");\n/* harmony import */ var _contextview_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./contextview.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.css\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\nfunction isAnchor(obj) {\n const anchor = obj;\n return !!anchor && typeof anchor.x === 'number' && typeof anchor.y === 'number';\n}\nvar LayoutAnchorMode;\n(function (LayoutAnchorMode) {\n LayoutAnchorMode[LayoutAnchorMode[\"AVOID\"] = 0] = \"AVOID\";\n LayoutAnchorMode[LayoutAnchorMode[\"ALIGN\"] = 1] = \"ALIGN\";\n})(LayoutAnchorMode || (LayoutAnchorMode = {}));\n/**\n * Lays out a one dimensional view next to an anchor in a viewport.\n *\n * @returns The view offset within the viewport.\n */\nfunction layout(viewportSize, viewSize, anchor) {\n const layoutAfterAnchorBoundary = anchor.mode === LayoutAnchorMode.ALIGN ? anchor.offset : anchor.offset + anchor.size;\n const layoutBeforeAnchorBoundary = anchor.mode === LayoutAnchorMode.ALIGN ? anchor.offset + anchor.size : anchor.offset;\n if (anchor.position === 0 /* LayoutAnchorPosition.Before */) {\n if (viewSize <= viewportSize - layoutAfterAnchorBoundary) {\n return layoutAfterAnchorBoundary; // happy case, lay it out after the anchor\n }\n if (viewSize <= layoutBeforeAnchorBoundary) {\n return layoutBeforeAnchorBoundary - viewSize; // ok case, lay it out before the anchor\n }\n return Math.max(viewportSize - viewSize, 0); // sad case, lay it over the anchor\n }\n else {\n if (viewSize <= layoutBeforeAnchorBoundary) {\n return layoutBeforeAnchorBoundary - viewSize; // happy case, lay it out before the anchor\n }\n if (viewSize <= viewportSize - layoutAfterAnchorBoundary) {\n return layoutAfterAnchorBoundary; // ok case, lay it out after the anchor\n }\n return 0; // sad case, lay it over the anchor\n }\n}\nclass ContextView extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\n constructor(container, domPosition) {\n super();\n this.container = null;\n this.useFixedPosition = false;\n this.useShadowDOM = false;\n this.delegate = null;\n this.toDisposeOnClean = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n this.toDisposeOnSetContainer = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n this.shadowRoot = null;\n this.shadowRootHostElement = null;\n this.view = _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('.context-view');\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.hide(this.view);\n this.setContainer(container, domPosition);\n this._register((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.toDisposable)(() => this.setContainer(null, 1 /* ContextViewDOMPosition.ABSOLUTE */)));\n }\n setContainer(container, domPosition) {\n var _a;\n this.useFixedPosition = domPosition !== 1 /* ContextViewDOMPosition.ABSOLUTE */;\n const usedShadowDOM = this.useShadowDOM;\n this.useShadowDOM = domPosition === 3 /* ContextViewDOMPosition.FIXED_SHADOW */;\n if (container === this.container && usedShadowDOM !== this.useShadowDOM) {\n return; // container is the same and now shadow DOM usage has changed\n }\n if (this.container) {\n this.toDisposeOnSetContainer.dispose();\n if (this.shadowRoot) {\n this.shadowRoot.removeChild(this.view);\n this.shadowRoot = null;\n (_a = this.shadowRootHostElement) === null || _a === void 0 ? void 0 : _a.remove();\n this.shadowRootHostElement = null;\n }\n else {\n this.container.removeChild(this.view);\n }\n this.container = null;\n }\n if (container) {\n this.container = container;\n if (this.useShadowDOM) {\n this.shadowRootHostElement = _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('.shadow-root-host');\n this.container.appendChild(this.shadowRootHostElement);\n this.shadowRoot = this.shadowRootHostElement.attachShadow({ mode: 'open' });\n const style = document.createElement('style');\n style.textContent = SHADOW_ROOT_CSS;\n this.shadowRoot.appendChild(style);\n this.shadowRoot.appendChild(this.view);\n this.shadowRoot.appendChild(_dom_js__WEBPACK_IMPORTED_MODULE_1__.$('slot'));\n }\n else {\n this.container.appendChild(this.view);\n }\n const toDisposeOnSetContainer = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.DisposableStore();\n ContextView.BUBBLE_UP_EVENTS.forEach(event => {\n toDisposeOnSetContainer.add(_dom_js__WEBPACK_IMPORTED_MODULE_1__.addStandardDisposableListener(this.container, event, e => {\n this.onDOMEvent(e, false);\n }));\n });\n ContextView.BUBBLE_DOWN_EVENTS.forEach(event => {\n toDisposeOnSetContainer.add(_dom_js__WEBPACK_IMPORTED_MODULE_1__.addStandardDisposableListener(this.container, event, e => {\n this.onDOMEvent(e, true);\n }, true));\n });\n this.toDisposeOnSetContainer = toDisposeOnSetContainer;\n }\n }\n show(delegate) {\n var _a, _b;\n if (this.isVisible()) {\n this.hide();\n }\n // Show static box\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.clearNode(this.view);\n this.view.className = 'context-view';\n this.view.style.top = '0px';\n this.view.style.left = '0px';\n this.view.style.zIndex = '2575';\n this.view.style.position = this.useFixedPosition ? 'fixed' : 'absolute';\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.show(this.view);\n // Render content\n this.toDisposeOnClean = delegate.render(this.view) || _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n // Set active delegate\n this.delegate = delegate;\n // Layout\n this.doLayout();\n // Focus\n (_b = (_a = this.delegate).focus) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n getViewElement() {\n return this.view;\n }\n layout() {\n if (!this.isVisible()) {\n return;\n }\n if (this.delegate.canRelayout === false && !(_common_platform_js__WEBPACK_IMPORTED_MODULE_3__.isIOS && _canIUse_js__WEBPACK_IMPORTED_MODULE_0__.BrowserFeatures.pointerEvents)) {\n this.hide();\n return;\n }\n if (this.delegate.layout) {\n this.delegate.layout();\n }\n this.doLayout();\n }\n doLayout() {\n // Check that we still have a delegate - this.delegate.layout may have hidden\n if (!this.isVisible()) {\n return;\n }\n // Get anchor\n const anchor = this.delegate.getAnchor();\n // Compute around\n let around;\n // Get the element's position and size (to anchor the view)\n if (anchor instanceof HTMLElement) {\n const elementPosition = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getDomNodePagePosition(anchor);\n // In areas where zoom is applied to the element or its ancestors, we need to adjust the size of the element\n // e.g. The title bar has counter zoom behavior meaning it applies the inverse of zoom level.\n // Window Zoom Level: 1.5, Title Bar Zoom: 1/1.5, Size Multiplier: 1.5\n const zoom = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getDomNodeZoomLevel(anchor);\n around = {\n top: elementPosition.top * zoom,\n left: elementPosition.left * zoom,\n width: elementPosition.width * zoom,\n height: elementPosition.height * zoom\n };\n }\n else if (isAnchor(anchor)) {\n around = {\n top: anchor.y,\n left: anchor.x,\n width: anchor.width || 1,\n height: anchor.height || 2\n };\n }\n else {\n around = {\n top: anchor.posy,\n left: anchor.posx,\n // We are about to position the context view where the mouse\n // cursor is. To prevent the view being exactly under the mouse\n // when showing and thus potentially triggering an action within,\n // we treat the mouse location like a small sized block element.\n width: 2,\n height: 2\n };\n }\n const viewSizeWidth = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getTotalWidth(this.view);\n const viewSizeHeight = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getTotalHeight(this.view);\n const anchorPosition = this.delegate.anchorPosition || 0 /* AnchorPosition.BELOW */;\n const anchorAlignment = this.delegate.anchorAlignment || 0 /* AnchorAlignment.LEFT */;\n const anchorAxisAlignment = this.delegate.anchorAxisAlignment || 0 /* AnchorAxisAlignment.VERTICAL */;\n let top;\n let left;\n const activeWindow = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getActiveWindow();\n if (anchorAxisAlignment === 0 /* AnchorAxisAlignment.VERTICAL */) {\n const verticalAnchor = { offset: around.top - activeWindow.pageYOffset, size: around.height, position: anchorPosition === 0 /* AnchorPosition.BELOW */ ? 0 /* LayoutAnchorPosition.Before */ : 1 /* LayoutAnchorPosition.After */ };\n const horizontalAnchor = { offset: around.left, size: around.width, position: anchorAlignment === 0 /* AnchorAlignment.LEFT */ ? 0 /* LayoutAnchorPosition.Before */ : 1 /* LayoutAnchorPosition.After */, mode: LayoutAnchorMode.ALIGN };\n top = layout(activeWindow.innerHeight, viewSizeHeight, verticalAnchor) + activeWindow.pageYOffset;\n // if view intersects vertically with anchor, we must avoid the anchor\n if (_common_range_js__WEBPACK_IMPORTED_MODULE_4__.Range.intersects({ start: top, end: top + viewSizeHeight }, { start: verticalAnchor.offset, end: verticalAnchor.offset + verticalAnchor.size })) {\n horizontalAnchor.mode = LayoutAnchorMode.AVOID;\n }\n left = layout(activeWindow.innerWidth, viewSizeWidth, horizontalAnchor);\n }\n else {\n const horizontalAnchor = { offset: around.left, size: around.width, position: anchorAlignment === 0 /* AnchorAlignment.LEFT */ ? 0 /* LayoutAnchorPosition.Before */ : 1 /* LayoutAnchorPosition.After */ };\n const verticalAnchor = { offset: around.top, size: around.height, position: anchorPosition === 0 /* AnchorPosition.BELOW */ ? 0 /* LayoutAnchorPosition.Before */ : 1 /* LayoutAnchorPosition.After */, mode: LayoutAnchorMode.ALIGN };\n left = layout(activeWindow.innerWidth, viewSizeWidth, horizontalAnchor);\n // if view intersects horizontally with anchor, we must avoid the anchor\n if (_common_range_js__WEBPACK_IMPORTED_MODULE_4__.Range.intersects({ start: left, end: left + viewSizeWidth }, { start: horizontalAnchor.offset, end: horizontalAnchor.offset + horizontalAnchor.size })) {\n verticalAnchor.mode = LayoutAnchorMode.AVOID;\n }\n top = layout(activeWindow.innerHeight, viewSizeHeight, verticalAnchor) + activeWindow.pageYOffset;\n }\n this.view.classList.remove('top', 'bottom', 'left', 'right');\n this.view.classList.add(anchorPosition === 0 /* AnchorPosition.BELOW */ ? 'bottom' : 'top');\n this.view.classList.add(anchorAlignment === 0 /* AnchorAlignment.LEFT */ ? 'left' : 'right');\n this.view.classList.toggle('fixed', this.useFixedPosition);\n const containerPosition = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getDomNodePagePosition(this.container);\n this.view.style.top = `${top - (this.useFixedPosition ? _dom_js__WEBPACK_IMPORTED_MODULE_1__.getDomNodePagePosition(this.view).top : containerPosition.top)}px`;\n this.view.style.left = `${left - (this.useFixedPosition ? _dom_js__WEBPACK_IMPORTED_MODULE_1__.getDomNodePagePosition(this.view).left : containerPosition.left)}px`;\n this.view.style.width = 'initial';\n }\n hide(data) {\n const delegate = this.delegate;\n this.delegate = null;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.onHide) {\n delegate.onHide(data);\n }\n this.toDisposeOnClean.dispose();\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.hide(this.view);\n }\n isVisible() {\n return !!this.delegate;\n }\n onDOMEvent(e, onCapture) {\n if (this.delegate) {\n if (this.delegate.onDOMEvent) {\n this.delegate.onDOMEvent(e, _dom_js__WEBPACK_IMPORTED_MODULE_1__.getWindow(e).document.activeElement);\n }\n else if (onCapture && !_dom_js__WEBPACK_IMPORTED_MODULE_1__.isAncestor(e.target, this.container)) {\n this.hide();\n }\n }\n }\n dispose() {\n this.hide();\n super.dispose();\n }\n}\nContextView.BUBBLE_UP_EVENTS = ['click', 'keydown', 'focus', 'blur'];\nContextView.BUBBLE_DOWN_EVENTS = ['click'];\nconst SHADOW_ROOT_CSS = /* css */ `\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t.codicon[class*='codicon-'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe WPC\", \"Segoe UI\", \"HelveticaNeue-Light\", system-ui, \"Ubuntu\", \"Droid Sans\", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, \"PingFang SC\", \"Hiragino Sans GB\", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, \"PingFang TC\", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, \"Hiragino Kaku Gothic Pro\", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, \"Nanum Gothic\", \"Apple SD Gothic Neo\", \"AppleGothic\", sans-serif; }\n\n\t:host-context(.windows) { font-family: \"Segoe WPC\", \"Segoe UI\", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Microsoft YaHei\", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Microsoft Jhenghei\", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Yu Gothic UI\", \"Meiryo UI\", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Malgun Gothic\", \"Dotom\", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans SC\", \"Source Han Sans CN\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans TC\", \"Source Han Sans TW\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans J\", \"Source Han Sans JP\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans K\", \"Source Han Sans JR\", \"Source Han Sans\", \"UnDotum\", \"FBaekmuk Gulim\", sans-serif; }\n`;\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.js":
+/*!************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.js ***!
+ \************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CountBadge: () => (/* binding */ CountBadge)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_strings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _countBadge_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./countBadge.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.css\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\nclass CountBadge {\n constructor(container, options, styles) {\n this.options = options;\n this.styles = styles;\n this.count = 0;\n this.element = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-count-badge'));\n this.countFormat = this.options.countFormat || '{0}';\n this.titleFormat = this.options.titleFormat || '';\n this.setCount(this.options.count || 0);\n }\n setCount(count) {\n this.count = count;\n this.render();\n }\n setTitleFormat(titleFormat) {\n this.titleFormat = titleFormat;\n this.render();\n }\n render() {\n var _a, _b;\n this.element.textContent = (0,_common_strings_js__WEBPACK_IMPORTED_MODULE_1__.format)(this.countFormat, this.count);\n this.element.title = (0,_common_strings_js__WEBPACK_IMPORTED_MODULE_1__.format)(this.titleFormat, this.count);\n this.element.style.backgroundColor = (_a = this.styles.badgeBackground) !== null && _a !== void 0 ? _a : '';\n this.element.style.color = (_b = this.styles.badgeForeground) !== null && _b !== void 0 ? _b : '';\n if (this.styles.badgeBorder) {\n this.element.style.border = `1px solid ${this.styles.badgeBorder}`;\n }\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.js":
+/*!********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.js ***!
+ \********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DropdownMenu: () => (/* binding */ DropdownMenu)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _dropdown_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dropdown.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\nclass BaseDropdown extends _common_actions_js__WEBPACK_IMPORTED_MODULE_3__.ActionRunner {\n constructor(container, options) {\n super();\n this._onDidChangeVisibility = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onDidChangeVisibility = this._onDidChangeVisibility.event;\n this._element = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-dropdown'));\n this._label = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(this._element, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.dropdown-label'));\n let labelRenderer = options.labelRenderer;\n if (!labelRenderer) {\n labelRenderer = (container) => {\n container.textContent = options.label || '';\n return null;\n };\n }\n for (const event of [_dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.CLICK, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_DOWN, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Tap]) {\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(this.element, event, e => _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true))); // prevent default click behaviour to trigger\n }\n for (const event of [_dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_DOWN, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Tap]) {\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(this._label, event, e => {\n if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.isMouseEvent)(e) && (e.detail > 1 || e.button !== 0)) {\n // prevent right click trigger to allow separate context menu (https://github.com/microsoft/vscode/issues/151064)\n // prevent multiple clicks to open multiple context menus (https://github.com/microsoft/vscode/issues/41363)\n return;\n }\n if (this.visible) {\n this.hide();\n }\n else {\n this.show();\n }\n }));\n }\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(this._label, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_UP, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardKeyboardEvent(e);\n if (event.equals(3 /* KeyCode.Enter */) || event.equals(10 /* KeyCode.Space */)) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true); // https://github.com/microsoft/vscode/issues/57997\n if (this.visible) {\n this.hide();\n }\n else {\n this.show();\n }\n }\n }));\n const cleanupFn = labelRenderer(this._label);\n if (cleanupFn) {\n this._register(cleanupFn);\n }\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_2__.Gesture.addTarget(this._label));\n }\n get element() {\n return this._element;\n }\n show() {\n if (!this.visible) {\n this.visible = true;\n this._onDidChangeVisibility.fire(true);\n }\n }\n hide() {\n if (this.visible) {\n this.visible = false;\n this._onDidChangeVisibility.fire(false);\n }\n }\n dispose() {\n super.dispose();\n this.hide();\n if (this.boxContainer) {\n this.boxContainer.remove();\n this.boxContainer = undefined;\n }\n if (this.contents) {\n this.contents.remove();\n this.contents = undefined;\n }\n if (this._label) {\n this._label.remove();\n this._label = undefined;\n }\n }\n}\nclass DropdownMenu extends BaseDropdown {\n constructor(container, _options) {\n super(container, _options);\n this._options = _options;\n this._actions = [];\n this.actions = _options.actions || [];\n }\n set menuOptions(options) {\n this._menuOptions = options;\n }\n get menuOptions() {\n return this._menuOptions;\n }\n get actions() {\n if (this._options.actionProvider) {\n return this._options.actionProvider.getActions();\n }\n return this._actions;\n }\n set actions(actions) {\n this._actions = actions;\n }\n show() {\n super.show();\n this.element.classList.add('active');\n this._options.contextMenuProvider.showContextMenu({\n getAnchor: () => this.element,\n getActions: () => this.actions,\n getActionsContext: () => this.menuOptions ? this.menuOptions.context : null,\n getActionViewItem: (action, options) => this.menuOptions && this.menuOptions.actionViewItemProvider ? this.menuOptions.actionViewItemProvider(action, options) : undefined,\n getKeyBinding: action => this.menuOptions && this.menuOptions.getKeyBinding ? this.menuOptions.getKeyBinding(action) : undefined,\n getMenuClassName: () => this._options.menuClassName || '',\n onHide: () => this.onHide(),\n actionRunner: this.menuOptions ? this.menuOptions.actionRunner : undefined,\n anchorAlignment: this.menuOptions ? this.menuOptions.anchorAlignment : 0 /* AnchorAlignment.LEFT */,\n domForShadowRoot: this._options.menuAsChild ? this.element : undefined,\n skipTelemetry: this._options.skipTelemetry\n });\n }\n hide() {\n super.hide();\n }\n onHide() {\n this.hide();\n this.element.classList.remove('active');\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js":
+/*!**********************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js ***!
+ \**********************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DropdownMenuActionViewItem: () => (/* binding */ DropdownMenuActionViewItem)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../actionbar/actionViewItems.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js\");\n/* harmony import */ var _dropdown_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dropdown.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _dropdown_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dropdown.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css\");\n\n\n\n\n\nclass DropdownMenuActionViewItem extends _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_1__.BaseActionViewItem {\n constructor(action, menuActionsOrProvider, contextMenuProvider, options = Object.create(null)) {\n super(null, action, options);\n this.actionItem = null;\n this._onDidChangeVisibility = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Emitter());\n this.onDidChangeVisibility = this._onDidChangeVisibility.event;\n this.menuActionsOrProvider = menuActionsOrProvider;\n this.contextMenuProvider = contextMenuProvider;\n this.options = options;\n if (this.options.actionRunner) {\n this.actionRunner = this.options.actionRunner;\n }\n }\n render(container) {\n this.actionItem = container;\n const labelRenderer = (el) => {\n this.element = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('a.action-label'));\n let classNames = [];\n if (typeof this.options.classNames === 'string') {\n classNames = this.options.classNames.split(/\\s+/g).filter(s => !!s);\n }\n else if (this.options.classNames) {\n classNames = this.options.classNames;\n }\n // todo@aeschli: remove codicon, should come through `this.options.classNames`\n if (!classNames.find(c => c === 'icon')) {\n classNames.push('codicon');\n }\n this.element.classList.add(...classNames);\n this.element.setAttribute('role', 'button');\n this.element.setAttribute('aria-haspopup', 'true');\n this.element.setAttribute('aria-expanded', 'false');\n this.element.title = this._action.label || '';\n this.element.ariaLabel = this._action.label || '';\n return null;\n };\n const isActionsArray = Array.isArray(this.menuActionsOrProvider);\n const options = {\n contextMenuProvider: this.contextMenuProvider,\n labelRenderer: labelRenderer,\n menuAsChild: this.options.menuAsChild,\n actions: isActionsArray ? this.menuActionsOrProvider : undefined,\n actionProvider: isActionsArray ? undefined : this.menuActionsOrProvider,\n skipTelemetry: this.options.skipTelemetry\n };\n this.dropdownMenu = this._register(new _dropdown_js__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu(container, options));\n this._register(this.dropdownMenu.onDidChangeVisibility(visible => {\n var _a;\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', `${visible}`);\n this._onDidChangeVisibility.fire(visible);\n }));\n this.dropdownMenu.menuOptions = {\n actionViewItemProvider: this.options.actionViewItemProvider,\n actionRunner: this.actionRunner,\n getKeyBinding: this.options.keybindingProvider,\n context: this._context\n };\n if (this.options.anchorAlignmentProvider) {\n const that = this;\n this.dropdownMenu.menuOptions = {\n ...this.dropdownMenu.menuOptions,\n get anchorAlignment() {\n return that.options.anchorAlignmentProvider();\n }\n };\n }\n this.updateTooltip();\n this.updateEnabled();\n }\n getTooltip() {\n let title = null;\n if (this.action.tooltip) {\n title = this.action.tooltip;\n }\n else if (this.action.label) {\n title = this.action.label;\n }\n return title !== null && title !== void 0 ? title : undefined;\n }\n setActionContext(newContext) {\n super.setActionContext(newContext);\n if (this.dropdownMenu) {\n if (this.dropdownMenu.menuOptions) {\n this.dropdownMenu.menuOptions.context = newContext;\n }\n else {\n this.dropdownMenu.menuOptions = { context: newContext };\n }\n }\n }\n show() {\n var _a;\n (_a = this.dropdownMenu) === null || _a === void 0 ? void 0 : _a.show();\n }\n updateEnabled() {\n var _a, _b;\n const disabled = !this.action.enabled;\n (_a = this.actionItem) === null || _a === void 0 ? void 0 : _a.classList.toggle('disabled', disabled);\n (_b = this.element) === null || _b === void 0 ? void 0 : _b.classList.toggle('disabled', disabled);\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.js":
+/*!**********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.js ***!
+ \**********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FindInput: () => (/* binding */ FindInput)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _findInputToggles_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./findInputToggles.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputToggles.js\");\n/* harmony import */ var _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../inputbox/inputBox.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _findInput_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./findInput.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n\nconst NLS_DEFAULT_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_6__.localize('defaultLabel', \"input\");\nclass FindInput extends _widget_js__WEBPACK_IMPORTED_MODULE_3__.Widget {\n constructor(parent, contextViewProvider, options) {\n super();\n this.fixFocusOnOptionClickEnabled = true;\n this.imeSessionInProgress = false;\n this.additionalTogglesDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.MutableDisposable());\n this.additionalToggles = [];\n this._onDidOptionChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onDidOptionChange = this._onDidOptionChange.event;\n this._onKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onKeyDown = this._onKeyDown.event;\n this._onMouseDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onMouseDown = this._onMouseDown.event;\n this._onInput = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this._onKeyUp = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this._onCaseSensitiveKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onCaseSensitiveKeyDown = this._onCaseSensitiveKeyDown.event;\n this._onRegexKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onRegexKeyDown = this._onRegexKeyDown.event;\n this._lastHighlightFindOptions = 0;\n this.placeholder = options.placeholder || '';\n this.validation = options.validation;\n this.label = options.label || NLS_DEFAULT_LABEL;\n this.showCommonFindToggles = !!options.showCommonFindToggles;\n const appendCaseSensitiveLabel = options.appendCaseSensitiveLabel || '';\n const appendWholeWordsLabel = options.appendWholeWordsLabel || '';\n const appendRegexLabel = options.appendRegexLabel || '';\n const history = options.history || [];\n const flexibleHeight = !!options.flexibleHeight;\n const flexibleWidth = !!options.flexibleWidth;\n const flexibleMaxHeight = options.flexibleMaxHeight;\n this.domNode = document.createElement('div');\n this.domNode.classList.add('monaco-findInput');\n this.inputBox = this._register(new _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_2__.HistoryInputBox(this.domNode, contextViewProvider, {\n placeholder: this.placeholder || '',\n ariaLabel: this.label || '',\n validationOptions: {\n validation: this.validation\n },\n history,\n showHistoryHint: options.showHistoryHint,\n flexibleHeight,\n flexibleWidth,\n flexibleMaxHeight,\n inputBoxStyles: options.inputBoxStyles,\n }));\n if (this.showCommonFindToggles) {\n this.regex = this._register(new _findInputToggles_js__WEBPACK_IMPORTED_MODULE_1__.RegexToggle({\n appendTitle: appendRegexLabel,\n isChecked: false,\n ...options.toggleStyles\n }));\n this._register(this.regex.onChange(viaKeyboard => {\n this._onDidOptionChange.fire(viaKeyboard);\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n this.inputBox.focus();\n }\n this.validate();\n }));\n this._register(this.regex.onKeyDown(e => {\n this._onRegexKeyDown.fire(e);\n }));\n this.wholeWords = this._register(new _findInputToggles_js__WEBPACK_IMPORTED_MODULE_1__.WholeWordsToggle({\n appendTitle: appendWholeWordsLabel,\n isChecked: false,\n ...options.toggleStyles\n }));\n this._register(this.wholeWords.onChange(viaKeyboard => {\n this._onDidOptionChange.fire(viaKeyboard);\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n this.inputBox.focus();\n }\n this.validate();\n }));\n this.caseSensitive = this._register(new _findInputToggles_js__WEBPACK_IMPORTED_MODULE_1__.CaseSensitiveToggle({\n appendTitle: appendCaseSensitiveLabel,\n isChecked: false,\n ...options.toggleStyles\n }));\n this._register(this.caseSensitive.onChange(viaKeyboard => {\n this._onDidOptionChange.fire(viaKeyboard);\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n this.inputBox.focus();\n }\n this.validate();\n }));\n this._register(this.caseSensitive.onKeyDown(e => {\n this._onCaseSensitiveKeyDown.fire(e);\n }));\n // Arrow-Key support to navigate between options\n const indexes = [this.caseSensitive.domNode, this.wholeWords.domNode, this.regex.domNode];\n this.onkeydown(this.domNode, (event) => {\n if (event.equals(15 /* KeyCode.LeftArrow */) || event.equals(17 /* KeyCode.RightArrow */) || event.equals(9 /* KeyCode.Escape */)) {\n const index = indexes.indexOf(this.domNode.ownerDocument.activeElement);\n if (index >= 0) {\n let newIndex = -1;\n if (event.equals(17 /* KeyCode.RightArrow */)) {\n newIndex = (index + 1) % indexes.length;\n }\n else if (event.equals(15 /* KeyCode.LeftArrow */)) {\n if (index === 0) {\n newIndex = indexes.length - 1;\n }\n else {\n newIndex = index - 1;\n }\n }\n if (event.equals(9 /* KeyCode.Escape */)) {\n indexes[index].blur();\n this.inputBox.focus();\n }\n else if (newIndex >= 0) {\n indexes[newIndex].focus();\n }\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(event, true);\n }\n }\n });\n }\n this.controls = document.createElement('div');\n this.controls.className = 'controls';\n this.controls.style.display = this.showCommonFindToggles ? '' : 'none';\n if (this.caseSensitive) {\n this.controls.append(this.caseSensitive.domNode);\n }\n if (this.wholeWords) {\n this.controls.appendChild(this.wholeWords.domNode);\n }\n if (this.regex) {\n this.controls.appendChild(this.regex.domNode);\n }\n this.setAdditionalToggles(options === null || options === void 0 ? void 0 : options.additionalToggles);\n if (this.controls) {\n this.domNode.appendChild(this.controls);\n }\n parent === null || parent === void 0 ? void 0 : parent.appendChild(this.domNode);\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.inputBox.inputElement, 'compositionstart', (e) => {\n this.imeSessionInProgress = true;\n }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.inputBox.inputElement, 'compositionend', (e) => {\n this.imeSessionInProgress = false;\n this._onInput.fire();\n }));\n this.onkeydown(this.inputBox.inputElement, (e) => this._onKeyDown.fire(e));\n this.onkeyup(this.inputBox.inputElement, (e) => this._onKeyUp.fire(e));\n this.oninput(this.inputBox.inputElement, (e) => this._onInput.fire());\n this.onmousedown(this.inputBox.inputElement, (e) => this._onMouseDown.fire(e));\n }\n get onDidChange() {\n return this.inputBox.onDidChange;\n }\n layout(style) {\n this.inputBox.layout();\n this.updateInputBoxPadding(style.collapsedFindWidget);\n }\n enable() {\n var _a, _b, _c;\n this.domNode.classList.remove('disabled');\n this.inputBox.enable();\n (_a = this.regex) === null || _a === void 0 ? void 0 : _a.enable();\n (_b = this.wholeWords) === null || _b === void 0 ? void 0 : _b.enable();\n (_c = this.caseSensitive) === null || _c === void 0 ? void 0 : _c.enable();\n for (const toggle of this.additionalToggles) {\n toggle.enable();\n }\n }\n disable() {\n var _a, _b, _c;\n this.domNode.classList.add('disabled');\n this.inputBox.disable();\n (_a = this.regex) === null || _a === void 0 ? void 0 : _a.disable();\n (_b = this.wholeWords) === null || _b === void 0 ? void 0 : _b.disable();\n (_c = this.caseSensitive) === null || _c === void 0 ? void 0 : _c.disable();\n for (const toggle of this.additionalToggles) {\n toggle.disable();\n }\n }\n setFocusInputOnOptionClick(value) {\n this.fixFocusOnOptionClickEnabled = value;\n }\n setEnabled(enabled) {\n if (enabled) {\n this.enable();\n }\n else {\n this.disable();\n }\n }\n setAdditionalToggles(toggles) {\n for (const currentToggle of this.additionalToggles) {\n currentToggle.domNode.remove();\n }\n this.additionalToggles = [];\n this.additionalTogglesDisposables.value = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.DisposableStore();\n for (const toggle of toggles !== null && toggles !== void 0 ? toggles : []) {\n this.additionalTogglesDisposables.value.add(toggle);\n this.controls.appendChild(toggle.domNode);\n this.additionalTogglesDisposables.value.add(toggle.onChange(viaKeyboard => {\n this._onDidOptionChange.fire(viaKeyboard);\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n this.inputBox.focus();\n }\n }));\n this.additionalToggles.push(toggle);\n }\n if (this.additionalToggles.length > 0) {\n this.controls.style.display = '';\n }\n this.updateInputBoxPadding();\n }\n updateInputBoxPadding(controlsHidden = false) {\n var _a, _b, _c, _d, _e, _f;\n if (controlsHidden) {\n this.inputBox.paddingRight = 0;\n }\n else {\n this.inputBox.paddingRight =\n (((_b = (_a = this.caseSensitive) === null || _a === void 0 ? void 0 : _a.width()) !== null && _b !== void 0 ? _b : 0) + ((_d = (_c = this.wholeWords) === null || _c === void 0 ? void 0 : _c.width()) !== null && _d !== void 0 ? _d : 0) + ((_f = (_e = this.regex) === null || _e === void 0 ? void 0 : _e.width()) !== null && _f !== void 0 ? _f : 0))\n + this.additionalToggles.reduce((r, t) => r + t.width(), 0);\n }\n }\n getValue() {\n return this.inputBox.value;\n }\n setValue(value) {\n if (this.inputBox.value !== value) {\n this.inputBox.value = value;\n }\n }\n select() {\n this.inputBox.select();\n }\n focus() {\n this.inputBox.focus();\n }\n getCaseSensitive() {\n var _a, _b;\n return (_b = (_a = this.caseSensitive) === null || _a === void 0 ? void 0 : _a.checked) !== null && _b !== void 0 ? _b : false;\n }\n setCaseSensitive(value) {\n if (this.caseSensitive) {\n this.caseSensitive.checked = value;\n }\n }\n getWholeWords() {\n var _a, _b;\n return (_b = (_a = this.wholeWords) === null || _a === void 0 ? void 0 : _a.checked) !== null && _b !== void 0 ? _b : false;\n }\n setWholeWords(value) {\n if (this.wholeWords) {\n this.wholeWords.checked = value;\n }\n }\n getRegex() {\n var _a, _b;\n return (_b = (_a = this.regex) === null || _a === void 0 ? void 0 : _a.checked) !== null && _b !== void 0 ? _b : false;\n }\n setRegex(value) {\n if (this.regex) {\n this.regex.checked = value;\n this.validate();\n }\n }\n focusOnCaseSensitive() {\n var _a;\n (_a = this.caseSensitive) === null || _a === void 0 ? void 0 : _a.focus();\n }\n highlightFindOptions() {\n this.domNode.classList.remove('highlight-' + (this._lastHighlightFindOptions));\n this._lastHighlightFindOptions = 1 - this._lastHighlightFindOptions;\n this.domNode.classList.add('highlight-' + (this._lastHighlightFindOptions));\n }\n validate() {\n this.inputBox.validate();\n }\n showMessage(message) {\n this.inputBox.showMessage(message);\n }\n clearMessage() {\n this.inputBox.hideMessage();\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputToggles.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputToggles.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CaseSensitiveToggle: () => (/* binding */ CaseSensitiveToggle),\n/* harmony export */ RegexToggle: () => (/* binding */ RegexToggle),\n/* harmony export */ WholeWordsToggle: () => (/* binding */ WholeWordsToggle)\n/* harmony export */ });\n/* harmony import */ var _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toggle/toggle.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\nconst NLS_CASE_SENSITIVE_TOGGLE_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('caseDescription', \"Match Case\");\nconst NLS_WHOLE_WORD_TOGGLE_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('wordsDescription', \"Match Whole Word\");\nconst NLS_REGEX_TOGGLE_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('regexDescription', \"Use Regular Expression\");\nclass CaseSensitiveToggle extends _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_0__.Toggle {\n constructor(opts) {\n super({\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_1__.Codicon.caseSensitive,\n title: NLS_CASE_SENSITIVE_TOGGLE_LABEL + opts.appendTitle,\n isChecked: opts.isChecked,\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\n inputActiveOptionBackground: opts.inputActiveOptionBackground\n });\n }\n}\nclass WholeWordsToggle extends _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_0__.Toggle {\n constructor(opts) {\n super({\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_1__.Codicon.wholeWord,\n title: NLS_WHOLE_WORD_TOGGLE_LABEL + opts.appendTitle,\n isChecked: opts.isChecked,\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\n inputActiveOptionBackground: opts.inputActiveOptionBackground\n });\n }\n}\nclass RegexToggle extends _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_0__.Toggle {\n constructor(opts) {\n super({\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_1__.Codicon.regex,\n title: NLS_REGEX_TOGGLE_LABEL + opts.appendTitle,\n isChecked: opts.isChecked,\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\n inputActiveOptionBackground: opts.inputActiveOptionBackground\n });\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputToggles.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/replaceInput.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/replaceInput.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ReplaceInput: () => (/* binding */ ReplaceInput)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toggle/toggle.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js\");\n/* harmony import */ var _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../inputbox/inputBox.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _findInput_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./findInput.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n\nconst NLS_DEFAULT_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_7__.localize('defaultLabel', \"input\");\nconst NLS_PRESERVE_CASE_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_7__.localize('label.preserveCaseToggle', \"Preserve Case\");\nclass PreserveCaseToggle extends _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_1__.Toggle {\n constructor(opts) {\n super({\n // TODO: does this need its own icon?\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.preserveCase,\n title: NLS_PRESERVE_CASE_LABEL + opts.appendTitle,\n isChecked: opts.isChecked,\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\n inputActiveOptionBackground: opts.inputActiveOptionBackground\n });\n }\n}\nclass ReplaceInput extends _widget_js__WEBPACK_IMPORTED_MODULE_3__.Widget {\n constructor(parent, contextViewProvider, _showOptionButtons, options) {\n super();\n this._showOptionButtons = _showOptionButtons;\n this.fixFocusOnOptionClickEnabled = true;\n this.cachedOptionsWidth = 0;\n this._onDidOptionChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this.onDidOptionChange = this._onDidOptionChange.event;\n this._onKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this.onKeyDown = this._onKeyDown.event;\n this._onMouseDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onInput = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onKeyUp = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onPreserveCaseKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this.onPreserveCaseKeyDown = this._onPreserveCaseKeyDown.event;\n this.contextViewProvider = contextViewProvider;\n this.placeholder = options.placeholder || '';\n this.validation = options.validation;\n this.label = options.label || NLS_DEFAULT_LABEL;\n const appendPreserveCaseLabel = options.appendPreserveCaseLabel || '';\n const history = options.history || [];\n const flexibleHeight = !!options.flexibleHeight;\n const flexibleWidth = !!options.flexibleWidth;\n const flexibleMaxHeight = options.flexibleMaxHeight;\n this.domNode = document.createElement('div');\n this.domNode.classList.add('monaco-findInput');\n this.inputBox = this._register(new _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_2__.HistoryInputBox(this.domNode, this.contextViewProvider, {\n ariaLabel: this.label || '',\n placeholder: this.placeholder || '',\n validationOptions: {\n validation: this.validation\n },\n history,\n showHistoryHint: options.showHistoryHint,\n flexibleHeight,\n flexibleWidth,\n flexibleMaxHeight,\n inputBoxStyles: options.inputBoxStyles\n }));\n this.preserveCase = this._register(new PreserveCaseToggle({\n appendTitle: appendPreserveCaseLabel,\n isChecked: false,\n ...options.toggleStyles\n }));\n this._register(this.preserveCase.onChange(viaKeyboard => {\n this._onDidOptionChange.fire(viaKeyboard);\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n this.inputBox.focus();\n }\n this.validate();\n }));\n this._register(this.preserveCase.onKeyDown(e => {\n this._onPreserveCaseKeyDown.fire(e);\n }));\n if (this._showOptionButtons) {\n this.cachedOptionsWidth = this.preserveCase.width();\n }\n else {\n this.cachedOptionsWidth = 0;\n }\n // Arrow-Key support to navigate between options\n const indexes = [this.preserveCase.domNode];\n this.onkeydown(this.domNode, (event) => {\n if (event.equals(15 /* KeyCode.LeftArrow */) || event.equals(17 /* KeyCode.RightArrow */) || event.equals(9 /* KeyCode.Escape */)) {\n const index = indexes.indexOf(this.domNode.ownerDocument.activeElement);\n if (index >= 0) {\n let newIndex = -1;\n if (event.equals(17 /* KeyCode.RightArrow */)) {\n newIndex = (index + 1) % indexes.length;\n }\n else if (event.equals(15 /* KeyCode.LeftArrow */)) {\n if (index === 0) {\n newIndex = indexes.length - 1;\n }\n else {\n newIndex = index - 1;\n }\n }\n if (event.equals(9 /* KeyCode.Escape */)) {\n indexes[index].blur();\n this.inputBox.focus();\n }\n else if (newIndex >= 0) {\n indexes[newIndex].focus();\n }\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(event, true);\n }\n }\n });\n const controls = document.createElement('div');\n controls.className = 'controls';\n controls.style.display = this._showOptionButtons ? 'block' : 'none';\n controls.appendChild(this.preserveCase.domNode);\n this.domNode.appendChild(controls);\n parent === null || parent === void 0 ? void 0 : parent.appendChild(this.domNode);\n this.onkeydown(this.inputBox.inputElement, (e) => this._onKeyDown.fire(e));\n this.onkeyup(this.inputBox.inputElement, (e) => this._onKeyUp.fire(e));\n this.oninput(this.inputBox.inputElement, (e) => this._onInput.fire());\n this.onmousedown(this.inputBox.inputElement, (e) => this._onMouseDown.fire(e));\n }\n enable() {\n this.domNode.classList.remove('disabled');\n this.inputBox.enable();\n this.preserveCase.enable();\n }\n disable() {\n this.domNode.classList.add('disabled');\n this.inputBox.disable();\n this.preserveCase.disable();\n }\n setEnabled(enabled) {\n if (enabled) {\n this.enable();\n }\n else {\n this.disable();\n }\n }\n select() {\n this.inputBox.select();\n }\n focus() {\n this.inputBox.focus();\n }\n getPreserveCase() {\n return this.preserveCase.checked;\n }\n setPreserveCase(value) {\n this.preserveCase.checked = value;\n }\n focusOnPreserve() {\n this.preserveCase.focus();\n }\n validate() {\n var _a;\n (_a = this.inputBox) === null || _a === void 0 ? void 0 : _a.validate();\n }\n set width(newWidth) {\n this.inputBox.paddingRight = this.cachedOptionsWidth;\n this.domNode.style.width = newWidth + 'px';\n }\n dispose() {\n super.dispose();\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/replaceInput.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js":
+/*!************************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js ***!
+ \************************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HighlightedLabel: () => (/* binding */ HighlightedLabel)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../iconLabel/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n/**\n * A widget which can render a label with substring highlights, often\n * originating from a filter function like the fuzzy matcher.\n */\nclass HighlightedLabel {\n /**\n * Create a new {@link HighlightedLabel}.\n *\n * @param container The parent container to append to.\n */\n constructor(container, options) {\n var _a;\n this.text = '';\n this.title = '';\n this.highlights = [];\n this.didEverRender = false;\n this.supportIcons = (_a = options === null || options === void 0 ? void 0 : options.supportIcons) !== null && _a !== void 0 ? _a : false;\n this.domNode = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, _dom_js__WEBPACK_IMPORTED_MODULE_0__.$('span.monaco-highlighted-label'));\n }\n /**\n * The label's DOM node.\n */\n get element() {\n return this.domNode;\n }\n /**\n * Set the label and highlights.\n *\n * @param text The label to display.\n * @param highlights The ranges to highlight.\n * @param title An optional title for the hover tooltip.\n * @param escapeNewLines Whether to escape new lines.\n * @returns\n */\n set(text, highlights = [], title = '', escapeNewLines) {\n if (!text) {\n text = '';\n }\n if (escapeNewLines) {\n // adjusts highlights inplace\n text = HighlightedLabel.escapeNewLines(text, highlights);\n }\n if (this.didEverRender && this.text === text && this.title === title && _common_objects_js__WEBPACK_IMPORTED_MODULE_2__.equals(this.highlights, highlights)) {\n return;\n }\n this.text = text;\n this.title = title;\n this.highlights = highlights;\n this.render();\n }\n render() {\n const children = [];\n let pos = 0;\n for (const highlight of this.highlights) {\n if (highlight.end === highlight.start) {\n continue;\n }\n if (pos < highlight.start) {\n const substring = this.text.substring(pos, highlight.start);\n if (this.supportIcons) {\n children.push(...(0,_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_1__.renderLabelWithIcons)(substring));\n }\n else {\n children.push(substring);\n }\n pos = highlight.start;\n }\n const substring = this.text.substring(pos, highlight.end);\n const element = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$('span.highlight', undefined, ...this.supportIcons ? (0,_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_1__.renderLabelWithIcons)(substring) : [substring]);\n if (highlight.extraClasses) {\n element.classList.add(...highlight.extraClasses);\n }\n children.push(element);\n pos = highlight.end;\n }\n if (pos < this.text.length) {\n const substring = this.text.substring(pos);\n if (this.supportIcons) {\n children.push(...(0,_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_1__.renderLabelWithIcons)(substring));\n }\n else {\n children.push(substring);\n }\n }\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.reset(this.domNode, ...children);\n if (this.title) {\n this.domNode.title = this.title;\n }\n else {\n this.domNode.removeAttribute('title');\n }\n this.didEverRender = true;\n }\n static escapeNewLines(text, highlights) {\n let total = 0;\n let extra = 0;\n return text.replace(/\\r\\n|\\r|\\n/g, (match, offset) => {\n extra = match === '\\r\\n' ? -1 : 0;\n offset += total;\n for (const highlight of highlights) {\n if (highlight.end <= offset) {\n continue;\n }\n if (highlight.start >= offset) {\n highlight.start += extra;\n }\n if (highlight.end >= offset) {\n highlight.end += extra;\n }\n }\n total += extra;\n return '\\u23CE';\n });\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hoverWidget.js":
+/*!********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hoverWidget.js ***!
+ \********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HoverAction: () => (/* binding */ HoverAction),\n/* harmony export */ HoverWidget: () => (/* binding */ HoverWidget),\n/* harmony export */ getHoverAccessibleViewHint: () => (/* binding */ getHoverAccessibleViewHint)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _hover_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hover.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hover.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\nconst $ = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$;\nclass HoverWidget extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable {\n constructor() {\n super();\n this.containerDomNode = document.createElement('div');\n this.containerDomNode.className = 'monaco-hover';\n this.containerDomNode.tabIndex = 0;\n this.containerDomNode.setAttribute('role', 'tooltip');\n this.contentsDomNode = document.createElement('div');\n this.contentsDomNode.className = 'monaco-hover-content';\n this.scrollbar = this._register(new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_2__.DomScrollableElement(this.contentsDomNode, {\n consumeMouseWheelIfScrollbarIsNeeded: true\n }));\n this.containerDomNode.appendChild(this.scrollbar.getDomNode());\n }\n onContentsChanged() {\n this.scrollbar.scanDomNode();\n }\n}\nclass HoverAction extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable {\n static render(parent, actionOptions, keybindingLabel) {\n return new HoverAction(parent, actionOptions, keybindingLabel);\n }\n constructor(parent, actionOptions, keybindingLabel) {\n super();\n this.actionContainer = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(parent, $('div.action-container'));\n this.actionContainer.setAttribute('tabindex', '0');\n this.action = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.actionContainer, $('a.action'));\n this.action.setAttribute('role', 'button');\n if (actionOptions.iconClass) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.action, $(`span.icon.${actionOptions.iconClass}`));\n }\n const label = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.action, $('span'));\n label.textContent = keybindingLabel ? `${actionOptions.label} (${keybindingLabel})` : actionOptions.label;\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.actionContainer, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.CLICK, e => {\n e.stopPropagation();\n e.preventDefault();\n actionOptions.run(this.actionContainer);\n }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.actionContainer, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_DOWN, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardKeyboardEvent(e);\n if (event.equals(3 /* KeyCode.Enter */) || event.equals(10 /* KeyCode.Space */)) {\n e.stopPropagation();\n e.preventDefault();\n actionOptions.run(this.actionContainer);\n }\n }));\n this.setEnabled(true);\n }\n setEnabled(enabled) {\n if (enabled) {\n this.actionContainer.classList.remove('disabled');\n this.actionContainer.removeAttribute('aria-disabled');\n }\n else {\n this.actionContainer.classList.add('disabled');\n this.actionContainer.setAttribute('aria-disabled', 'true');\n }\n }\n}\nfunction getHoverAccessibleViewHint(shouldHaveHint, keybinding) {\n return shouldHaveHint && keybinding ? (0,_nls_js__WEBPACK_IMPORTED_MODULE_5__.localize)('acessibleViewHint', \"Inspect this in the accessible view with {0}.\", keybinding) : shouldHaveHint ? (0,_nls_js__WEBPACK_IMPORTED_MODULE_5__.localize)('acessibleViewHintNoKbOpen', \"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.\") : '';\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hoverWidget.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabel.js":
+/*!**********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabel.js ***!
+ \**********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IconLabel: () => (/* binding */ IconLabel)\n/* harmony export */ });\n/* harmony import */ var _iconlabel_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./iconlabel.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconlabel.css\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../highlightedlabel/highlightedLabel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js\");\n/* harmony import */ var _iconLabelHover_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./iconLabelHover.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabelHover.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _common_range_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/range.js */ \"./node_modules/monaco-editor/esm/vs/base/common/range.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\nclass FastLabelNode {\n constructor(_element) {\n this._element = _element;\n }\n get element() {\n return this._element;\n }\n set textContent(content) {\n if (this.disposed || content === this._textContent) {\n return;\n }\n this._textContent = content;\n this._element.textContent = content;\n }\n set className(className) {\n if (this.disposed || className === this._className) {\n return;\n }\n this._className = className;\n this._element.className = className;\n }\n set empty(empty) {\n if (this.disposed || empty === this._empty) {\n return;\n }\n this._empty = empty;\n this._element.style.marginLeft = empty ? '0' : '';\n }\n dispose() {\n this.disposed = true;\n }\n}\nclass IconLabel extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__.Disposable {\n constructor(container, options) {\n super();\n this.customHovers = new Map();\n this.creationOptions = options;\n this.domNode = this._register(new FastLabelNode(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('.monaco-icon-label'))));\n this.labelContainer = _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.domNode.element, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('.monaco-icon-label-container'));\n this.nameContainer = _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.labelContainer, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.monaco-icon-name-container'));\n if ((options === null || options === void 0 ? void 0 : options.supportHighlights) || (options === null || options === void 0 ? void 0 : options.supportIcons)) {\n this.nameNode = new LabelWithHighlights(this.nameContainer, !!options.supportIcons);\n }\n else {\n this.nameNode = new Label(this.nameContainer);\n }\n this.hoverDelegate = options === null || options === void 0 ? void 0 : options.hoverDelegate;\n }\n get element() {\n return this.domNode.element;\n }\n setLabel(label, description, options) {\n var _a;\n const labelClasses = ['monaco-icon-label'];\n const containerClasses = ['monaco-icon-label-container'];\n let ariaLabel = '';\n if (options) {\n if (options.extraClasses) {\n labelClasses.push(...options.extraClasses);\n }\n if (options.italic) {\n labelClasses.push('italic');\n }\n if (options.strikethrough) {\n labelClasses.push('strikethrough');\n }\n if (options.disabledCommand) {\n containerClasses.push('disabled');\n }\n if (options.title) {\n if (typeof options.title === 'string') {\n ariaLabel += options.title;\n }\n else {\n ariaLabel += label;\n }\n }\n }\n this.domNode.className = labelClasses.join(' ');\n this.domNode.element.setAttribute('aria-label', ariaLabel);\n this.labelContainer.className = containerClasses.join(' ');\n this.setupHover((options === null || options === void 0 ? void 0 : options.descriptionTitle) ? this.labelContainer : this.element, options === null || options === void 0 ? void 0 : options.title);\n this.nameNode.setLabel(label, options);\n if (description || this.descriptionNode) {\n const descriptionNode = this.getOrCreateDescriptionNode();\n if (descriptionNode instanceof _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel) {\n descriptionNode.set(description || '', options ? options.descriptionMatches : undefined, undefined, options === null || options === void 0 ? void 0 : options.labelEscapeNewLines);\n this.setupHover(descriptionNode.element, options === null || options === void 0 ? void 0 : options.descriptionTitle);\n }\n else {\n descriptionNode.textContent = description && (options === null || options === void 0 ? void 0 : options.labelEscapeNewLines) ? _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel.escapeNewLines(description, []) : (description || '');\n this.setupHover(descriptionNode.element, (options === null || options === void 0 ? void 0 : options.descriptionTitle) || '');\n descriptionNode.empty = !description;\n }\n }\n if ((options === null || options === void 0 ? void 0 : options.suffix) || this.suffixNode) {\n const suffixNode = this.getOrCreateSuffixNode();\n suffixNode.textContent = (_a = options === null || options === void 0 ? void 0 : options.suffix) !== null && _a !== void 0 ? _a : '';\n }\n }\n setupHover(htmlElement, tooltip) {\n const previousCustomHover = this.customHovers.get(htmlElement);\n if (previousCustomHover) {\n previousCustomHover.dispose();\n this.customHovers.delete(htmlElement);\n }\n if (!tooltip) {\n htmlElement.removeAttribute('title');\n return;\n }\n if (!this.hoverDelegate) {\n (0,_iconLabelHover_js__WEBPACK_IMPORTED_MODULE_3__.setupNativeHover)(htmlElement, tooltip);\n }\n else {\n const hoverDisposable = (0,_iconLabelHover_js__WEBPACK_IMPORTED_MODULE_3__.setupCustomHover)(this.hoverDelegate, htmlElement, tooltip);\n if (hoverDisposable) {\n this.customHovers.set(htmlElement, hoverDisposable);\n }\n }\n }\n dispose() {\n super.dispose();\n for (const disposable of this.customHovers.values()) {\n disposable.dispose();\n }\n this.customHovers.clear();\n }\n getOrCreateSuffixNode() {\n if (!this.suffixNode) {\n const suffixContainer = this._register(new FastLabelNode(_dom_js__WEBPACK_IMPORTED_MODULE_1__.after(this.nameContainer, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.monaco-icon-suffix-container'))));\n this.suffixNode = this._register(new FastLabelNode(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(suffixContainer.element, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.label-suffix'))));\n }\n return this.suffixNode;\n }\n getOrCreateDescriptionNode() {\n var _a;\n if (!this.descriptionNode) {\n const descriptionContainer = this._register(new FastLabelNode(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.labelContainer, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.monaco-icon-description-container'))));\n if ((_a = this.creationOptions) === null || _a === void 0 ? void 0 : _a.supportDescriptionHighlights) {\n this.descriptionNode = new _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(descriptionContainer.element, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.label-description')), { supportIcons: !!this.creationOptions.supportIcons });\n }\n else {\n this.descriptionNode = this._register(new FastLabelNode(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(descriptionContainer.element, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.label-description'))));\n }\n }\n return this.descriptionNode;\n }\n}\nclass Label {\n constructor(container) {\n this.container = container;\n this.label = undefined;\n this.singleLabel = undefined;\n }\n setLabel(label, options) {\n if (this.label === label && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_5__.equals)(this.options, options)) {\n return;\n }\n this.label = label;\n this.options = options;\n if (typeof label === 'string') {\n if (!this.singleLabel) {\n this.container.innerText = '';\n this.container.classList.remove('multiple');\n this.singleLabel = _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('a.label-name', { id: options === null || options === void 0 ? void 0 : options.domId }));\n }\n this.singleLabel.textContent = label;\n }\n else {\n this.container.innerText = '';\n this.container.classList.add('multiple');\n this.singleLabel = undefined;\n for (let i = 0; i < label.length; i++) {\n const l = label[i];\n const id = (options === null || options === void 0 ? void 0 : options.domId) && `${options === null || options === void 0 ? void 0 : options.domId}_${i}`;\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('a.label-name', { id, 'data-icon-label-count': label.length, 'data-icon-label-index': i, 'role': 'treeitem' }, l));\n if (i < label.length - 1) {\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.label-separator', undefined, (options === null || options === void 0 ? void 0 : options.separator) || '/'));\n }\n }\n }\n }\n}\nfunction splitMatches(labels, separator, matches) {\n if (!matches) {\n return undefined;\n }\n let labelStart = 0;\n return labels.map(label => {\n const labelRange = { start: labelStart, end: labelStart + label.length };\n const result = matches\n .map(match => _common_range_js__WEBPACK_IMPORTED_MODULE_6__.Range.intersect(labelRange, match))\n .filter(range => !_common_range_js__WEBPACK_IMPORTED_MODULE_6__.Range.isEmpty(range))\n .map(({ start, end }) => ({ start: start - labelStart, end: end - labelStart }));\n labelStart = labelRange.end + separator.length;\n return result;\n });\n}\nclass LabelWithHighlights {\n constructor(container, supportIcons) {\n this.container = container;\n this.supportIcons = supportIcons;\n this.label = undefined;\n this.singleLabel = undefined;\n }\n setLabel(label, options) {\n if (this.label === label && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_5__.equals)(this.options, options)) {\n return;\n }\n this.label = label;\n this.options = options;\n if (typeof label === 'string') {\n if (!this.singleLabel) {\n this.container.innerText = '';\n this.container.classList.remove('multiple');\n this.singleLabel = new _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('a.label-name', { id: options === null || options === void 0 ? void 0 : options.domId })), { supportIcons: this.supportIcons });\n }\n this.singleLabel.set(label, options === null || options === void 0 ? void 0 : options.matches, undefined, options === null || options === void 0 ? void 0 : options.labelEscapeNewLines);\n }\n else {\n this.container.innerText = '';\n this.container.classList.add('multiple');\n this.singleLabel = undefined;\n const separator = (options === null || options === void 0 ? void 0 : options.separator) || '/';\n const matches = splitMatches(label, separator, options === null || options === void 0 ? void 0 : options.matches);\n for (let i = 0; i < label.length; i++) {\n const l = label[i];\n const m = matches ? matches[i] : undefined;\n const id = (options === null || options === void 0 ? void 0 : options.domId) && `${options === null || options === void 0 ? void 0 : options.domId}_${i}`;\n const name = _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('a.label-name', { id, 'data-icon-label-count': label.length, 'data-icon-label-index': i, 'role': 'treeitem' });\n const highlightedLabel = new _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, name), { supportIcons: this.supportIcons });\n highlightedLabel.set(l, m, undefined, options === null || options === void 0 ? void 0 : options.labelEscapeNewLines);\n if (i < label.length - 1) {\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(name, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.label-separator', undefined, separator));\n }\n }\n }\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabel.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabelHover.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabelHover.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setupCustomHover: () => (/* binding */ setupCustomHover),\n/* harmony export */ setupNativeHover: () => (/* binding */ setupNativeHover)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_cancellation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/cancellation.js */ \"./node_modules/monaco-editor/esm/vs/base/common/cancellation.js\");\n/* harmony import */ var _common_htmlContent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/htmlContent.js */ \"./node_modules/monaco-editor/esm/vs/base/common/htmlContent.js\");\n/* harmony import */ var _common_iconLabels_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n\nfunction setupNativeHover(htmlElement, tooltip) {\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_6__.isString)(tooltip)) {\n // Icons don't render in the native hover so we strip them out\n htmlElement.title = (0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_4__.stripIcons)(tooltip);\n }\n else if (tooltip === null || tooltip === void 0 ? void 0 : tooltip.markdownNotSupportedFallback) {\n htmlElement.title = tooltip.markdownNotSupportedFallback;\n }\n else {\n htmlElement.removeAttribute('title');\n }\n}\nclass UpdatableHoverWidget {\n constructor(hoverDelegate, target, fadeInAnimation) {\n this.hoverDelegate = hoverDelegate;\n this.target = target;\n this.fadeInAnimation = fadeInAnimation;\n }\n async update(content, focus, options) {\n var _a;\n if (this._cancellationTokenSource) {\n // there's an computation ongoing, cancel it\n this._cancellationTokenSource.dispose(true);\n this._cancellationTokenSource = undefined;\n }\n if (this.isDisposed) {\n return;\n }\n let resolvedContent;\n if (content === undefined || (0,_common_types_js__WEBPACK_IMPORTED_MODULE_6__.isString)(content) || content instanceof HTMLElement) {\n resolvedContent = content;\n }\n else if (!(0,_common_types_js__WEBPACK_IMPORTED_MODULE_6__.isFunction)(content.markdown)) {\n resolvedContent = (_a = content.markdown) !== null && _a !== void 0 ? _a : content.markdownNotSupportedFallback;\n }\n else {\n // compute the content, potentially long-running\n // show 'Loading' if no hover is up yet\n if (!this._hoverWidget) {\n this.show((0,_nls_js__WEBPACK_IMPORTED_MODULE_7__.localize)('iconLabel.loading', \"Loading...\"), focus);\n }\n // compute the content\n this._cancellationTokenSource = new _common_cancellation_js__WEBPACK_IMPORTED_MODULE_2__.CancellationTokenSource();\n const token = this._cancellationTokenSource.token;\n resolvedContent = await content.markdown(token);\n if (resolvedContent === undefined) {\n resolvedContent = content.markdownNotSupportedFallback;\n }\n if (this.isDisposed || token.isCancellationRequested) {\n // either the widget has been closed in the meantime\n // or there has been a new call to `update`\n return;\n }\n }\n this.show(resolvedContent, focus, options);\n }\n show(content, focus, options) {\n const oldHoverWidget = this._hoverWidget;\n if (this.hasContent(content)) {\n const hoverOptions = {\n content,\n target: this.target,\n appearance: {\n showPointer: this.hoverDelegate.placement === 'element',\n skipFadeInAnimation: !this.fadeInAnimation || !!oldHoverWidget, // do not fade in if the hover is already showing\n },\n position: {\n hoverPosition: 2 /* HoverPosition.BELOW */,\n },\n ...options\n };\n this._hoverWidget = this.hoverDelegate.showHover(hoverOptions, focus);\n }\n oldHoverWidget === null || oldHoverWidget === void 0 ? void 0 : oldHoverWidget.dispose();\n }\n hasContent(content) {\n if (!content) {\n return false;\n }\n if ((0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_3__.isMarkdownString)(content)) {\n return !!content.value;\n }\n return true;\n }\n get isDisposed() {\n var _a;\n return (_a = this._hoverWidget) === null || _a === void 0 ? void 0 : _a.isDisposed;\n }\n dispose() {\n var _a, _b;\n (_a = this._hoverWidget) === null || _a === void 0 ? void 0 : _a.dispose();\n (_b = this._cancellationTokenSource) === null || _b === void 0 ? void 0 : _b.dispose(true);\n this._cancellationTokenSource = undefined;\n }\n}\nfunction setupCustomHover(hoverDelegate, htmlElement, content, options) {\n let hoverPreparation;\n let hoverWidget;\n const hideHover = (disposeWidget, disposePreparation) => {\n var _a;\n const hadHover = hoverWidget !== undefined;\n if (disposeWidget) {\n hoverWidget === null || hoverWidget === void 0 ? void 0 : hoverWidget.dispose();\n hoverWidget = undefined;\n }\n if (disposePreparation) {\n hoverPreparation === null || hoverPreparation === void 0 ? void 0 : hoverPreparation.dispose();\n hoverPreparation = undefined;\n }\n if (hadHover) {\n (_a = hoverDelegate.onDidHideHover) === null || _a === void 0 ? void 0 : _a.call(hoverDelegate);\n }\n };\n const triggerShowHover = (delay, focus, target) => {\n return new _common_async_js__WEBPACK_IMPORTED_MODULE_1__.TimeoutTimer(async () => {\n if (!hoverWidget || hoverWidget.isDisposed) {\n hoverWidget = new UpdatableHoverWidget(hoverDelegate, target || htmlElement, delay > 0);\n await hoverWidget.update(content, focus, options);\n }\n }, delay);\n };\n const onMouseOver = () => {\n if (hoverPreparation) {\n return;\n }\n const toDispose = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__.DisposableStore();\n const onMouseLeave = (e) => hideHover(false, e.fromElement === htmlElement);\n toDispose.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_LEAVE, onMouseLeave, true));\n const onMouseDown = () => hideHover(true, true);\n toDispose.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_DOWN, onMouseDown, true));\n const target = {\n targetElements: [htmlElement],\n dispose: () => { }\n };\n if (hoverDelegate.placement === undefined || hoverDelegate.placement === 'mouse') {\n // track the mouse position\n const onMouseMove = (e) => {\n target.x = e.x + 10;\n if ((e.target instanceof HTMLElement) && e.target.classList.contains('action-label')) {\n hideHover(true, true);\n }\n };\n toDispose.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_MOVE, onMouseMove, true));\n }\n toDispose.add(triggerShowHover(hoverDelegate.delay, false, target));\n hoverPreparation = toDispose;\n };\n const mouseOverDomEmitter = _dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_OVER, onMouseOver, true);\n const onFocus = () => {\n if (hoverPreparation) {\n return;\n }\n const target = {\n targetElements: [htmlElement],\n dispose: () => { }\n };\n const toDispose = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__.DisposableStore();\n const onBlur = () => hideHover(true, true);\n toDispose.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.BLUR, onBlur, true));\n toDispose.add(triggerShowHover(hoverDelegate.delay, false, target));\n hoverPreparation = toDispose;\n };\n const focusDomEmitter = _dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.FOCUS, onFocus, true);\n const hover = {\n show: focus => {\n hideHover(false, true); // terminate a ongoing mouse over preparation\n triggerShowHover(0, focus); // show hover immediately\n },\n hide: () => {\n hideHover(true, true);\n },\n update: async (newContent, hoverOptions) => {\n content = newContent;\n await (hoverWidget === null || hoverWidget === void 0 ? void 0 : hoverWidget.update(content, undefined, hoverOptions));\n },\n dispose: () => {\n mouseOverDomEmitter.dispose();\n focusDomEmitter.dispose();\n hideHover(true, true);\n }\n };\n return hover;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabelHover.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ renderIcon: () => (/* binding */ renderIcon),\n/* harmony export */ renderLabelWithIcons: () => (/* binding */ renderLabelWithIcons)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\nconst labelWithIconsRegex = new RegExp(`(\\\\\\\\)?\\\\$\\\\((${_common_themables_js__WEBPACK_IMPORTED_MODULE_1__.ThemeIcon.iconNameExpression}(?:${_common_themables_js__WEBPACK_IMPORTED_MODULE_1__.ThemeIcon.iconModifierExpression})?)\\\\)`, 'g');\nfunction renderLabelWithIcons(text) {\n const elements = new Array();\n let match;\n let textStart = 0, textStop = 0;\n while ((match = labelWithIconsRegex.exec(text)) !== null) {\n textStop = match.index || 0;\n if (textStart < textStop) {\n elements.push(text.substring(textStart, textStop));\n }\n textStart = (match.index || 0) + match[0].length;\n const [, escaped, codicon] = match;\n elements.push(escaped ? `$(${codicon})` : renderIcon({ id: codicon }));\n }\n if (textStart < text.length) {\n elements.push(text.substring(textStart));\n }\n return elements;\n}\nfunction renderIcon(icon) {\n const node = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$(`span`);\n node.classList.add(..._common_themables_js__WEBPACK_IMPORTED_MODULE_1__.ThemeIcon.asClassNameArray(icon));\n return node;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js":
+/*!********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js ***!
+ \********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HistoryInputBox: () => (/* binding */ HistoryInputBox),\n/* harmony export */ InputBox: () => (/* binding */ InputBox),\n/* harmony export */ unthemedInboxStyles: () => (/* binding */ unthemedInboxStyles)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _formattedTextRenderer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../formattedTextRenderer.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/formattedTextRenderer.js\");\n/* harmony import */ var _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actionbar/actionbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js\");\n/* harmony import */ var _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../aria/aria.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_history_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/history.js */ \"./node_modules/monaco-editor/esm/vs/base/common/history.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _inputBox_css__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./inputBox.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n\n\n\n\n\nconst $ = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$;\nconst unthemedInboxStyles = {\n inputBackground: '#3C3C3C',\n inputForeground: '#CCCCCC',\n inputValidationInfoBorder: '#55AAFF',\n inputValidationInfoBackground: '#063B49',\n inputValidationWarningBorder: '#B89500',\n inputValidationWarningBackground: '#352A05',\n inputValidationErrorBorder: '#BE1100',\n inputValidationErrorBackground: '#5A1D1D',\n inputBorder: undefined,\n inputValidationErrorForeground: undefined,\n inputValidationInfoForeground: undefined,\n inputValidationWarningForeground: undefined\n};\nclass InputBox extends _widget_js__WEBPACK_IMPORTED_MODULE_6__.Widget {\n constructor(container, contextViewProvider, options) {\n var _a;\n super();\n this.state = 'idle';\n this.maxHeight = Number.POSITIVE_INFINITY;\n this._onDidChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_7__.Emitter());\n this.onDidChange = this._onDidChange.event;\n this._onDidHeightChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_7__.Emitter());\n this.onDidHeightChange = this._onDidHeightChange.event;\n this.contextViewProvider = contextViewProvider;\n this.options = options;\n this.message = null;\n this.placeholder = this.options.placeholder || '';\n this.tooltip = (_a = this.options.tooltip) !== null && _a !== void 0 ? _a : (this.placeholder || '');\n this.ariaLabel = this.options.ariaLabel || '';\n if (this.options.validationOptions) {\n this.validation = this.options.validationOptions.validation;\n }\n this.element = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, $('.monaco-inputbox.idle'));\n const tagName = this.options.flexibleHeight ? 'textarea' : 'input';\n const wrapper = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.element, $('.ibwrapper'));\n this.input = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(wrapper, $(tagName + '.input.empty'));\n this.input.setAttribute('autocorrect', 'off');\n this.input.setAttribute('autocapitalize', 'off');\n this.input.setAttribute('spellcheck', 'false');\n this.onfocus(this.input, () => this.element.classList.add('synthetic-focus'));\n this.onblur(this.input, () => this.element.classList.remove('synthetic-focus'));\n if (this.options.flexibleHeight) {\n this.maxHeight = typeof this.options.flexibleMaxHeight === 'number' ? this.options.flexibleMaxHeight : Number.POSITIVE_INFINITY;\n this.mirror = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(wrapper, $('div.mirror'));\n this.mirror.innerText = '\\u00a0';\n this.scrollableElement = new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_5__.ScrollableElement(this.element, { vertical: 1 /* ScrollbarVisibility.Auto */ });\n if (this.options.flexibleWidth) {\n this.input.setAttribute('wrap', 'off');\n this.mirror.style.whiteSpace = 'pre';\n this.mirror.style.wordWrap = 'initial';\n }\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, this.scrollableElement.getDomNode());\n this._register(this.scrollableElement);\n // from ScrollableElement to DOM\n this._register(this.scrollableElement.onScroll(e => this.input.scrollTop = e.scrollTop));\n const onSelectionChange = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(container.ownerDocument, 'selectionchange'));\n const onAnchoredSelectionChange = _common_event_js__WEBPACK_IMPORTED_MODULE_7__.Event.filter(onSelectionChange.event, () => {\n const selection = container.ownerDocument.getSelection();\n return (selection === null || selection === void 0 ? void 0 : selection.anchorNode) === wrapper;\n });\n // from DOM to ScrollableElement\n this._register(onAnchoredSelectionChange(this.updateScrollDimensions, this));\n this._register(this.onDidHeightChange(this.updateScrollDimensions, this));\n }\n else {\n this.input.type = this.options.type || 'text';\n this.input.setAttribute('wrap', 'off');\n }\n if (this.ariaLabel) {\n this.input.setAttribute('aria-label', this.ariaLabel);\n }\n if (this.placeholder && !this.options.showPlaceholderOnFocus) {\n this.setPlaceHolder(this.placeholder);\n }\n if (this.tooltip) {\n this.setTooltip(this.tooltip);\n }\n this.oninput(this.input, () => this.onValueChange());\n this.onblur(this.input, () => this.onBlur());\n this.onfocus(this.input, () => this.onFocus());\n this._register(this.ignoreGesture(this.input));\n setTimeout(() => this.updateMirror(), 0);\n // Support actions\n if (this.options.actions) {\n this.actionbar = this._register(new _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_3__.ActionBar(this.element));\n this.actionbar.push(this.options.actions, { icon: true, label: false });\n }\n this.applyStyles();\n }\n onBlur() {\n this._hideMessage();\n if (this.options.showPlaceholderOnFocus) {\n this.input.setAttribute('placeholder', '');\n }\n }\n onFocus() {\n this._showMessage();\n if (this.options.showPlaceholderOnFocus) {\n this.input.setAttribute('placeholder', this.placeholder || '');\n }\n }\n setPlaceHolder(placeHolder) {\n this.placeholder = placeHolder;\n this.input.setAttribute('placeholder', placeHolder);\n }\n setTooltip(tooltip) {\n this.tooltip = tooltip;\n this.input.title = tooltip;\n }\n get inputElement() {\n return this.input;\n }\n get value() {\n return this.input.value;\n }\n set value(newValue) {\n if (this.input.value !== newValue) {\n this.input.value = newValue;\n this.onValueChange();\n }\n }\n get height() {\n return typeof this.cachedHeight === 'number' ? this.cachedHeight : _dom_js__WEBPACK_IMPORTED_MODULE_0__.getTotalHeight(this.element);\n }\n focus() {\n this.input.focus();\n }\n blur() {\n this.input.blur();\n }\n hasFocus() {\n return _dom_js__WEBPACK_IMPORTED_MODULE_0__.isActiveElement(this.input);\n }\n select(range = null) {\n this.input.select();\n if (range) {\n this.input.setSelectionRange(range.start, range.end);\n if (range.end === this.input.value.length) {\n this.input.scrollLeft = this.input.scrollWidth;\n }\n }\n }\n isSelectionAtEnd() {\n return this.input.selectionEnd === this.input.value.length && this.input.selectionStart === this.input.selectionEnd;\n }\n enable() {\n this.input.removeAttribute('disabled');\n }\n disable() {\n this.blur();\n this.input.disabled = true;\n this._hideMessage();\n }\n set paddingRight(paddingRight) {\n // Set width to avoid hint text overlapping buttons\n this.input.style.width = `calc(100% - ${paddingRight}px)`;\n if (this.mirror) {\n this.mirror.style.paddingRight = paddingRight + 'px';\n }\n }\n updateScrollDimensions() {\n if (typeof this.cachedContentHeight !== 'number' || typeof this.cachedHeight !== 'number' || !this.scrollableElement) {\n return;\n }\n const scrollHeight = this.cachedContentHeight;\n const height = this.cachedHeight;\n const scrollTop = this.input.scrollTop;\n this.scrollableElement.setScrollDimensions({ scrollHeight, height });\n this.scrollableElement.setScrollPosition({ scrollTop });\n }\n showMessage(message, force) {\n if (this.state === 'open' && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_9__.equals)(this.message, message)) {\n // Already showing\n return;\n }\n this.message = message;\n this.element.classList.remove('idle');\n this.element.classList.remove('info');\n this.element.classList.remove('warning');\n this.element.classList.remove('error');\n this.element.classList.add(this.classForType(message.type));\n const styles = this.stylesForType(this.message.type);\n this.element.style.border = `1px solid ${_dom_js__WEBPACK_IMPORTED_MODULE_0__.asCssValueWithDefault(styles.border, 'transparent')}`;\n if (this.message.content && (this.hasFocus() || force)) {\n this._showMessage();\n }\n }\n hideMessage() {\n this.message = null;\n this.element.classList.remove('info');\n this.element.classList.remove('warning');\n this.element.classList.remove('error');\n this.element.classList.add('idle');\n this._hideMessage();\n this.applyStyles();\n }\n validate() {\n let errorMsg = null;\n if (this.validation) {\n errorMsg = this.validation(this.value);\n if (errorMsg) {\n this.inputElement.setAttribute('aria-invalid', 'true');\n this.showMessage(errorMsg);\n }\n else if (this.inputElement.hasAttribute('aria-invalid')) {\n this.inputElement.removeAttribute('aria-invalid');\n this.hideMessage();\n }\n }\n return errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.type;\n }\n stylesForType(type) {\n const styles = this.options.inputBoxStyles;\n switch (type) {\n case 1 /* MessageType.INFO */: return { border: styles.inputValidationInfoBorder, background: styles.inputValidationInfoBackground, foreground: styles.inputValidationInfoForeground };\n case 2 /* MessageType.WARNING */: return { border: styles.inputValidationWarningBorder, background: styles.inputValidationWarningBackground, foreground: styles.inputValidationWarningForeground };\n default: return { border: styles.inputValidationErrorBorder, background: styles.inputValidationErrorBackground, foreground: styles.inputValidationErrorForeground };\n }\n }\n classForType(type) {\n switch (type) {\n case 1 /* MessageType.INFO */: return 'info';\n case 2 /* MessageType.WARNING */: return 'warning';\n default: return 'error';\n }\n }\n _showMessage() {\n if (!this.contextViewProvider || !this.message) {\n return;\n }\n let div;\n const layout = () => div.style.width = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getTotalWidth(this.element) + 'px';\n this.contextViewProvider.showContextView({\n getAnchor: () => this.element,\n anchorAlignment: 1 /* AnchorAlignment.RIGHT */,\n render: (container) => {\n var _a, _b;\n if (!this.message) {\n return null;\n }\n div = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, $('.monaco-inputbox-container'));\n layout();\n const renderOptions = {\n inline: true,\n className: 'monaco-inputbox-message'\n };\n const spanElement = (this.message.formatContent\n ? (0,_formattedTextRenderer_js__WEBPACK_IMPORTED_MODULE_2__.renderFormattedText)(this.message.content, renderOptions)\n : (0,_formattedTextRenderer_js__WEBPACK_IMPORTED_MODULE_2__.renderText)(this.message.content, renderOptions));\n spanElement.classList.add(this.classForType(this.message.type));\n const styles = this.stylesForType(this.message.type);\n spanElement.style.backgroundColor = (_a = styles.background) !== null && _a !== void 0 ? _a : '';\n spanElement.style.color = (_b = styles.foreground) !== null && _b !== void 0 ? _b : '';\n spanElement.style.border = styles.border ? `1px solid ${styles.border}` : '';\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(div, spanElement);\n return null;\n },\n onHide: () => {\n this.state = 'closed';\n },\n layout: layout\n });\n // ARIA Support\n let alertText;\n if (this.message.type === 3 /* MessageType.ERROR */) {\n alertText = _nls_js__WEBPACK_IMPORTED_MODULE_11__.localize('alertErrorMessage', \"Error: {0}\", this.message.content);\n }\n else if (this.message.type === 2 /* MessageType.WARNING */) {\n alertText = _nls_js__WEBPACK_IMPORTED_MODULE_11__.localize('alertWarningMessage', \"Warning: {0}\", this.message.content);\n }\n else {\n alertText = _nls_js__WEBPACK_IMPORTED_MODULE_11__.localize('alertInfoMessage', \"Info: {0}\", this.message.content);\n }\n _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__.alert(alertText);\n this.state = 'open';\n }\n _hideMessage() {\n if (!this.contextViewProvider) {\n return;\n }\n if (this.state === 'open') {\n this.contextViewProvider.hideContextView();\n }\n this.state = 'idle';\n }\n onValueChange() {\n this._onDidChange.fire(this.value);\n this.validate();\n this.updateMirror();\n this.input.classList.toggle('empty', !this.value);\n if (this.state === 'open' && this.contextViewProvider) {\n this.contextViewProvider.layout();\n }\n }\n updateMirror() {\n if (!this.mirror) {\n return;\n }\n const value = this.value;\n const lastCharCode = value.charCodeAt(value.length - 1);\n const suffix = lastCharCode === 10 ? ' ' : '';\n const mirrorTextContent = (value + suffix)\n .replace(/\\u000c/g, ''); // Don't measure with the form feed character, which messes up sizing\n if (mirrorTextContent) {\n this.mirror.textContent = value + suffix;\n }\n else {\n this.mirror.innerText = '\\u00a0';\n }\n this.layout();\n }\n applyStyles() {\n var _a, _b, _c;\n const styles = this.options.inputBoxStyles;\n const background = (_a = styles.inputBackground) !== null && _a !== void 0 ? _a : '';\n const foreground = (_b = styles.inputForeground) !== null && _b !== void 0 ? _b : '';\n const border = (_c = styles.inputBorder) !== null && _c !== void 0 ? _c : '';\n this.element.style.backgroundColor = background;\n this.element.style.color = foreground;\n this.input.style.backgroundColor = 'inherit';\n this.input.style.color = foreground;\n // there's always a border, even if the color is not set.\n this.element.style.border = `1px solid ${_dom_js__WEBPACK_IMPORTED_MODULE_0__.asCssValueWithDefault(border, 'transparent')}`;\n }\n layout() {\n if (!this.mirror) {\n return;\n }\n const previousHeight = this.cachedContentHeight;\n this.cachedContentHeight = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getTotalHeight(this.mirror);\n if (previousHeight !== this.cachedContentHeight) {\n this.cachedHeight = Math.min(this.cachedContentHeight, this.maxHeight);\n this.input.style.height = this.cachedHeight + 'px';\n this._onDidHeightChange.fire(this.cachedContentHeight);\n }\n }\n insertAtCursor(text) {\n const inputElement = this.inputElement;\n const start = inputElement.selectionStart;\n const end = inputElement.selectionEnd;\n const content = inputElement.value;\n if (start !== null && end !== null) {\n this.value = content.substr(0, start) + text + content.substr(end);\n inputElement.setSelectionRange(start + 1, start + 1);\n this.layout();\n }\n }\n dispose() {\n var _a;\n this._hideMessage();\n this.message = null;\n (_a = this.actionbar) === null || _a === void 0 ? void 0 : _a.dispose();\n super.dispose();\n }\n}\nclass HistoryInputBox extends InputBox {\n constructor(container, contextViewProvider, options) {\n const NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_NO_PARENS = _nls_js__WEBPACK_IMPORTED_MODULE_11__.localize({\n key: 'history.inputbox.hint.suffix.noparens',\n comment: ['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field ends in a closing parenthesis \")\", for example \"Filter (e.g. text, !exclude)\". The character inserted into the final string is \\u21C5 to represent the up and down arrow keys.']\n }, ' or {0} for history', `\\u21C5`);\n const NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS = _nls_js__WEBPACK_IMPORTED_MODULE_11__.localize({\n key: 'history.inputbox.hint.suffix.inparens',\n comment: ['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field does NOT end in a closing parenthesis (eg. \"Find\"). The character inserted into the final string is \\u21C5 to represent the up and down arrow keys.']\n }, ' ({0} for history)', `\\u21C5`);\n super(container, contextViewProvider, options);\n this._onDidFocus = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_7__.Emitter());\n this.onDidFocus = this._onDidFocus.event;\n this._onDidBlur = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_7__.Emitter());\n this.onDidBlur = this._onDidBlur.event;\n this.history = new _common_history_js__WEBPACK_IMPORTED_MODULE_8__.HistoryNavigator(options.history, 100);\n // Function to append the history suffix to the placeholder if necessary\n const addSuffix = () => {\n if (options.showHistoryHint && options.showHistoryHint() && !this.placeholder.endsWith(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_NO_PARENS) && !this.placeholder.endsWith(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS) && this.history.getHistory().length) {\n const suffix = this.placeholder.endsWith(')') ? NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_NO_PARENS : NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS;\n const suffixedPlaceholder = this.placeholder + suffix;\n if (options.showPlaceholderOnFocus && !_dom_js__WEBPACK_IMPORTED_MODULE_0__.isActiveElement(this.input)) {\n this.placeholder = suffixedPlaceholder;\n }\n else {\n this.setPlaceHolder(suffixedPlaceholder);\n }\n }\n };\n // Spot the change to the textarea class attribute which occurs when it changes between non-empty and empty,\n // and add the history suffix to the placeholder if not yet present\n this.observer = new MutationObserver((mutationList, observer) => {\n mutationList.forEach((mutation) => {\n if (!mutation.target.textContent) {\n addSuffix();\n }\n });\n });\n this.observer.observe(this.input, { attributeFilter: ['class'] });\n this.onfocus(this.input, () => addSuffix());\n this.onblur(this.input, () => {\n const resetPlaceholder = (historyHint) => {\n if (!this.placeholder.endsWith(historyHint)) {\n return false;\n }\n else {\n const revertedPlaceholder = this.placeholder.slice(0, this.placeholder.length - historyHint.length);\n if (options.showPlaceholderOnFocus) {\n this.placeholder = revertedPlaceholder;\n }\n else {\n this.setPlaceHolder(revertedPlaceholder);\n }\n return true;\n }\n };\n if (!resetPlaceholder(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS)) {\n resetPlaceholder(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_NO_PARENS);\n }\n });\n }\n dispose() {\n super.dispose();\n if (this.observer) {\n this.observer.disconnect();\n this.observer = undefined;\n }\n }\n addToHistory(always) {\n if (this.value && (always || this.value !== this.getCurrentValue())) {\n this.history.add(this.value);\n }\n }\n isAtLastInHistory() {\n return this.history.isLast();\n }\n isNowhereInHistory() {\n return this.history.isNowhere();\n }\n showNextValue() {\n if (!this.history.has(this.value)) {\n this.addToHistory();\n }\n let next = this.getNextValue();\n if (next) {\n next = next === this.value ? this.getNextValue() : next;\n }\n this.value = next !== null && next !== void 0 ? next : '';\n _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__.status(this.value ? this.value : _nls_js__WEBPACK_IMPORTED_MODULE_11__.localize('clearedInput', \"Cleared Input\"));\n }\n showPreviousValue() {\n if (!this.history.has(this.value)) {\n this.addToHistory();\n }\n let previous = this.getPreviousValue();\n if (previous) {\n previous = previous === this.value ? this.getPreviousValue() : previous;\n }\n if (previous) {\n this.value = previous;\n _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__.status(this.value);\n }\n }\n setPlaceHolder(placeHolder) {\n super.setPlaceHolder(placeHolder);\n this.setTooltip(placeHolder);\n }\n onBlur() {\n super.onBlur();\n this._onDidBlur.fire();\n }\n onFocus() {\n super.onFocus();\n this._onDidFocus.fire();\n }\n getCurrentValue() {\n let currentValue = this.history.current();\n if (!currentValue) {\n currentValue = this.history.last();\n this.history.next();\n }\n return currentValue;\n }\n getPreviousValue() {\n return this.history.previous() || this.history.first();\n }\n getNextValue() {\n return this.history.next();\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.js":
+/*!**********************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.js ***!
+ \**********************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ KeybindingLabel: () => (/* binding */ KeybindingLabel),\n/* harmony export */ unthemedKeybindingLabelOptions: () => (/* binding */ unthemedKeybindingLabelOptions)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_keybindingLabels_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/keybindingLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _keybindingLabel_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./keybindingLabel.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\nconst $ = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$;\nconst unthemedKeybindingLabelOptions = {\n keybindingLabelBackground: undefined,\n keybindingLabelForeground: undefined,\n keybindingLabelBorder: undefined,\n keybindingLabelBottomBorder: undefined,\n keybindingLabelShadow: undefined\n};\nclass KeybindingLabel {\n constructor(container, os, options) {\n this.os = os;\n this.keyElements = new Set();\n this.options = options || Object.create(null);\n const labelForeground = this.options.keybindingLabelForeground;\n this.domNode = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, $('.monaco-keybinding'));\n if (labelForeground) {\n this.domNode.style.color = labelForeground;\n }\n this.didEverRender = false;\n container.appendChild(this.domNode);\n }\n get element() {\n return this.domNode;\n }\n set(keybinding, matches) {\n if (this.didEverRender && this.keybinding === keybinding && KeybindingLabel.areSame(this.matches, matches)) {\n return;\n }\n this.keybinding = keybinding;\n this.matches = matches;\n this.render();\n }\n render() {\n var _a;\n this.clear();\n if (this.keybinding) {\n const chords = this.keybinding.getChords();\n if (chords[0]) {\n this.renderChord(this.domNode, chords[0], this.matches ? this.matches.firstPart : null);\n }\n for (let i = 1; i < chords.length; i++) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.domNode, $('span.monaco-keybinding-key-chord-separator', undefined, ' '));\n this.renderChord(this.domNode, chords[i], this.matches ? this.matches.chordPart : null);\n }\n const title = ((_a = this.options.disableTitle) !== null && _a !== void 0 ? _a : false) ? undefined : this.keybinding.getAriaLabel() || undefined;\n if (title !== undefined) {\n this.domNode.title = title;\n }\n else {\n this.domNode.removeAttribute('title');\n }\n }\n else if (this.options && this.options.renderUnboundKeybindings) {\n this.renderUnbound(this.domNode);\n }\n this.didEverRender = true;\n }\n clear() {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.clearNode(this.domNode);\n this.keyElements.clear();\n }\n renderChord(parent, chord, match) {\n const modifierLabels = _common_keybindingLabels_js__WEBPACK_IMPORTED_MODULE_1__.UILabelProvider.modifierLabels[this.os];\n if (chord.ctrlKey) {\n this.renderKey(parent, modifierLabels.ctrlKey, Boolean(match === null || match === void 0 ? void 0 : match.ctrlKey), modifierLabels.separator);\n }\n if (chord.shiftKey) {\n this.renderKey(parent, modifierLabels.shiftKey, Boolean(match === null || match === void 0 ? void 0 : match.shiftKey), modifierLabels.separator);\n }\n if (chord.altKey) {\n this.renderKey(parent, modifierLabels.altKey, Boolean(match === null || match === void 0 ? void 0 : match.altKey), modifierLabels.separator);\n }\n if (chord.metaKey) {\n this.renderKey(parent, modifierLabels.metaKey, Boolean(match === null || match === void 0 ? void 0 : match.metaKey), modifierLabels.separator);\n }\n const keyLabel = chord.keyLabel;\n if (keyLabel) {\n this.renderKey(parent, keyLabel, Boolean(match === null || match === void 0 ? void 0 : match.keyCode), '');\n }\n }\n renderKey(parent, label, highlight, separator) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(parent, this.createKeyElement(label, highlight ? '.highlight' : ''));\n if (separator) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(parent, $('span.monaco-keybinding-key-separator', undefined, separator));\n }\n }\n renderUnbound(parent) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(parent, this.createKeyElement((0,_nls_js__WEBPACK_IMPORTED_MODULE_4__.localize)('unbound', \"Unbound\")));\n }\n createKeyElement(label, extraClass = '') {\n const keyElement = $('span.monaco-keybinding-key' + extraClass, undefined, label);\n this.keyElements.add(keyElement);\n if (this.options.keybindingLabelBackground) {\n keyElement.style.backgroundColor = this.options.keybindingLabelBackground;\n }\n if (this.options.keybindingLabelBorder) {\n keyElement.style.borderColor = this.options.keybindingLabelBorder;\n }\n if (this.options.keybindingLabelBottomBorder) {\n keyElement.style.borderBottomColor = this.options.keybindingLabelBottomBorder;\n }\n if (this.options.keybindingLabelShadow) {\n keyElement.style.boxShadow = `inset 0 -1px 0 ${this.options.keybindingLabelShadow}`;\n }\n return keyElement;\n }\n static areSame(a, b) {\n if (a === b || (!a && !b)) {\n return true;\n }\n return !!a && !!b && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_2__.equals)(a.firstPart, b.firstPart) && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_2__.equals)(a.chordPart, b.chordPart);\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.js":
+/*!************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.js ***!
+ \************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ListError: () => (/* binding */ ListError)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nclass ListError extends Error {\n constructor(user, message) {\n super(`ListError [${user}] ${message}`);\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listPaging.js":
+/*!******************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listPaging.js ***!
+ \******************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PagedList: () => (/* binding */ PagedList)\n/* harmony export */ });\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_cancellation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/cancellation.js */ \"./node_modules/monaco-editor/esm/vs/base/common/cancellation.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _list_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./list.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css\");\n/* harmony import */ var _listWidget_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./listWidget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\nclass PagedRenderer {\n get templateId() { return this.renderer.templateId; }\n constructor(renderer, modelProvider) {\n this.renderer = renderer;\n this.modelProvider = modelProvider;\n }\n renderTemplate(container) {\n const data = this.renderer.renderTemplate(container);\n return { data, disposable: _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable.None };\n }\n renderElement(index, _, data, height) {\n var _a;\n (_a = data.disposable) === null || _a === void 0 ? void 0 : _a.dispose();\n if (!data.data) {\n return;\n }\n const model = this.modelProvider();\n if (model.isResolved(index)) {\n return this.renderer.renderElement(model.get(index), index, data.data, height);\n }\n const cts = new _common_cancellation_js__WEBPACK_IMPORTED_MODULE_1__.CancellationTokenSource();\n const promise = model.resolve(index, cts.token);\n data.disposable = { dispose: () => cts.cancel() };\n this.renderer.renderPlaceholder(index, data.data);\n promise.then(entry => this.renderer.renderElement(entry, index, data.data, height));\n }\n disposeTemplate(data) {\n if (data.disposable) {\n data.disposable.dispose();\n data.disposable = undefined;\n }\n if (data.data) {\n this.renderer.disposeTemplate(data.data);\n data.data = undefined;\n }\n }\n}\nclass PagedAccessibilityProvider {\n constructor(modelProvider, accessibilityProvider) {\n this.modelProvider = modelProvider;\n this.accessibilityProvider = accessibilityProvider;\n }\n getWidgetAriaLabel() {\n return this.accessibilityProvider.getWidgetAriaLabel();\n }\n getAriaLabel(index) {\n const model = this.modelProvider();\n if (!model.isResolved(index)) {\n return null;\n }\n return this.accessibilityProvider.getAriaLabel(model.get(index));\n }\n}\nfunction fromPagedListOptions(modelProvider, options) {\n return {\n ...options,\n accessibilityProvider: options.accessibilityProvider && new PagedAccessibilityProvider(modelProvider, options.accessibilityProvider)\n };\n}\nclass PagedList {\n constructor(user, container, virtualDelegate, renderers, options = {}) {\n const modelProvider = () => this.model;\n const pagedRenderers = renderers.map(r => new PagedRenderer(r, modelProvider));\n this.list = new _listWidget_js__WEBPACK_IMPORTED_MODULE_5__.List(user, container, virtualDelegate, pagedRenderers, fromPagedListOptions(modelProvider, options));\n }\n updateOptions(options) {\n this.list.updateOptions(options);\n }\n getHTMLElement() {\n return this.list.getHTMLElement();\n }\n get onDidFocus() {\n return this.list.onDidFocus;\n }\n get widget() {\n return this.list;\n }\n get onDidDispose() {\n return this.list.onDidDispose;\n }\n get onMouseDblClick() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.map(this.list.onMouseDblClick, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\n }\n get onPointer() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.map(this.list.onPointer, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\n }\n get onDidChangeSelection() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.map(this.list.onDidChangeSelection, ({ elements, indexes, browserEvent }) => ({ elements: elements.map(e => this._model.get(e)), indexes, browserEvent }));\n }\n get model() {\n return this._model;\n }\n set model(model) {\n this._model = model;\n this.list.splice(0, this.list.length, (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.range)(model.length));\n }\n getFocus() {\n return this.list.getFocus();\n }\n getSelection() {\n return this.list.getSelection();\n }\n getSelectedElements() {\n return this.getSelection().map(i => this.model.get(i));\n }\n style(styles) {\n this.list.style(styles);\n }\n dispose() {\n this.list.dispose();\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listPaging.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js":
+/*!****************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js ***!
+ \****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ElementsDragAndDropData: () => (/* binding */ ElementsDragAndDropData),\n/* harmony export */ ExternalElementsDragAndDropData: () => (/* binding */ ExternalElementsDragAndDropData),\n/* harmony export */ ListView: () => (/* binding */ ListView),\n/* harmony export */ NativeDragAndDropData: () => (/* binding */ NativeDragAndDropData)\n/* harmony export */ });\n/* harmony import */ var _dnd_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dnd.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dnd.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_range_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/range.js */ \"./node_modules/monaco-editor/esm/vs/base/common/range.js\");\n/* harmony import */ var _common_scrollable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/scrollable.js */ \"./node_modules/monaco-editor/esm/vs/base/common/scrollable.js\");\n/* harmony import */ var _rangeMap_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./rangeMap.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.js\");\n/* harmony import */ var _rowCache_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./rowCache.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.js\");\n/* harmony import */ var _common_errors_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../common/errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst StaticDND = {\n CurrentDragAndDropData: undefined\n};\nconst DefaultOptions = {\n useShadows: true,\n verticalScrollMode: 1 /* ScrollbarVisibility.Auto */,\n setRowLineHeight: true,\n setRowHeight: true,\n supportDynamicHeights: false,\n dnd: {\n getDragElements(e) { return [e]; },\n getDragURI() { return null; },\n onDragStart() { },\n onDragOver() { return false; },\n drop() { },\n dispose() { }\n },\n horizontalScrolling: false,\n transformOptimization: true,\n alwaysConsumeMouseWheel: true,\n};\nclass ElementsDragAndDropData {\n constructor(elements) {\n this.elements = elements;\n }\n update() { }\n getData() {\n return this.elements;\n }\n}\nclass ExternalElementsDragAndDropData {\n constructor(elements) {\n this.elements = elements;\n }\n update() { }\n getData() {\n return this.elements;\n }\n}\nclass NativeDragAndDropData {\n constructor() {\n this.types = [];\n this.files = [];\n }\n update(dataTransfer) {\n if (dataTransfer.types) {\n this.types.splice(0, this.types.length, ...dataTransfer.types);\n }\n if (dataTransfer.files) {\n this.files.splice(0, this.files.length);\n for (let i = 0; i < dataTransfer.files.length; i++) {\n const file = dataTransfer.files.item(i);\n if (file && (file.size || file.type)) {\n this.files.push(file);\n }\n }\n }\n }\n getData() {\n return {\n types: this.types,\n files: this.files\n };\n }\n}\nfunction equalsDragFeedback(f1, f2) {\n if (Array.isArray(f1) && Array.isArray(f2)) {\n return (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.equals)(f1, f2);\n }\n return f1 === f2;\n}\nclass ListViewAccessibilityProvider {\n constructor(accessibilityProvider) {\n if (accessibilityProvider === null || accessibilityProvider === void 0 ? void 0 : accessibilityProvider.getSetSize) {\n this.getSetSize = accessibilityProvider.getSetSize.bind(accessibilityProvider);\n }\n else {\n this.getSetSize = (e, i, l) => l;\n }\n if (accessibilityProvider === null || accessibilityProvider === void 0 ? void 0 : accessibilityProvider.getPosInSet) {\n this.getPosInSet = accessibilityProvider.getPosInSet.bind(accessibilityProvider);\n }\n else {\n this.getPosInSet = (e, i) => i + 1;\n }\n if (accessibilityProvider === null || accessibilityProvider === void 0 ? void 0 : accessibilityProvider.getRole) {\n this.getRole = accessibilityProvider.getRole.bind(accessibilityProvider);\n }\n else {\n this.getRole = _ => 'listitem';\n }\n if (accessibilityProvider === null || accessibilityProvider === void 0 ? void 0 : accessibilityProvider.isChecked) {\n this.isChecked = accessibilityProvider.isChecked.bind(accessibilityProvider);\n }\n else {\n this.isChecked = _ => undefined;\n }\n }\n}\n/**\n * The {@link ListView} is a virtual scrolling engine.\n *\n * Given that it only renders elements within its viewport, it can hold large\n * collections of elements and stay very performant. The performance bottleneck\n * usually lies within the user's rendering code for each element.\n *\n * @remarks It is a low-level widget, not meant to be used directly. Refer to the\n * List widget instead.\n */\nclass ListView {\n get contentHeight() { return this.rangeMap.size; }\n get onDidScroll() { return this.scrollableElement.onScroll; }\n get scrollableElementDomNode() { return this.scrollableElement.getDomNode(); }\n get horizontalScrolling() { return this._horizontalScrolling; }\n set horizontalScrolling(value) {\n if (value === this._horizontalScrolling) {\n return;\n }\n if (value && this.supportDynamicHeights) {\n throw new Error('Horizontal scrolling and dynamic heights not supported simultaneously');\n }\n this._horizontalScrolling = value;\n this.domNode.classList.toggle('horizontal-scrolling', this._horizontalScrolling);\n if (this._horizontalScrolling) {\n for (const item of this.items) {\n this.measureItemWidth(item);\n }\n this.updateScrollWidth();\n this.scrollableElement.setScrollDimensions({ width: (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getContentWidth)(this.domNode) });\n this.rowsContainer.style.width = `${Math.max(this.scrollWidth || 0, this.renderWidth)}px`;\n }\n else {\n this.scrollableElementWidthDelayer.cancel();\n this.scrollableElement.setScrollDimensions({ width: this.renderWidth, scrollWidth: this.renderWidth });\n this.rowsContainer.style.width = '';\n }\n }\n constructor(container, virtualDelegate, renderers, options = DefaultOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n this.virtualDelegate = virtualDelegate;\n this.domId = `list_id_${++ListView.InstanceCount}`;\n this.renderers = new Map();\n this.renderWidth = 0;\n this._scrollHeight = 0;\n this.scrollableElementUpdateDisposable = null;\n this.scrollableElementWidthDelayer = new _common_async_js__WEBPACK_IMPORTED_MODULE_6__.Delayer(50);\n this.splicing = false;\n this.dragOverAnimationStopDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.Disposable.None;\n this.dragOverMouseY = 0;\n this.canDrop = false;\n this.currentDragFeedbackDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.Disposable.None;\n this.onDragLeaveTimeout = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.Disposable.None;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.DisposableStore();\n this._onDidChangeContentHeight = new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter();\n this._onDidChangeContentWidth = new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter();\n this.onDidChangeContentHeight = _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.latch(this._onDidChangeContentHeight.event, undefined, this.disposables);\n this._horizontalScrolling = false;\n if (options.horizontalScrolling && options.supportDynamicHeights) {\n throw new Error('Horizontal scrolling and dynamic heights not supported simultaneously');\n }\n this.items = [];\n this.itemId = 0;\n this.rangeMap = new _rangeMap_js__WEBPACK_IMPORTED_MODULE_12__.RangeMap((_a = options.paddingTop) !== null && _a !== void 0 ? _a : 0);\n for (const renderer of renderers) {\n this.renderers.set(renderer.templateId, renderer);\n }\n this.cache = this.disposables.add(new _rowCache_js__WEBPACK_IMPORTED_MODULE_13__.RowCache(this.renderers));\n this.lastRenderTop = 0;\n this.lastRenderHeight = 0;\n this.domNode = document.createElement('div');\n this.domNode.className = 'monaco-list';\n this.domNode.classList.add(this.domId);\n this.domNode.tabIndex = 0;\n this.domNode.classList.toggle('mouse-support', typeof options.mouseSupport === 'boolean' ? options.mouseSupport : true);\n this._horizontalScrolling = (_b = options.horizontalScrolling) !== null && _b !== void 0 ? _b : DefaultOptions.horizontalScrolling;\n this.domNode.classList.toggle('horizontal-scrolling', this._horizontalScrolling);\n this.paddingBottom = typeof options.paddingBottom === 'undefined' ? 0 : options.paddingBottom;\n this.accessibilityProvider = new ListViewAccessibilityProvider(options.accessibilityProvider);\n this.rowsContainer = document.createElement('div');\n this.rowsContainer.className = 'monaco-list-rows';\n const transformOptimization = (_c = options.transformOptimization) !== null && _c !== void 0 ? _c : DefaultOptions.transformOptimization;\n if (transformOptimization) {\n this.rowsContainer.style.transform = 'translate3d(0px, 0px, 0px)';\n this.rowsContainer.style.overflow = 'hidden';\n this.rowsContainer.style.contain = 'strict';\n }\n this.disposables.add(_touch_js__WEBPACK_IMPORTED_MODULE_3__.Gesture.addTarget(this.rowsContainer));\n this.scrollable = this.disposables.add(new _common_scrollable_js__WEBPACK_IMPORTED_MODULE_11__.Scrollable({\n forceIntegerValues: true,\n smoothScrollDuration: ((_d = options.smoothScrolling) !== null && _d !== void 0 ? _d : false) ? 125 : 0,\n scheduleAtNextAnimationFrame: cb => (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.scheduleAtNextAnimationFrame)((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getWindow)(this.domNode), cb)\n }));\n this.scrollableElement = this.disposables.add(new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_4__.SmoothScrollableElement(this.rowsContainer, {\n alwaysConsumeMouseWheel: (_e = options.alwaysConsumeMouseWheel) !== null && _e !== void 0 ? _e : DefaultOptions.alwaysConsumeMouseWheel,\n horizontal: 1 /* ScrollbarVisibility.Auto */,\n vertical: (_f = options.verticalScrollMode) !== null && _f !== void 0 ? _f : DefaultOptions.verticalScrollMode,\n useShadows: (_g = options.useShadows) !== null && _g !== void 0 ? _g : DefaultOptions.useShadows,\n mouseWheelScrollSensitivity: options.mouseWheelScrollSensitivity,\n fastScrollSensitivity: options.fastScrollSensitivity,\n scrollByPage: options.scrollByPage\n }, this.scrollable));\n this.domNode.appendChild(this.scrollableElement.getDomNode());\n container.appendChild(this.domNode);\n this.scrollableElement.onScroll(this.onScroll, this, this.disposables);\n this.disposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(this.rowsContainer, _touch_js__WEBPACK_IMPORTED_MODULE_3__.EventType.Change, e => this.onTouchChange(e)));\n // Prevent the monaco-scrollable-element from scrolling\n // https://github.com/microsoft/vscode/issues/44181\n this.disposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(this.scrollableElement.getDomNode(), 'scroll', e => e.target.scrollTop = 0));\n this.disposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(this.domNode, 'dragover', e => this.onDragOver(this.toDragEvent(e))));\n this.disposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(this.domNode, 'drop', e => this.onDrop(this.toDragEvent(e))));\n this.disposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(this.domNode, 'dragleave', e => this.onDragLeave(this.toDragEvent(e))));\n this.disposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(this.domNode, 'dragend', e => this.onDragEnd(e)));\n this.setRowLineHeight = (_h = options.setRowLineHeight) !== null && _h !== void 0 ? _h : DefaultOptions.setRowLineHeight;\n this.setRowHeight = (_j = options.setRowHeight) !== null && _j !== void 0 ? _j : DefaultOptions.setRowHeight;\n this.supportDynamicHeights = (_k = options.supportDynamicHeights) !== null && _k !== void 0 ? _k : DefaultOptions.supportDynamicHeights;\n this.dnd = (_l = options.dnd) !== null && _l !== void 0 ? _l : this.disposables.add(DefaultOptions.dnd);\n this.layout((_m = options.initialSize) === null || _m === void 0 ? void 0 : _m.height, (_o = options.initialSize) === null || _o === void 0 ? void 0 : _o.width);\n }\n updateOptions(options) {\n if (options.paddingBottom !== undefined) {\n this.paddingBottom = options.paddingBottom;\n this.scrollableElement.setScrollDimensions({ scrollHeight: this.scrollHeight });\n }\n if (options.smoothScrolling !== undefined) {\n this.scrollable.setSmoothScrollDuration(options.smoothScrolling ? 125 : 0);\n }\n if (options.horizontalScrolling !== undefined) {\n this.horizontalScrolling = options.horizontalScrolling;\n }\n let scrollableOptions;\n if (options.scrollByPage !== undefined) {\n scrollableOptions = { ...(scrollableOptions !== null && scrollableOptions !== void 0 ? scrollableOptions : {}), scrollByPage: options.scrollByPage };\n }\n if (options.mouseWheelScrollSensitivity !== undefined) {\n scrollableOptions = { ...(scrollableOptions !== null && scrollableOptions !== void 0 ? scrollableOptions : {}), mouseWheelScrollSensitivity: options.mouseWheelScrollSensitivity };\n }\n if (options.fastScrollSensitivity !== undefined) {\n scrollableOptions = { ...(scrollableOptions !== null && scrollableOptions !== void 0 ? scrollableOptions : {}), fastScrollSensitivity: options.fastScrollSensitivity };\n }\n if (scrollableOptions) {\n this.scrollableElement.updateOptions(scrollableOptions);\n }\n if (options.paddingTop !== undefined && options.paddingTop !== this.rangeMap.paddingTop) {\n // trigger a rerender\n const lastRenderRange = this.getRenderRange(this.lastRenderTop, this.lastRenderHeight);\n const offset = options.paddingTop - this.rangeMap.paddingTop;\n this.rangeMap.paddingTop = options.paddingTop;\n this.render(lastRenderRange, Math.max(0, this.lastRenderTop + offset), this.lastRenderHeight, undefined, undefined, true);\n this.setScrollTop(this.lastRenderTop);\n this.eventuallyUpdateScrollDimensions();\n if (this.supportDynamicHeights) {\n this._rerender(this.lastRenderTop, this.lastRenderHeight);\n }\n }\n }\n splice(start, deleteCount, elements = []) {\n if (this.splicing) {\n throw new Error('Can\\'t run recursive splices.');\n }\n this.splicing = true;\n try {\n return this._splice(start, deleteCount, elements);\n }\n finally {\n this.splicing = false;\n this._onDidChangeContentHeight.fire(this.contentHeight);\n }\n }\n _splice(start, deleteCount, elements = []) {\n const previousRenderRange = this.getRenderRange(this.lastRenderTop, this.lastRenderHeight);\n const deleteRange = { start, end: start + deleteCount };\n const removeRange = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(previousRenderRange, deleteRange);\n // try to reuse rows, avoid removing them from DOM\n const rowsToDispose = new Map();\n for (let i = removeRange.end - 1; i >= removeRange.start; i--) {\n const item = this.items[i];\n item.dragStartDisposable.dispose();\n item.checkedDisposable.dispose();\n if (item.row) {\n let rows = rowsToDispose.get(item.templateId);\n if (!rows) {\n rows = [];\n rowsToDispose.set(item.templateId, rows);\n }\n const renderer = this.renderers.get(item.templateId);\n if (renderer && renderer.disposeElement) {\n renderer.disposeElement(item.element, i, item.row.templateData, item.size);\n }\n rows.push(item.row);\n }\n item.row = null;\n }\n const previousRestRange = { start: start + deleteCount, end: this.items.length };\n const previousRenderedRestRange = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(previousRestRange, previousRenderRange);\n const previousUnrenderedRestRanges = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(previousRestRange, previousRenderRange);\n const inserted = elements.map(element => ({\n id: String(this.itemId++),\n element,\n templateId: this.virtualDelegate.getTemplateId(element),\n size: this.virtualDelegate.getHeight(element),\n width: undefined,\n hasDynamicHeight: !!this.virtualDelegate.hasDynamicHeight && this.virtualDelegate.hasDynamicHeight(element),\n lastDynamicHeightWidth: undefined,\n row: null,\n uri: undefined,\n dropTarget: false,\n dragStartDisposable: _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.Disposable.None,\n checkedDisposable: _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.Disposable.None\n }));\n let deleted;\n // TODO@joao: improve this optimization to catch even more cases\n if (start === 0 && deleteCount >= this.items.length) {\n this.rangeMap = new _rangeMap_js__WEBPACK_IMPORTED_MODULE_12__.RangeMap(this.rangeMap.paddingTop);\n this.rangeMap.splice(0, 0, inserted);\n deleted = this.items;\n this.items = inserted;\n }\n else {\n this.rangeMap.splice(start, deleteCount, inserted);\n deleted = this.items.splice(start, deleteCount, ...inserted);\n }\n const delta = elements.length - deleteCount;\n const renderRange = this.getRenderRange(this.lastRenderTop, this.lastRenderHeight);\n const renderedRestRange = (0,_rangeMap_js__WEBPACK_IMPORTED_MODULE_12__.shift)(previousRenderedRestRange, delta);\n const updateRange = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(renderRange, renderedRestRange);\n for (let i = updateRange.start; i < updateRange.end; i++) {\n this.updateItemInDOM(this.items[i], i);\n }\n const removeRanges = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(renderedRestRange, renderRange);\n for (const range of removeRanges) {\n for (let i = range.start; i < range.end; i++) {\n this.removeItemFromDOM(i);\n }\n }\n const unrenderedRestRanges = previousUnrenderedRestRanges.map(r => (0,_rangeMap_js__WEBPACK_IMPORTED_MODULE_12__.shift)(r, delta));\n const elementsRange = { start, end: start + elements.length };\n const insertRanges = [elementsRange, ...unrenderedRestRanges].map(r => _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(renderRange, r));\n const beforeElement = this.getNextToLastElement(insertRanges);\n for (const range of insertRanges) {\n for (let i = range.start; i < range.end; i++) {\n const item = this.items[i];\n const rows = rowsToDispose.get(item.templateId);\n const row = rows === null || rows === void 0 ? void 0 : rows.pop();\n this.insertItemInDOM(i, beforeElement, row);\n }\n }\n for (const rows of rowsToDispose.values()) {\n for (const row of rows) {\n this.cache.release(row);\n }\n }\n this.eventuallyUpdateScrollDimensions();\n if (this.supportDynamicHeights) {\n this._rerender(this.scrollTop, this.renderHeight);\n }\n return deleted.map(i => i.element);\n }\n eventuallyUpdateScrollDimensions() {\n this._scrollHeight = this.contentHeight;\n this.rowsContainer.style.height = `${this._scrollHeight}px`;\n if (!this.scrollableElementUpdateDisposable) {\n this.scrollableElementUpdateDisposable = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.scheduleAtNextAnimationFrame)((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getWindow)(this.domNode), () => {\n this.scrollableElement.setScrollDimensions({ scrollHeight: this.scrollHeight });\n this.updateScrollWidth();\n this.scrollableElementUpdateDisposable = null;\n });\n }\n }\n eventuallyUpdateScrollWidth() {\n if (!this.horizontalScrolling) {\n this.scrollableElementWidthDelayer.cancel();\n return;\n }\n this.scrollableElementWidthDelayer.trigger(() => this.updateScrollWidth());\n }\n updateScrollWidth() {\n if (!this.horizontalScrolling) {\n return;\n }\n let scrollWidth = 0;\n for (const item of this.items) {\n if (typeof item.width !== 'undefined') {\n scrollWidth = Math.max(scrollWidth, item.width);\n }\n }\n this.scrollWidth = scrollWidth;\n this.scrollableElement.setScrollDimensions({ scrollWidth: scrollWidth === 0 ? 0 : (scrollWidth + 10) });\n this._onDidChangeContentWidth.fire(this.scrollWidth);\n }\n rerender() {\n if (!this.supportDynamicHeights) {\n return;\n }\n for (const item of this.items) {\n item.lastDynamicHeightWidth = undefined;\n }\n this._rerender(this.lastRenderTop, this.lastRenderHeight);\n }\n get length() {\n return this.items.length;\n }\n get renderHeight() {\n const scrollDimensions = this.scrollableElement.getScrollDimensions();\n return scrollDimensions.height;\n }\n get firstVisibleIndex() {\n const range = this.getRenderRange(this.lastRenderTop, this.lastRenderHeight);\n return range.start;\n }\n element(index) {\n return this.items[index].element;\n }\n indexOf(element) {\n return this.items.findIndex(item => item.element === element);\n }\n domElement(index) {\n const row = this.items[index].row;\n return row && row.domNode;\n }\n elementHeight(index) {\n return this.items[index].size;\n }\n elementTop(index) {\n return this.rangeMap.positionAt(index);\n }\n indexAt(position) {\n return this.rangeMap.indexAt(position);\n }\n indexAfter(position) {\n return this.rangeMap.indexAfter(position);\n }\n layout(height, width) {\n const scrollDimensions = {\n height: typeof height === 'number' ? height : (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getContentHeight)(this.domNode)\n };\n if (this.scrollableElementUpdateDisposable) {\n this.scrollableElementUpdateDisposable.dispose();\n this.scrollableElementUpdateDisposable = null;\n scrollDimensions.scrollHeight = this.scrollHeight;\n }\n this.scrollableElement.setScrollDimensions(scrollDimensions);\n if (typeof width !== 'undefined') {\n this.renderWidth = width;\n if (this.supportDynamicHeights) {\n this._rerender(this.scrollTop, this.renderHeight);\n }\n }\n if (this.horizontalScrolling) {\n this.scrollableElement.setScrollDimensions({\n width: typeof width === 'number' ? width : (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getContentWidth)(this.domNode)\n });\n }\n }\n // Render\n render(previousRenderRange, renderTop, renderHeight, renderLeft, scrollWidth, updateItemsInDOM = false) {\n const renderRange = this.getRenderRange(renderTop, renderHeight);\n const rangesToInsert = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(renderRange, previousRenderRange);\n const rangesToRemove = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(previousRenderRange, renderRange);\n const beforeElement = this.getNextToLastElement(rangesToInsert);\n if (updateItemsInDOM) {\n const rangesToUpdate = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(previousRenderRange, renderRange);\n for (let i = rangesToUpdate.start; i < rangesToUpdate.end; i++) {\n this.updateItemInDOM(this.items[i], i);\n }\n }\n this.cache.transact(() => {\n for (const range of rangesToRemove) {\n for (let i = range.start; i < range.end; i++) {\n this.removeItemFromDOM(i);\n }\n }\n for (const range of rangesToInsert) {\n for (let i = range.start; i < range.end; i++) {\n this.insertItemInDOM(i, beforeElement);\n }\n }\n });\n if (renderLeft !== undefined) {\n this.rowsContainer.style.left = `-${renderLeft}px`;\n }\n this.rowsContainer.style.top = `-${renderTop}px`;\n if (this.horizontalScrolling && scrollWidth !== undefined) {\n this.rowsContainer.style.width = `${Math.max(scrollWidth, this.renderWidth)}px`;\n }\n this.lastRenderTop = renderTop;\n this.lastRenderHeight = renderHeight;\n }\n // DOM operations\n insertItemInDOM(index, beforeElement, row) {\n const item = this.items[index];\n let isStale = false;\n if (!item.row) {\n if (row) {\n item.row = row;\n }\n else {\n const result = this.cache.alloc(item.templateId);\n item.row = result.row;\n isStale = result.isReusingConnectedDomNode;\n }\n }\n const role = this.accessibilityProvider.getRole(item.element) || 'listitem';\n item.row.domNode.setAttribute('role', role);\n const checked = this.accessibilityProvider.isChecked(item.element);\n if (typeof checked === 'boolean') {\n item.row.domNode.setAttribute('aria-checked', String(!!checked));\n }\n else if (checked) {\n const update = (checked) => item.row.domNode.setAttribute('aria-checked', String(!!checked));\n update(checked.value);\n item.checkedDisposable = checked.onDidChange(update);\n }\n if (isStale || !item.row.domNode.parentElement) {\n if (beforeElement) {\n this.rowsContainer.insertBefore(item.row.domNode, beforeElement);\n }\n else {\n this.rowsContainer.appendChild(item.row.domNode);\n }\n }\n this.updateItemInDOM(item, index);\n const renderer = this.renderers.get(item.templateId);\n if (!renderer) {\n throw new Error(`No renderer found for template id ${item.templateId}`);\n }\n renderer === null || renderer === void 0 ? void 0 : renderer.renderElement(item.element, index, item.row.templateData, item.size);\n const uri = this.dnd.getDragURI(item.element);\n item.dragStartDisposable.dispose();\n item.row.domNode.draggable = !!uri;\n if (uri) {\n item.dragStartDisposable = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(item.row.domNode, 'dragstart', event => this.onDragStart(item.element, uri, event));\n }\n if (this.horizontalScrolling) {\n this.measureItemWidth(item);\n this.eventuallyUpdateScrollWidth();\n }\n }\n measureItemWidth(item) {\n if (!item.row || !item.row.domNode) {\n return;\n }\n item.row.domNode.style.width = 'fit-content';\n item.width = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getContentWidth)(item.row.domNode);\n const style = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getWindow)(item.row.domNode).getComputedStyle(item.row.domNode);\n if (style.paddingLeft) {\n item.width += parseFloat(style.paddingLeft);\n }\n if (style.paddingRight) {\n item.width += parseFloat(style.paddingRight);\n }\n item.row.domNode.style.width = '';\n }\n updateItemInDOM(item, index) {\n item.row.domNode.style.top = `${this.elementTop(index)}px`;\n if (this.setRowHeight) {\n item.row.domNode.style.height = `${item.size}px`;\n }\n if (this.setRowLineHeight) {\n item.row.domNode.style.lineHeight = `${item.size}px`;\n }\n item.row.domNode.setAttribute('data-index', `${index}`);\n item.row.domNode.setAttribute('data-last-element', index === this.length - 1 ? 'true' : 'false');\n item.row.domNode.setAttribute('data-parity', index % 2 === 0 ? 'even' : 'odd');\n item.row.domNode.setAttribute('aria-setsize', String(this.accessibilityProvider.getSetSize(item.element, index, this.length)));\n item.row.domNode.setAttribute('aria-posinset', String(this.accessibilityProvider.getPosInSet(item.element, index)));\n item.row.domNode.setAttribute('id', this.getElementDomId(index));\n item.row.domNode.classList.toggle('drop-target', item.dropTarget);\n }\n removeItemFromDOM(index) {\n const item = this.items[index];\n item.dragStartDisposable.dispose();\n item.checkedDisposable.dispose();\n if (item.row) {\n const renderer = this.renderers.get(item.templateId);\n if (renderer && renderer.disposeElement) {\n renderer.disposeElement(item.element, index, item.row.templateData, item.size);\n }\n this.cache.release(item.row);\n item.row = null;\n }\n if (this.horizontalScrolling) {\n this.eventuallyUpdateScrollWidth();\n }\n }\n getScrollTop() {\n const scrollPosition = this.scrollableElement.getScrollPosition();\n return scrollPosition.scrollTop;\n }\n setScrollTop(scrollTop, reuseAnimation) {\n if (this.scrollableElementUpdateDisposable) {\n this.scrollableElementUpdateDisposable.dispose();\n this.scrollableElementUpdateDisposable = null;\n this.scrollableElement.setScrollDimensions({ scrollHeight: this.scrollHeight });\n }\n this.scrollableElement.setScrollPosition({ scrollTop, reuseAnimation });\n }\n get scrollTop() {\n return this.getScrollTop();\n }\n set scrollTop(scrollTop) {\n this.setScrollTop(scrollTop);\n }\n get scrollHeight() {\n return this._scrollHeight + (this.horizontalScrolling ? 10 : 0) + this.paddingBottom;\n }\n // Events\n get onMouseClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'click')).event, e => this.toMouseEvent(e), this.disposables); }\n get onMouseDblClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'dblclick')).event, e => this.toMouseEvent(e), this.disposables); }\n get onMouseMiddleClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.filter(_common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'auxclick')).event, e => this.toMouseEvent(e), this.disposables), e => e.browserEvent.button === 1, this.disposables); }\n get onMouseDown() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'mousedown')).event, e => this.toMouseEvent(e), this.disposables); }\n get onMouseOver() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'mouseover')).event, e => this.toMouseEvent(e), this.disposables); }\n get onMouseOut() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'mouseout')).event, e => this.toMouseEvent(e), this.disposables); }\n get onContextMenu() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.any(_common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'contextmenu')).event, e => this.toMouseEvent(e), this.disposables), _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, _touch_js__WEBPACK_IMPORTED_MODULE_3__.EventType.Contextmenu)).event, e => this.toGestureEvent(e), this.disposables)); }\n get onTouchStart() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'touchstart')).event, e => this.toTouchEvent(e), this.disposables); }\n get onTap() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.rowsContainer, _touch_js__WEBPACK_IMPORTED_MODULE_3__.EventType.Tap)).event, e => this.toGestureEvent(e), this.disposables); }\n toMouseEvent(browserEvent) {\n const index = this.getItemIndexFromEventTarget(browserEvent.target || null);\n const item = typeof index === 'undefined' ? undefined : this.items[index];\n const element = item && item.element;\n return { browserEvent, index, element };\n }\n toTouchEvent(browserEvent) {\n const index = this.getItemIndexFromEventTarget(browserEvent.target || null);\n const item = typeof index === 'undefined' ? undefined : this.items[index];\n const element = item && item.element;\n return { browserEvent, index, element };\n }\n toGestureEvent(browserEvent) {\n const index = this.getItemIndexFromEventTarget(browserEvent.initialTarget || null);\n const item = typeof index === 'undefined' ? undefined : this.items[index];\n const element = item && item.element;\n return { browserEvent, index, element };\n }\n toDragEvent(browserEvent) {\n const index = this.getItemIndexFromEventTarget(browserEvent.target || null);\n const item = typeof index === 'undefined' ? undefined : this.items[index];\n const element = item && item.element;\n return { browserEvent, index, element };\n }\n onScroll(e) {\n try {\n const previousRenderRange = this.getRenderRange(this.lastRenderTop, this.lastRenderHeight);\n this.render(previousRenderRange, e.scrollTop, e.height, e.scrollLeft, e.scrollWidth);\n if (this.supportDynamicHeights) {\n this._rerender(e.scrollTop, e.height, e.inSmoothScrolling);\n }\n }\n catch (err) {\n console.error('Got bad scroll event:', e);\n throw err;\n }\n }\n onTouchChange(event) {\n event.preventDefault();\n event.stopPropagation();\n this.scrollTop -= event.translationY;\n }\n // DND\n onDragStart(element, uri, event) {\n var _a, _b;\n if (!event.dataTransfer) {\n return;\n }\n const elements = this.dnd.getDragElements(element);\n event.dataTransfer.effectAllowed = 'copyMove';\n event.dataTransfer.setData(_dnd_js__WEBPACK_IMPORTED_MODULE_0__.DataTransfers.TEXT, uri);\n if (event.dataTransfer.setDragImage) {\n let label;\n if (this.dnd.getDragLabel) {\n label = this.dnd.getDragLabel(elements, event);\n }\n if (typeof label === 'undefined') {\n label = String(elements.length);\n }\n const dragImage = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.$)('.monaco-drag-image');\n dragImage.textContent = label;\n const getDragImageContainer = (e) => {\n while (e && !e.classList.contains('monaco-workbench')) {\n e = e.parentElement;\n }\n return e || this.domNode.ownerDocument;\n };\n const container = getDragImageContainer(this.domNode);\n container.appendChild(dragImage);\n event.dataTransfer.setDragImage(dragImage, -10, -10);\n setTimeout(() => container.removeChild(dragImage), 0);\n }\n this.domNode.classList.add('dragging');\n this.currentDragData = new ElementsDragAndDropData(elements);\n StaticDND.CurrentDragAndDropData = new ExternalElementsDragAndDropData(elements);\n (_b = (_a = this.dnd).onDragStart) === null || _b === void 0 ? void 0 : _b.call(_a, this.currentDragData, event);\n }\n onDragOver(event) {\n var _a;\n event.browserEvent.preventDefault(); // needed so that the drop event fires (https://stackoverflow.com/questions/21339924/drop-event-not-firing-in-chrome)\n this.onDragLeaveTimeout.dispose();\n if (StaticDND.CurrentDragAndDropData && StaticDND.CurrentDragAndDropData.getData() === 'vscode-ui') {\n return false;\n }\n this.setupDragAndDropScrollTopAnimation(event.browserEvent);\n if (!event.browserEvent.dataTransfer) {\n return false;\n }\n // Drag over from outside\n if (!this.currentDragData) {\n if (StaticDND.CurrentDragAndDropData) {\n // Drag over from another list\n this.currentDragData = StaticDND.CurrentDragAndDropData;\n }\n else {\n // Drag over from the desktop\n if (!event.browserEvent.dataTransfer.types) {\n return false;\n }\n this.currentDragData = new NativeDragAndDropData();\n }\n }\n const result = this.dnd.onDragOver(this.currentDragData, event.element, event.index, event.browserEvent);\n this.canDrop = typeof result === 'boolean' ? result : result.accept;\n if (!this.canDrop) {\n this.currentDragFeedback = undefined;\n this.currentDragFeedbackDisposable.dispose();\n return false;\n }\n event.browserEvent.dataTransfer.dropEffect = (typeof result !== 'boolean' && result.effect === 0 /* ListDragOverEffect.Copy */) ? 'copy' : 'move';\n let feedback;\n if (typeof result !== 'boolean' && result.feedback) {\n feedback = result.feedback;\n }\n else {\n if (typeof event.index === 'undefined') {\n feedback = [-1];\n }\n else {\n feedback = [event.index];\n }\n }\n // sanitize feedback list\n feedback = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.distinct)(feedback).filter(i => i >= -1 && i < this.length).sort((a, b) => a - b);\n feedback = feedback[0] === -1 ? [-1] : feedback;\n if (equalsDragFeedback(this.currentDragFeedback, feedback)) {\n return true;\n }\n this.currentDragFeedback = feedback;\n this.currentDragFeedbackDisposable.dispose();\n if (feedback[0] === -1) { // entire list feedback\n this.domNode.classList.add('drop-target');\n this.rowsContainer.classList.add('drop-target');\n this.currentDragFeedbackDisposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.toDisposable)(() => {\n this.domNode.classList.remove('drop-target');\n this.rowsContainer.classList.remove('drop-target');\n });\n }\n else {\n for (const index of feedback) {\n const item = this.items[index];\n item.dropTarget = true;\n (_a = item.row) === null || _a === void 0 ? void 0 : _a.domNode.classList.add('drop-target');\n }\n this.currentDragFeedbackDisposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.toDisposable)(() => {\n var _a;\n for (const index of feedback) {\n const item = this.items[index];\n item.dropTarget = false;\n (_a = item.row) === null || _a === void 0 ? void 0 : _a.domNode.classList.remove('drop-target');\n }\n });\n }\n return true;\n }\n onDragLeave(event) {\n var _a, _b;\n this.onDragLeaveTimeout.dispose();\n this.onDragLeaveTimeout = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_6__.disposableTimeout)(() => this.clearDragOverFeedback(), 100, this.disposables);\n if (this.currentDragData) {\n (_b = (_a = this.dnd).onDragLeave) === null || _b === void 0 ? void 0 : _b.call(_a, this.currentDragData, event.element, event.index, event.browserEvent);\n }\n }\n onDrop(event) {\n if (!this.canDrop) {\n return;\n }\n const dragData = this.currentDragData;\n this.teardownDragAndDropScrollTopAnimation();\n this.clearDragOverFeedback();\n this.domNode.classList.remove('dragging');\n this.currentDragData = undefined;\n StaticDND.CurrentDragAndDropData = undefined;\n if (!dragData || !event.browserEvent.dataTransfer) {\n return;\n }\n event.browserEvent.preventDefault();\n dragData.update(event.browserEvent.dataTransfer);\n this.dnd.drop(dragData, event.element, event.index, event.browserEvent);\n }\n onDragEnd(event) {\n var _a, _b;\n this.canDrop = false;\n this.teardownDragAndDropScrollTopAnimation();\n this.clearDragOverFeedback();\n this.domNode.classList.remove('dragging');\n this.currentDragData = undefined;\n StaticDND.CurrentDragAndDropData = undefined;\n (_b = (_a = this.dnd).onDragEnd) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n }\n clearDragOverFeedback() {\n this.currentDragFeedback = undefined;\n this.currentDragFeedbackDisposable.dispose();\n this.currentDragFeedbackDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.Disposable.None;\n }\n // DND scroll top animation\n setupDragAndDropScrollTopAnimation(event) {\n if (!this.dragOverAnimationDisposable) {\n const viewTop = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getTopLeftOffset)(this.domNode).top;\n this.dragOverAnimationDisposable = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.animate)((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getWindow)(this.domNode), this.animateDragAndDropScrollTop.bind(this, viewTop));\n }\n this.dragOverAnimationStopDisposable.dispose();\n this.dragOverAnimationStopDisposable = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_6__.disposableTimeout)(() => {\n if (this.dragOverAnimationDisposable) {\n this.dragOverAnimationDisposable.dispose();\n this.dragOverAnimationDisposable = undefined;\n }\n }, 1000, this.disposables);\n this.dragOverMouseY = event.pageY;\n }\n animateDragAndDropScrollTop(viewTop) {\n if (this.dragOverMouseY === undefined) {\n return;\n }\n const diff = this.dragOverMouseY - viewTop;\n const upperLimit = this.renderHeight - 35;\n if (diff < 35) {\n this.scrollTop += Math.max(-14, Math.floor(0.3 * (diff - 35)));\n }\n else if (diff > upperLimit) {\n this.scrollTop += Math.min(14, Math.floor(0.3 * (diff - upperLimit)));\n }\n }\n teardownDragAndDropScrollTopAnimation() {\n this.dragOverAnimationStopDisposable.dispose();\n if (this.dragOverAnimationDisposable) {\n this.dragOverAnimationDisposable.dispose();\n this.dragOverAnimationDisposable = undefined;\n }\n }\n // Util\n getItemIndexFromEventTarget(target) {\n const scrollableElement = this.scrollableElement.getDomNode();\n let element = target;\n while (element instanceof HTMLElement && element !== this.rowsContainer && scrollableElement.contains(element)) {\n const rawIndex = element.getAttribute('data-index');\n if (rawIndex) {\n const index = Number(rawIndex);\n if (!isNaN(index)) {\n return index;\n }\n }\n element = element.parentElement;\n }\n return undefined;\n }\n getRenderRange(renderTop, renderHeight) {\n return {\n start: this.rangeMap.indexAt(renderTop),\n end: this.rangeMap.indexAfter(renderTop + renderHeight - 1)\n };\n }\n /**\n * Given a stable rendered state, checks every rendered element whether it needs\n * to be probed for dynamic height. Adjusts scroll height and top if necessary.\n */\n _rerender(renderTop, renderHeight, inSmoothScrolling) {\n const previousRenderRange = this.getRenderRange(renderTop, renderHeight);\n // Let's remember the second element's position, this helps in scrolling up\n // and preserving a linear upwards scroll movement\n let anchorElementIndex;\n let anchorElementTopDelta;\n if (renderTop === this.elementTop(previousRenderRange.start)) {\n anchorElementIndex = previousRenderRange.start;\n anchorElementTopDelta = 0;\n }\n else if (previousRenderRange.end - previousRenderRange.start > 1) {\n anchorElementIndex = previousRenderRange.start + 1;\n anchorElementTopDelta = this.elementTop(anchorElementIndex) - renderTop;\n }\n let heightDiff = 0;\n while (true) {\n const renderRange = this.getRenderRange(renderTop, renderHeight);\n let didChange = false;\n for (let i = renderRange.start; i < renderRange.end; i++) {\n const diff = this.probeDynamicHeight(i);\n if (diff !== 0) {\n this.rangeMap.splice(i, 1, [this.items[i]]);\n }\n heightDiff += diff;\n didChange = didChange || diff !== 0;\n }\n if (!didChange) {\n if (heightDiff !== 0) {\n this.eventuallyUpdateScrollDimensions();\n }\n const unrenderRanges = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(previousRenderRange, renderRange);\n for (const range of unrenderRanges) {\n for (let i = range.start; i < range.end; i++) {\n if (this.items[i].row) {\n this.removeItemFromDOM(i);\n }\n }\n }\n const renderRanges = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(renderRange, previousRenderRange);\n for (const range of renderRanges) {\n for (let i = range.start; i < range.end; i++) {\n const afterIndex = i + 1;\n const beforeRow = afterIndex < this.items.length ? this.items[afterIndex].row : null;\n const beforeElement = beforeRow ? beforeRow.domNode : null;\n this.insertItemInDOM(i, beforeElement);\n }\n }\n for (let i = renderRange.start; i < renderRange.end; i++) {\n if (this.items[i].row) {\n this.updateItemInDOM(this.items[i], i);\n }\n }\n if (typeof anchorElementIndex === 'number') {\n // To compute a destination scroll top, we need to take into account the current smooth scrolling\n // animation, and then reuse it with a new target (to avoid prolonging the scroll)\n // See https://github.com/microsoft/vscode/issues/104144\n // See https://github.com/microsoft/vscode/pull/104284\n // See https://github.com/microsoft/vscode/issues/107704\n const deltaScrollTop = this.scrollable.getFutureScrollPosition().scrollTop - renderTop;\n const newScrollTop = this.elementTop(anchorElementIndex) - anchorElementTopDelta + deltaScrollTop;\n this.setScrollTop(newScrollTop, inSmoothScrolling);\n }\n this._onDidChangeContentHeight.fire(this.contentHeight);\n return;\n }\n }\n }\n probeDynamicHeight(index) {\n var _a, _b, _c;\n const item = this.items[index];\n if (!!this.virtualDelegate.getDynamicHeight) {\n const newSize = this.virtualDelegate.getDynamicHeight(item.element);\n if (newSize !== null) {\n const size = item.size;\n item.size = newSize;\n item.lastDynamicHeightWidth = this.renderWidth;\n return newSize - size;\n }\n }\n if (!item.hasDynamicHeight || item.lastDynamicHeightWidth === this.renderWidth) {\n return 0;\n }\n if (!!this.virtualDelegate.hasDynamicHeight && !this.virtualDelegate.hasDynamicHeight(item.element)) {\n return 0;\n }\n const size = item.size;\n if (item.row) {\n item.row.domNode.style.height = '';\n item.size = item.row.domNode.offsetHeight;\n item.lastDynamicHeightWidth = this.renderWidth;\n return item.size - size;\n }\n const { row } = this.cache.alloc(item.templateId);\n row.domNode.style.height = '';\n this.rowsContainer.appendChild(row.domNode);\n const renderer = this.renderers.get(item.templateId);\n if (!renderer) {\n throw new _common_errors_js__WEBPACK_IMPORTED_MODULE_14__.BugIndicatingError('Missing renderer for templateId: ' + item.templateId);\n }\n renderer.renderElement(item.element, index, row.templateData, undefined);\n item.size = row.domNode.offsetHeight;\n (_a = renderer.disposeElement) === null || _a === void 0 ? void 0 : _a.call(renderer, item.element, index, row.templateData, undefined);\n (_c = (_b = this.virtualDelegate).setDynamicHeight) === null || _c === void 0 ? void 0 : _c.call(_b, item.element, item.size);\n item.lastDynamicHeightWidth = this.renderWidth;\n this.rowsContainer.removeChild(row.domNode);\n this.cache.release(row);\n return item.size - size;\n }\n getNextToLastElement(ranges) {\n const lastRange = ranges[ranges.length - 1];\n if (!lastRange) {\n return null;\n }\n const nextToLastItem = this.items[lastRange.end];\n if (!nextToLastItem) {\n return null;\n }\n if (!nextToLastItem.row) {\n return null;\n }\n return nextToLastItem.row.domNode;\n }\n getElementDomId(index) {\n return `${this.domId}_${index}`;\n }\n // Dispose\n dispose() {\n var _a, _b;\n for (const item of this.items) {\n item.dragStartDisposable.dispose();\n item.checkedDisposable.dispose();\n if (item.row) {\n const renderer = this.renderers.get(item.row.templateId);\n if (renderer) {\n (_a = renderer.disposeElement) === null || _a === void 0 ? void 0 : _a.call(renderer, item.element, -1, item.row.templateData, undefined);\n renderer.disposeTemplate(item.row.templateData);\n }\n }\n }\n this.items = [];\n if (this.domNode && this.domNode.parentNode) {\n this.domNode.parentNode.removeChild(this.domNode);\n }\n (_b = this.dragOverAnimationDisposable) === null || _b === void 0 ? void 0 : _b.dispose();\n this.disposables.dispose();\n }\n}\nListView.InstanceCount = 0;\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onMouseClick\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onMouseDblClick\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onMouseMiddleClick\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onMouseDown\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onMouseOver\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onMouseOut\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onContextMenu\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onTouchStart\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onTap\", null);\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js":
+/*!******************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js ***!
+ \******************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DefaultKeyboardNavigationDelegate: () => (/* binding */ DefaultKeyboardNavigationDelegate),\n/* harmony export */ DefaultStyleController: () => (/* binding */ DefaultStyleController),\n/* harmony export */ List: () => (/* binding */ List),\n/* harmony export */ MouseController: () => (/* binding */ MouseController),\n/* harmony export */ TypeNavigationMode: () => (/* binding */ TypeNavigationMode),\n/* harmony export */ isActionItem: () => (/* binding */ isActionItem),\n/* harmony export */ isButton: () => (/* binding */ isButton),\n/* harmony export */ isInputElement: () => (/* binding */ isInputElement),\n/* harmony export */ isMonacoCustomToggle: () => (/* binding */ isMonacoCustomToggle),\n/* harmony export */ isMonacoEditor: () => (/* binding */ isMonacoEditor),\n/* harmony export */ isSelectionRangeChangeEvent: () => (/* binding */ isSelectionRangeChangeEvent),\n/* harmony export */ isSelectionSingleChangeEvent: () => (/* binding */ isSelectionSingleChangeEvent),\n/* harmony export */ isStickyScrollElement: () => (/* binding */ isStickyScrollElement),\n/* harmony export */ unthemedListStyles: () => (/* binding */ unthemedListStyles)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../aria/aria.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js\");\n/* harmony import */ var _splice_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./splice.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_color_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/color.js */ \"./node_modules/monaco-editor/esm/vs/base/common/color.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_filters_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/filters.js */ \"./node_modules/monaco-editor/esm/vs/base/common/filters.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_numbers_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../common/numbers.js */ \"./node_modules/monaco-editor/esm/vs/base/common/numbers.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _list_css__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./list.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css\");\n/* harmony import */ var _list_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./list.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.js\");\n/* harmony import */ var _listView_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./listView.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass TraitRenderer {\n constructor(trait) {\n this.trait = trait;\n this.renderedElements = [];\n }\n get templateId() {\n return `template:${this.trait.name}`;\n }\n renderTemplate(container) {\n return container;\n }\n renderElement(element, index, templateData) {\n const renderedElementIndex = this.renderedElements.findIndex(el => el.templateData === templateData);\n if (renderedElementIndex >= 0) {\n const rendered = this.renderedElements[renderedElementIndex];\n this.trait.unrender(templateData);\n rendered.index = index;\n }\n else {\n const rendered = { index, templateData };\n this.renderedElements.push(rendered);\n }\n this.trait.renderIndex(index, templateData);\n }\n splice(start, deleteCount, insertCount) {\n const rendered = [];\n for (const renderedElement of this.renderedElements) {\n if (renderedElement.index < start) {\n rendered.push(renderedElement);\n }\n else if (renderedElement.index >= start + deleteCount) {\n rendered.push({\n index: renderedElement.index + insertCount - deleteCount,\n templateData: renderedElement.templateData\n });\n }\n }\n this.renderedElements = rendered;\n }\n renderIndexes(indexes) {\n for (const { index, templateData } of this.renderedElements) {\n if (indexes.indexOf(index) > -1) {\n this.trait.renderIndex(index, templateData);\n }\n }\n }\n disposeTemplate(templateData) {\n const index = this.renderedElements.findIndex(el => el.templateData === templateData);\n if (index < 0) {\n return;\n }\n this.renderedElements.splice(index, 1);\n }\n}\nclass Trait {\n get name() { return this._trait; }\n get renderer() {\n return new TraitRenderer(this);\n }\n constructor(_trait) {\n this._trait = _trait;\n this.length = 0;\n this.indexes = [];\n this.sortedIndexes = [];\n this._onChange = new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter();\n this.onChange = this._onChange.event;\n }\n splice(start, deleteCount, elements) {\n var _a;\n deleteCount = Math.max(0, Math.min(deleteCount, this.length - start));\n const diff = elements.length - deleteCount;\n const end = start + deleteCount;\n const sortedIndexes = [];\n let i = 0;\n while (i < this.sortedIndexes.length && this.sortedIndexes[i] < start) {\n sortedIndexes.push(this.sortedIndexes[i++]);\n }\n for (let j = 0; j < elements.length; j++) {\n if (elements[j]) {\n sortedIndexes.push(j + start);\n }\n }\n while (i < this.sortedIndexes.length && this.sortedIndexes[i] >= end) {\n sortedIndexes.push(this.sortedIndexes[i++] + diff);\n }\n const length = this.length + diff;\n if (this.sortedIndexes.length > 0 && sortedIndexes.length === 0 && length > 0) {\n const first = (_a = this.sortedIndexes.find(index => index >= start)) !== null && _a !== void 0 ? _a : length - 1;\n sortedIndexes.push(Math.min(first, length - 1));\n }\n this.renderer.splice(start, deleteCount, elements.length);\n this._set(sortedIndexes, sortedIndexes);\n this.length = length;\n }\n renderIndex(index, container) {\n container.classList.toggle(this._trait, this.contains(index));\n }\n unrender(container) {\n container.classList.remove(this._trait);\n }\n /**\n * Sets the indexes which should have this trait.\n *\n * @param indexes Indexes which should have this trait.\n * @return The old indexes which had this trait.\n */\n set(indexes, browserEvent) {\n return this._set(indexes, [...indexes].sort(numericSort), browserEvent);\n }\n _set(indexes, sortedIndexes, browserEvent) {\n const result = this.indexes;\n const sortedResult = this.sortedIndexes;\n this.indexes = indexes;\n this.sortedIndexes = sortedIndexes;\n const toRender = disjunction(sortedResult, indexes);\n this.renderer.renderIndexes(toRender);\n this._onChange.fire({ indexes, browserEvent });\n return result;\n }\n get() {\n return this.indexes;\n }\n contains(index) {\n return (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_6__.binarySearch)(this.sortedIndexes, index, numericSort) >= 0;\n }\n dispose() {\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.dispose)(this._onChange);\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], Trait.prototype, \"renderer\", null);\nclass SelectionTrait extends Trait {\n constructor(setAriaSelected) {\n super('selected');\n this.setAriaSelected = setAriaSelected;\n }\n renderIndex(index, container) {\n super.renderIndex(index, container);\n if (this.setAriaSelected) {\n if (this.contains(index)) {\n container.setAttribute('aria-selected', 'true');\n }\n else {\n container.setAttribute('aria-selected', 'false');\n }\n }\n }\n}\n/**\n * The TraitSpliceable is used as a util class to be able\n * to preserve traits across splice calls, given an identity\n * provider.\n */\nclass TraitSpliceable {\n constructor(trait, view, identityProvider) {\n this.trait = trait;\n this.view = view;\n this.identityProvider = identityProvider;\n }\n splice(start, deleteCount, elements) {\n if (!this.identityProvider) {\n return this.trait.splice(start, deleteCount, new Array(elements.length).fill(false));\n }\n const pastElementsWithTrait = this.trait.get().map(i => this.identityProvider.getId(this.view.element(i)).toString());\n if (pastElementsWithTrait.length === 0) {\n return this.trait.splice(start, deleteCount, new Array(elements.length).fill(false));\n }\n const pastElementsWithTraitSet = new Set(pastElementsWithTrait);\n const elementsWithTrait = elements.map(e => pastElementsWithTraitSet.has(this.identityProvider.getId(e).toString()));\n this.trait.splice(start, deleteCount, elementsWithTrait);\n }\n}\nfunction isInputElement(e) {\n return e.tagName === 'INPUT' || e.tagName === 'TEXTAREA';\n}\nfunction isListElementDescendantOfClass(e, className) {\n if (e.classList.contains(className)) {\n return true;\n }\n if (e.classList.contains('monaco-list')) {\n return false;\n }\n if (!e.parentElement) {\n return false;\n }\n return isListElementDescendantOfClass(e.parentElement, className);\n}\nfunction isMonacoEditor(e) {\n return isListElementDescendantOfClass(e, 'monaco-editor');\n}\nfunction isMonacoCustomToggle(e) {\n return isListElementDescendantOfClass(e, 'monaco-custom-toggle');\n}\nfunction isActionItem(e) {\n return isListElementDescendantOfClass(e, 'action-item');\n}\nfunction isStickyScrollElement(e) {\n return isListElementDescendantOfClass(e, 'monaco-tree-sticky-row');\n}\nfunction isButton(e) {\n if ((e.tagName === 'A' && e.classList.contains('monaco-button')) ||\n (e.tagName === 'DIV' && e.classList.contains('monaco-button-dropdown'))) {\n return true;\n }\n if (e.classList.contains('monaco-list')) {\n return false;\n }\n if (!e.parentElement) {\n return false;\n }\n return isButton(e.parentElement);\n}\nclass KeyboardController {\n get onKeyDown() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.chain(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.view.domNode, 'keydown')).event, $ => $.filter(e => !isInputElement(e.target))\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e)));\n }\n constructor(list, view, options) {\n this.list = list;\n this.view = view;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n this.multipleSelectionDisposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n this.multipleSelectionSupport = options.multipleSelectionSupport;\n this.disposables.add(this.onKeyDown(e => {\n switch (e.keyCode) {\n case 3 /* KeyCode.Enter */:\n return this.onEnter(e);\n case 16 /* KeyCode.UpArrow */:\n return this.onUpArrow(e);\n case 18 /* KeyCode.DownArrow */:\n return this.onDownArrow(e);\n case 11 /* KeyCode.PageUp */:\n return this.onPageUpArrow(e);\n case 12 /* KeyCode.PageDown */:\n return this.onPageDownArrow(e);\n case 9 /* KeyCode.Escape */:\n return this.onEscape(e);\n case 31 /* KeyCode.KeyA */:\n if (this.multipleSelectionSupport && (_common_platform_js__WEBPACK_IMPORTED_MODULE_14__.isMacintosh ? e.metaKey : e.ctrlKey)) {\n this.onCtrlA(e);\n }\n }\n }));\n }\n updateOptions(optionsUpdate) {\n if (optionsUpdate.multipleSelectionSupport !== undefined) {\n this.multipleSelectionSupport = optionsUpdate.multipleSelectionSupport;\n }\n }\n onEnter(e) {\n e.preventDefault();\n e.stopPropagation();\n this.list.setSelection(this.list.getFocus(), e.browserEvent);\n }\n onUpArrow(e) {\n e.preventDefault();\n e.stopPropagation();\n this.list.focusPrevious(1, false, e.browserEvent);\n const el = this.list.getFocus()[0];\n this.list.setAnchor(el);\n this.list.reveal(el);\n this.view.domNode.focus();\n }\n onDownArrow(e) {\n e.preventDefault();\n e.stopPropagation();\n this.list.focusNext(1, false, e.browserEvent);\n const el = this.list.getFocus()[0];\n this.list.setAnchor(el);\n this.list.reveal(el);\n this.view.domNode.focus();\n }\n onPageUpArrow(e) {\n e.preventDefault();\n e.stopPropagation();\n this.list.focusPreviousPage(e.browserEvent);\n const el = this.list.getFocus()[0];\n this.list.setAnchor(el);\n this.list.reveal(el);\n this.view.domNode.focus();\n }\n onPageDownArrow(e) {\n e.preventDefault();\n e.stopPropagation();\n this.list.focusNextPage(e.browserEvent);\n const el = this.list.getFocus()[0];\n this.list.setAnchor(el);\n this.list.reveal(el);\n this.view.domNode.focus();\n }\n onCtrlA(e) {\n e.preventDefault();\n e.stopPropagation();\n this.list.setSelection((0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_6__.range)(this.list.length), e.browserEvent);\n this.list.setAnchor(undefined);\n this.view.domNode.focus();\n }\n onEscape(e) {\n if (this.list.getSelection().length) {\n e.preventDefault();\n e.stopPropagation();\n this.list.setSelection([], e.browserEvent);\n this.list.setAnchor(undefined);\n this.view.domNode.focus();\n }\n }\n dispose() {\n this.disposables.dispose();\n this.multipleSelectionDisposables.dispose();\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], KeyboardController.prototype, \"onKeyDown\", null);\nvar TypeNavigationMode;\n(function (TypeNavigationMode) {\n TypeNavigationMode[TypeNavigationMode[\"Automatic\"] = 0] = \"Automatic\";\n TypeNavigationMode[TypeNavigationMode[\"Trigger\"] = 1] = \"Trigger\";\n})(TypeNavigationMode || (TypeNavigationMode = {}));\nvar TypeNavigationControllerState;\n(function (TypeNavigationControllerState) {\n TypeNavigationControllerState[TypeNavigationControllerState[\"Idle\"] = 0] = \"Idle\";\n TypeNavigationControllerState[TypeNavigationControllerState[\"Typing\"] = 1] = \"Typing\";\n})(TypeNavigationControllerState || (TypeNavigationControllerState = {}));\nconst DefaultKeyboardNavigationDelegate = new class {\n mightProducePrintableCharacter(event) {\n if (event.ctrlKey || event.metaKey || event.altKey) {\n return false;\n }\n return (event.keyCode >= 31 /* KeyCode.KeyA */ && event.keyCode <= 56 /* KeyCode.KeyZ */)\n || (event.keyCode >= 21 /* KeyCode.Digit0 */ && event.keyCode <= 30 /* KeyCode.Digit9 */)\n || (event.keyCode >= 98 /* KeyCode.Numpad0 */ && event.keyCode <= 107 /* KeyCode.Numpad9 */)\n || (event.keyCode >= 85 /* KeyCode.Semicolon */ && event.keyCode <= 95 /* KeyCode.Quote */);\n }\n};\nclass TypeNavigationController {\n constructor(list, view, keyboardNavigationLabelProvider, keyboardNavigationEventFilter, delegate) {\n this.list = list;\n this.view = view;\n this.keyboardNavigationLabelProvider = keyboardNavigationLabelProvider;\n this.keyboardNavigationEventFilter = keyboardNavigationEventFilter;\n this.delegate = delegate;\n this.enabled = false;\n this.state = TypeNavigationControllerState.Idle;\n this.mode = TypeNavigationMode.Automatic;\n this.triggered = false;\n this.previouslyFocused = -1;\n this.enabledDisposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n this.updateOptions(list.options);\n }\n updateOptions(options) {\n var _a, _b;\n if ((_a = options.typeNavigationEnabled) !== null && _a !== void 0 ? _a : true) {\n this.enable();\n }\n else {\n this.disable();\n }\n this.mode = (_b = options.typeNavigationMode) !== null && _b !== void 0 ? _b : TypeNavigationMode.Automatic;\n }\n enable() {\n if (this.enabled) {\n return;\n }\n let typing = false;\n const onChar = _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.chain(this.enabledDisposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.view.domNode, 'keydown')).event, $ => $.filter(e => !isInputElement(e.target))\n .filter(() => this.mode === TypeNavigationMode.Automatic || this.triggered)\n .map(event => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(event))\n .filter(e => typing || this.keyboardNavigationEventFilter(e))\n .filter(e => this.delegate.mightProducePrintableCharacter(e))\n .forEach(e => _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true))\n .map(event => event.browserEvent.key));\n const onClear = _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.debounce(onChar, () => null, 800, undefined, undefined, undefined, this.enabledDisposables);\n const onInput = _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.reduce(_common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.any(onChar, onClear), (r, i) => i === null ? null : ((r || '') + i), undefined, this.enabledDisposables);\n onInput(this.onInput, this, this.enabledDisposables);\n onClear(this.onClear, this, this.enabledDisposables);\n onChar(() => typing = true, undefined, this.enabledDisposables);\n onClear(() => typing = false, undefined, this.enabledDisposables);\n this.enabled = true;\n this.triggered = false;\n }\n disable() {\n if (!this.enabled) {\n return;\n }\n this.enabledDisposables.clear();\n this.enabled = false;\n this.triggered = false;\n }\n onClear() {\n var _a;\n const focus = this.list.getFocus();\n if (focus.length > 0 && focus[0] === this.previouslyFocused) {\n // List: re-announce element on typing end since typed keys will interrupt aria label of focused element\n // Do not announce if there was a focus change at the end to prevent duplication https://github.com/microsoft/vscode/issues/95961\n const ariaLabel = (_a = this.list.options.accessibilityProvider) === null || _a === void 0 ? void 0 : _a.getAriaLabel(this.list.element(focus[0]));\n if (ariaLabel) {\n (0,_aria_aria_js__WEBPACK_IMPORTED_MODULE_4__.alert)(ariaLabel);\n }\n }\n this.previouslyFocused = -1;\n }\n onInput(word) {\n if (!word) {\n this.state = TypeNavigationControllerState.Idle;\n this.triggered = false;\n return;\n }\n const focus = this.list.getFocus();\n const start = focus.length > 0 ? focus[0] : 0;\n const delta = this.state === TypeNavigationControllerState.Idle ? 1 : 0;\n this.state = TypeNavigationControllerState.Typing;\n for (let i = 0; i < this.list.length; i++) {\n const index = (start + i + delta) % this.list.length;\n const label = this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(this.view.element(index));\n const labelStr = label && label.toString();\n if (this.list.options.typeNavigationEnabled) {\n if (typeof labelStr !== 'undefined') {\n // If prefix is found, focus and return early\n if ((0,_common_filters_js__WEBPACK_IMPORTED_MODULE_11__.matchesPrefix)(word, labelStr)) {\n this.previouslyFocused = start;\n this.list.setFocus([index]);\n this.list.reveal(index);\n return;\n }\n const fuzzy = (0,_common_filters_js__WEBPACK_IMPORTED_MODULE_11__.matchesFuzzy2)(word, labelStr);\n if (fuzzy) {\n const fuzzyScore = fuzzy[0].end - fuzzy[0].start;\n // ensures that when fuzzy matching, doesn't clash with prefix matching (1 input vs 1+ should be prefix and fuzzy respecitvely). Also makes sure that exact matches are prioritized.\n if (fuzzyScore > 1 && fuzzy.length === 1) {\n this.previouslyFocused = start;\n this.list.setFocus([index]);\n this.list.reveal(index);\n return;\n }\n }\n }\n }\n else if (typeof labelStr === 'undefined' || (0,_common_filters_js__WEBPACK_IMPORTED_MODULE_11__.matchesPrefix)(word, labelStr)) {\n this.previouslyFocused = start;\n this.list.setFocus([index]);\n this.list.reveal(index);\n return;\n }\n }\n }\n dispose() {\n this.disable();\n this.enabledDisposables.dispose();\n this.disposables.dispose();\n }\n}\nclass DOMFocusController {\n constructor(list, view) {\n this.list = list;\n this.view = view;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n const onKeyDown = _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.chain(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(view.domNode, 'keydown')).event, $ => $\n .filter(e => !isInputElement(e.target))\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e)));\n const onTab = _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.chain(onKeyDown, $ => $.filter(e => e.keyCode === 2 /* KeyCode.Tab */ && !e.ctrlKey && !e.metaKey && !e.shiftKey && !e.altKey));\n onTab(this.onTab, this, this.disposables);\n }\n onTab(e) {\n if (e.target !== this.view.domNode) {\n return;\n }\n const focus = this.list.getFocus();\n if (focus.length === 0) {\n return;\n }\n const focusedDomElement = this.view.domElement(focus[0]);\n if (!focusedDomElement) {\n return;\n }\n const tabIndexElement = focusedDomElement.querySelector('[tabIndex]');\n if (!tabIndexElement || !(tabIndexElement instanceof HTMLElement) || tabIndexElement.tabIndex === -1) {\n return;\n }\n const style = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.getWindow)(tabIndexElement).getComputedStyle(tabIndexElement);\n if (style.visibility === 'hidden' || style.display === 'none') {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n tabIndexElement.focus();\n }\n dispose() {\n this.disposables.dispose();\n }\n}\nfunction isSelectionSingleChangeEvent(event) {\n return _common_platform_js__WEBPACK_IMPORTED_MODULE_14__.isMacintosh ? event.browserEvent.metaKey : event.browserEvent.ctrlKey;\n}\nfunction isSelectionRangeChangeEvent(event) {\n return event.browserEvent.shiftKey;\n}\nfunction isMouseRightClick(event) {\n return (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.isMouseEvent)(event) && event.button === 2;\n}\nconst DefaultMultipleSelectionController = {\n isSelectionSingleChangeEvent,\n isSelectionRangeChangeEvent\n};\nclass MouseController {\n constructor(list) {\n this.list = list;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n this._onPointer = new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter();\n this.onPointer = this._onPointer.event;\n if (list.options.multipleSelectionSupport !== false) {\n this.multipleSelectionController = this.list.options.multipleSelectionController || DefaultMultipleSelectionController;\n }\n this.mouseSupport = typeof list.options.mouseSupport === 'undefined' || !!list.options.mouseSupport;\n if (this.mouseSupport) {\n list.onMouseDown(this.onMouseDown, this, this.disposables);\n list.onContextMenu(this.onContextMenu, this, this.disposables);\n list.onMouseDblClick(this.onDoubleClick, this, this.disposables);\n list.onTouchStart(this.onMouseDown, this, this.disposables);\n this.disposables.add(_touch_js__WEBPACK_IMPORTED_MODULE_3__.Gesture.addTarget(list.getHTMLElement()));\n }\n _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.any(list.onMouseClick, list.onMouseMiddleClick, list.onTap)(this.onViewPointer, this, this.disposables);\n }\n updateOptions(optionsUpdate) {\n if (optionsUpdate.multipleSelectionSupport !== undefined) {\n this.multipleSelectionController = undefined;\n if (optionsUpdate.multipleSelectionSupport) {\n this.multipleSelectionController = this.list.options.multipleSelectionController || DefaultMultipleSelectionController;\n }\n }\n }\n isSelectionSingleChangeEvent(event) {\n if (!this.multipleSelectionController) {\n return false;\n }\n return this.multipleSelectionController.isSelectionSingleChangeEvent(event);\n }\n isSelectionRangeChangeEvent(event) {\n if (!this.multipleSelectionController) {\n return false;\n }\n return this.multipleSelectionController.isSelectionRangeChangeEvent(event);\n }\n isSelectionChangeEvent(event) {\n return this.isSelectionSingleChangeEvent(event) || this.isSelectionRangeChangeEvent(event);\n }\n onMouseDown(e) {\n if (isMonacoEditor(e.browserEvent.target)) {\n return;\n }\n if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.getActiveElement)() !== e.browserEvent.target) {\n this.list.domFocus();\n }\n }\n onContextMenu(e) {\n if (isInputElement(e.browserEvent.target) || isMonacoEditor(e.browserEvent.target)) {\n return;\n }\n const focus = typeof e.index === 'undefined' ? [] : [e.index];\n this.list.setFocus(focus, e.browserEvent);\n }\n onViewPointer(e) {\n if (!this.mouseSupport) {\n return;\n }\n if (isInputElement(e.browserEvent.target) || isMonacoEditor(e.browserEvent.target)) {\n return;\n }\n if (e.browserEvent.isHandledByList) {\n return;\n }\n e.browserEvent.isHandledByList = true;\n const focus = e.index;\n if (typeof focus === 'undefined') {\n this.list.setFocus([], e.browserEvent);\n this.list.setSelection([], e.browserEvent);\n this.list.setAnchor(undefined);\n return;\n }\n if (this.isSelectionChangeEvent(e)) {\n return this.changeSelection(e);\n }\n this.list.setFocus([focus], e.browserEvent);\n this.list.setAnchor(focus);\n if (!isMouseRightClick(e.browserEvent)) {\n this.list.setSelection([focus], e.browserEvent);\n }\n this._onPointer.fire(e);\n }\n onDoubleClick(e) {\n if (isInputElement(e.browserEvent.target) || isMonacoEditor(e.browserEvent.target)) {\n return;\n }\n if (this.isSelectionChangeEvent(e)) {\n return;\n }\n if (e.browserEvent.isHandledByList) {\n return;\n }\n e.browserEvent.isHandledByList = true;\n const focus = this.list.getFocus();\n this.list.setSelection(focus, e.browserEvent);\n }\n changeSelection(e) {\n const focus = e.index;\n let anchor = this.list.getAnchor();\n if (this.isSelectionRangeChangeEvent(e)) {\n if (typeof anchor === 'undefined') {\n const currentFocus = this.list.getFocus()[0];\n anchor = currentFocus !== null && currentFocus !== void 0 ? currentFocus : focus;\n this.list.setAnchor(anchor);\n }\n const min = Math.min(anchor, focus);\n const max = Math.max(anchor, focus);\n const rangeSelection = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_6__.range)(min, max + 1);\n const selection = this.list.getSelection();\n const contiguousRange = getContiguousRangeContaining(disjunction(selection, [anchor]), anchor);\n if (contiguousRange.length === 0) {\n return;\n }\n const newSelection = disjunction(rangeSelection, relativeComplement(selection, contiguousRange));\n this.list.setSelection(newSelection, e.browserEvent);\n this.list.setFocus([focus], e.browserEvent);\n }\n else if (this.isSelectionSingleChangeEvent(e)) {\n const selection = this.list.getSelection();\n const newSelection = selection.filter(i => i !== focus);\n this.list.setFocus([focus]);\n this.list.setAnchor(focus);\n if (selection.length === newSelection.length) {\n this.list.setSelection([...newSelection, focus], e.browserEvent);\n }\n else {\n this.list.setSelection(newSelection, e.browserEvent);\n }\n }\n }\n dispose() {\n this.disposables.dispose();\n }\n}\nclass DefaultStyleController {\n constructor(styleElement, selectorSuffix) {\n this.styleElement = styleElement;\n this.selectorSuffix = selectorSuffix;\n }\n style(styles) {\n var _a, _b;\n const suffix = this.selectorSuffix && `.${this.selectorSuffix}`;\n const content = [];\n if (styles.listBackground) {\n content.push(`.monaco-list${suffix} .monaco-list-rows { background: ${styles.listBackground}; }`);\n }\n if (styles.listFocusBackground) {\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused { background-color: ${styles.listFocusBackground}; }`);\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused:hover { background-color: ${styles.listFocusBackground}; }`); // overwrite :hover style in this case!\n }\n if (styles.listFocusForeground) {\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused { color: ${styles.listFocusForeground}; }`);\n }\n if (styles.listActiveSelectionBackground) {\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected { background-color: ${styles.listActiveSelectionBackground}; }`);\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected:hover { background-color: ${styles.listActiveSelectionBackground}; }`); // overwrite :hover style in this case!\n }\n if (styles.listActiveSelectionForeground) {\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected { color: ${styles.listActiveSelectionForeground}; }`);\n }\n if (styles.listActiveSelectionIconForeground) {\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected .codicon { color: ${styles.listActiveSelectionIconForeground}; }`);\n }\n if (styles.listFocusAndSelectionBackground) {\n content.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${suffix}:focus .monaco-list-row.selected.focused { background-color: ${styles.listFocusAndSelectionBackground}; }\n\t\t\t`);\n }\n if (styles.listFocusAndSelectionForeground) {\n content.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${suffix}:focus .monaco-list-row.selected.focused { color: ${styles.listFocusAndSelectionForeground}; }\n\t\t\t`);\n }\n if (styles.listInactiveFocusForeground) {\n content.push(`.monaco-list${suffix} .monaco-list-row.focused { color: ${styles.listInactiveFocusForeground}; }`);\n content.push(`.monaco-list${suffix} .monaco-list-row.focused:hover { color: ${styles.listInactiveFocusForeground}; }`); // overwrite :hover style in this case!\n }\n if (styles.listInactiveSelectionIconForeground) {\n content.push(`.monaco-list${suffix} .monaco-list-row.focused .codicon { color: ${styles.listInactiveSelectionIconForeground}; }`);\n }\n if (styles.listInactiveFocusBackground) {\n content.push(`.monaco-list${suffix} .monaco-list-row.focused { background-color: ${styles.listInactiveFocusBackground}; }`);\n content.push(`.monaco-list${suffix} .monaco-list-row.focused:hover { background-color: ${styles.listInactiveFocusBackground}; }`); // overwrite :hover style in this case!\n }\n if (styles.listInactiveSelectionBackground) {\n content.push(`.monaco-list${suffix} .monaco-list-row.selected { background-color: ${styles.listInactiveSelectionBackground}; }`);\n content.push(`.monaco-list${suffix} .monaco-list-row.selected:hover { background-color: ${styles.listInactiveSelectionBackground}; }`); // overwrite :hover style in this case!\n }\n if (styles.listInactiveSelectionForeground) {\n content.push(`.monaco-list${suffix} .monaco-list-row.selected { color: ${styles.listInactiveSelectionForeground}; }`);\n }\n if (styles.listHoverBackground) {\n content.push(`.monaco-list${suffix}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${styles.listHoverBackground}; }`);\n }\n if (styles.listHoverForeground) {\n content.push(`.monaco-list${suffix}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${styles.listHoverForeground}; }`);\n }\n /**\n * Outlines\n */\n const focusAndSelectionOutline = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.asCssValueWithDefault)(styles.listFocusAndSelectionOutline, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.asCssValueWithDefault)(styles.listSelectionOutline, (_a = styles.listFocusOutline) !== null && _a !== void 0 ? _a : ''));\n if (focusAndSelectionOutline) { // default: listFocusOutline\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused.selected { outline: 1px solid ${focusAndSelectionOutline}; outline-offset: -1px;}`);\n }\n if (styles.listFocusOutline) { // default: set\n content.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${suffix}:focus .monaco-list-row.focused { outline: 1px solid ${styles.listFocusOutline}; outline-offset: -1px; }\n\t\t\t\t.monaco-workbench.context-menu-visible .monaco-list${suffix}.last-focused .monaco-list-row.focused { outline: 1px solid ${styles.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`);\n }\n const inactiveFocusAndSelectionOutline = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.asCssValueWithDefault)(styles.listSelectionOutline, (_b = styles.listInactiveFocusOutline) !== null && _b !== void 0 ? _b : '');\n if (inactiveFocusAndSelectionOutline) {\n content.push(`.monaco-list${suffix} .monaco-list-row.focused.selected { outline: 1px dotted ${inactiveFocusAndSelectionOutline}; outline-offset: -1px; }`);\n }\n if (styles.listSelectionOutline) { // default: activeContrastBorder\n content.push(`.monaco-list${suffix} .monaco-list-row.selected { outline: 1px dotted ${styles.listSelectionOutline}; outline-offset: -1px; }`);\n }\n if (styles.listInactiveFocusOutline) { // default: null\n content.push(`.monaco-list${suffix} .monaco-list-row.focused { outline: 1px dotted ${styles.listInactiveFocusOutline}; outline-offset: -1px; }`);\n }\n if (styles.listHoverOutline) { // default: activeContrastBorder\n content.push(`.monaco-list${suffix} .monaco-list-row:hover { outline: 1px dashed ${styles.listHoverOutline}; outline-offset: -1px; }`);\n }\n if (styles.listDropBackground) {\n content.push(`\n\t\t\t\t.monaco-list${suffix}.drop-target,\n\t\t\t\t.monaco-list${suffix} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${suffix} .monaco-list-row.drop-target { background-color: ${styles.listDropBackground} !important; color: inherit !important; }\n\t\t\t`);\n }\n if (styles.tableColumnsBorder) {\n content.push(`\n\t\t\t\t.monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${styles.tableColumnsBorder};\n\t\t\t\t}\n\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: transparent;\n\t\t\t\t}\n\t\t\t`);\n }\n if (styles.tableOddRowsBackgroundColor) {\n content.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${styles.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`);\n }\n this.styleElement.textContent = content.join('\\n');\n }\n}\nconst unthemedListStyles = {\n listFocusBackground: '#7FB0D0',\n listActiveSelectionBackground: '#0E639C',\n listActiveSelectionForeground: '#FFFFFF',\n listActiveSelectionIconForeground: '#FFFFFF',\n listFocusAndSelectionOutline: '#90C2F9',\n listFocusAndSelectionBackground: '#094771',\n listFocusAndSelectionForeground: '#FFFFFF',\n listInactiveSelectionBackground: '#3F3F46',\n listInactiveSelectionIconForeground: '#FFFFFF',\n listHoverBackground: '#2A2D2E',\n listDropBackground: '#383B3D',\n treeIndentGuidesStroke: '#a9a9a9',\n treeInactiveIndentGuidesStroke: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#a9a9a9').transparent(0.4).toString(),\n tableColumnsBorder: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#cccccc').transparent(0.2).toString(),\n tableOddRowsBackgroundColor: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#cccccc').transparent(0.04).toString(),\n listBackground: undefined,\n listFocusForeground: undefined,\n listInactiveSelectionForeground: undefined,\n listInactiveFocusForeground: undefined,\n listInactiveFocusBackground: undefined,\n listHoverForeground: undefined,\n listFocusOutline: undefined,\n listInactiveFocusOutline: undefined,\n listSelectionOutline: undefined,\n listHoverOutline: undefined\n};\nconst DefaultOptions = {\n keyboardSupport: true,\n mouseSupport: true,\n multipleSelectionSupport: true,\n dnd: {\n getDragURI() { return null; },\n onDragStart() { },\n onDragOver() { return false; },\n drop() { },\n dispose() { }\n }\n};\n// TODO@Joao: move these utils into a SortedArray class\nfunction getContiguousRangeContaining(range, value) {\n const index = range.indexOf(value);\n if (index === -1) {\n return [];\n }\n const result = [];\n let i = index - 1;\n while (i >= 0 && range[i] === value - (index - i)) {\n result.push(range[i--]);\n }\n result.reverse();\n i = index;\n while (i < range.length && range[i] === value + (i - index)) {\n result.push(range[i++]);\n }\n return result;\n}\n/**\n * Given two sorted collections of numbers, returns the intersection\n * between them (OR).\n */\nfunction disjunction(one, other) {\n const result = [];\n let i = 0, j = 0;\n while (i < one.length || j < other.length) {\n if (i >= one.length) {\n result.push(other[j++]);\n }\n else if (j >= other.length) {\n result.push(one[i++]);\n }\n else if (one[i] === other[j]) {\n result.push(one[i]);\n i++;\n j++;\n continue;\n }\n else if (one[i] < other[j]) {\n result.push(one[i++]);\n }\n else {\n result.push(other[j++]);\n }\n }\n return result;\n}\n/**\n * Given two sorted collections of numbers, returns the relative\n * complement between them (XOR).\n */\nfunction relativeComplement(one, other) {\n const result = [];\n let i = 0, j = 0;\n while (i < one.length || j < other.length) {\n if (i >= one.length) {\n result.push(other[j++]);\n }\n else if (j >= other.length) {\n result.push(one[i++]);\n }\n else if (one[i] === other[j]) {\n i++;\n j++;\n continue;\n }\n else if (one[i] < other[j]) {\n result.push(one[i++]);\n }\n else {\n j++;\n }\n }\n return result;\n}\nconst numericSort = (a, b) => a - b;\nclass PipelineRenderer {\n constructor(_templateId, renderers) {\n this._templateId = _templateId;\n this.renderers = renderers;\n }\n get templateId() {\n return this._templateId;\n }\n renderTemplate(container) {\n return this.renderers.map(r => r.renderTemplate(container));\n }\n renderElement(element, index, templateData, height) {\n let i = 0;\n for (const renderer of this.renderers) {\n renderer.renderElement(element, index, templateData[i++], height);\n }\n }\n disposeElement(element, index, templateData, height) {\n var _a;\n let i = 0;\n for (const renderer of this.renderers) {\n (_a = renderer.disposeElement) === null || _a === void 0 ? void 0 : _a.call(renderer, element, index, templateData[i], height);\n i += 1;\n }\n }\n disposeTemplate(templateData) {\n let i = 0;\n for (const renderer of this.renderers) {\n renderer.disposeTemplate(templateData[i++]);\n }\n }\n}\nclass AccessibiltyRenderer {\n constructor(accessibilityProvider) {\n this.accessibilityProvider = accessibilityProvider;\n this.templateId = 'a18n';\n }\n renderTemplate(container) {\n return container;\n }\n renderElement(element, index, container) {\n const ariaLabel = this.accessibilityProvider.getAriaLabel(element);\n if (ariaLabel) {\n container.setAttribute('aria-label', ariaLabel);\n }\n else {\n container.removeAttribute('aria-label');\n }\n const ariaLevel = this.accessibilityProvider.getAriaLevel && this.accessibilityProvider.getAriaLevel(element);\n if (typeof ariaLevel === 'number') {\n container.setAttribute('aria-level', `${ariaLevel}`);\n }\n else {\n container.removeAttribute('aria-level');\n }\n }\n disposeTemplate(templateData) {\n // noop\n }\n}\nclass ListViewDragAndDrop {\n constructor(list, dnd) {\n this.list = list;\n this.dnd = dnd;\n }\n getDragElements(element) {\n const selection = this.list.getSelectedElements();\n const elements = selection.indexOf(element) > -1 ? selection : [element];\n return elements;\n }\n getDragURI(element) {\n return this.dnd.getDragURI(element);\n }\n getDragLabel(elements, originalEvent) {\n if (this.dnd.getDragLabel) {\n return this.dnd.getDragLabel(elements, originalEvent);\n }\n return undefined;\n }\n onDragStart(data, originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragStart) === null || _b === void 0 ? void 0 : _b.call(_a, data, originalEvent);\n }\n onDragOver(data, targetElement, targetIndex, originalEvent) {\n return this.dnd.onDragOver(data, targetElement, targetIndex, originalEvent);\n }\n onDragLeave(data, targetElement, targetIndex, originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragLeave) === null || _b === void 0 ? void 0 : _b.call(_a, data, targetElement, targetIndex, originalEvent);\n }\n onDragEnd(originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragEnd) === null || _b === void 0 ? void 0 : _b.call(_a, originalEvent);\n }\n drop(data, targetElement, targetIndex, originalEvent) {\n this.dnd.drop(data, targetElement, targetIndex, originalEvent);\n }\n dispose() {\n this.dnd.dispose();\n }\n}\n/**\n * The {@link List} is a virtual scrolling widget, built on top of the {@link ListView}\n * widget.\n *\n * Features:\n * - Customizable keyboard and mouse support\n * - Element traits: focus, selection, achor\n * - Accessibility support\n * - Touch support\n * - Performant template-based rendering\n * - Horizontal scrolling\n * - Variable element height support\n * - Dynamic element height support\n * - Drag-and-drop support\n */\nclass List {\n get onDidChangeFocus() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.map(this.eventBufferer.wrapEvent(this.focus.onChange), e => this.toListEvent(e), this.disposables);\n }\n get onDidChangeSelection() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.map(this.eventBufferer.wrapEvent(this.selection.onChange), e => this.toListEvent(e), this.disposables);\n }\n get domId() { return this.view.domId; }\n get onDidScroll() { return this.view.onDidScroll; }\n get onMouseClick() { return this.view.onMouseClick; }\n get onMouseDblClick() { return this.view.onMouseDblClick; }\n get onMouseMiddleClick() { return this.view.onMouseMiddleClick; }\n get onPointer() { return this.mouseController.onPointer; }\n get onMouseDown() { return this.view.onMouseDown; }\n get onMouseOver() { return this.view.onMouseOver; }\n get onMouseOut() { return this.view.onMouseOut; }\n get onTouchStart() { return this.view.onTouchStart; }\n get onTap() { return this.view.onTap; }\n /**\n * Possible context menu trigger events:\n * - ContextMenu key\n * - Shift F10\n * - Ctrl Option Shift M (macOS with VoiceOver)\n * - Mouse right click\n */\n get onContextMenu() {\n let didJustPressContextMenuKey = false;\n const fromKeyDown = _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.chain(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.view.domNode, 'keydown')).event, $ => $.map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e))\n .filter(e => didJustPressContextMenuKey = e.keyCode === 58 /* KeyCode.ContextMenu */ || (e.shiftKey && e.keyCode === 68 /* KeyCode.F10 */))\n .map(e => _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true))\n .filter(() => false));\n const fromKeyUp = _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.chain(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.view.domNode, 'keyup')).event, $ => $.forEach(() => didJustPressContextMenuKey = false)\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e))\n .filter(e => e.keyCode === 58 /* KeyCode.ContextMenu */ || (e.shiftKey && e.keyCode === 68 /* KeyCode.F10 */))\n .map(e => _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true))\n .map(({ browserEvent }) => {\n const focus = this.getFocus();\n const index = focus.length ? focus[0] : undefined;\n const element = typeof index !== 'undefined' ? this.view.element(index) : undefined;\n const anchor = typeof index !== 'undefined' ? this.view.domElement(index) : this.view.domNode;\n return { index, element, anchor, browserEvent };\n }));\n const fromMouse = _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.chain(this.view.onContextMenu, $ => $.filter(_ => !didJustPressContextMenuKey)\n .map(({ element, index, browserEvent }) => ({ element, index, anchor: new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_19__.StandardMouseEvent((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.getWindow)(this.view.domNode), browserEvent), browserEvent })));\n return _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.any(fromKeyDown, fromKeyUp, fromMouse);\n }\n get onKeyDown() { return this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.view.domNode, 'keydown')).event; }\n get onDidFocus() { return _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.signal(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.view.domNode, 'focus', true)).event); }\n constructor(user, container, virtualDelegate, renderers, _options = DefaultOptions) {\n var _a, _b, _c, _d;\n this.user = user;\n this._options = _options;\n this.focus = new Trait('focused');\n this.anchor = new Trait('anchor');\n this.eventBufferer = new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.EventBufferer();\n this._ariaLabel = '';\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n this._onDidDispose = new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter();\n this.onDidDispose = this._onDidDispose.event;\n const role = this._options.accessibilityProvider && this._options.accessibilityProvider.getWidgetRole ? (_a = this._options.accessibilityProvider) === null || _a === void 0 ? void 0 : _a.getWidgetRole() : 'list';\n this.selection = new SelectionTrait(role !== 'listbox');\n const baseRenderers = [this.focus.renderer, this.selection.renderer];\n this.accessibilityProvider = _options.accessibilityProvider;\n if (this.accessibilityProvider) {\n baseRenderers.push(new AccessibiltyRenderer(this.accessibilityProvider));\n (_c = (_b = this.accessibilityProvider).onDidChangeActiveDescendant) === null || _c === void 0 ? void 0 : _c.call(_b, this.onDidChangeActiveDescendant, this, this.disposables);\n }\n renderers = renderers.map(r => new PipelineRenderer(r.templateId, [...baseRenderers, r]));\n const viewOptions = {\n ..._options,\n dnd: _options.dnd && new ListViewDragAndDrop(this, _options.dnd)\n };\n this.view = this.createListView(container, virtualDelegate, renderers, viewOptions);\n this.view.domNode.setAttribute('role', role);\n if (_options.styleController) {\n this.styleController = _options.styleController(this.view.domId);\n }\n else {\n const styleElement = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.createStyleSheet)(this.view.domNode);\n this.styleController = new DefaultStyleController(styleElement, this.view.domId);\n }\n this.spliceable = new _splice_js__WEBPACK_IMPORTED_MODULE_5__.CombinedSpliceable([\n new TraitSpliceable(this.focus, this.view, _options.identityProvider),\n new TraitSpliceable(this.selection, this.view, _options.identityProvider),\n new TraitSpliceable(this.anchor, this.view, _options.identityProvider),\n this.view\n ]);\n this.disposables.add(this.focus);\n this.disposables.add(this.selection);\n this.disposables.add(this.anchor);\n this.disposables.add(this.view);\n this.disposables.add(this._onDidDispose);\n this.disposables.add(new DOMFocusController(this, this.view));\n if (typeof _options.keyboardSupport !== 'boolean' || _options.keyboardSupport) {\n this.keyboardController = new KeyboardController(this, this.view, _options);\n this.disposables.add(this.keyboardController);\n }\n if (_options.keyboardNavigationLabelProvider) {\n const delegate = _options.keyboardNavigationDelegate || DefaultKeyboardNavigationDelegate;\n this.typeNavigationController = new TypeNavigationController(this, this.view, _options.keyboardNavigationLabelProvider, (_d = _options.keyboardNavigationEventFilter) !== null && _d !== void 0 ? _d : (() => true), delegate);\n this.disposables.add(this.typeNavigationController);\n }\n this.mouseController = this.createMouseController(_options);\n this.disposables.add(this.mouseController);\n this.onDidChangeFocus(this._onFocusChange, this, this.disposables);\n this.onDidChangeSelection(this._onSelectionChange, this, this.disposables);\n if (this.accessibilityProvider) {\n this.ariaLabel = this.accessibilityProvider.getWidgetAriaLabel();\n }\n if (this._options.multipleSelectionSupport !== false) {\n this.view.domNode.setAttribute('aria-multiselectable', 'true');\n }\n }\n createListView(container, virtualDelegate, renderers, viewOptions) {\n return new _listView_js__WEBPACK_IMPORTED_MODULE_18__.ListView(container, virtualDelegate, renderers, viewOptions);\n }\n createMouseController(options) {\n return new MouseController(this);\n }\n updateOptions(optionsUpdate = {}) {\n var _a, _b;\n this._options = { ...this._options, ...optionsUpdate };\n (_a = this.typeNavigationController) === null || _a === void 0 ? void 0 : _a.updateOptions(this._options);\n if (this._options.multipleSelectionController !== undefined) {\n if (this._options.multipleSelectionSupport) {\n this.view.domNode.setAttribute('aria-multiselectable', 'true');\n }\n else {\n this.view.domNode.removeAttribute('aria-multiselectable');\n }\n }\n this.mouseController.updateOptions(optionsUpdate);\n (_b = this.keyboardController) === null || _b === void 0 ? void 0 : _b.updateOptions(optionsUpdate);\n this.view.updateOptions(optionsUpdate);\n }\n get options() {\n return this._options;\n }\n splice(start, deleteCount, elements = []) {\n if (start < 0 || start > this.view.length) {\n throw new _list_js__WEBPACK_IMPORTED_MODULE_17__.ListError(this.user, `Invalid start index: ${start}`);\n }\n if (deleteCount < 0) {\n throw new _list_js__WEBPACK_IMPORTED_MODULE_17__.ListError(this.user, `Invalid delete count: ${deleteCount}`);\n }\n if (deleteCount === 0 && elements.length === 0) {\n return;\n }\n this.eventBufferer.bufferEvents(() => this.spliceable.splice(start, deleteCount, elements));\n }\n rerender() {\n this.view.rerender();\n }\n element(index) {\n return this.view.element(index);\n }\n indexOf(element) {\n return this.view.indexOf(element);\n }\n get length() {\n return this.view.length;\n }\n get contentHeight() {\n return this.view.contentHeight;\n }\n get onDidChangeContentHeight() {\n return this.view.onDidChangeContentHeight;\n }\n get scrollTop() {\n return this.view.getScrollTop();\n }\n set scrollTop(scrollTop) {\n this.view.setScrollTop(scrollTop);\n }\n get scrollHeight() {\n return this.view.scrollHeight;\n }\n get renderHeight() {\n return this.view.renderHeight;\n }\n get firstVisibleIndex() {\n return this.view.firstVisibleIndex;\n }\n get ariaLabel() {\n return this._ariaLabel;\n }\n set ariaLabel(value) {\n this._ariaLabel = value;\n this.view.domNode.setAttribute('aria-label', value);\n }\n domFocus() {\n this.view.domNode.focus({ preventScroll: true });\n }\n layout(height, width) {\n this.view.layout(height, width);\n }\n setSelection(indexes, browserEvent) {\n for (const index of indexes) {\n if (index < 0 || index >= this.length) {\n throw new _list_js__WEBPACK_IMPORTED_MODULE_17__.ListError(this.user, `Invalid index ${index}`);\n }\n }\n this.selection.set(indexes, browserEvent);\n }\n getSelection() {\n return this.selection.get();\n }\n getSelectedElements() {\n return this.getSelection().map(i => this.view.element(i));\n }\n setAnchor(index) {\n if (typeof index === 'undefined') {\n this.anchor.set([]);\n return;\n }\n if (index < 0 || index >= this.length) {\n throw new _list_js__WEBPACK_IMPORTED_MODULE_17__.ListError(this.user, `Invalid index ${index}`);\n }\n this.anchor.set([index]);\n }\n getAnchor() {\n return (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_6__.firstOrDefault)(this.anchor.get(), undefined);\n }\n getAnchorElement() {\n const anchor = this.getAnchor();\n return typeof anchor === 'undefined' ? undefined : this.element(anchor);\n }\n setFocus(indexes, browserEvent) {\n for (const index of indexes) {\n if (index < 0 || index >= this.length) {\n throw new _list_js__WEBPACK_IMPORTED_MODULE_17__.ListError(this.user, `Invalid index ${index}`);\n }\n }\n this.focus.set(indexes, browserEvent);\n }\n focusNext(n = 1, loop = false, browserEvent, filter) {\n if (this.length === 0) {\n return;\n }\n const focus = this.focus.get();\n const index = this.findNextIndex(focus.length > 0 ? focus[0] + n : 0, loop, filter);\n if (index > -1) {\n this.setFocus([index], browserEvent);\n }\n }\n focusPrevious(n = 1, loop = false, browserEvent, filter) {\n if (this.length === 0) {\n return;\n }\n const focus = this.focus.get();\n const index = this.findPreviousIndex(focus.length > 0 ? focus[0] - n : 0, loop, filter);\n if (index > -1) {\n this.setFocus([index], browserEvent);\n }\n }\n async focusNextPage(browserEvent, filter) {\n let lastPageIndex = this.view.indexAt(this.view.getScrollTop() + this.view.renderHeight);\n lastPageIndex = lastPageIndex === 0 ? 0 : lastPageIndex - 1;\n const currentlyFocusedElementIndex = this.getFocus()[0];\n if (currentlyFocusedElementIndex !== lastPageIndex && (currentlyFocusedElementIndex === undefined || lastPageIndex > currentlyFocusedElementIndex)) {\n const lastGoodPageIndex = this.findPreviousIndex(lastPageIndex, false, filter);\n if (lastGoodPageIndex > -1 && currentlyFocusedElementIndex !== lastGoodPageIndex) {\n this.setFocus([lastGoodPageIndex], browserEvent);\n }\n else {\n this.setFocus([lastPageIndex], browserEvent);\n }\n }\n else {\n const previousScrollTop = this.view.getScrollTop();\n let nextpageScrollTop = previousScrollTop + this.view.renderHeight;\n if (lastPageIndex > currentlyFocusedElementIndex) {\n // scroll last page element to the top only if the last page element is below the focused element\n nextpageScrollTop -= this.view.elementHeight(lastPageIndex);\n }\n this.view.setScrollTop(nextpageScrollTop);\n if (this.view.getScrollTop() !== previousScrollTop) {\n this.setFocus([]);\n // Let the scroll event listener run\n await (0,_common_async_js__WEBPACK_IMPORTED_MODULE_7__.timeout)(0);\n await this.focusNextPage(browserEvent, filter);\n }\n }\n }\n async focusPreviousPage(browserEvent, filter) {\n let firstPageIndex;\n const scrollTop = this.view.getScrollTop();\n if (scrollTop === 0) {\n firstPageIndex = this.view.indexAt(scrollTop);\n }\n else {\n firstPageIndex = this.view.indexAfter(scrollTop - 1);\n }\n const currentlyFocusedElementIndex = this.getFocus()[0];\n if (currentlyFocusedElementIndex !== firstPageIndex && (currentlyFocusedElementIndex === undefined || currentlyFocusedElementIndex >= firstPageIndex)) {\n const firstGoodPageIndex = this.findNextIndex(firstPageIndex, false, filter);\n if (firstGoodPageIndex > -1 && currentlyFocusedElementIndex !== firstGoodPageIndex) {\n this.setFocus([firstGoodPageIndex], browserEvent);\n }\n else {\n this.setFocus([firstPageIndex], browserEvent);\n }\n }\n else {\n const previousScrollTop = scrollTop;\n this.view.setScrollTop(scrollTop - this.view.renderHeight);\n if (this.view.getScrollTop() !== previousScrollTop) {\n this.setFocus([]);\n // Let the scroll event listener run\n await (0,_common_async_js__WEBPACK_IMPORTED_MODULE_7__.timeout)(0);\n await this.focusPreviousPage(browserEvent, filter);\n }\n }\n }\n focusLast(browserEvent, filter) {\n if (this.length === 0) {\n return;\n }\n const index = this.findPreviousIndex(this.length - 1, false, filter);\n if (index > -1) {\n this.setFocus([index], browserEvent);\n }\n }\n focusFirst(browserEvent, filter) {\n this.focusNth(0, browserEvent, filter);\n }\n focusNth(n, browserEvent, filter) {\n if (this.length === 0) {\n return;\n }\n const index = this.findNextIndex(n, false, filter);\n if (index > -1) {\n this.setFocus([index], browserEvent);\n }\n }\n findNextIndex(index, loop = false, filter) {\n for (let i = 0; i < this.length; i++) {\n if (index >= this.length && !loop) {\n return -1;\n }\n index = index % this.length;\n if (!filter || filter(this.element(index))) {\n return index;\n }\n index++;\n }\n return -1;\n }\n findPreviousIndex(index, loop = false, filter) {\n for (let i = 0; i < this.length; i++) {\n if (index < 0 && !loop) {\n return -1;\n }\n index = (this.length + (index % this.length)) % this.length;\n if (!filter || filter(this.element(index))) {\n return index;\n }\n index--;\n }\n return -1;\n }\n getFocus() {\n return this.focus.get();\n }\n getFocusedElements() {\n return this.getFocus().map(i => this.view.element(i));\n }\n reveal(index, relativeTop, paddingTop = 0) {\n if (index < 0 || index >= this.length) {\n throw new _list_js__WEBPACK_IMPORTED_MODULE_17__.ListError(this.user, `Invalid index ${index}`);\n }\n const scrollTop = this.view.getScrollTop();\n const elementTop = this.view.elementTop(index);\n const elementHeight = this.view.elementHeight(index);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_15__.isNumber)(relativeTop)) {\n // y = mx + b\n const m = elementHeight - this.view.renderHeight + paddingTop;\n this.view.setScrollTop(m * (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_13__.clamp)(relativeTop, 0, 1) + elementTop - paddingTop);\n }\n else {\n const viewItemBottom = elementTop + elementHeight;\n const scrollBottom = scrollTop + this.view.renderHeight;\n if (elementTop < scrollTop + paddingTop && viewItemBottom >= scrollBottom) {\n // The element is already overflowing the viewport, no-op\n }\n else if (elementTop < scrollTop + paddingTop || (viewItemBottom >= scrollBottom && elementHeight >= this.view.renderHeight)) {\n this.view.setScrollTop(elementTop - paddingTop);\n }\n else if (viewItemBottom >= scrollBottom) {\n this.view.setScrollTop(viewItemBottom - this.view.renderHeight);\n }\n }\n }\n /**\n * Returns the relative position of an element rendered in the list.\n * Returns `null` if the element isn't *entirely* in the visible viewport.\n */\n getRelativeTop(index, paddingTop = 0) {\n if (index < 0 || index >= this.length) {\n throw new _list_js__WEBPACK_IMPORTED_MODULE_17__.ListError(this.user, `Invalid index ${index}`);\n }\n const scrollTop = this.view.getScrollTop();\n const elementTop = this.view.elementTop(index);\n const elementHeight = this.view.elementHeight(index);\n if (elementTop < scrollTop + paddingTop || elementTop + elementHeight > scrollTop + this.view.renderHeight) {\n return null;\n }\n // y = mx + b\n const m = elementHeight - this.view.renderHeight + paddingTop;\n return Math.abs((scrollTop + paddingTop - elementTop) / m);\n }\n getHTMLElement() {\n return this.view.domNode;\n }\n getScrollableElement() {\n return this.view.scrollableElementDomNode;\n }\n getElementID(index) {\n return this.view.getElementDomId(index);\n }\n getElementTop(index) {\n return this.view.elementTop(index);\n }\n style(styles) {\n this.styleController.style(styles);\n }\n toListEvent({ indexes, browserEvent }) {\n return { indexes, elements: indexes.map(i => this.view.element(i)), browserEvent };\n }\n _onFocusChange() {\n const focus = this.focus.get();\n this.view.domNode.classList.toggle('element-focused', focus.length > 0);\n this.onDidChangeActiveDescendant();\n }\n onDidChangeActiveDescendant() {\n var _a;\n const focus = this.focus.get();\n if (focus.length > 0) {\n let id;\n if ((_a = this.accessibilityProvider) === null || _a === void 0 ? void 0 : _a.getActiveDescendantId) {\n id = this.accessibilityProvider.getActiveDescendantId(this.view.element(focus[0]));\n }\n this.view.domNode.setAttribute('aria-activedescendant', id || this.view.getElementDomId(focus[0]));\n }\n else {\n this.view.domNode.removeAttribute('aria-activedescendant');\n }\n }\n _onSelectionChange() {\n const selection = this.selection.get();\n this.view.domNode.classList.toggle('selection-none', selection.length === 0);\n this.view.domNode.classList.toggle('selection-single', selection.length === 1);\n this.view.domNode.classList.toggle('selection-multiple', selection.length > 1);\n }\n dispose() {\n this._onDidDispose.fire();\n this.disposables.dispose();\n this._onDidDispose.dispose();\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], List.prototype, \"onDidChangeFocus\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], List.prototype, \"onDidChangeSelection\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], List.prototype, \"onContextMenu\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], List.prototype, \"onKeyDown\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], List.prototype, \"onDidFocus\", null);\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.js":
+/*!****************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.js ***!
+ \****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RangeMap: () => (/* binding */ RangeMap),\n/* harmony export */ consolidate: () => (/* binding */ consolidate),\n/* harmony export */ groupIntersect: () => (/* binding */ groupIntersect),\n/* harmony export */ shift: () => (/* binding */ shift)\n/* harmony export */ });\n/* harmony import */ var _common_range_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/range.js */ \"./node_modules/monaco-editor/esm/vs/base/common/range.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/**\n * Returns the intersection between a ranged group and a range.\n * Returns `[]` if the intersection is empty.\n */\nfunction groupIntersect(range, groups) {\n const result = [];\n for (const r of groups) {\n if (range.start >= r.range.end) {\n continue;\n }\n if (range.end < r.range.start) {\n break;\n }\n const intersection = _common_range_js__WEBPACK_IMPORTED_MODULE_0__.Range.intersect(range, r.range);\n if (_common_range_js__WEBPACK_IMPORTED_MODULE_0__.Range.isEmpty(intersection)) {\n continue;\n }\n result.push({\n range: intersection,\n size: r.size\n });\n }\n return result;\n}\n/**\n * Shifts a range by that `much`.\n */\nfunction shift({ start, end }, much) {\n return { start: start + much, end: end + much };\n}\n/**\n * Consolidates a collection of ranged groups.\n *\n * Consolidation is the process of merging consecutive ranged groups\n * that share the same `size`.\n */\nfunction consolidate(groups) {\n const result = [];\n let previousGroup = null;\n for (const group of groups) {\n const start = group.range.start;\n const end = group.range.end;\n const size = group.size;\n if (previousGroup && size === previousGroup.size) {\n previousGroup.range.end = end;\n continue;\n }\n previousGroup = { range: { start, end }, size };\n result.push(previousGroup);\n }\n return result;\n}\n/**\n * Concatenates several collections of ranged groups into a single\n * collection.\n */\nfunction concat(...groups) {\n return consolidate(groups.reduce((r, g) => r.concat(g), []));\n}\nclass RangeMap {\n get paddingTop() {\n return this._paddingTop;\n }\n set paddingTop(paddingTop) {\n this._size = this._size + paddingTop - this._paddingTop;\n this._paddingTop = paddingTop;\n }\n constructor(topPadding) {\n this.groups = [];\n this._size = 0;\n this._paddingTop = 0;\n this._paddingTop = topPadding !== null && topPadding !== void 0 ? topPadding : 0;\n this._size = this._paddingTop;\n }\n splice(index, deleteCount, items = []) {\n const diff = items.length - deleteCount;\n const before = groupIntersect({ start: 0, end: index }, this.groups);\n const after = groupIntersect({ start: index + deleteCount, end: Number.POSITIVE_INFINITY }, this.groups)\n .map(g => ({ range: shift(g.range, diff), size: g.size }));\n const middle = items.map((item, i) => ({\n range: { start: index + i, end: index + i + 1 },\n size: item.size\n }));\n this.groups = concat(before, middle, after);\n this._size = this._paddingTop + this.groups.reduce((t, g) => t + (g.size * (g.range.end - g.range.start)), 0);\n }\n /**\n * Returns the number of items in the range map.\n */\n get count() {\n const len = this.groups.length;\n if (!len) {\n return 0;\n }\n return this.groups[len - 1].range.end;\n }\n /**\n * Returns the sum of the sizes of all items in the range map.\n */\n get size() {\n return this._size;\n }\n /**\n * Returns the index of the item at the given position.\n */\n indexAt(position) {\n if (position < 0) {\n return -1;\n }\n if (position < this._paddingTop) {\n return 0;\n }\n let index = 0;\n let size = this._paddingTop;\n for (const group of this.groups) {\n const count = group.range.end - group.range.start;\n const newSize = size + (count * group.size);\n if (position < newSize) {\n return index + Math.floor((position - size) / group.size);\n }\n index += count;\n size = newSize;\n }\n return index;\n }\n /**\n * Returns the index of the item right after the item at the\n * index of the given position.\n */\n indexAfter(position) {\n return Math.min(this.indexAt(position) + 1, this.count);\n }\n /**\n * Returns the start position of the item at the given index.\n */\n positionAt(index) {\n if (index < 0) {\n return -1;\n }\n let position = 0;\n let count = 0;\n for (const group of this.groups) {\n const groupCount = group.range.end - group.range.start;\n const newCount = count + groupCount;\n if (index < newCount) {\n return this._paddingTop + position + ((index - count) * group.size);\n }\n position += groupCount * group.size;\n count = newCount;\n }\n return -1;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.js":
+/*!****************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.js ***!
+ \****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RowCache: () => (/* binding */ RowCache)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nfunction removeFromParent(element) {\n var _a;\n try {\n (_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(element);\n }\n catch (e) {\n // this will throw if this happens due to a blur event, nasty business\n }\n}\nclass RowCache {\n constructor(renderers) {\n this.renderers = renderers;\n this.cache = new Map();\n this.transactionNodesPendingRemoval = new Set();\n this.inTransaction = false;\n }\n /**\n * Returns a row either by creating a new one or reusing\n * a previously released row which shares the same templateId.\n *\n * @returns A row and `isReusingConnectedDomNode` if the row's node is already in the dom in a stale position.\n */\n alloc(templateId) {\n let result = this.getTemplateCache(templateId).pop();\n let isStale = false;\n if (result) {\n isStale = this.transactionNodesPendingRemoval.has(result.domNode);\n if (isStale) {\n this.transactionNodesPendingRemoval.delete(result.domNode);\n }\n }\n else {\n const domNode = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-list-row');\n const renderer = this.getRenderer(templateId);\n const templateData = renderer.renderTemplate(domNode);\n result = { domNode, templateId, templateData };\n }\n return { row: result, isReusingConnectedDomNode: isStale };\n }\n /**\n * Releases the row for eventual reuse.\n */\n release(row) {\n if (!row) {\n return;\n }\n this.releaseRow(row);\n }\n /**\n * Begin a set of changes that use the cache. This lets us skip work when a row is removed and then inserted again.\n */\n transact(makeChanges) {\n if (this.inTransaction) {\n throw new Error('Already in transaction');\n }\n this.inTransaction = true;\n try {\n makeChanges();\n }\n finally {\n for (const domNode of this.transactionNodesPendingRemoval) {\n this.doRemoveNode(domNode);\n }\n this.transactionNodesPendingRemoval.clear();\n this.inTransaction = false;\n }\n }\n releaseRow(row) {\n const { domNode, templateId } = row;\n if (domNode) {\n if (this.inTransaction) {\n this.transactionNodesPendingRemoval.add(domNode);\n }\n else {\n this.doRemoveNode(domNode);\n }\n }\n const cache = this.getTemplateCache(templateId);\n cache.push(row);\n }\n doRemoveNode(domNode) {\n domNode.classList.remove('scrolling');\n removeFromParent(domNode);\n }\n getTemplateCache(templateId) {\n let result = this.cache.get(templateId);\n if (!result) {\n result = [];\n this.cache.set(templateId, result);\n }\n return result;\n }\n dispose() {\n this.cache.forEach((cachedRows, templateId) => {\n for (const cachedRow of cachedRows) {\n const renderer = this.getRenderer(templateId);\n renderer.disposeTemplate(cachedRow.templateData);\n cachedRow.templateData = null;\n }\n });\n this.cache.clear();\n this.transactionNodesPendingRemoval.clear();\n }\n getRenderer(templateId) {\n const renderer = this.renderers.get(templateId);\n if (!renderer) {\n throw new Error(`No renderer found for ${templateId}`);\n }\n return renderer;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.js":
+/*!**************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.js ***!
+ \**************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CombinedSpliceable: () => (/* binding */ CombinedSpliceable)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nclass CombinedSpliceable {\n constructor(spliceables) {\n this.spliceables = spliceables;\n }\n splice(start, deleteCount, elements) {\n this.spliceables.forEach(s => s.splice(start, deleteCount, elements));\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.js":
+/*!************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.js ***!
+ \************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Direction: () => (/* binding */ Direction),\n/* harmony export */ MENU_ESCAPED_MNEMONIC_REGEX: () => (/* binding */ MENU_ESCAPED_MNEMONIC_REGEX),\n/* harmony export */ MENU_MNEMONIC_REGEX: () => (/* binding */ MENU_MNEMONIC_REGEX),\n/* harmony export */ Menu: () => (/* binding */ Menu),\n/* harmony export */ cleanMnemonic: () => (/* binding */ cleanMnemonic),\n/* harmony export */ formatRule: () => (/* binding */ formatRule)\n/* harmony export */ });\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../actionbar/actionbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js\");\n/* harmony import */ var _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../actionbar/actionViewItems.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js\");\n/* harmony import */ var _contextview_contextview_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../contextview/contextview.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/* harmony import */ var _common_iconLabels_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../common/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_strings_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../common/strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst MENU_MNEMONIC_REGEX = /\\(&([^\\s&])\\)|(^|[^&])&([^\\s&])/;\nconst MENU_ESCAPED_MNEMONIC_REGEX = /(&)?(&)([^\\s&])/g;\nvar Direction;\n(function (Direction) {\n Direction[Direction[\"Right\"] = 0] = \"Right\";\n Direction[Direction[\"Left\"] = 1] = \"Left\";\n})(Direction || (Direction = {}));\nclass Menu extends _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_5__.ActionBar {\n constructor(container, actions, options, menuStyles) {\n container.classList.add('monaco-menu-container');\n container.setAttribute('role', 'presentation');\n const menuElement = document.createElement('div');\n menuElement.classList.add('monaco-menu');\n menuElement.setAttribute('role', 'presentation');\n super(menuElement, {\n orientation: 1 /* ActionsOrientation.VERTICAL */,\n actionViewItemProvider: action => this.doGetActionViewItem(action, options, parentData),\n context: options.context,\n actionRunner: options.actionRunner,\n ariaLabel: options.ariaLabel,\n ariaRole: 'menu',\n focusOnlyEnabledItems: true,\n triggerKeys: { keys: [3 /* KeyCode.Enter */, ...(_common_platform_js__WEBPACK_IMPORTED_MODULE_15__.isMacintosh || _common_platform_js__WEBPACK_IMPORTED_MODULE_15__.isLinux ? [10 /* KeyCode.Space */] : [])], keyDown: true }\n });\n this.menuStyles = menuStyles;\n this.menuElement = menuElement;\n this.actionsList.tabIndex = 0;\n this.initializeOrUpdateStyleSheet(container, menuStyles);\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_1__.Gesture.addTarget(menuElement));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(menuElement, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_DOWN, (e) => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardKeyboardEvent(e);\n // Stop tab navigation of menus\n if (event.equals(2 /* KeyCode.Tab */)) {\n e.preventDefault();\n }\n }));\n if (options.enableMnemonics) {\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(menuElement, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_DOWN, (e) => {\n const key = e.key.toLocaleLowerCase();\n if (this.mnemonics.has(key)) {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n const actions = this.mnemonics.get(key);\n if (actions.length === 1) {\n if (actions[0] instanceof SubmenuMenuActionViewItem && actions[0].container) {\n this.focusItemByElement(actions[0].container);\n }\n actions[0].onClick(e);\n }\n if (actions.length > 1) {\n const action = actions.shift();\n if (action && action.container) {\n this.focusItemByElement(action.container);\n actions.push(action);\n }\n this.mnemonics.set(key, actions);\n }\n }\n }));\n }\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_15__.isLinux) {\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(menuElement, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_DOWN, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardKeyboardEvent(e);\n if (event.equals(14 /* KeyCode.Home */) || event.equals(11 /* KeyCode.PageUp */)) {\n this.focusedItem = this.viewItems.length - 1;\n this.focusNext();\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n }\n else if (event.equals(13 /* KeyCode.End */) || event.equals(12 /* KeyCode.PageDown */)) {\n this.focusedItem = 0;\n this.focusPrevious();\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n }\n }));\n }\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.domNode, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_OUT, e => {\n const relatedTarget = e.relatedTarget;\n if (!(0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isAncestor)(relatedTarget, this.domNode)) {\n this.focusedItem = undefined;\n this.updateFocus();\n e.stopPropagation();\n }\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.actionsList, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_OVER, e => {\n let target = e.target;\n if (!target || !(0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isAncestor)(target, this.actionsList) || target === this.actionsList) {\n return;\n }\n while (target.parentElement !== this.actionsList && target.parentElement !== null) {\n target = target.parentElement;\n }\n if (target.classList.contains('action-item')) {\n const lastFocusedItem = this.focusedItem;\n this.setFocusedItem(target);\n if (lastFocusedItem !== this.focusedItem) {\n this.updateFocus();\n }\n }\n }));\n // Support touch on actions list to focus items (needed for submenus)\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_1__.Gesture.addTarget(this.actionsList));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.actionsList, _touch_js__WEBPACK_IMPORTED_MODULE_1__.EventType.Tap, e => {\n let target = e.initialTarget;\n if (!target || !(0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isAncestor)(target, this.actionsList) || target === this.actionsList) {\n return;\n }\n while (target.parentElement !== this.actionsList && target.parentElement !== null) {\n target = target.parentElement;\n }\n if (target.classList.contains('action-item')) {\n const lastFocusedItem = this.focusedItem;\n this.setFocusedItem(target);\n if (lastFocusedItem !== this.focusedItem) {\n this.updateFocus();\n }\n }\n }));\n const parentData = {\n parent: this\n };\n this.mnemonics = new Map();\n // Scroll Logic\n this.scrollableElement = this._register(new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_8__.DomScrollableElement(menuElement, {\n alwaysConsumeMouseWheel: true,\n horizontal: 2 /* ScrollbarVisibility.Hidden */,\n vertical: 3 /* ScrollbarVisibility.Visible */,\n verticalScrollbarSize: 7,\n handleMouseWheel: true,\n useShadows: true\n }));\n const scrollElement = this.scrollableElement.getDomNode();\n scrollElement.style.position = '';\n this.styleScrollElement(scrollElement, menuStyles);\n // Support scroll on menu drag\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(menuElement, _touch_js__WEBPACK_IMPORTED_MODULE_1__.EventType.Change, e => {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n const scrollTop = this.scrollableElement.getScrollPosition().scrollTop;\n this.scrollableElement.setScrollPosition({ scrollTop: scrollTop - e.translationY });\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(scrollElement, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_UP, e => {\n // Absorb clicks in menu dead space https://github.com/microsoft/vscode/issues/63575\n // We do this on the scroll element so the scroll bar doesn't dismiss the menu either\n e.preventDefault();\n }));\n const window = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.getWindow)(container);\n menuElement.style.maxHeight = `${Math.max(10, window.innerHeight - container.getBoundingClientRect().top - 35)}px`;\n actions = actions.filter(a => {\n var _a;\n if ((_a = options.submenuIds) === null || _a === void 0 ? void 0 : _a.has(a.id)) {\n console.warn(`Found submenu cycle: ${a.id}`);\n return false;\n }\n return true;\n });\n this.push(actions, { icon: true, label: true, isMenu: true });\n container.appendChild(this.scrollableElement.getDomNode());\n this.scrollableElement.scanDomNode();\n this.viewItems.filter(item => !(item instanceof MenuSeparatorActionViewItem)).forEach((item, index, array) => {\n item.updatePositionInSet(index + 1, array.length);\n });\n }\n initializeOrUpdateStyleSheet(container, style) {\n if (!this.styleSheet) {\n if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isInShadowDOM)(container)) {\n this.styleSheet = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.createStyleSheet)(container);\n }\n else {\n if (!Menu.globalStyleSheet) {\n Menu.globalStyleSheet = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.createStyleSheet)();\n }\n this.styleSheet = Menu.globalStyleSheet;\n }\n }\n this.styleSheet.textContent = getMenuWidgetCSS(style, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isInShadowDOM)(container));\n }\n styleScrollElement(scrollElement, style) {\n var _a, _b;\n const fgColor = (_a = style.foregroundColor) !== null && _a !== void 0 ? _a : '';\n const bgColor = (_b = style.backgroundColor) !== null && _b !== void 0 ? _b : '';\n const border = style.borderColor ? `1px solid ${style.borderColor}` : '';\n const borderRadius = '5px';\n const shadow = style.shadowColor ? `0 2px 8px ${style.shadowColor}` : '';\n scrollElement.style.outline = border;\n scrollElement.style.borderRadius = borderRadius;\n scrollElement.style.color = fgColor;\n scrollElement.style.backgroundColor = bgColor;\n scrollElement.style.boxShadow = shadow;\n }\n getContainer() {\n return this.scrollableElement.getDomNode();\n }\n get onScroll() {\n return this.scrollableElement.onScroll;\n }\n focusItemByElement(element) {\n const lastFocusedItem = this.focusedItem;\n this.setFocusedItem(element);\n if (lastFocusedItem !== this.focusedItem) {\n this.updateFocus();\n }\n }\n setFocusedItem(element) {\n for (let i = 0; i < this.actionsList.children.length; i++) {\n const elem = this.actionsList.children[i];\n if (element === elem) {\n this.focusedItem = i;\n break;\n }\n }\n }\n updateFocus(fromRight) {\n super.updateFocus(fromRight, true, true);\n if (typeof this.focusedItem !== 'undefined') {\n // Workaround for #80047 caused by an issue in chromium\n // https://bugs.chromium.org/p/chromium/issues/detail?id=414283\n // When that's fixed, just call this.scrollableElement.scanDomNode()\n this.scrollableElement.setScrollPosition({\n scrollTop: Math.round(this.menuElement.scrollTop)\n });\n }\n }\n doGetActionViewItem(action, options, parentData) {\n if (action instanceof _common_actions_js__WEBPACK_IMPORTED_MODULE_9__.Separator) {\n return new MenuSeparatorActionViewItem(options.context, action, { icon: true }, this.menuStyles);\n }\n else if (action instanceof _common_actions_js__WEBPACK_IMPORTED_MODULE_9__.SubmenuAction) {\n const menuActionViewItem = new SubmenuMenuActionViewItem(action, action.actions, parentData, { ...options, submenuIds: new Set([...(options.submenuIds || []), action.id]) }, this.menuStyles);\n if (options.enableMnemonics) {\n const mnemonic = menuActionViewItem.getMnemonic();\n if (mnemonic && menuActionViewItem.isEnabled()) {\n let actionViewItems = [];\n if (this.mnemonics.has(mnemonic)) {\n actionViewItems = this.mnemonics.get(mnemonic);\n }\n actionViewItems.push(menuActionViewItem);\n this.mnemonics.set(mnemonic, actionViewItems);\n }\n }\n return menuActionViewItem;\n }\n else {\n const menuItemOptions = { enableMnemonics: options.enableMnemonics, useEventAsContext: options.useEventAsContext };\n if (options.getKeyBinding) {\n const keybinding = options.getKeyBinding(action);\n if (keybinding) {\n const keybindingLabel = keybinding.getLabel();\n if (keybindingLabel) {\n menuItemOptions.keybinding = keybindingLabel;\n }\n }\n }\n const menuActionViewItem = new BaseMenuActionViewItem(options.context, action, menuItemOptions, this.menuStyles);\n if (options.enableMnemonics) {\n const mnemonic = menuActionViewItem.getMnemonic();\n if (mnemonic && menuActionViewItem.isEnabled()) {\n let actionViewItems = [];\n if (this.mnemonics.has(mnemonic)) {\n actionViewItems = this.mnemonics.get(mnemonic);\n }\n actionViewItems.push(menuActionViewItem);\n this.mnemonics.set(mnemonic, actionViewItems);\n }\n }\n return menuActionViewItem;\n }\n }\n}\nclass BaseMenuActionViewItem extends _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_6__.BaseActionViewItem {\n constructor(ctx, action, options, menuStyle) {\n options.isMenu = true;\n super(action, action, options);\n this.menuStyle = menuStyle;\n this.options = options;\n this.options.icon = options.icon !== undefined ? options.icon : false;\n this.options.label = options.label !== undefined ? options.label : true;\n this.cssClass = '';\n // Set mnemonic\n if (this.options.label && options.enableMnemonics) {\n const label = this.action.label;\n if (label) {\n const matches = MENU_MNEMONIC_REGEX.exec(label);\n if (matches) {\n this.mnemonic = (!!matches[1] ? matches[1] : matches[3]).toLocaleLowerCase();\n }\n }\n }\n // Add mouse up listener later to avoid accidental clicks\n this.runOnceToEnableMouseUp = new _common_async_js__WEBPACK_IMPORTED_MODULE_10__.RunOnceScheduler(() => {\n if (!this.element) {\n return;\n }\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_UP, e => {\n // removed default prevention as it conflicts\n // with BaseActionViewItem #101537\n // add back if issues arise and link new issue\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n // See https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Interact_with_the_clipboard\n // > Writing to the clipboard\n // > You can use the \"cut\" and \"copy\" commands without any special\n // permission if you are using them in a short-lived event handler\n // for a user action (for example, a click handler).\n // => to get the Copy and Paste context menu actions working on Firefox,\n // there should be no timeout here\n if (_browser_js__WEBPACK_IMPORTED_MODULE_0__.isFirefox) {\n const mouseEvent = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_4__.StandardMouseEvent((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.getWindow)(this.element), e);\n // Allowing right click to trigger the event causes the issue described below,\n // but since the solution below does not work in FF, we must disable right click\n if (mouseEvent.rightButton) {\n return;\n }\n this.onClick(e);\n }\n // In all other cases, set timeout to allow context menu cancellation to trigger\n // otherwise the action will destroy the menu and a second context menu\n // will still trigger for right click.\n else {\n setTimeout(() => {\n this.onClick(e);\n }, 0);\n }\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.CONTEXT_MENU, e => {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n }));\n }, 100);\n this._register(this.runOnceToEnableMouseUp);\n }\n render(container) {\n super.render(container);\n if (!this.element) {\n return;\n }\n this.container = container;\n this.item = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.element, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('a.action-menu-item'));\n if (this._action.id === _common_actions_js__WEBPACK_IMPORTED_MODULE_9__.Separator.ID) {\n // A separator is a presentation item\n this.item.setAttribute('role', 'presentation');\n }\n else {\n this.item.setAttribute('role', 'menuitem');\n if (this.mnemonic) {\n this.item.setAttribute('aria-keyshortcuts', `${this.mnemonic}`);\n }\n }\n this.check = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.item, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('span.menu-item-check' + _common_themables_js__WEBPACK_IMPORTED_MODULE_12__.ThemeIcon.asCSSSelector(_common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.Codicon.menuSelection)));\n this.check.setAttribute('role', 'none');\n this.label = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.item, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('span.action-label'));\n if (this.options.label && this.options.keybinding) {\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.item, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('span.keybinding')).textContent = this.options.keybinding;\n }\n // Adds mouse up listener to actually run the action\n this.runOnceToEnableMouseUp.schedule();\n this.updateClass();\n this.updateLabel();\n this.updateTooltip();\n this.updateEnabled();\n this.updateChecked();\n this.applyStyle();\n }\n blur() {\n super.blur();\n this.applyStyle();\n }\n focus() {\n var _a;\n super.focus();\n (_a = this.item) === null || _a === void 0 ? void 0 : _a.focus();\n this.applyStyle();\n }\n updatePositionInSet(pos, setSize) {\n if (this.item) {\n this.item.setAttribute('aria-posinset', `${pos}`);\n this.item.setAttribute('aria-setsize', `${setSize}`);\n }\n }\n updateLabel() {\n var _a;\n if (!this.label) {\n return;\n }\n if (this.options.label) {\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.clearNode)(this.label);\n let label = (0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_13__.stripIcons)(this.action.label);\n if (label) {\n const cleanLabel = cleanMnemonic(label);\n if (!this.options.enableMnemonics) {\n label = cleanLabel;\n }\n this.label.setAttribute('aria-label', cleanLabel.replace(/&&/g, '&'));\n const matches = MENU_MNEMONIC_REGEX.exec(label);\n if (matches) {\n label = _common_strings_js__WEBPACK_IMPORTED_MODULE_16__.escape(label);\n // This is global, reset it\n MENU_ESCAPED_MNEMONIC_REGEX.lastIndex = 0;\n let escMatch = MENU_ESCAPED_MNEMONIC_REGEX.exec(label);\n // We can't use negative lookbehind so if we match our negative and skip\n while (escMatch && escMatch[1]) {\n escMatch = MENU_ESCAPED_MNEMONIC_REGEX.exec(label);\n }\n const replaceDoubleEscapes = (str) => str.replace(/&&/g, '&');\n if (escMatch) {\n this.label.append(_common_strings_js__WEBPACK_IMPORTED_MODULE_16__.ltrim(replaceDoubleEscapes(label.substr(0, escMatch.index)), ' '), (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('u', { 'aria-hidden': 'true' }, escMatch[3]), _common_strings_js__WEBPACK_IMPORTED_MODULE_16__.rtrim(replaceDoubleEscapes(label.substr(escMatch.index + escMatch[0].length)), ' '));\n }\n else {\n this.label.innerText = replaceDoubleEscapes(label).trim();\n }\n (_a = this.item) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-keyshortcuts', (!!matches[1] ? matches[1] : matches[3]).toLocaleLowerCase());\n }\n else {\n this.label.innerText = label.replace(/&&/g, '&').trim();\n }\n }\n }\n }\n updateTooltip() {\n // menus should function like native menus and they do not have tooltips\n }\n updateClass() {\n if (this.cssClass && this.item) {\n this.item.classList.remove(...this.cssClass.split(' '));\n }\n if (this.options.icon && this.label) {\n this.cssClass = this.action.class || '';\n this.label.classList.add('icon');\n if (this.cssClass) {\n this.label.classList.add(...this.cssClass.split(' '));\n }\n this.updateEnabled();\n }\n else if (this.label) {\n this.label.classList.remove('icon');\n }\n }\n updateEnabled() {\n if (this.action.enabled) {\n if (this.element) {\n this.element.classList.remove('disabled');\n this.element.removeAttribute('aria-disabled');\n }\n if (this.item) {\n this.item.classList.remove('disabled');\n this.item.removeAttribute('aria-disabled');\n this.item.tabIndex = 0;\n }\n }\n else {\n if (this.element) {\n this.element.classList.add('disabled');\n this.element.setAttribute('aria-disabled', 'true');\n }\n if (this.item) {\n this.item.classList.add('disabled');\n this.item.setAttribute('aria-disabled', 'true');\n }\n }\n }\n updateChecked() {\n if (!this.item) {\n return;\n }\n const checked = this.action.checked;\n this.item.classList.toggle('checked', !!checked);\n if (checked !== undefined) {\n this.item.setAttribute('role', 'menuitemcheckbox');\n this.item.setAttribute('aria-checked', checked ? 'true' : 'false');\n }\n else {\n this.item.setAttribute('role', 'menuitem');\n this.item.setAttribute('aria-checked', '');\n }\n }\n getMnemonic() {\n return this.mnemonic;\n }\n applyStyle() {\n const isSelected = this.element && this.element.classList.contains('focused');\n const fgColor = isSelected && this.menuStyle.selectionForegroundColor ? this.menuStyle.selectionForegroundColor : this.menuStyle.foregroundColor;\n const bgColor = isSelected && this.menuStyle.selectionBackgroundColor ? this.menuStyle.selectionBackgroundColor : undefined;\n const outline = isSelected && this.menuStyle.selectionBorderColor ? `1px solid ${this.menuStyle.selectionBorderColor}` : '';\n const outlineOffset = isSelected && this.menuStyle.selectionBorderColor ? `-1px` : '';\n if (this.item) {\n this.item.style.color = fgColor !== null && fgColor !== void 0 ? fgColor : '';\n this.item.style.backgroundColor = bgColor !== null && bgColor !== void 0 ? bgColor : '';\n this.item.style.outline = outline;\n this.item.style.outlineOffset = outlineOffset;\n }\n if (this.check) {\n this.check.style.color = fgColor !== null && fgColor !== void 0 ? fgColor : '';\n }\n }\n}\nclass SubmenuMenuActionViewItem extends BaseMenuActionViewItem {\n constructor(action, submenuActions, parentData, submenuOptions, menuStyles) {\n super(action, action, submenuOptions, menuStyles);\n this.submenuActions = submenuActions;\n this.parentData = parentData;\n this.submenuOptions = submenuOptions;\n this.mysubmenu = null;\n this.submenuDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_14__.DisposableStore());\n this.mouseOver = false;\n this.expandDirection = submenuOptions && submenuOptions.expandDirection !== undefined ? submenuOptions.expandDirection : Direction.Right;\n this.showScheduler = new _common_async_js__WEBPACK_IMPORTED_MODULE_10__.RunOnceScheduler(() => {\n if (this.mouseOver) {\n this.cleanupExistingSubmenu(false);\n this.createSubmenu(false);\n }\n }, 250);\n this.hideScheduler = new _common_async_js__WEBPACK_IMPORTED_MODULE_10__.RunOnceScheduler(() => {\n if (this.element && (!(0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isAncestor)((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.getActiveElement)(), this.element) && this.parentData.submenu === this.mysubmenu)) {\n this.parentData.parent.focus(false);\n this.cleanupExistingSubmenu(true);\n }\n }, 750);\n }\n render(container) {\n super.render(container);\n if (!this.element) {\n return;\n }\n if (this.item) {\n this.item.classList.add('monaco-submenu-item');\n this.item.tabIndex = 0;\n this.item.setAttribute('aria-haspopup', 'true');\n this.updateAriaExpanded('false');\n this.submenuIndicator = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.item, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('span.submenu-indicator' + _common_themables_js__WEBPACK_IMPORTED_MODULE_12__.ThemeIcon.asCSSSelector(_common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.Codicon.menuSubmenu)));\n this.submenuIndicator.setAttribute('aria-hidden', 'true');\n }\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_UP, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardKeyboardEvent(e);\n if (event.equals(17 /* KeyCode.RightArrow */) || event.equals(3 /* KeyCode.Enter */)) {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n this.createSubmenu(true);\n }\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_DOWN, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardKeyboardEvent(e);\n if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.getActiveElement)() === this.item) {\n if (event.equals(17 /* KeyCode.RightArrow */) || event.equals(3 /* KeyCode.Enter */)) {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n }\n }\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_OVER, e => {\n if (!this.mouseOver) {\n this.mouseOver = true;\n this.showScheduler.schedule();\n }\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_LEAVE, e => {\n this.mouseOver = false;\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.FOCUS_OUT, e => {\n if (this.element && !(0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isAncestor)((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.getActiveElement)(), this.element)) {\n this.hideScheduler.schedule();\n }\n }));\n this._register(this.parentData.parent.onScroll(() => {\n if (this.parentData.submenu === this.mysubmenu) {\n this.parentData.parent.focus(false);\n this.cleanupExistingSubmenu(true);\n }\n }));\n }\n updateEnabled() {\n // override on submenu entry\n // native menus do not observe enablement on sumbenus\n // we mimic that behavior\n }\n onClick(e) {\n // stop clicking from trying to run an action\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n this.cleanupExistingSubmenu(false);\n this.createSubmenu(true);\n }\n cleanupExistingSubmenu(force) {\n if (this.parentData.submenu && (force || (this.parentData.submenu !== this.mysubmenu))) {\n // disposal may throw if the submenu has already been removed\n try {\n this.parentData.submenu.dispose();\n }\n catch (_a) { }\n this.parentData.submenu = undefined;\n this.updateAriaExpanded('false');\n if (this.submenuContainer) {\n this.submenuDisposables.clear();\n this.submenuContainer = undefined;\n }\n }\n }\n calculateSubmenuMenuLayout(windowDimensions, submenu, entry, expandDirection) {\n const ret = { top: 0, left: 0 };\n // Start with horizontal\n ret.left = (0,_contextview_contextview_js__WEBPACK_IMPORTED_MODULE_7__.layout)(windowDimensions.width, submenu.width, { position: expandDirection === Direction.Right ? 0 /* LayoutAnchorPosition.Before */ : 1 /* LayoutAnchorPosition.After */, offset: entry.left, size: entry.width });\n // We don't have enough room to layout the menu fully, so we are overlapping the menu\n if (ret.left >= entry.left && ret.left < entry.left + entry.width) {\n if (entry.left + 10 + submenu.width <= windowDimensions.width) {\n ret.left = entry.left + 10;\n }\n entry.top += 10;\n entry.height = 0;\n }\n // Now that we have a horizontal position, try layout vertically\n ret.top = (0,_contextview_contextview_js__WEBPACK_IMPORTED_MODULE_7__.layout)(windowDimensions.height, submenu.height, { position: 0 /* LayoutAnchorPosition.Before */, offset: entry.top, size: 0 });\n // We didn't have enough room below, but we did above, so we shift down to align the menu\n if (ret.top + submenu.height === entry.top && ret.top + entry.height + submenu.height <= windowDimensions.height) {\n ret.top += entry.height;\n }\n return ret;\n }\n createSubmenu(selectFirstItem = true) {\n if (!this.element) {\n return;\n }\n if (!this.parentData.submenu) {\n this.updateAriaExpanded('true');\n this.submenuContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.element, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('div.monaco-submenu'));\n this.submenuContainer.classList.add('menubar-menu-items-holder', 'context-view');\n // Set the top value of the menu container before construction\n // This allows the menu constructor to calculate the proper max height\n const computedStyles = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.getWindow)(this.parentData.parent.domNode).getComputedStyle(this.parentData.parent.domNode);\n const paddingTop = parseFloat(computedStyles.paddingTop || '0') || 0;\n // this.submenuContainer.style.top = `${this.element.offsetTop - this.parentData.parent.scrollOffset - paddingTop}px`;\n this.submenuContainer.style.zIndex = '1';\n this.submenuContainer.style.position = 'fixed';\n this.submenuContainer.style.top = '0';\n this.submenuContainer.style.left = '0';\n this.parentData.submenu = new Menu(this.submenuContainer, this.submenuActions.length ? this.submenuActions : [new _common_actions_js__WEBPACK_IMPORTED_MODULE_9__.EmptySubmenuAction()], this.submenuOptions, this.menuStyle);\n // layout submenu\n const entryBox = this.element.getBoundingClientRect();\n const entryBoxUpdated = {\n top: entryBox.top - paddingTop,\n left: entryBox.left,\n height: entryBox.height + 2 * paddingTop,\n width: entryBox.width\n };\n const viewBox = this.submenuContainer.getBoundingClientRect();\n const window = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.getWindow)(this.element);\n const { top, left } = this.calculateSubmenuMenuLayout(new _dom_js__WEBPACK_IMPORTED_MODULE_2__.Dimension(window.innerWidth, window.innerHeight), _dom_js__WEBPACK_IMPORTED_MODULE_2__.Dimension.lift(viewBox), entryBoxUpdated, this.expandDirection);\n // subtract offsets caused by transform parent\n this.submenuContainer.style.left = `${left - viewBox.left}px`;\n this.submenuContainer.style.top = `${top - viewBox.top}px`;\n this.submenuDisposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.submenuContainer, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_UP, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardKeyboardEvent(e);\n if (event.equals(15 /* KeyCode.LeftArrow */)) {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n this.parentData.parent.focus();\n this.cleanupExistingSubmenu(true);\n }\n }));\n this.submenuDisposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.submenuContainer, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_DOWN, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardKeyboardEvent(e);\n if (event.equals(15 /* KeyCode.LeftArrow */)) {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n }\n }));\n this.submenuDisposables.add(this.parentData.submenu.onDidCancel(() => {\n this.parentData.parent.focus();\n this.cleanupExistingSubmenu(true);\n }));\n this.parentData.submenu.focus(selectFirstItem);\n this.mysubmenu = this.parentData.submenu;\n }\n else {\n this.parentData.submenu.focus(false);\n }\n }\n updateAriaExpanded(value) {\n var _a;\n if (this.item) {\n (_a = this.item) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', value);\n }\n }\n applyStyle() {\n super.applyStyle();\n const isSelected = this.element && this.element.classList.contains('focused');\n const fgColor = isSelected && this.menuStyle.selectionForegroundColor ? this.menuStyle.selectionForegroundColor : this.menuStyle.foregroundColor;\n if (this.submenuIndicator) {\n this.submenuIndicator.style.color = fgColor !== null && fgColor !== void 0 ? fgColor : '';\n }\n }\n dispose() {\n super.dispose();\n this.hideScheduler.dispose();\n if (this.mysubmenu) {\n this.mysubmenu.dispose();\n this.mysubmenu = null;\n }\n if (this.submenuContainer) {\n this.submenuContainer = undefined;\n }\n }\n}\nclass MenuSeparatorActionViewItem extends _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_6__.ActionViewItem {\n constructor(context, action, options, menuStyles) {\n super(context, action, options);\n this.menuStyles = menuStyles;\n }\n render(container) {\n super.render(container);\n if (this.label) {\n this.label.style.borderBottomColor = this.menuStyles.separatorColor ? `${this.menuStyles.separatorColor}` : '';\n }\n }\n}\nfunction cleanMnemonic(label) {\n const regex = MENU_MNEMONIC_REGEX;\n const matches = regex.exec(label);\n if (!matches) {\n return label;\n }\n const mnemonicInText = !matches[1];\n return label.replace(regex, mnemonicInText ? '$2$3' : '').trim();\n}\nfunction formatRule(c) {\n const fontCharacter = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.getCodiconFontCharacters)()[c.id];\n return `.codicon-${c.id}:before { content: '\\\\${fontCharacter.toString(16)}'; }`;\n}\nfunction getMenuWidgetCSS(style, isForShadowDom) {\n let result = /* css */ `\n.monaco-menu {\n\tfont-size: 13px;\n\tborder-radius: 5px;\n\tmin-width: 160px;\n}\n\n${formatRule(_common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.Codicon.menuSelection)}\n${formatRule(_common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.Codicon.menuSubmenu)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar.animated .action-item.active {\n\ttransform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid var(--vscode-menu-separatorBackground);\n\tpadding-top: 1px;\n\tpadding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n\tmargin: 0 4px;\n\tborder-radius: 4px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n\topacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\twidth: 100%;\n\theight: 0px !important;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tmargin: 5px 0 !important;\n\tpadding: 0;\n\tborder-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}`;\n if (isForShadowDom) {\n // Only define scrollbar styles when used inside shadow dom,\n // otherwise leave their styling to the global workbench styling.\n result += `\n\t\t\t/* Arrows */\n\t\t\t.monaco-scrollable-element > .scrollbar > .scra {\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont-size: 11px !important;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .visible {\n\t\t\t\topacity: 1;\n\n\t\t\t\t/* Background rule added for IE9 - to allow clicks on dom node */\n\t\t\t\tbackground:rgba(0,0,0,0);\n\n\t\t\t\ttransition: opacity 100ms linear;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible {\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible.fade {\n\t\t\t\ttransition: opacity 800ms linear;\n\t\t\t}\n\n\t\t\t/* Scrollable Content Inset Shadow */\n\t\t\t.monaco-scrollable-element > .shadow {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 3px;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top-left-corner {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t`;\n // Scrollbars\n const scrollbarShadowColor = style.scrollbarShadow;\n if (scrollbarShadowColor) {\n result += `\n\t\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\t\tbox-shadow: ${scrollbarShadowColor} 0 6px 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\t\tbox-shadow: ${scrollbarShadowColor} 6px 0 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\t\tbox-shadow: ${scrollbarShadowColor} 6px 6px 6px -6px inset;\n\t\t\t\t}\n\t\t\t`;\n }\n const scrollbarSliderBackgroundColor = style.scrollbarSliderBackground;\n if (scrollbarSliderBackgroundColor) {\n result += `\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\t\tbackground: ${scrollbarSliderBackgroundColor};\n\t\t\t\t}\n\t\t\t`;\n }\n const scrollbarSliderHoverBackgroundColor = style.scrollbarSliderHoverBackground;\n if (scrollbarSliderHoverBackgroundColor) {\n result += `\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\t\tbackground: ${scrollbarSliderHoverBackgroundColor};\n\t\t\t\t}\n\t\t\t`;\n }\n const scrollbarSliderActiveBackgroundColor = style.scrollbarSliderActiveBackground;\n if (scrollbarSliderActiveBackgroundColor) {\n result += `\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\t\tbackground: ${scrollbarSliderActiveBackgroundColor};\n\t\t\t\t}\n\t\t\t`;\n }\n }\n return result;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.js":
+/*!**************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.js ***!
+ \**************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MOUSE_CURSOR_TEXT_CSS_CLASS_NAME: () => (/* binding */ MOUSE_CURSOR_TEXT_CSS_CLASS_NAME)\n/* harmony export */ });\n/* harmony import */ var _mouseCursor_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mouseCursor.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.css\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nconst MOUSE_CURSOR_TEXT_CSS_CLASS_NAME = `monaco-mouse-cursor-text`;\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.js":
+/*!**************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.js ***!
+ \**************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ProgressBar: () => (/* binding */ ProgressBar)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _progressbar_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./progressbar.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.css\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\nconst CSS_DONE = 'done';\nconst CSS_ACTIVE = 'active';\nconst CSS_INFINITE = 'infinite';\nconst CSS_INFINITE_LONG_RUNNING = 'infinite-long-running';\nconst CSS_DISCRETE = 'discrete';\n/**\n * A progress bar with support for infinite or discrete progress.\n */\nclass ProgressBar extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\n constructor(container, options) {\n super();\n this.workedVal = 0;\n this.showDelayedScheduler = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_1__.RunOnceScheduler(() => (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.show)(this.element), 0));\n this.longRunningScheduler = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_1__.RunOnceScheduler(() => this.infiniteLongRunning(), ProgressBar.LONG_RUNNING_INFINITE_THRESHOLD));\n this.create(container, options);\n }\n create(container, options) {\n this.element = document.createElement('div');\n this.element.classList.add('monaco-progress-container');\n this.element.setAttribute('role', 'progressbar');\n this.element.setAttribute('aria-valuemin', '0');\n container.appendChild(this.element);\n this.bit = document.createElement('div');\n this.bit.classList.add('progress-bit');\n this.bit.style.backgroundColor = (options === null || options === void 0 ? void 0 : options.progressBarBackground) || '#0E70C0';\n this.element.appendChild(this.bit);\n }\n off() {\n this.bit.style.width = 'inherit';\n this.bit.style.opacity = '1';\n this.element.classList.remove(CSS_ACTIVE, CSS_INFINITE, CSS_INFINITE_LONG_RUNNING, CSS_DISCRETE);\n this.workedVal = 0;\n this.totalWork = undefined;\n this.longRunningScheduler.cancel();\n }\n /**\n * Stops the progressbar from showing any progress instantly without fading out.\n */\n stop() {\n return this.doDone(false);\n }\n doDone(delayed) {\n this.element.classList.add(CSS_DONE);\n // discrete: let it grow to 100% width and hide afterwards\n if (!this.element.classList.contains(CSS_INFINITE)) {\n this.bit.style.width = 'inherit';\n if (delayed) {\n setTimeout(() => this.off(), 200);\n }\n else {\n this.off();\n }\n }\n // infinite: let it fade out and hide afterwards\n else {\n this.bit.style.opacity = '0';\n if (delayed) {\n setTimeout(() => this.off(), 200);\n }\n else {\n this.off();\n }\n }\n return this;\n }\n /**\n * Use this mode to indicate progress that has no total number of work units.\n */\n infinite() {\n this.bit.style.width = '2%';\n this.bit.style.opacity = '1';\n this.element.classList.remove(CSS_DISCRETE, CSS_DONE, CSS_INFINITE_LONG_RUNNING);\n this.element.classList.add(CSS_ACTIVE, CSS_INFINITE);\n this.longRunningScheduler.schedule();\n return this;\n }\n infiniteLongRunning() {\n this.element.classList.add(CSS_INFINITE_LONG_RUNNING);\n }\n getContainer() {\n return this.element;\n }\n}\n/**\n * After a certain time of showing the progress bar, switch\n * to long-running mode and throttle animations to reduce\n * the pressure on the GPU process.\n *\n * https://github.com/microsoft/vscode/issues/97900\n * https://github.com/microsoft/vscode/issues/138396\n */\nProgressBar.LONG_RUNNING_INFINITE_THRESHOLD = 10000;\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/resizable/resizable.js":
+/*!**********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/resizable/resizable.js ***!
+ \**********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ResizableHTMLElement: () => (/* binding */ ResizableHTMLElement)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../sash/sash.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\nclass ResizableHTMLElement {\n constructor() {\n this._onDidWillResize = new _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n this.onDidWillResize = this._onDidWillResize.event;\n this._onDidResize = new _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n this.onDidResize = this._onDidResize.event;\n this._sashListener = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.DisposableStore();\n this._size = new _dom_js__WEBPACK_IMPORTED_MODULE_0__.Dimension(0, 0);\n this._minSize = new _dom_js__WEBPACK_IMPORTED_MODULE_0__.Dimension(0, 0);\n this._maxSize = new _dom_js__WEBPACK_IMPORTED_MODULE_0__.Dimension(Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n this.domNode = document.createElement('div');\n this._eastSash = new _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__.Sash(this.domNode, { getVerticalSashLeft: () => this._size.width }, { orientation: 0 /* Orientation.VERTICAL */ });\n this._westSash = new _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__.Sash(this.domNode, { getVerticalSashLeft: () => 0 }, { orientation: 0 /* Orientation.VERTICAL */ });\n this._northSash = new _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__.Sash(this.domNode, { getHorizontalSashTop: () => 0 }, { orientation: 1 /* Orientation.HORIZONTAL */, orthogonalEdge: _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__.OrthogonalEdge.North });\n this._southSash = new _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__.Sash(this.domNode, { getHorizontalSashTop: () => this._size.height }, { orientation: 1 /* Orientation.HORIZONTAL */, orthogonalEdge: _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__.OrthogonalEdge.South });\n this._northSash.orthogonalStartSash = this._westSash;\n this._northSash.orthogonalEndSash = this._eastSash;\n this._southSash.orthogonalStartSash = this._westSash;\n this._southSash.orthogonalEndSash = this._eastSash;\n let currentSize;\n let deltaY = 0;\n let deltaX = 0;\n this._sashListener.add(_common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.any(this._northSash.onDidStart, this._eastSash.onDidStart, this._southSash.onDidStart, this._westSash.onDidStart)(() => {\n if (currentSize === undefined) {\n this._onDidWillResize.fire();\n currentSize = this._size;\n deltaY = 0;\n deltaX = 0;\n }\n }));\n this._sashListener.add(_common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.any(this._northSash.onDidEnd, this._eastSash.onDidEnd, this._southSash.onDidEnd, this._westSash.onDidEnd)(() => {\n if (currentSize !== undefined) {\n currentSize = undefined;\n deltaY = 0;\n deltaX = 0;\n this._onDidResize.fire({ dimension: this._size, done: true });\n }\n }));\n this._sashListener.add(this._eastSash.onDidChange(e => {\n if (currentSize) {\n deltaX = e.currentX - e.startX;\n this.layout(currentSize.height + deltaY, currentSize.width + deltaX);\n this._onDidResize.fire({ dimension: this._size, done: false, east: true });\n }\n }));\n this._sashListener.add(this._westSash.onDidChange(e => {\n if (currentSize) {\n deltaX = -(e.currentX - e.startX);\n this.layout(currentSize.height + deltaY, currentSize.width + deltaX);\n this._onDidResize.fire({ dimension: this._size, done: false, west: true });\n }\n }));\n this._sashListener.add(this._northSash.onDidChange(e => {\n if (currentSize) {\n deltaY = -(e.currentY - e.startY);\n this.layout(currentSize.height + deltaY, currentSize.width + deltaX);\n this._onDidResize.fire({ dimension: this._size, done: false, north: true });\n }\n }));\n this._sashListener.add(this._southSash.onDidChange(e => {\n if (currentSize) {\n deltaY = e.currentY - e.startY;\n this.layout(currentSize.height + deltaY, currentSize.width + deltaX);\n this._onDidResize.fire({ dimension: this._size, done: false, south: true });\n }\n }));\n this._sashListener.add(_common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.any(this._eastSash.onDidReset, this._westSash.onDidReset)(e => {\n if (this._preferredSize) {\n this.layout(this._size.height, this._preferredSize.width);\n this._onDidResize.fire({ dimension: this._size, done: true });\n }\n }));\n this._sashListener.add(_common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.any(this._northSash.onDidReset, this._southSash.onDidReset)(e => {\n if (this._preferredSize) {\n this.layout(this._preferredSize.height, this._size.width);\n this._onDidResize.fire({ dimension: this._size, done: true });\n }\n }));\n }\n dispose() {\n this._northSash.dispose();\n this._southSash.dispose();\n this._eastSash.dispose();\n this._westSash.dispose();\n this._sashListener.dispose();\n this._onDidResize.dispose();\n this._onDidWillResize.dispose();\n this.domNode.remove();\n }\n enableSashes(north, east, south, west) {\n this._northSash.state = north ? 3 /* SashState.Enabled */ : 0 /* SashState.Disabled */;\n this._eastSash.state = east ? 3 /* SashState.Enabled */ : 0 /* SashState.Disabled */;\n this._southSash.state = south ? 3 /* SashState.Enabled */ : 0 /* SashState.Disabled */;\n this._westSash.state = west ? 3 /* SashState.Enabled */ : 0 /* SashState.Disabled */;\n }\n layout(height = this.size.height, width = this.size.width) {\n const { height: minHeight, width: minWidth } = this._minSize;\n const { height: maxHeight, width: maxWidth } = this._maxSize;\n height = Math.max(minHeight, Math.min(maxHeight, height));\n width = Math.max(minWidth, Math.min(maxWidth, width));\n const newSize = new _dom_js__WEBPACK_IMPORTED_MODULE_0__.Dimension(width, height);\n if (!_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dimension.equals(newSize, this._size)) {\n this.domNode.style.height = height + 'px';\n this.domNode.style.width = width + 'px';\n this._size = newSize;\n this._northSash.layout();\n this._eastSash.layout();\n this._southSash.layout();\n this._westSash.layout();\n }\n }\n clearSashHoverState() {\n this._eastSash.clearSashHoverState();\n this._westSash.clearSashHoverState();\n this._northSash.clearSashHoverState();\n this._southSash.clearSashHoverState();\n }\n get size() {\n return this._size;\n }\n set maxSize(value) {\n this._maxSize = value;\n }\n get maxSize() {\n return this._maxSize;\n }\n set minSize(value) {\n this._minSize = value;\n }\n get minSize() {\n return this._minSize;\n }\n set preferredSize(value) {\n this._preferredSize = value;\n }\n get preferredSize() {\n return this._preferredSize;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/resizable/resizable.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js":
+/*!************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js ***!
+ \************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OrthogonalEdge: () => (/* binding */ OrthogonalEdge),\n/* harmony export */ Sash: () => (/* binding */ Sash)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _sash_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./sash.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.css\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n/**\n * Allow the sashes to be visible at runtime.\n * @remark Use for development purposes only.\n */\nconst DEBUG = false;\nvar OrthogonalEdge;\n(function (OrthogonalEdge) {\n OrthogonalEdge[\"North\"] = \"north\";\n OrthogonalEdge[\"South\"] = \"south\";\n OrthogonalEdge[\"East\"] = \"east\";\n OrthogonalEdge[\"West\"] = \"west\";\n})(OrthogonalEdge || (OrthogonalEdge = {}));\nlet globalSize = 4;\nconst onDidChangeGlobalSize = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\nlet globalHoverDelay = 300;\nconst onDidChangeHoverDelay = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\nclass MouseEventFactory {\n constructor(el) {\n this.el = el;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore();\n }\n get onPointerMove() {\n return this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.getWindow)(this.el), 'mousemove')).event;\n }\n get onPointerUp() {\n return this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.getWindow)(this.el), 'mouseup')).event;\n }\n dispose() {\n this.disposables.dispose();\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\n], MouseEventFactory.prototype, \"onPointerMove\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\n], MouseEventFactory.prototype, \"onPointerUp\", null);\nclass GestureEventFactory {\n get onPointerMove() {\n return this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Change)).event;\n }\n get onPointerUp() {\n return this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.End)).event;\n }\n constructor(el) {\n this.el = el;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore();\n }\n dispose() {\n this.disposables.dispose();\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\n], GestureEventFactory.prototype, \"onPointerMove\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\n], GestureEventFactory.prototype, \"onPointerUp\", null);\nclass OrthogonalPointerEventFactory {\n get onPointerMove() {\n return this.factory.onPointerMove;\n }\n get onPointerUp() {\n return this.factory.onPointerUp;\n }\n constructor(factory) {\n this.factory = factory;\n }\n dispose() {\n // noop\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\n], OrthogonalPointerEventFactory.prototype, \"onPointerMove\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\n], OrthogonalPointerEventFactory.prototype, \"onPointerUp\", null);\nconst PointerEventsDisabledCssClass = 'pointer-events-disabled';\n/**\n * The {@link Sash} is the UI component which allows the user to resize other\n * components. It's usually an invisible horizontal or vertical line which, when\n * hovered, becomes highlighted and can be dragged along the perpendicular dimension\n * to its direction.\n *\n * Features:\n * - Touch event handling\n * - Corner sash support\n * - Hover with different mouse cursor support\n * - Configurable hover size\n * - Linked sash support, for 2x2 corner sashes\n */\nclass Sash extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.Disposable {\n get state() { return this._state; }\n get orthogonalStartSash() { return this._orthogonalStartSash; }\n get orthogonalEndSash() { return this._orthogonalEndSash; }\n /**\n * The state of a sash defines whether it can be interacted with by the user\n * as well as what mouse cursor to use, when hovered.\n */\n set state(state) {\n if (this._state === state) {\n return;\n }\n this.el.classList.toggle('disabled', state === 0 /* SashState.Disabled */);\n this.el.classList.toggle('minimum', state === 1 /* SashState.AtMinimum */);\n this.el.classList.toggle('maximum', state === 2 /* SashState.AtMaximum */);\n this._state = state;\n this.onDidEnablementChange.fire(state);\n }\n /**\n * A reference to another sash, perpendicular to this one, which\n * aligns at the start of this one. A corner sash will be created\n * automatically at that location.\n *\n * The start of a horizontal sash is its left-most position.\n * The start of a vertical sash is its top-most position.\n */\n set orthogonalStartSash(sash) {\n if (this._orthogonalStartSash === sash) {\n return;\n }\n this.orthogonalStartDragHandleDisposables.clear();\n this.orthogonalStartSashDisposables.clear();\n if (sash) {\n const onChange = (state) => {\n this.orthogonalStartDragHandleDisposables.clear();\n if (state !== 0 /* SashState.Disabled */) {\n this._orthogonalStartDragHandle = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(this.el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.orthogonal-drag-handle.start'));\n this.orthogonalStartDragHandleDisposables.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.toDisposable)(() => this._orthogonalStartDragHandle.remove()));\n this.orthogonalStartDragHandleDisposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this._orthogonalStartDragHandle, 'mouseenter')).event(() => Sash.onMouseEnter(sash), undefined, this.orthogonalStartDragHandleDisposables);\n this.orthogonalStartDragHandleDisposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this._orthogonalStartDragHandle, 'mouseleave')).event(() => Sash.onMouseLeave(sash), undefined, this.orthogonalStartDragHandleDisposables);\n }\n };\n this.orthogonalStartSashDisposables.add(sash.onDidEnablementChange.event(onChange, this));\n onChange(sash.state);\n }\n this._orthogonalStartSash = sash;\n }\n /**\n * A reference to another sash, perpendicular to this one, which\n * aligns at the end of this one. A corner sash will be created\n * automatically at that location.\n *\n * The end of a horizontal sash is its right-most position.\n * The end of a vertical sash is its bottom-most position.\n */\n set orthogonalEndSash(sash) {\n if (this._orthogonalEndSash === sash) {\n return;\n }\n this.orthogonalEndDragHandleDisposables.clear();\n this.orthogonalEndSashDisposables.clear();\n if (sash) {\n const onChange = (state) => {\n this.orthogonalEndDragHandleDisposables.clear();\n if (state !== 0 /* SashState.Disabled */) {\n this._orthogonalEndDragHandle = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(this.el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.orthogonal-drag-handle.end'));\n this.orthogonalEndDragHandleDisposables.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.toDisposable)(() => this._orthogonalEndDragHandle.remove()));\n this.orthogonalEndDragHandleDisposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this._orthogonalEndDragHandle, 'mouseenter')).event(() => Sash.onMouseEnter(sash), undefined, this.orthogonalEndDragHandleDisposables);\n this.orthogonalEndDragHandleDisposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this._orthogonalEndDragHandle, 'mouseleave')).event(() => Sash.onMouseLeave(sash), undefined, this.orthogonalEndDragHandleDisposables);\n }\n };\n this.orthogonalEndSashDisposables.add(sash.onDidEnablementChange.event(onChange, this));\n onChange(sash.state);\n }\n this._orthogonalEndSash = sash;\n }\n constructor(container, layoutProvider, options) {\n super();\n this.hoverDelay = globalHoverDelay;\n this.hoverDelayer = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_3__.Delayer(this.hoverDelay));\n this._state = 3 /* SashState.Enabled */;\n this.onDidEnablementChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onDidStart = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onDidChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onDidReset = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onDidEnd = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this.orthogonalStartSashDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore());\n this.orthogonalStartDragHandleDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore());\n this.orthogonalEndSashDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore());\n this.orthogonalEndDragHandleDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore());\n /**\n * An event which fires whenever the user starts dragging this sash.\n */\n this.onDidStart = this._onDidStart.event;\n /**\n * An event which fires whenever the user moves the mouse while\n * dragging this sash.\n */\n this.onDidChange = this._onDidChange.event;\n /**\n * An event which fires whenever the user double clicks this sash.\n */\n this.onDidReset = this._onDidReset.event;\n /**\n * An event which fires whenever the user stops dragging this sash.\n */\n this.onDidEnd = this._onDidEnd.event;\n /**\n * A linked sash will be forwarded the same user interactions and events\n * so it moves exactly the same way as this sash.\n *\n * Useful in 2x2 grids. Not meant for widespread usage.\n */\n this.linkedSash = undefined;\n this.el = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-sash'));\n if (options.orthogonalEdge) {\n this.el.classList.add(`orthogonal-edge-${options.orthogonalEdge}`);\n }\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_7__.isMacintosh) {\n this.el.classList.add('mac');\n }\n const onMouseDown = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, 'mousedown')).event;\n this._register(onMouseDown(e => this.onPointerStart(e, new MouseEventFactory(container)), this));\n const onMouseDoubleClick = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, 'dblclick')).event;\n this._register(onMouseDoubleClick(this.onPointerDoublePress, this));\n const onMouseEnter = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, 'mouseenter')).event;\n this._register(onMouseEnter(() => Sash.onMouseEnter(this)));\n const onMouseLeave = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, 'mouseleave')).event;\n this._register(onMouseLeave(() => Sash.onMouseLeave(this)));\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_2__.Gesture.addTarget(this.el));\n const onTouchStart = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Start)).event;\n this._register(onTouchStart(e => this.onPointerStart(e, new GestureEventFactory(this.el)), this));\n const onTap = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Tap)).event;\n let doubleTapTimeout = undefined;\n this._register(onTap(event => {\n if (doubleTapTimeout) {\n clearTimeout(doubleTapTimeout);\n doubleTapTimeout = undefined;\n this.onPointerDoublePress(event);\n return;\n }\n clearTimeout(doubleTapTimeout);\n doubleTapTimeout = setTimeout(() => doubleTapTimeout = undefined, 250);\n }, this));\n if (typeof options.size === 'number') {\n this.size = options.size;\n if (options.orientation === 0 /* Orientation.VERTICAL */) {\n this.el.style.width = `${this.size}px`;\n }\n else {\n this.el.style.height = `${this.size}px`;\n }\n }\n else {\n this.size = globalSize;\n this._register(onDidChangeGlobalSize.event(size => {\n this.size = size;\n this.layout();\n }));\n }\n this._register(onDidChangeHoverDelay.event(delay => this.hoverDelay = delay));\n this.layoutProvider = layoutProvider;\n this.orthogonalStartSash = options.orthogonalStartSash;\n this.orthogonalEndSash = options.orthogonalEndSash;\n this.orientation = options.orientation || 0 /* Orientation.VERTICAL */;\n if (this.orientation === 1 /* Orientation.HORIZONTAL */) {\n this.el.classList.add('horizontal');\n this.el.classList.remove('vertical');\n }\n else {\n this.el.classList.remove('horizontal');\n this.el.classList.add('vertical');\n }\n this.el.classList.toggle('debug', DEBUG);\n this.layout();\n }\n onPointerStart(event, pointerEventFactory) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(event);\n let isMultisashResize = false;\n if (!event.__orthogonalSashEvent) {\n const orthogonalSash = this.getOrthogonalSash(event);\n if (orthogonalSash) {\n isMultisashResize = true;\n event.__orthogonalSashEvent = true;\n orthogonalSash.onPointerStart(event, new OrthogonalPointerEventFactory(pointerEventFactory));\n }\n }\n if (this.linkedSash && !event.__linkedSashEvent) {\n event.__linkedSashEvent = true;\n this.linkedSash.onPointerStart(event, new OrthogonalPointerEventFactory(pointerEventFactory));\n }\n if (!this.state) {\n return;\n }\n const iframes = this.el.ownerDocument.getElementsByTagName('iframe');\n for (const iframe of iframes) {\n iframe.classList.add(PointerEventsDisabledCssClass); // disable mouse events on iframes as long as we drag the sash\n }\n const startX = event.pageX;\n const startY = event.pageY;\n const altKey = event.altKey;\n const startEvent = { startX, currentX: startX, startY, currentY: startY, altKey };\n this.el.classList.add('active');\n this._onDidStart.fire(startEvent);\n // fix https://github.com/microsoft/vscode/issues/21675\n const style = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.createStyleSheet)(this.el);\n const updateStyle = () => {\n let cursor = '';\n if (isMultisashResize) {\n cursor = 'all-scroll';\n }\n else if (this.orientation === 1 /* Orientation.HORIZONTAL */) {\n if (this.state === 1 /* SashState.AtMinimum */) {\n cursor = 's-resize';\n }\n else if (this.state === 2 /* SashState.AtMaximum */) {\n cursor = 'n-resize';\n }\n else {\n cursor = _common_platform_js__WEBPACK_IMPORTED_MODULE_7__.isMacintosh ? 'row-resize' : 'ns-resize';\n }\n }\n else {\n if (this.state === 1 /* SashState.AtMinimum */) {\n cursor = 'e-resize';\n }\n else if (this.state === 2 /* SashState.AtMaximum */) {\n cursor = 'w-resize';\n }\n else {\n cursor = _common_platform_js__WEBPACK_IMPORTED_MODULE_7__.isMacintosh ? 'col-resize' : 'ew-resize';\n }\n }\n style.textContent = `* { cursor: ${cursor} !important; }`;\n };\n const disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore();\n updateStyle();\n if (!isMultisashResize) {\n this.onDidEnablementChange.event(updateStyle, null, disposables);\n }\n const onPointerMove = (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, false);\n const event = { startX, currentX: e.pageX, startY, currentY: e.pageY, altKey };\n this._onDidChange.fire(event);\n };\n const onPointerUp = (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, false);\n this.el.removeChild(style);\n this.el.classList.remove('active');\n this._onDidEnd.fire();\n disposables.dispose();\n for (const iframe of iframes) {\n iframe.classList.remove(PointerEventsDisabledCssClass);\n }\n };\n pointerEventFactory.onPointerMove(onPointerMove, null, disposables);\n pointerEventFactory.onPointerUp(onPointerUp, null, disposables);\n disposables.add(pointerEventFactory);\n }\n onPointerDoublePress(e) {\n const orthogonalSash = this.getOrthogonalSash(e);\n if (orthogonalSash) {\n orthogonalSash._onDidReset.fire();\n }\n if (this.linkedSash) {\n this.linkedSash._onDidReset.fire();\n }\n this._onDidReset.fire();\n }\n static onMouseEnter(sash, fromLinkedSash = false) {\n if (sash.el.classList.contains('active')) {\n sash.hoverDelayer.cancel();\n sash.el.classList.add('hover');\n }\n else {\n sash.hoverDelayer.trigger(() => sash.el.classList.add('hover'), sash.hoverDelay).then(undefined, () => { });\n }\n if (!fromLinkedSash && sash.linkedSash) {\n Sash.onMouseEnter(sash.linkedSash, true);\n }\n }\n static onMouseLeave(sash, fromLinkedSash = false) {\n sash.hoverDelayer.cancel();\n sash.el.classList.remove('hover');\n if (!fromLinkedSash && sash.linkedSash) {\n Sash.onMouseLeave(sash.linkedSash, true);\n }\n }\n /**\n * Forcefully stop any user interactions with this sash.\n * Useful when hiding a parent component, while the user is still\n * interacting with the sash.\n */\n clearSashHoverState() {\n Sash.onMouseLeave(this);\n }\n /**\n * Layout the sash. The sash will size and position itself\n * based on its provided {@link ISashLayoutProvider layout provider}.\n */\n layout() {\n if (this.orientation === 0 /* Orientation.VERTICAL */) {\n const verticalProvider = this.layoutProvider;\n this.el.style.left = verticalProvider.getVerticalSashLeft(this) - (this.size / 2) + 'px';\n if (verticalProvider.getVerticalSashTop) {\n this.el.style.top = verticalProvider.getVerticalSashTop(this) + 'px';\n }\n if (verticalProvider.getVerticalSashHeight) {\n this.el.style.height = verticalProvider.getVerticalSashHeight(this) + 'px';\n }\n }\n else {\n const horizontalProvider = this.layoutProvider;\n this.el.style.top = horizontalProvider.getHorizontalSashTop(this) - (this.size / 2) + 'px';\n if (horizontalProvider.getHorizontalSashLeft) {\n this.el.style.left = horizontalProvider.getHorizontalSashLeft(this) + 'px';\n }\n if (horizontalProvider.getHorizontalSashWidth) {\n this.el.style.width = horizontalProvider.getHorizontalSashWidth(this) + 'px';\n }\n }\n }\n getOrthogonalSash(e) {\n var _a;\n const target = (_a = e.initialTarget) !== null && _a !== void 0 ? _a : e.target;\n if (!target || !(target instanceof HTMLElement)) {\n return undefined;\n }\n if (target.classList.contains('orthogonal-drag-handle')) {\n return target.classList.contains('start') ? this.orthogonalStartSash : this.orthogonalEndSash;\n }\n return undefined;\n }\n dispose() {\n super.dispose();\n this.el.remove();\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js":
+/*!******************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js ***!
+ \******************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbstractScrollbar: () => (/* binding */ AbstractScrollbar)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _fastDomNode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../fastDomNode.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.js\");\n/* harmony import */ var _globalPointerMoveMonitor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../globalPointerMoveMonitor.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/globalPointerMoveMonitor.js\");\n/* harmony import */ var _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./scrollbarArrow.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js\");\n/* harmony import */ var _scrollbarVisibilityController_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./scrollbarVisibilityController.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n/**\n * The orthogonal distance to the slider at which dragging \"resets\". This implements \"snapping\"\n */\nconst POINTER_DRAG_RESET_DISTANCE = 140;\nclass AbstractScrollbar extends _widget_js__WEBPACK_IMPORTED_MODULE_5__.Widget {\n constructor(opts) {\n super();\n this._lazyRender = opts.lazyRender;\n this._host = opts.host;\n this._scrollable = opts.scrollable;\n this._scrollByPage = opts.scrollByPage;\n this._scrollbarState = opts.scrollbarState;\n this._visibilityController = this._register(new _scrollbarVisibilityController_js__WEBPACK_IMPORTED_MODULE_4__.ScrollbarVisibilityController(opts.visibility, 'visible scrollbar ' + opts.extraScrollbarClassName, 'invisible scrollbar ' + opts.extraScrollbarClassName));\n this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());\n this._pointerMoveMonitor = this._register(new _globalPointerMoveMonitor_js__WEBPACK_IMPORTED_MODULE_2__.GlobalPointerMoveMonitor());\n this._shouldRender = true;\n this.domNode = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_1__.createFastDomNode)(document.createElement('div'));\n this.domNode.setAttribute('role', 'presentation');\n this.domNode.setAttribute('aria-hidden', 'true');\n this._visibilityController.setDomNode(this.domNode);\n this.domNode.setPosition('absolute');\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.domNode.domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.POINTER_DOWN, (e) => this._domNodePointerDown(e)));\n }\n // ----------------- creation\n /**\n * Creates the dom node for an arrow & adds it to the container\n */\n _createArrow(opts) {\n const arrow = this._register(new _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_3__.ScrollbarArrow(opts));\n this.domNode.domNode.appendChild(arrow.bgDomNode);\n this.domNode.domNode.appendChild(arrow.domNode);\n }\n /**\n * Creates the slider dom node, adds it to the container & hooks up the events\n */\n _createSlider(top, left, width, height) {\n this.slider = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_1__.createFastDomNode)(document.createElement('div'));\n this.slider.setClassName('slider');\n this.slider.setPosition('absolute');\n this.slider.setTop(top);\n this.slider.setLeft(left);\n if (typeof width === 'number') {\n this.slider.setWidth(width);\n }\n if (typeof height === 'number') {\n this.slider.setHeight(height);\n }\n this.slider.setLayerHinting(true);\n this.slider.setContain('strict');\n this.domNode.domNode.appendChild(this.slider.domNode);\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.slider.domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.POINTER_DOWN, (e) => {\n if (e.button === 0) {\n e.preventDefault();\n this._sliderPointerDown(e);\n }\n }));\n this.onclick(this.slider.domNode, e => {\n if (e.leftButton) {\n e.stopPropagation();\n }\n });\n }\n // ----------------- Update state\n _onElementSize(visibleSize) {\n if (this._scrollbarState.setVisibleSize(visibleSize)) {\n this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());\n this._shouldRender = true;\n if (!this._lazyRender) {\n this.render();\n }\n }\n return this._shouldRender;\n }\n _onElementScrollSize(elementScrollSize) {\n if (this._scrollbarState.setScrollSize(elementScrollSize)) {\n this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());\n this._shouldRender = true;\n if (!this._lazyRender) {\n this.render();\n }\n }\n return this._shouldRender;\n }\n _onElementScrollPosition(elementScrollPosition) {\n if (this._scrollbarState.setScrollPosition(elementScrollPosition)) {\n this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());\n this._shouldRender = true;\n if (!this._lazyRender) {\n this.render();\n }\n }\n return this._shouldRender;\n }\n // ----------------- rendering\n beginReveal() {\n this._visibilityController.setShouldBeVisible(true);\n }\n beginHide() {\n this._visibilityController.setShouldBeVisible(false);\n }\n render() {\n if (!this._shouldRender) {\n return;\n }\n this._shouldRender = false;\n this._renderDomNode(this._scrollbarState.getRectangleLargeSize(), this._scrollbarState.getRectangleSmallSize());\n this._updateSlider(this._scrollbarState.getSliderSize(), this._scrollbarState.getArrowSize() + this._scrollbarState.getSliderPosition());\n }\n // ----------------- DOM events\n _domNodePointerDown(e) {\n if (e.target !== this.domNode.domNode) {\n return;\n }\n this._onPointerDown(e);\n }\n delegatePointerDown(e) {\n const domTop = this.domNode.domNode.getClientRects()[0].top;\n const sliderStart = domTop + this._scrollbarState.getSliderPosition();\n const sliderStop = domTop + this._scrollbarState.getSliderPosition() + this._scrollbarState.getSliderSize();\n const pointerPos = this._sliderPointerPosition(e);\n if (sliderStart <= pointerPos && pointerPos <= sliderStop) {\n // Act as if it was a pointer down on the slider\n if (e.button === 0) {\n e.preventDefault();\n this._sliderPointerDown(e);\n }\n }\n else {\n // Act as if it was a pointer down on the scrollbar\n this._onPointerDown(e);\n }\n }\n _onPointerDown(e) {\n let offsetX;\n let offsetY;\n if (e.target === this.domNode.domNode && typeof e.offsetX === 'number' && typeof e.offsetY === 'number') {\n offsetX = e.offsetX;\n offsetY = e.offsetY;\n }\n else {\n const domNodePosition = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getDomNodePagePosition(this.domNode.domNode);\n offsetX = e.pageX - domNodePosition.left;\n offsetY = e.pageY - domNodePosition.top;\n }\n const offset = this._pointerDownRelativePosition(offsetX, offsetY);\n this._setDesiredScrollPositionNow(this._scrollByPage\n ? this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(offset)\n : this._scrollbarState.getDesiredScrollPositionFromOffset(offset));\n if (e.button === 0) {\n // left button\n e.preventDefault();\n this._sliderPointerDown(e);\n }\n }\n _sliderPointerDown(e) {\n if (!e.target || !(e.target instanceof Element)) {\n return;\n }\n const initialPointerPosition = this._sliderPointerPosition(e);\n const initialPointerOrthogonalPosition = this._sliderOrthogonalPointerPosition(e);\n const initialScrollbarState = this._scrollbarState.clone();\n this.slider.toggleClassName('active', true);\n this._pointerMoveMonitor.startMonitoring(e.target, e.pointerId, e.buttons, (pointerMoveData) => {\n const pointerOrthogonalPosition = this._sliderOrthogonalPointerPosition(pointerMoveData);\n const pointerOrthogonalDelta = Math.abs(pointerOrthogonalPosition - initialPointerOrthogonalPosition);\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_6__.isWindows && pointerOrthogonalDelta > POINTER_DRAG_RESET_DISTANCE) {\n // The pointer has wondered away from the scrollbar => reset dragging\n this._setDesiredScrollPositionNow(initialScrollbarState.getScrollPosition());\n return;\n }\n const pointerPosition = this._sliderPointerPosition(pointerMoveData);\n const pointerDelta = pointerPosition - initialPointerPosition;\n this._setDesiredScrollPositionNow(initialScrollbarState.getDesiredScrollPositionFromDelta(pointerDelta));\n }, () => {\n this.slider.toggleClassName('active', false);\n this._host.onDragEnd();\n });\n this._host.onDragStart();\n }\n _setDesiredScrollPositionNow(_desiredScrollPosition) {\n const desiredScrollPosition = {};\n this.writeScrollPosition(desiredScrollPosition, _desiredScrollPosition);\n this._scrollable.setScrollPositionNow(desiredScrollPosition);\n }\n updateScrollbarSize(scrollbarSize) {\n this._updateScrollbarSize(scrollbarSize);\n this._scrollbarState.setScrollbarSize(scrollbarSize);\n this._shouldRender = true;\n if (!this._lazyRender) {\n this.render();\n }\n }\n isNeeded() {\n return this._scrollbarState.isNeeded();\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js":
+/*!********************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js ***!
+ \********************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HorizontalScrollbar: () => (/* binding */ HorizontalScrollbar)\n/* harmony export */ });\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _abstractScrollbar_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abstractScrollbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js\");\n/* harmony import */ var _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./scrollbarArrow.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js\");\n/* harmony import */ var _scrollbarState_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./scrollbarState.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\nclass HorizontalScrollbar extends _abstractScrollbar_js__WEBPACK_IMPORTED_MODULE_1__.AbstractScrollbar {\n constructor(scrollable, options, host) {\n const scrollDimensions = scrollable.getScrollDimensions();\n const scrollPosition = scrollable.getCurrentScrollPosition();\n super({\n lazyRender: options.lazyRender,\n host: host,\n scrollbarState: new _scrollbarState_js__WEBPACK_IMPORTED_MODULE_3__.ScrollbarState((options.horizontalHasArrows ? options.arrowSize : 0), (options.horizontal === 2 /* ScrollbarVisibility.Hidden */ ? 0 : options.horizontalScrollbarSize), (options.vertical === 2 /* ScrollbarVisibility.Hidden */ ? 0 : options.verticalScrollbarSize), scrollDimensions.width, scrollDimensions.scrollWidth, scrollPosition.scrollLeft),\n visibility: options.horizontal,\n extraScrollbarClassName: 'horizontal',\n scrollable: scrollable,\n scrollByPage: options.scrollByPage\n });\n if (options.horizontalHasArrows) {\n const arrowDelta = (options.arrowSize - _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__.ARROW_IMG_SIZE) / 2;\n const scrollbarDelta = (options.horizontalScrollbarSize - _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__.ARROW_IMG_SIZE) / 2;\n this._createArrow({\n className: 'scra',\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.scrollbarButtonLeft,\n top: scrollbarDelta,\n left: arrowDelta,\n bottom: undefined,\n right: undefined,\n bgWidth: options.arrowSize,\n bgHeight: options.horizontalScrollbarSize,\n onActivate: () => this._host.onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__.StandardWheelEvent(null, 1, 0)),\n });\n this._createArrow({\n className: 'scra',\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.scrollbarButtonRight,\n top: scrollbarDelta,\n left: undefined,\n bottom: undefined,\n right: arrowDelta,\n bgWidth: options.arrowSize,\n bgHeight: options.horizontalScrollbarSize,\n onActivate: () => this._host.onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__.StandardWheelEvent(null, -1, 0)),\n });\n }\n this._createSlider(Math.floor((options.horizontalScrollbarSize - options.horizontalSliderSize) / 2), 0, undefined, options.horizontalSliderSize);\n }\n _updateSlider(sliderSize, sliderPosition) {\n this.slider.setWidth(sliderSize);\n this.slider.setLeft(sliderPosition);\n }\n _renderDomNode(largeSize, smallSize) {\n this.domNode.setWidth(largeSize);\n this.domNode.setHeight(smallSize);\n this.domNode.setLeft(0);\n this.domNode.setBottom(0);\n }\n onDidScroll(e) {\n this._shouldRender = this._onElementScrollSize(e.scrollWidth) || this._shouldRender;\n this._shouldRender = this._onElementScrollPosition(e.scrollLeft) || this._shouldRender;\n this._shouldRender = this._onElementSize(e.width) || this._shouldRender;\n return this._shouldRender;\n }\n _pointerDownRelativePosition(offsetX, offsetY) {\n return offsetX;\n }\n _sliderPointerPosition(e) {\n return e.pageX;\n }\n _sliderOrthogonalPointerPosition(e) {\n return e.pageY;\n }\n _updateScrollbarSize(size) {\n this.slider.setHeight(size);\n }\n writeScrollPosition(target, scrollPosition) {\n target.scrollLeft = scrollPosition;\n }\n updateOptions(options) {\n this.updateScrollbarSize(options.horizontal === 2 /* ScrollbarVisibility.Hidden */ ? 0 : options.horizontalScrollbarSize);\n this._scrollbarState.setOppositeScrollbarSize(options.vertical === 2 /* ScrollbarVisibility.Hidden */ ? 0 : options.verticalScrollbarSize);\n this._visibilityController.setVisibility(options.horizontal);\n this._scrollByPage = options.scrollByPage;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js":
+/*!******************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js ***!
+ \******************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbstractScrollableElement: () => (/* binding */ AbstractScrollableElement),\n/* harmony export */ DomScrollableElement: () => (/* binding */ DomScrollableElement),\n/* harmony export */ MouseWheelClassifier: () => (/* binding */ MouseWheelClassifier),\n/* harmony export */ ScrollableElement: () => (/* binding */ ScrollableElement),\n/* harmony export */ SmoothScrollableElement: () => (/* binding */ SmoothScrollableElement)\n/* harmony export */ });\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _fastDomNode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../fastDomNode.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _horizontalScrollbar_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./horizontalScrollbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js\");\n/* harmony import */ var _verticalScrollbar_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./verticalScrollbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_scrollable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/scrollable.js */ \"./node_modules/monaco-editor/esm/vs/base/common/scrollable.js\");\n/* harmony import */ var _media_scrollbars_css__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./media/scrollbars.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/media/scrollbars.css\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst HIDE_TIMEOUT = 500;\nconst SCROLL_WHEEL_SENSITIVITY = 50;\nconst SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED = true;\nclass MouseWheelClassifierItem {\n constructor(timestamp, deltaX, deltaY) {\n this.timestamp = timestamp;\n this.deltaX = deltaX;\n this.deltaY = deltaY;\n this.score = 0;\n }\n}\nclass MouseWheelClassifier {\n constructor() {\n this._capacity = 5;\n this._memory = [];\n this._front = -1;\n this._rear = -1;\n }\n isPhysicalMouseWheel() {\n if (this._front === -1 && this._rear === -1) {\n // no elements\n return false;\n }\n // 0.5 * last + 0.25 * 2nd last + 0.125 * 3rd last + ...\n let remainingInfluence = 1;\n let score = 0;\n let iteration = 1;\n let index = this._rear;\n do {\n const influence = (index === this._front ? remainingInfluence : Math.pow(2, -iteration));\n remainingInfluence -= influence;\n score += this._memory[index].score * influence;\n if (index === this._front) {\n break;\n }\n index = (this._capacity + index - 1) % this._capacity;\n iteration++;\n } while (true);\n return (score <= 0.5);\n }\n acceptStandardWheelEvent(e) {\n const osZoomFactor = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getWindow(e.browserEvent).devicePixelRatio / (0,_browser_js__WEBPACK_IMPORTED_MODULE_0__.getZoomFactor)();\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isWindows || _common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isLinux) {\n // On Windows and Linux, the incoming delta events are multiplied with the OS zoom factor.\n // The OS zoom factor can be reverse engineered by using the device pixel ratio and the configured zoom factor into account.\n this.accept(Date.now(), e.deltaX / osZoomFactor, e.deltaY / osZoomFactor);\n }\n else {\n this.accept(Date.now(), e.deltaX, e.deltaY);\n }\n }\n accept(timestamp, deltaX, deltaY) {\n const item = new MouseWheelClassifierItem(timestamp, deltaX, deltaY);\n item.score = this._computeScore(item);\n if (this._front === -1 && this._rear === -1) {\n this._memory[0] = item;\n this._front = 0;\n this._rear = 0;\n }\n else {\n this._rear = (this._rear + 1) % this._capacity;\n if (this._rear === this._front) {\n // Drop oldest\n this._front = (this._front + 1) % this._capacity;\n }\n this._memory[this._rear] = item;\n }\n }\n /**\n * A score between 0 and 1 for `item`.\n * - a score towards 0 indicates that the source appears to be a physical mouse wheel\n * - a score towards 1 indicates that the source appears to be a touchpad or magic mouse, etc.\n */\n _computeScore(item) {\n if (Math.abs(item.deltaX) > 0 && Math.abs(item.deltaY) > 0) {\n // both axes exercised => definitely not a physical mouse wheel\n return 1;\n }\n let score = 0.5;\n const prev = (this._front === -1 && this._rear === -1 ? null : this._memory[this._rear]);\n if (prev) {\n // const deltaT = item.timestamp - prev.timestamp;\n // if (deltaT < 1000 / 30) {\n // \t// sooner than X times per second => indicator that this is not a physical mouse wheel\n // \tscore += 0.25;\n // }\n // if (item.deltaX === prev.deltaX && item.deltaY === prev.deltaY) {\n // \t// equal amplitude => indicator that this is a physical mouse wheel\n // \tscore -= 0.25;\n // }\n }\n if (!this._isAlmostInt(item.deltaX) || !this._isAlmostInt(item.deltaY)) {\n // non-integer deltas => indicator that this is not a physical mouse wheel\n score += 0.25;\n }\n return Math.min(Math.max(score, 0), 1);\n }\n _isAlmostInt(value) {\n const delta = Math.abs(Math.round(value) - value);\n return (delta < 0.01);\n }\n}\nMouseWheelClassifier.INSTANCE = new MouseWheelClassifier();\nclass AbstractScrollableElement extends _widget_js__WEBPACK_IMPORTED_MODULE_6__.Widget {\n get options() {\n return this._options;\n }\n constructor(element, options, scrollable) {\n super();\n this._onScroll = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter());\n this.onScroll = this._onScroll.event;\n this._onWillScroll = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter());\n element.style.overflow = 'hidden';\n this._options = resolveOptions(options);\n this._scrollable = scrollable;\n this._register(this._scrollable.onScroll((e) => {\n this._onWillScroll.fire(e);\n this._onDidScroll(e);\n this._onScroll.fire(e);\n }));\n const scrollbarHost = {\n onMouseWheel: (mouseWheelEvent) => this._onMouseWheel(mouseWheelEvent),\n onDragStart: () => this._onDragStart(),\n onDragEnd: () => this._onDragEnd(),\n };\n this._verticalScrollbar = this._register(new _verticalScrollbar_js__WEBPACK_IMPORTED_MODULE_5__.VerticalScrollbar(this._scrollable, this._options, scrollbarHost));\n this._horizontalScrollbar = this._register(new _horizontalScrollbar_js__WEBPACK_IMPORTED_MODULE_4__.HorizontalScrollbar(this._scrollable, this._options, scrollbarHost));\n this._domNode = document.createElement('div');\n this._domNode.className = 'monaco-scrollable-element ' + this._options.className;\n this._domNode.setAttribute('role', 'presentation');\n this._domNode.style.position = 'relative';\n this._domNode.style.overflow = 'hidden';\n this._domNode.appendChild(element);\n this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode);\n this._domNode.appendChild(this._verticalScrollbar.domNode.domNode);\n if (this._options.useShadows) {\n this._leftShadowDomNode = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_2__.createFastDomNode)(document.createElement('div'));\n this._leftShadowDomNode.setClassName('shadow');\n this._domNode.appendChild(this._leftShadowDomNode.domNode);\n this._topShadowDomNode = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_2__.createFastDomNode)(document.createElement('div'));\n this._topShadowDomNode.setClassName('shadow');\n this._domNode.appendChild(this._topShadowDomNode.domNode);\n this._topLeftShadowDomNode = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_2__.createFastDomNode)(document.createElement('div'));\n this._topLeftShadowDomNode.setClassName('shadow');\n this._domNode.appendChild(this._topLeftShadowDomNode.domNode);\n }\n else {\n this._leftShadowDomNode = null;\n this._topShadowDomNode = null;\n this._topLeftShadowDomNode = null;\n }\n this._listenOnDomNode = this._options.listenOnDomNode || this._domNode;\n this._mouseWheelToDispose = [];\n this._setListeningToMouseWheel(this._options.handleMouseWheel);\n this.onmouseover(this._listenOnDomNode, (e) => this._onMouseOver(e));\n this.onmouseleave(this._listenOnDomNode, (e) => this._onMouseLeave(e));\n this._hideTimeout = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_7__.TimeoutTimer());\n this._isDragging = false;\n this._mouseIsOver = false;\n this._shouldRender = true;\n this._revealOnScroll = true;\n }\n dispose() {\n this._mouseWheelToDispose = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.dispose)(this._mouseWheelToDispose);\n super.dispose();\n }\n /**\n * Get the generated 'scrollable' dom node\n */\n getDomNode() {\n return this._domNode;\n }\n getOverviewRulerLayoutInfo() {\n return {\n parent: this._domNode,\n insertBefore: this._verticalScrollbar.domNode.domNode,\n };\n }\n /**\n * Delegate a pointer down event to the vertical scrollbar.\n * This is to help with clicking somewhere else and having the scrollbar react.\n */\n delegateVerticalScrollbarPointerDown(browserEvent) {\n this._verticalScrollbar.delegatePointerDown(browserEvent);\n }\n getScrollDimensions() {\n return this._scrollable.getScrollDimensions();\n }\n setScrollDimensions(dimensions) {\n this._scrollable.setScrollDimensions(dimensions, false);\n }\n /**\n * Update the class name of the scrollable element.\n */\n updateClassName(newClassName) {\n this._options.className = newClassName;\n // Defaults are different on Macs\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isMacintosh) {\n this._options.className += ' mac';\n }\n this._domNode.className = 'monaco-scrollable-element ' + this._options.className;\n }\n /**\n * Update configuration options for the scrollbar.\n */\n updateOptions(newOptions) {\n if (typeof newOptions.handleMouseWheel !== 'undefined') {\n this._options.handleMouseWheel = newOptions.handleMouseWheel;\n this._setListeningToMouseWheel(this._options.handleMouseWheel);\n }\n if (typeof newOptions.mouseWheelScrollSensitivity !== 'undefined') {\n this._options.mouseWheelScrollSensitivity = newOptions.mouseWheelScrollSensitivity;\n }\n if (typeof newOptions.fastScrollSensitivity !== 'undefined') {\n this._options.fastScrollSensitivity = newOptions.fastScrollSensitivity;\n }\n if (typeof newOptions.scrollPredominantAxis !== 'undefined') {\n this._options.scrollPredominantAxis = newOptions.scrollPredominantAxis;\n }\n if (typeof newOptions.horizontal !== 'undefined') {\n this._options.horizontal = newOptions.horizontal;\n }\n if (typeof newOptions.vertical !== 'undefined') {\n this._options.vertical = newOptions.vertical;\n }\n if (typeof newOptions.horizontalScrollbarSize !== 'undefined') {\n this._options.horizontalScrollbarSize = newOptions.horizontalScrollbarSize;\n }\n if (typeof newOptions.verticalScrollbarSize !== 'undefined') {\n this._options.verticalScrollbarSize = newOptions.verticalScrollbarSize;\n }\n if (typeof newOptions.scrollByPage !== 'undefined') {\n this._options.scrollByPage = newOptions.scrollByPage;\n }\n this._horizontalScrollbar.updateOptions(this._options);\n this._verticalScrollbar.updateOptions(this._options);\n if (!this._options.lazyRender) {\n this._render();\n }\n }\n delegateScrollFromMouseWheelEvent(browserEvent) {\n this._onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardWheelEvent(browserEvent));\n }\n // -------------------- mouse wheel scrolling --------------------\n _setListeningToMouseWheel(shouldListen) {\n const isListening = (this._mouseWheelToDispose.length > 0);\n if (isListening === shouldListen) {\n // No change\n return;\n }\n // Stop listening (if necessary)\n this._mouseWheelToDispose = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.dispose)(this._mouseWheelToDispose);\n // Start listening (if necessary)\n if (shouldListen) {\n const onMouseWheel = (browserEvent) => {\n this._onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardWheelEvent(browserEvent));\n };\n this._mouseWheelToDispose.push(_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener(this._listenOnDomNode, _dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.MOUSE_WHEEL, onMouseWheel, { passive: false }));\n }\n }\n _onMouseWheel(e) {\n var _a;\n if ((_a = e.browserEvent) === null || _a === void 0 ? void 0 : _a.defaultPrevented) {\n return;\n }\n const classifier = MouseWheelClassifier.INSTANCE;\n if (SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED) {\n classifier.acceptStandardWheelEvent(e);\n }\n // console.log(`${Date.now()}, ${e.deltaY}, ${e.deltaX}`);\n let didScroll = false;\n if (e.deltaY || e.deltaX) {\n let deltaY = e.deltaY * this._options.mouseWheelScrollSensitivity;\n let deltaX = e.deltaX * this._options.mouseWheelScrollSensitivity;\n if (this._options.scrollPredominantAxis) {\n if (this._options.scrollYToX && deltaX + deltaY === 0) {\n // when configured to map Y to X and we both see\n // no dominant axis and X and Y are competing with\n // identical values into opposite directions, we\n // ignore the delta as we cannot make a decision then\n deltaX = deltaY = 0;\n }\n else if (Math.abs(deltaY) >= Math.abs(deltaX)) {\n deltaX = 0;\n }\n else {\n deltaY = 0;\n }\n }\n if (this._options.flipAxes) {\n [deltaY, deltaX] = [deltaX, deltaY];\n }\n // Convert vertical scrolling to horizontal if shift is held, this\n // is handled at a higher level on Mac\n const shiftConvert = !_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isMacintosh && e.browserEvent && e.browserEvent.shiftKey;\n if ((this._options.scrollYToX || shiftConvert) && !deltaX) {\n deltaX = deltaY;\n deltaY = 0;\n }\n if (e.browserEvent && e.browserEvent.altKey) {\n // fastScrolling\n deltaX = deltaX * this._options.fastScrollSensitivity;\n deltaY = deltaY * this._options.fastScrollSensitivity;\n }\n const futureScrollPosition = this._scrollable.getFutureScrollPosition();\n let desiredScrollPosition = {};\n if (deltaY) {\n const deltaScrollTop = SCROLL_WHEEL_SENSITIVITY * deltaY;\n // Here we convert values such as -0.3 to -1 or 0.3 to 1, otherwise low speed scrolling will never scroll\n const desiredScrollTop = futureScrollPosition.scrollTop - (deltaScrollTop < 0 ? Math.floor(deltaScrollTop) : Math.ceil(deltaScrollTop));\n this._verticalScrollbar.writeScrollPosition(desiredScrollPosition, desiredScrollTop);\n }\n if (deltaX) {\n const deltaScrollLeft = SCROLL_WHEEL_SENSITIVITY * deltaX;\n // Here we convert values such as -0.3 to -1 or 0.3 to 1, otherwise low speed scrolling will never scroll\n const desiredScrollLeft = futureScrollPosition.scrollLeft - (deltaScrollLeft < 0 ? Math.floor(deltaScrollLeft) : Math.ceil(deltaScrollLeft));\n this._horizontalScrollbar.writeScrollPosition(desiredScrollPosition, desiredScrollLeft);\n }\n // Check that we are scrolling towards a location which is valid\n desiredScrollPosition = this._scrollable.validateScrollPosition(desiredScrollPosition);\n if (futureScrollPosition.scrollLeft !== desiredScrollPosition.scrollLeft || futureScrollPosition.scrollTop !== desiredScrollPosition.scrollTop) {\n const canPerformSmoothScroll = (SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED\n && this._options.mouseWheelSmoothScroll\n && classifier.isPhysicalMouseWheel());\n if (canPerformSmoothScroll) {\n this._scrollable.setScrollPositionSmooth(desiredScrollPosition);\n }\n else {\n this._scrollable.setScrollPositionNow(desiredScrollPosition);\n }\n didScroll = true;\n }\n }\n let consumeMouseWheel = didScroll;\n if (!consumeMouseWheel && this._options.alwaysConsumeMouseWheel) {\n consumeMouseWheel = true;\n }\n if (!consumeMouseWheel && this._options.consumeMouseWheelIfScrollbarIsNeeded && (this._verticalScrollbar.isNeeded() || this._horizontalScrollbar.isNeeded())) {\n consumeMouseWheel = true;\n }\n if (consumeMouseWheel) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n _onDidScroll(e) {\n this._shouldRender = this._horizontalScrollbar.onDidScroll(e) || this._shouldRender;\n this._shouldRender = this._verticalScrollbar.onDidScroll(e) || this._shouldRender;\n if (this._options.useShadows) {\n this._shouldRender = true;\n }\n if (this._revealOnScroll) {\n this._reveal();\n }\n if (!this._options.lazyRender) {\n this._render();\n }\n }\n /**\n * Render / mutate the DOM now.\n * Should be used together with the ctor option `lazyRender`.\n */\n renderNow() {\n if (!this._options.lazyRender) {\n throw new Error('Please use `lazyRender` together with `renderNow`!');\n }\n this._render();\n }\n _render() {\n if (!this._shouldRender) {\n return;\n }\n this._shouldRender = false;\n this._horizontalScrollbar.render();\n this._verticalScrollbar.render();\n if (this._options.useShadows) {\n const scrollState = this._scrollable.getCurrentScrollPosition();\n const enableTop = scrollState.scrollTop > 0;\n const enableLeft = scrollState.scrollLeft > 0;\n const leftClassName = (enableLeft ? ' left' : '');\n const topClassName = (enableTop ? ' top' : '');\n const topLeftClassName = (enableLeft || enableTop ? ' top-left-corner' : '');\n this._leftShadowDomNode.setClassName(`shadow${leftClassName}`);\n this._topShadowDomNode.setClassName(`shadow${topClassName}`);\n this._topLeftShadowDomNode.setClassName(`shadow${topLeftClassName}${topClassName}${leftClassName}`);\n }\n }\n // -------------------- fade in / fade out --------------------\n _onDragStart() {\n this._isDragging = true;\n this._reveal();\n }\n _onDragEnd() {\n this._isDragging = false;\n this._hide();\n }\n _onMouseLeave(e) {\n this._mouseIsOver = false;\n this._hide();\n }\n _onMouseOver(e) {\n this._mouseIsOver = true;\n this._reveal();\n }\n _reveal() {\n this._verticalScrollbar.beginReveal();\n this._horizontalScrollbar.beginReveal();\n this._scheduleHide();\n }\n _hide() {\n if (!this._mouseIsOver && !this._isDragging) {\n this._verticalScrollbar.beginHide();\n this._horizontalScrollbar.beginHide();\n }\n }\n _scheduleHide() {\n if (!this._mouseIsOver && !this._isDragging) {\n this._hideTimeout.cancelAndSet(() => this._hide(), HIDE_TIMEOUT);\n }\n }\n}\nclass ScrollableElement extends AbstractScrollableElement {\n constructor(element, options) {\n options = options || {};\n options.mouseWheelSmoothScroll = false;\n const scrollable = new _common_scrollable_js__WEBPACK_IMPORTED_MODULE_11__.Scrollable({\n forceIntegerValues: true,\n smoothScrollDuration: 0,\n scheduleAtNextAnimationFrame: (callback) => _dom_js__WEBPACK_IMPORTED_MODULE_1__.scheduleAtNextAnimationFrame(_dom_js__WEBPACK_IMPORTED_MODULE_1__.getWindow(element), callback)\n });\n super(element, options, scrollable);\n this._register(scrollable);\n }\n setScrollPosition(update) {\n this._scrollable.setScrollPositionNow(update);\n }\n}\nclass SmoothScrollableElement extends AbstractScrollableElement {\n constructor(element, options, scrollable) {\n super(element, options, scrollable);\n }\n setScrollPosition(update) {\n if (update.reuseAnimation) {\n this._scrollable.setScrollPositionSmooth(update, update.reuseAnimation);\n }\n else {\n this._scrollable.setScrollPositionNow(update);\n }\n }\n getScrollPosition() {\n return this._scrollable.getCurrentScrollPosition();\n }\n}\nclass DomScrollableElement extends AbstractScrollableElement {\n constructor(element, options) {\n options = options || {};\n options.mouseWheelSmoothScroll = false;\n const scrollable = new _common_scrollable_js__WEBPACK_IMPORTED_MODULE_11__.Scrollable({\n forceIntegerValues: false, // See https://github.com/microsoft/vscode/issues/139877\n smoothScrollDuration: 0,\n scheduleAtNextAnimationFrame: (callback) => _dom_js__WEBPACK_IMPORTED_MODULE_1__.scheduleAtNextAnimationFrame(_dom_js__WEBPACK_IMPORTED_MODULE_1__.getWindow(element), callback)\n });\n super(element, options, scrollable);\n this._register(scrollable);\n this._element = element;\n this._register(this.onScroll((e) => {\n if (e.scrollTopChanged) {\n this._element.scrollTop = e.scrollTop;\n }\n if (e.scrollLeftChanged) {\n this._element.scrollLeft = e.scrollLeft;\n }\n }));\n this.scanDomNode();\n }\n setScrollPosition(update) {\n this._scrollable.setScrollPositionNow(update);\n }\n getScrollPosition() {\n return this._scrollable.getCurrentScrollPosition();\n }\n scanDomNode() {\n // width, scrollLeft, scrollWidth, height, scrollTop, scrollHeight\n this.setScrollDimensions({\n width: this._element.clientWidth,\n scrollWidth: this._element.scrollWidth,\n height: this._element.clientHeight,\n scrollHeight: this._element.scrollHeight\n });\n this.setScrollPosition({\n scrollLeft: this._element.scrollLeft,\n scrollTop: this._element.scrollTop,\n });\n }\n}\nfunction resolveOptions(opts) {\n const result = {\n lazyRender: (typeof opts.lazyRender !== 'undefined' ? opts.lazyRender : false),\n className: (typeof opts.className !== 'undefined' ? opts.className : ''),\n useShadows: (typeof opts.useShadows !== 'undefined' ? opts.useShadows : true),\n handleMouseWheel: (typeof opts.handleMouseWheel !== 'undefined' ? opts.handleMouseWheel : true),\n flipAxes: (typeof opts.flipAxes !== 'undefined' ? opts.flipAxes : false),\n consumeMouseWheelIfScrollbarIsNeeded: (typeof opts.consumeMouseWheelIfScrollbarIsNeeded !== 'undefined' ? opts.consumeMouseWheelIfScrollbarIsNeeded : false),\n alwaysConsumeMouseWheel: (typeof opts.alwaysConsumeMouseWheel !== 'undefined' ? opts.alwaysConsumeMouseWheel : false),\n scrollYToX: (typeof opts.scrollYToX !== 'undefined' ? opts.scrollYToX : false),\n mouseWheelScrollSensitivity: (typeof opts.mouseWheelScrollSensitivity !== 'undefined' ? opts.mouseWheelScrollSensitivity : 1),\n fastScrollSensitivity: (typeof opts.fastScrollSensitivity !== 'undefined' ? opts.fastScrollSensitivity : 5),\n scrollPredominantAxis: (typeof opts.scrollPredominantAxis !== 'undefined' ? opts.scrollPredominantAxis : true),\n mouseWheelSmoothScroll: (typeof opts.mouseWheelSmoothScroll !== 'undefined' ? opts.mouseWheelSmoothScroll : true),\n arrowSize: (typeof opts.arrowSize !== 'undefined' ? opts.arrowSize : 11),\n listenOnDomNode: (typeof opts.listenOnDomNode !== 'undefined' ? opts.listenOnDomNode : null),\n horizontal: (typeof opts.horizontal !== 'undefined' ? opts.horizontal : 1 /* ScrollbarVisibility.Auto */),\n horizontalScrollbarSize: (typeof opts.horizontalScrollbarSize !== 'undefined' ? opts.horizontalScrollbarSize : 10),\n horizontalSliderSize: (typeof opts.horizontalSliderSize !== 'undefined' ? opts.horizontalSliderSize : 0),\n horizontalHasArrows: (typeof opts.horizontalHasArrows !== 'undefined' ? opts.horizontalHasArrows : false),\n vertical: (typeof opts.vertical !== 'undefined' ? opts.vertical : 1 /* ScrollbarVisibility.Auto */),\n verticalScrollbarSize: (typeof opts.verticalScrollbarSize !== 'undefined' ? opts.verticalScrollbarSize : 10),\n verticalHasArrows: (typeof opts.verticalHasArrows !== 'undefined' ? opts.verticalHasArrows : false),\n verticalSliderSize: (typeof opts.verticalSliderSize !== 'undefined' ? opts.verticalSliderSize : 0),\n scrollByPage: (typeof opts.scrollByPage !== 'undefined' ? opts.scrollByPage : false)\n };\n result.horizontalSliderSize = (typeof opts.horizontalSliderSize !== 'undefined' ? opts.horizontalSliderSize : result.horizontalScrollbarSize);\n result.verticalSliderSize = (typeof opts.verticalSliderSize !== 'undefined' ? opts.verticalSliderSize : result.verticalScrollbarSize);\n // Defaults are different on Macs\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isMacintosh) {\n result.className += ' mac';\n }\n return result;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ARROW_IMG_SIZE: () => (/* binding */ ARROW_IMG_SIZE),\n/* harmony export */ ScrollbarArrow: () => (/* binding */ ScrollbarArrow)\n/* harmony export */ });\n/* harmony import */ var _globalPointerMoveMonitor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../globalPointerMoveMonitor.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/globalPointerMoveMonitor.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n/**\n * The arrow image size.\n */\nconst ARROW_IMG_SIZE = 11;\nclass ScrollbarArrow extends _widget_js__WEBPACK_IMPORTED_MODULE_1__.Widget {\n constructor(opts) {\n super();\n this._onActivate = opts.onActivate;\n this.bgDomNode = document.createElement('div');\n this.bgDomNode.className = 'arrow-background';\n this.bgDomNode.style.position = 'absolute';\n this.bgDomNode.style.width = opts.bgWidth + 'px';\n this.bgDomNode.style.height = opts.bgHeight + 'px';\n if (typeof opts.top !== 'undefined') {\n this.bgDomNode.style.top = '0px';\n }\n if (typeof opts.left !== 'undefined') {\n this.bgDomNode.style.left = '0px';\n }\n if (typeof opts.bottom !== 'undefined') {\n this.bgDomNode.style.bottom = '0px';\n }\n if (typeof opts.right !== 'undefined') {\n this.bgDomNode.style.right = '0px';\n }\n this.domNode = document.createElement('div');\n this.domNode.className = opts.className;\n this.domNode.classList.add(..._common_themables_js__WEBPACK_IMPORTED_MODULE_3__.ThemeIcon.asClassNameArray(opts.icon));\n this.domNode.style.position = 'absolute';\n this.domNode.style.width = ARROW_IMG_SIZE + 'px';\n this.domNode.style.height = ARROW_IMG_SIZE + 'px';\n if (typeof opts.top !== 'undefined') {\n this.domNode.style.top = opts.top + 'px';\n }\n if (typeof opts.left !== 'undefined') {\n this.domNode.style.left = opts.left + 'px';\n }\n if (typeof opts.bottom !== 'undefined') {\n this.domNode.style.bottom = opts.bottom + 'px';\n }\n if (typeof opts.right !== 'undefined') {\n this.domNode.style.right = opts.right + 'px';\n }\n this._pointerMoveMonitor = this._register(new _globalPointerMoveMonitor_js__WEBPACK_IMPORTED_MODULE_0__.GlobalPointerMoveMonitor());\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_4__.addStandardDisposableListener(this.bgDomNode, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.POINTER_DOWN, (e) => this._arrowPointerDown(e)));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_4__.addStandardDisposableListener(this.domNode, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.POINTER_DOWN, (e) => this._arrowPointerDown(e)));\n this._pointerdownRepeatTimer = this._register(new _dom_js__WEBPACK_IMPORTED_MODULE_4__.WindowIntervalTimer());\n this._pointerdownScheduleRepeatTimer = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_2__.TimeoutTimer());\n }\n _arrowPointerDown(e) {\n if (!e.target || !(e.target instanceof Element)) {\n return;\n }\n const scheduleRepeater = () => {\n this._pointerdownRepeatTimer.cancelAndSet(() => this._onActivate(), 1000 / 24, _dom_js__WEBPACK_IMPORTED_MODULE_4__.getWindow(e));\n };\n this._onActivate();\n this._pointerdownRepeatTimer.cancel();\n this._pointerdownScheduleRepeatTimer.cancelAndSet(scheduleRepeater, 200);\n this._pointerMoveMonitor.startMonitoring(e.target, e.pointerId, e.buttons, (pointerMoveData) => { }, () => {\n this._pointerdownRepeatTimer.cancel();\n this._pointerdownScheduleRepeatTimer.cancel();\n });\n e.preventDefault();\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ScrollbarState: () => (/* binding */ ScrollbarState)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/**\n * The minimal size of the slider (such that it can still be clickable) -- it is artificially enlarged.\n */\nconst MINIMUM_SLIDER_SIZE = 20;\nclass ScrollbarState {\n constructor(arrowSize, scrollbarSize, oppositeScrollbarSize, visibleSize, scrollSize, scrollPosition) {\n this._scrollbarSize = Math.round(scrollbarSize);\n this._oppositeScrollbarSize = Math.round(oppositeScrollbarSize);\n this._arrowSize = Math.round(arrowSize);\n this._visibleSize = visibleSize;\n this._scrollSize = scrollSize;\n this._scrollPosition = scrollPosition;\n this._computedAvailableSize = 0;\n this._computedIsNeeded = false;\n this._computedSliderSize = 0;\n this._computedSliderRatio = 0;\n this._computedSliderPosition = 0;\n this._refreshComputedValues();\n }\n clone() {\n return new ScrollbarState(this._arrowSize, this._scrollbarSize, this._oppositeScrollbarSize, this._visibleSize, this._scrollSize, this._scrollPosition);\n }\n setVisibleSize(visibleSize) {\n const iVisibleSize = Math.round(visibleSize);\n if (this._visibleSize !== iVisibleSize) {\n this._visibleSize = iVisibleSize;\n this._refreshComputedValues();\n return true;\n }\n return false;\n }\n setScrollSize(scrollSize) {\n const iScrollSize = Math.round(scrollSize);\n if (this._scrollSize !== iScrollSize) {\n this._scrollSize = iScrollSize;\n this._refreshComputedValues();\n return true;\n }\n return false;\n }\n setScrollPosition(scrollPosition) {\n const iScrollPosition = Math.round(scrollPosition);\n if (this._scrollPosition !== iScrollPosition) {\n this._scrollPosition = iScrollPosition;\n this._refreshComputedValues();\n return true;\n }\n return false;\n }\n setScrollbarSize(scrollbarSize) {\n this._scrollbarSize = Math.round(scrollbarSize);\n }\n setOppositeScrollbarSize(oppositeScrollbarSize) {\n this._oppositeScrollbarSize = Math.round(oppositeScrollbarSize);\n }\n static _computeValues(oppositeScrollbarSize, arrowSize, visibleSize, scrollSize, scrollPosition) {\n const computedAvailableSize = Math.max(0, visibleSize - oppositeScrollbarSize);\n const computedRepresentableSize = Math.max(0, computedAvailableSize - 2 * arrowSize);\n const computedIsNeeded = (scrollSize > 0 && scrollSize > visibleSize);\n if (!computedIsNeeded) {\n // There is no need for a slider\n return {\n computedAvailableSize: Math.round(computedAvailableSize),\n computedIsNeeded: computedIsNeeded,\n computedSliderSize: Math.round(computedRepresentableSize),\n computedSliderRatio: 0,\n computedSliderPosition: 0,\n };\n }\n // We must artificially increase the size of the slider if needed, since the slider would be too small to grab with the mouse otherwise\n const computedSliderSize = Math.round(Math.max(MINIMUM_SLIDER_SIZE, Math.floor(visibleSize * computedRepresentableSize / scrollSize)));\n // The slider can move from 0 to `computedRepresentableSize` - `computedSliderSize`\n // in the same way `scrollPosition` can move from 0 to `scrollSize` - `visibleSize`.\n const computedSliderRatio = (computedRepresentableSize - computedSliderSize) / (scrollSize - visibleSize);\n const computedSliderPosition = (scrollPosition * computedSliderRatio);\n return {\n computedAvailableSize: Math.round(computedAvailableSize),\n computedIsNeeded: computedIsNeeded,\n computedSliderSize: Math.round(computedSliderSize),\n computedSliderRatio: computedSliderRatio,\n computedSliderPosition: Math.round(computedSliderPosition),\n };\n }\n _refreshComputedValues() {\n const r = ScrollbarState._computeValues(this._oppositeScrollbarSize, this._arrowSize, this._visibleSize, this._scrollSize, this._scrollPosition);\n this._computedAvailableSize = r.computedAvailableSize;\n this._computedIsNeeded = r.computedIsNeeded;\n this._computedSliderSize = r.computedSliderSize;\n this._computedSliderRatio = r.computedSliderRatio;\n this._computedSliderPosition = r.computedSliderPosition;\n }\n getArrowSize() {\n return this._arrowSize;\n }\n getScrollPosition() {\n return this._scrollPosition;\n }\n getRectangleLargeSize() {\n return this._computedAvailableSize;\n }\n getRectangleSmallSize() {\n return this._scrollbarSize;\n }\n isNeeded() {\n return this._computedIsNeeded;\n }\n getSliderSize() {\n return this._computedSliderSize;\n }\n getSliderPosition() {\n return this._computedSliderPosition;\n }\n /**\n * Compute a desired `scrollPosition` such that `offset` ends up in the center of the slider.\n * `offset` is based on the same coordinate system as the `sliderPosition`.\n */\n getDesiredScrollPositionFromOffset(offset) {\n if (!this._computedIsNeeded) {\n // no need for a slider\n return 0;\n }\n const desiredSliderPosition = offset - this._arrowSize - this._computedSliderSize / 2;\n return Math.round(desiredSliderPosition / this._computedSliderRatio);\n }\n /**\n * Compute a desired `scrollPosition` from if offset is before or after the slider position.\n * If offset is before slider, treat as a page up (or left). If after, page down (or right).\n * `offset` and `_computedSliderPosition` are based on the same coordinate system.\n * `_visibleSize` corresponds to a \"page\" of lines in the returned coordinate system.\n */\n getDesiredScrollPositionFromOffsetPaged(offset) {\n if (!this._computedIsNeeded) {\n // no need for a slider\n return 0;\n }\n const correctedOffset = offset - this._arrowSize; // compensate if has arrows\n let desiredScrollPosition = this._scrollPosition;\n if (correctedOffset < this._computedSliderPosition) {\n desiredScrollPosition -= this._visibleSize; // page up/left\n }\n else {\n desiredScrollPosition += this._visibleSize; // page down/right\n }\n return desiredScrollPosition;\n }\n /**\n * Compute a desired `scrollPosition` such that the slider moves by `delta`.\n */\n getDesiredScrollPositionFromDelta(delta) {\n if (!this._computedIsNeeded) {\n // no need for a slider\n return 0;\n }\n const desiredSliderPosition = this._computedSliderPosition + delta;\n return Math.round(desiredSliderPosition / this._computedSliderRatio);\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js":
+/*!******************************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js ***!
+ \******************************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ScrollbarVisibilityController: () => (/* binding */ ScrollbarVisibilityController)\n/* harmony export */ });\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\nclass ScrollbarVisibilityController extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\n constructor(visibility, visibleClassName, invisibleClassName) {\n super();\n this._visibility = visibility;\n this._visibleClassName = visibleClassName;\n this._invisibleClassName = invisibleClassName;\n this._domNode = null;\n this._isVisible = false;\n this._isNeeded = false;\n this._rawShouldBeVisible = false;\n this._shouldBeVisible = false;\n this._revealTimer = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_0__.TimeoutTimer());\n }\n setVisibility(visibility) {\n if (this._visibility !== visibility) {\n this._visibility = visibility;\n this._updateShouldBeVisible();\n }\n }\n // ----------------- Hide / Reveal\n setShouldBeVisible(rawShouldBeVisible) {\n this._rawShouldBeVisible = rawShouldBeVisible;\n this._updateShouldBeVisible();\n }\n _applyVisibilitySetting() {\n if (this._visibility === 2 /* ScrollbarVisibility.Hidden */) {\n return false;\n }\n if (this._visibility === 3 /* ScrollbarVisibility.Visible */) {\n return true;\n }\n return this._rawShouldBeVisible;\n }\n _updateShouldBeVisible() {\n const shouldBeVisible = this._applyVisibilitySetting();\n if (this._shouldBeVisible !== shouldBeVisible) {\n this._shouldBeVisible = shouldBeVisible;\n this.ensureVisibility();\n }\n }\n setIsNeeded(isNeeded) {\n if (this._isNeeded !== isNeeded) {\n this._isNeeded = isNeeded;\n this.ensureVisibility();\n }\n }\n setDomNode(domNode) {\n this._domNode = domNode;\n this._domNode.setClassName(this._invisibleClassName);\n // Now that the flags & the dom node are in a consistent state, ensure the Hidden/Visible configuration\n this.setShouldBeVisible(false);\n }\n ensureVisibility() {\n if (!this._isNeeded) {\n // Nothing to be rendered\n this._hide(false);\n return;\n }\n if (this._shouldBeVisible) {\n this._reveal();\n }\n else {\n this._hide(true);\n }\n }\n _reveal() {\n if (this._isVisible) {\n return;\n }\n this._isVisible = true;\n // The CSS animation doesn't play otherwise\n this._revealTimer.setIfNotSet(() => {\n var _a;\n (_a = this._domNode) === null || _a === void 0 ? void 0 : _a.setClassName(this._visibleClassName);\n }, 0);\n }\n _hide(withFadeAway) {\n var _a;\n this._revealTimer.cancel();\n if (!this._isVisible) {\n return;\n }\n this._isVisible = false;\n (_a = this._domNode) === null || _a === void 0 ? void 0 : _a.setClassName(this._invisibleClassName + (withFadeAway ? ' fade' : ''));\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js":
+/*!******************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js ***!
+ \******************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ VerticalScrollbar: () => (/* binding */ VerticalScrollbar)\n/* harmony export */ });\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _abstractScrollbar_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abstractScrollbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js\");\n/* harmony import */ var _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./scrollbarArrow.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js\");\n/* harmony import */ var _scrollbarState_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./scrollbarState.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\nclass VerticalScrollbar extends _abstractScrollbar_js__WEBPACK_IMPORTED_MODULE_1__.AbstractScrollbar {\n constructor(scrollable, options, host) {\n const scrollDimensions = scrollable.getScrollDimensions();\n const scrollPosition = scrollable.getCurrentScrollPosition();\n super({\n lazyRender: options.lazyRender,\n host: host,\n scrollbarState: new _scrollbarState_js__WEBPACK_IMPORTED_MODULE_3__.ScrollbarState((options.verticalHasArrows ? options.arrowSize : 0), (options.vertical === 2 /* ScrollbarVisibility.Hidden */ ? 0 : options.verticalScrollbarSize), \n // give priority to vertical scroll bar over horizontal and let it scroll all the way to the bottom\n 0, scrollDimensions.height, scrollDimensions.scrollHeight, scrollPosition.scrollTop),\n visibility: options.vertical,\n extraScrollbarClassName: 'vertical',\n scrollable: scrollable,\n scrollByPage: options.scrollByPage\n });\n if (options.verticalHasArrows) {\n const arrowDelta = (options.arrowSize - _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__.ARROW_IMG_SIZE) / 2;\n const scrollbarDelta = (options.verticalScrollbarSize - _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__.ARROW_IMG_SIZE) / 2;\n this._createArrow({\n className: 'scra',\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.scrollbarButtonUp,\n top: arrowDelta,\n left: scrollbarDelta,\n bottom: undefined,\n right: undefined,\n bgWidth: options.verticalScrollbarSize,\n bgHeight: options.arrowSize,\n onActivate: () => this._host.onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__.StandardWheelEvent(null, 0, 1)),\n });\n this._createArrow({\n className: 'scra',\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.scrollbarButtonDown,\n top: undefined,\n left: scrollbarDelta,\n bottom: arrowDelta,\n right: undefined,\n bgWidth: options.verticalScrollbarSize,\n bgHeight: options.arrowSize,\n onActivate: () => this._host.onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__.StandardWheelEvent(null, 0, -1)),\n });\n }\n this._createSlider(0, Math.floor((options.verticalScrollbarSize - options.verticalSliderSize) / 2), options.verticalSliderSize, undefined);\n }\n _updateSlider(sliderSize, sliderPosition) {\n this.slider.setHeight(sliderSize);\n this.slider.setTop(sliderPosition);\n }\n _renderDomNode(largeSize, smallSize) {\n this.domNode.setWidth(smallSize);\n this.domNode.setHeight(largeSize);\n this.domNode.setRight(0);\n this.domNode.setTop(0);\n }\n onDidScroll(e) {\n this._shouldRender = this._onElementScrollSize(e.scrollHeight) || this._shouldRender;\n this._shouldRender = this._onElementScrollPosition(e.scrollTop) || this._shouldRender;\n this._shouldRender = this._onElementSize(e.height) || this._shouldRender;\n return this._shouldRender;\n }\n _pointerDownRelativePosition(offsetX, offsetY) {\n return offsetY;\n }\n _sliderPointerPosition(e) {\n return e.pageY;\n }\n _sliderOrthogonalPointerPosition(e) {\n return e.pageX;\n }\n _updateScrollbarSize(size) {\n this.slider.setWidth(size);\n }\n writeScrollPosition(target, scrollPosition) {\n target.scrollTop = scrollPosition;\n }\n updateOptions(options) {\n this.updateScrollbarSize(options.vertical === 2 /* ScrollbarVisibility.Hidden */ ? 0 : options.verticalScrollbarSize);\n // give priority to vertical scroll bar over horizontal and let it scroll all the way to the bottom\n this._scrollbarState.setOppositeScrollbarSize(0);\n this._visibilityController.setVisibility(options.vertical);\n this._scrollByPage = options.scrollByPage;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.js":
+/*!**********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.js ***!
+ \**********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectBox: () => (/* binding */ SelectBox)\n/* harmony export */ });\n/* harmony import */ var _selectBoxCustom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./selectBoxCustom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js\");\n/* harmony import */ var _selectBoxNative_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./selectBoxNative.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxNative.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _selectBox_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./selectBox.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.css\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\nclass SelectBox extends _widget_js__WEBPACK_IMPORTED_MODULE_2__.Widget {\n constructor(options, selected, contextViewProvider, styles, selectBoxOptions) {\n super();\n // Default to native SelectBox for OSX unless overridden\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_3__.isMacintosh && !(selectBoxOptions === null || selectBoxOptions === void 0 ? void 0 : selectBoxOptions.useCustomDrawn)) {\n this.selectBoxDelegate = new _selectBoxNative_js__WEBPACK_IMPORTED_MODULE_1__.SelectBoxNative(options, selected, styles, selectBoxOptions);\n }\n else {\n this.selectBoxDelegate = new _selectBoxCustom_js__WEBPACK_IMPORTED_MODULE_0__.SelectBoxList(options, selected, contextViewProvider, styles, selectBoxOptions);\n }\n this._register(this.selectBoxDelegate);\n }\n // Public SelectBox Methods - routed through delegate interface\n get onDidSelect() {\n return this.selectBoxDelegate.onDidSelect;\n }\n setOptions(options, selected) {\n this.selectBoxDelegate.setOptions(options, selected);\n }\n select(index) {\n this.selectBoxDelegate.select(index);\n }\n focus() {\n this.selectBoxDelegate.focus();\n }\n blur() {\n this.selectBoxDelegate.blur();\n }\n setFocusable(focusable) {\n this.selectBoxDelegate.setFocusable(focusable);\n }\n render(container) {\n this.selectBoxDelegate.render(container);\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js":
+/*!****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js ***!
+ \****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectBoxList: () => (/* binding */ SelectBoxList)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _markdownRenderer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../markdownRenderer.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/markdownRenderer.js\");\n/* harmony import */ var _list_listWidget_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../list/listWidget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_keyCodes_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/keyCodes.js */ \"./node_modules/monaco-editor/esm/vs/base/common/keyCodes.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _selectBoxCustom_css__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./selectBoxCustom.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n\n\n\n\n\nconst $ = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$;\nconst SELECT_OPTION_ENTRY_TEMPLATE_ID = 'selectOption.entry.template';\nclass SelectListRenderer {\n get templateId() { return SELECT_OPTION_ENTRY_TEMPLATE_ID; }\n renderTemplate(container) {\n const data = Object.create(null);\n data.root = container;\n data.text = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, $('.option-text'));\n data.detail = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, $('.option-detail'));\n data.decoratorRight = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, $('.option-decorator-right'));\n return data;\n }\n renderElement(element, index, templateData) {\n const data = templateData;\n const text = element.text;\n const detail = element.detail;\n const decoratorRight = element.decoratorRight;\n const isDisabled = element.isDisabled;\n data.text.textContent = text;\n data.detail.textContent = !!detail ? detail : '';\n data.decoratorRight.innerText = !!decoratorRight ? decoratorRight : '';\n // pseudo-select disabled option\n if (isDisabled) {\n data.root.classList.add('option-disabled');\n }\n else {\n // Make sure we do class removal from prior template rendering\n data.root.classList.remove('option-disabled');\n }\n }\n disposeTemplate(_templateData) {\n // noop\n }\n}\nclass SelectBoxList extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.Disposable {\n constructor(options, selected, contextViewProvider, styles, selectBoxOptions) {\n super();\n this.options = [];\n this._currentSelection = 0;\n this._hasDetails = false;\n this._skipLayout = false;\n this._sticky = false; // for dev purposes only\n this._isVisible = false;\n this.styles = styles;\n this.selectBoxOptions = selectBoxOptions || Object.create(null);\n if (typeof this.selectBoxOptions.minBottomMargin !== 'number') {\n this.selectBoxOptions.minBottomMargin = SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN;\n }\n else if (this.selectBoxOptions.minBottomMargin < 0) {\n this.selectBoxOptions.minBottomMargin = 0;\n }\n this.selectElement = document.createElement('select');\n // Use custom CSS vars for padding calculation\n this.selectElement.className = 'monaco-select-box monaco-select-box-dropdown-padding';\n if (typeof this.selectBoxOptions.ariaLabel === 'string') {\n this.selectElement.setAttribute('aria-label', this.selectBoxOptions.ariaLabel);\n }\n if (typeof this.selectBoxOptions.ariaDescription === 'string') {\n this.selectElement.setAttribute('aria-description', this.selectBoxOptions.ariaDescription);\n }\n this._onDidSelect = new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter();\n this._register(this._onDidSelect);\n this.registerListeners();\n this.constructSelectDropDown(contextViewProvider);\n this.selected = selected || 0;\n if (options) {\n this.setOptions(options, selected);\n }\n this.initStyleSheet();\n }\n // IDelegate - List renderer\n getHeight() {\n return 22;\n }\n getTemplateId() {\n return SELECT_OPTION_ENTRY_TEMPLATE_ID;\n }\n constructSelectDropDown(contextViewProvider) {\n // SetUp ContextView container to hold select Dropdown\n this.contextViewProvider = contextViewProvider;\n this.selectDropDownContainer = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$('.monaco-select-box-dropdown-container');\n // Use custom CSS vars for padding calculation (shared with parent select)\n this.selectDropDownContainer.classList.add('monaco-select-box-dropdown-padding');\n // Setup container for select option details\n this.selectionDetailsPane = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.selectDropDownContainer, $('.select-box-details-pane'));\n // Create span flex box item/div we can measure and control\n const widthControlOuterDiv = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.selectDropDownContainer, $('.select-box-dropdown-container-width-control'));\n const widthControlInnerDiv = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(widthControlOuterDiv, $('.width-control-div'));\n this.widthControlElement = document.createElement('span');\n this.widthControlElement.className = 'option-text-width-control';\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(widthControlInnerDiv, this.widthControlElement);\n // Always default to below position\n this._dropDownPosition = 0 /* AnchorPosition.BELOW */;\n // Inline stylesheet for themes\n this.styleElement = _dom_js__WEBPACK_IMPORTED_MODULE_0__.createStyleSheet(this.selectDropDownContainer);\n // Prevent dragging of dropdown #114329\n this.selectDropDownContainer.setAttribute('draggable', 'true');\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectDropDownContainer, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.DRAG_START, (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true);\n }));\n }\n registerListeners() {\n // Parent native select keyboard listeners\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addStandardDisposableListener(this.selectElement, 'change', (e) => {\n this.selected = e.target.selectedIndex;\n this._onDidSelect.fire({\n index: e.target.selectedIndex,\n selected: e.target.value\n });\n if (!!this.options[this.selected] && !!this.options[this.selected].text) {\n this.selectElement.title = this.options[this.selected].text;\n }\n }));\n // Have to implement both keyboard and mouse controllers to handle disabled options\n // Intercept mouse events to override normal select actions on parents\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.CLICK, (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n if (this._isVisible) {\n this.hideSelectDropDown(true);\n }\n else {\n this.showSelectDropDown();\n }\n }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_DOWN, (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n }));\n // Intercept touch events\n // The following implementation is slightly different from the mouse event handlers above.\n // Use the following helper variable, otherwise the list flickers.\n let listIsVisibleOnTouchStart;\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectElement, 'touchstart', (e) => {\n listIsVisibleOnTouchStart = this._isVisible;\n }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectElement, 'touchend', (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n if (listIsVisibleOnTouchStart) {\n this.hideSelectDropDown(true);\n }\n else {\n this.showSelectDropDown();\n }\n }));\n // Intercept keyboard handling\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_DOWN, (e) => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e);\n let showDropDown = false;\n // Create and drop down select list on keyboard select\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_9__.isMacintosh) {\n if (event.keyCode === 18 /* KeyCode.DownArrow */ || event.keyCode === 16 /* KeyCode.UpArrow */ || event.keyCode === 10 /* KeyCode.Space */ || event.keyCode === 3 /* KeyCode.Enter */) {\n showDropDown = true;\n }\n }\n else {\n if (event.keyCode === 18 /* KeyCode.DownArrow */ && event.altKey || event.keyCode === 16 /* KeyCode.UpArrow */ && event.altKey || event.keyCode === 10 /* KeyCode.Space */ || event.keyCode === 3 /* KeyCode.Enter */) {\n showDropDown = true;\n }\n }\n if (showDropDown) {\n this.showSelectDropDown();\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true);\n }\n }));\n }\n get onDidSelect() {\n return this._onDidSelect.event;\n }\n setOptions(options, selected) {\n if (!_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.equals(this.options, options)) {\n this.options = options;\n this.selectElement.options.length = 0;\n this._hasDetails = false;\n this._cachedMaxDetailsHeight = undefined;\n this.options.forEach((option, index) => {\n this.selectElement.add(this.createOption(option.text, index, option.isDisabled));\n if (typeof option.description === 'string') {\n this._hasDetails = true;\n }\n });\n }\n if (selected !== undefined) {\n this.select(selected);\n // Set current = selected since this is not necessarily a user exit\n this._currentSelection = this.selected;\n }\n }\n setOptionsList() {\n var _a;\n // Mirror options in drop-down\n // Populate select list for non-native select mode\n (_a = this.selectList) === null || _a === void 0 ? void 0 : _a.splice(0, this.selectList.length, this.options);\n }\n select(index) {\n if (index >= 0 && index < this.options.length) {\n this.selected = index;\n }\n else if (index > this.options.length - 1) {\n // Adjust index to end of list\n // This could make client out of sync with the select\n this.select(this.options.length - 1);\n }\n else if (this.selected < 0) {\n this.selected = 0;\n }\n this.selectElement.selectedIndex = this.selected;\n if (!!this.options[this.selected] && !!this.options[this.selected].text) {\n this.selectElement.title = this.options[this.selected].text;\n }\n }\n focus() {\n if (this.selectElement) {\n this.selectElement.tabIndex = 0;\n this.selectElement.focus();\n }\n }\n blur() {\n if (this.selectElement) {\n this.selectElement.tabIndex = -1;\n this.selectElement.blur();\n }\n }\n setFocusable(focusable) {\n this.selectElement.tabIndex = focusable ? 0 : -1;\n }\n render(container) {\n this.container = container;\n container.classList.add('select-container');\n container.appendChild(this.selectElement);\n this.styleSelectElement();\n }\n initStyleSheet() {\n const content = [];\n // Style non-native select mode\n if (this.styles.listFocusBackground) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`);\n }\n if (this.styles.listFocusForeground) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`);\n }\n if (this.styles.decoratorRightForeground) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`);\n }\n if (this.styles.selectBackground && this.styles.selectBorder && this.styles.selectBorder !== this.styles.selectBackground) {\n content.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `);\n content.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `);\n content.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `);\n }\n else if (this.styles.selectListBorder) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `);\n content.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `);\n }\n // Hover foreground - ignore for disabled options\n if (this.styles.listHoverForeground) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`);\n }\n // Hover background - ignore for disabled options\n if (this.styles.listHoverBackground) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`);\n }\n // Match quick input outline styles - ignore for disabled options\n if (this.styles.listFocusOutline) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`);\n }\n if (this.styles.listHoverOutline) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`);\n }\n // Clear list styles on focus and on hover for disabled options\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }`);\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }`);\n this.styleElement.textContent = content.join('\\n');\n }\n styleSelectElement() {\n var _a, _b, _c;\n const background = (_a = this.styles.selectBackground) !== null && _a !== void 0 ? _a : '';\n const foreground = (_b = this.styles.selectForeground) !== null && _b !== void 0 ? _b : '';\n const border = (_c = this.styles.selectBorder) !== null && _c !== void 0 ? _c : '';\n this.selectElement.style.backgroundColor = background;\n this.selectElement.style.color = foreground;\n this.selectElement.style.borderColor = border;\n }\n styleList() {\n var _a, _b;\n const background = (_a = this.styles.selectBackground) !== null && _a !== void 0 ? _a : '';\n const listBackground = _dom_js__WEBPACK_IMPORTED_MODULE_0__.asCssValueWithDefault(this.styles.selectListBackground, background);\n this.selectDropDownListContainer.style.backgroundColor = listBackground;\n this.selectionDetailsPane.style.backgroundColor = listBackground;\n const optionsBorder = (_b = this.styles.focusBorder) !== null && _b !== void 0 ? _b : '';\n this.selectDropDownContainer.style.outlineColor = optionsBorder;\n this.selectDropDownContainer.style.outlineOffset = '-1px';\n this.selectList.style(this.styles);\n }\n createOption(value, index, disabled) {\n const option = document.createElement('option');\n option.value = value;\n option.text = value;\n option.disabled = !!disabled;\n return option;\n }\n // ContextView dropdown methods\n showSelectDropDown() {\n this.selectionDetailsPane.innerText = '';\n if (!this.contextViewProvider || this._isVisible) {\n return;\n }\n // Lazily create and populate list only at open, moved from constructor\n this.createSelectList(this.selectDropDownContainer);\n this.setOptionsList();\n // This allows us to flip the position based on measurement\n // Set drop-down position above/below from required height and margins\n // If pre-layout cannot fit at least one option do not show drop-down\n this.contextViewProvider.showContextView({\n getAnchor: () => this.selectElement,\n render: (container) => this.renderSelectDropDown(container, true),\n layout: () => {\n this.layoutSelectDropDown();\n },\n onHide: () => {\n this.selectDropDownContainer.classList.remove('visible');\n this.selectElement.classList.remove('synthetic-focus');\n },\n anchorPosition: this._dropDownPosition\n }, this.selectBoxOptions.optionsAsChildren ? this.container : undefined);\n // Hide so we can relay out\n this._isVisible = true;\n this.hideSelectDropDown(false);\n this.contextViewProvider.showContextView({\n getAnchor: () => this.selectElement,\n render: (container) => this.renderSelectDropDown(container),\n layout: () => this.layoutSelectDropDown(),\n onHide: () => {\n this.selectDropDownContainer.classList.remove('visible');\n this.selectElement.classList.remove('synthetic-focus');\n },\n anchorPosition: this._dropDownPosition\n }, this.selectBoxOptions.optionsAsChildren ? this.container : undefined);\n // Track initial selection the case user escape, blur\n this._currentSelection = this.selected;\n this._isVisible = true;\n this.selectElement.setAttribute('aria-expanded', 'true');\n }\n hideSelectDropDown(focusSelect) {\n if (!this.contextViewProvider || !this._isVisible) {\n return;\n }\n this._isVisible = false;\n this.selectElement.setAttribute('aria-expanded', 'false');\n if (focusSelect) {\n this.selectElement.focus();\n }\n this.contextViewProvider.hideContextView();\n }\n renderSelectDropDown(container, preLayoutPosition) {\n container.appendChild(this.selectDropDownContainer);\n // Pre-Layout allows us to change position\n this.layoutSelectDropDown(preLayoutPosition);\n return {\n dispose: () => {\n // contextView will dispose itself if moving from one View to another\n try {\n container.removeChild(this.selectDropDownContainer); // remove to take out the CSS rules we add\n }\n catch (error) {\n // Ignore, removed already by change of focus\n }\n }\n };\n }\n // Iterate over detailed descriptions, find max height\n measureMaxDetailsHeight() {\n let maxDetailsPaneHeight = 0;\n this.options.forEach((_option, index) => {\n this.updateDetail(index);\n if (this.selectionDetailsPane.offsetHeight > maxDetailsPaneHeight) {\n maxDetailsPaneHeight = this.selectionDetailsPane.offsetHeight;\n }\n });\n return maxDetailsPaneHeight;\n }\n layoutSelectDropDown(preLayoutPosition) {\n // Avoid recursion from layout called in onListFocus\n if (this._skipLayout) {\n return false;\n }\n // Layout ContextView drop down select list and container\n // Have to manage our vertical overflow, sizing, position below or above\n // Position has to be determined and set prior to contextView instantiation\n if (this.selectList) {\n // Make visible to enable measurements\n this.selectDropDownContainer.classList.add('visible');\n const window = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getWindow(this.selectElement);\n const selectPosition = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getDomNodePagePosition(this.selectElement);\n const styles = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getWindow(this.selectElement).getComputedStyle(this.selectElement);\n const verticalPadding = parseFloat(styles.getPropertyValue('--dropdown-padding-top')) + parseFloat(styles.getPropertyValue('--dropdown-padding-bottom'));\n const maxSelectDropDownHeightBelow = (window.innerHeight - selectPosition.top - selectPosition.height - (this.selectBoxOptions.minBottomMargin || 0));\n const maxSelectDropDownHeightAbove = (selectPosition.top - SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN);\n // Determine optimal width - min(longest option), opt(parent select, excluding margins), max(ContextView controlled)\n const selectWidth = this.selectElement.offsetWidth;\n const selectMinWidth = this.setWidthControlElement(this.widthControlElement);\n const selectOptimalWidth = Math.max(selectMinWidth, Math.round(selectWidth)).toString() + 'px';\n this.selectDropDownContainer.style.width = selectOptimalWidth;\n // Get initial list height and determine space above and below\n this.selectList.getHTMLElement().style.height = '';\n this.selectList.layout();\n let listHeight = this.selectList.contentHeight;\n if (this._hasDetails && this._cachedMaxDetailsHeight === undefined) {\n this._cachedMaxDetailsHeight = this.measureMaxDetailsHeight();\n }\n const maxDetailsPaneHeight = this._hasDetails ? this._cachedMaxDetailsHeight : 0;\n const minRequiredDropDownHeight = listHeight + verticalPadding + maxDetailsPaneHeight;\n const maxVisibleOptionsBelow = ((Math.floor((maxSelectDropDownHeightBelow - verticalPadding - maxDetailsPaneHeight) / this.getHeight())));\n const maxVisibleOptionsAbove = ((Math.floor((maxSelectDropDownHeightAbove - verticalPadding - maxDetailsPaneHeight) / this.getHeight())));\n // If we are only doing pre-layout check/adjust position only\n // Calculate vertical space available, flip up if insufficient\n // Use reflected padding on parent select, ContextView style\n // properties not available before DOM attachment\n if (preLayoutPosition) {\n // Check if select moved out of viewport , do not open\n // If at least one option cannot be shown, don't open the drop-down or hide/remove if open\n if ((selectPosition.top + selectPosition.height) > (window.innerHeight - 22)\n || selectPosition.top < SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN\n || ((maxVisibleOptionsBelow < 1) && (maxVisibleOptionsAbove < 1))) {\n // Indicate we cannot open\n return false;\n }\n // Determine if we have to flip up\n // Always show complete list items - never more than Max available vertical height\n if (maxVisibleOptionsBelow < SelectBoxList.DEFAULT_MINIMUM_VISIBLE_OPTIONS\n && maxVisibleOptionsAbove > maxVisibleOptionsBelow\n && this.options.length > maxVisibleOptionsBelow) {\n this._dropDownPosition = 1 /* AnchorPosition.ABOVE */;\n this.selectDropDownContainer.removeChild(this.selectDropDownListContainer);\n this.selectDropDownContainer.removeChild(this.selectionDetailsPane);\n this.selectDropDownContainer.appendChild(this.selectionDetailsPane);\n this.selectDropDownContainer.appendChild(this.selectDropDownListContainer);\n this.selectionDetailsPane.classList.remove('border-top');\n this.selectionDetailsPane.classList.add('border-bottom');\n }\n else {\n this._dropDownPosition = 0 /* AnchorPosition.BELOW */;\n this.selectDropDownContainer.removeChild(this.selectDropDownListContainer);\n this.selectDropDownContainer.removeChild(this.selectionDetailsPane);\n this.selectDropDownContainer.appendChild(this.selectDropDownListContainer);\n this.selectDropDownContainer.appendChild(this.selectionDetailsPane);\n this.selectionDetailsPane.classList.remove('border-bottom');\n this.selectionDetailsPane.classList.add('border-top');\n }\n // Do full layout on showSelectDropDown only\n return true;\n }\n // Check if select out of viewport or cutting into status bar\n if ((selectPosition.top + selectPosition.height) > (window.innerHeight - 22)\n || selectPosition.top < SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN\n || (this._dropDownPosition === 0 /* AnchorPosition.BELOW */ && maxVisibleOptionsBelow < 1)\n || (this._dropDownPosition === 1 /* AnchorPosition.ABOVE */ && maxVisibleOptionsAbove < 1)) {\n // Cannot properly layout, close and hide\n this.hideSelectDropDown(true);\n return false;\n }\n // SetUp list dimensions and layout - account for container padding\n // Use position to check above or below available space\n if (this._dropDownPosition === 0 /* AnchorPosition.BELOW */) {\n if (this._isVisible && maxVisibleOptionsBelow + maxVisibleOptionsAbove < 1) {\n // If drop-down is visible, must be doing a DOM re-layout, hide since we don't fit\n // Hide drop-down, hide contextview, focus on parent select\n this.hideSelectDropDown(true);\n return false;\n }\n // Adjust list height to max from select bottom to margin (default/minBottomMargin)\n if (minRequiredDropDownHeight > maxSelectDropDownHeightBelow) {\n listHeight = (maxVisibleOptionsBelow * this.getHeight());\n }\n }\n else {\n if (minRequiredDropDownHeight > maxSelectDropDownHeightAbove) {\n listHeight = (maxVisibleOptionsAbove * this.getHeight());\n }\n }\n // Set adjusted list height and relayout\n this.selectList.layout(listHeight);\n this.selectList.domFocus();\n // Finally set focus on selected item\n if (this.selectList.length > 0) {\n this.selectList.setFocus([this.selected || 0]);\n this.selectList.reveal(this.selectList.getFocus()[0] || 0);\n }\n if (this._hasDetails) {\n // Leave the selectDropDownContainer to size itself according to children (list + details) - #57447\n this.selectList.getHTMLElement().style.height = (listHeight + verticalPadding) + 'px';\n this.selectDropDownContainer.style.height = '';\n }\n else {\n this.selectDropDownContainer.style.height = (listHeight + verticalPadding) + 'px';\n }\n this.updateDetail(this.selected);\n this.selectDropDownContainer.style.width = selectOptimalWidth;\n // Maintain focus outline on parent select as well as list container - tabindex for focus\n this.selectDropDownListContainer.setAttribute('tabindex', '0');\n this.selectElement.classList.add('synthetic-focus');\n this.selectDropDownContainer.classList.add('synthetic-focus');\n return true;\n }\n else {\n return false;\n }\n }\n setWidthControlElement(container) {\n let elementWidth = 0;\n if (container) {\n let longest = 0;\n let longestLength = 0;\n this.options.forEach((option, index) => {\n const detailLength = !!option.detail ? option.detail.length : 0;\n const rightDecoratorLength = !!option.decoratorRight ? option.decoratorRight.length : 0;\n const len = option.text.length + detailLength + rightDecoratorLength;\n if (len > longestLength) {\n longest = index;\n longestLength = len;\n }\n });\n container.textContent = this.options[longest].text + (!!this.options[longest].decoratorRight ? (this.options[longest].decoratorRight + ' ') : '');\n elementWidth = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getTotalWidth(container);\n }\n return elementWidth;\n }\n createSelectList(parent) {\n // If we have already constructive list on open, skip\n if (this.selectList) {\n return;\n }\n // SetUp container for list\n this.selectDropDownListContainer = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(parent, $('.select-box-dropdown-list-container'));\n this.listRenderer = new SelectListRenderer();\n this.selectList = new _list_listWidget_js__WEBPACK_IMPORTED_MODULE_4__.List('SelectBoxCustom', this.selectDropDownListContainer, this, [this.listRenderer], {\n useShadows: false,\n verticalScrollMode: 3 /* ScrollbarVisibility.Visible */,\n keyboardSupport: false,\n mouseSupport: false,\n accessibilityProvider: {\n getAriaLabel: element => {\n let label = element.text;\n if (element.detail) {\n label += `. ${element.detail}`;\n }\n if (element.decoratorRight) {\n label += `. ${element.decoratorRight}`;\n }\n if (element.description) {\n label += `. ${element.description}`;\n }\n return label;\n },\n getWidgetAriaLabel: () => (0,_nls_js__WEBPACK_IMPORTED_MODULE_11__.localize)({ key: 'selectBox', comment: ['Behave like native select dropdown element.'] }, \"Select Box\"),\n getRole: () => _common_platform_js__WEBPACK_IMPORTED_MODULE_9__.isMacintosh ? '' : 'option',\n getWidgetRole: () => 'listbox'\n }\n });\n if (this.selectBoxOptions.ariaLabel) {\n this.selectList.ariaLabel = this.selectBoxOptions.ariaLabel;\n }\n // SetUp list keyboard controller - control navigation, disabled items, focus\n const onKeyDown = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.selectDropDownListContainer, 'keydown'));\n const onSelectDropDownKeyDown = _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.chain(onKeyDown.event, $ => $.filter(() => this.selectList.length > 0)\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e)));\n this._register(_common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === 3 /* KeyCode.Enter */))(this.onEnter, this));\n this._register(_common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === 2 /* KeyCode.Tab */))(this.onEnter, this)); // Tab should behave the same as enter, #79339\n this._register(_common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === 9 /* KeyCode.Escape */))(this.onEscape, this));\n this._register(_common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === 16 /* KeyCode.UpArrow */))(this.onUpArrow, this));\n this._register(_common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === 18 /* KeyCode.DownArrow */))(this.onDownArrow, this));\n this._register(_common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === 12 /* KeyCode.PageDown */))(this.onPageDown, this));\n this._register(_common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === 11 /* KeyCode.PageUp */))(this.onPageUp, this));\n this._register(_common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === 14 /* KeyCode.Home */))(this.onHome, this));\n this._register(_common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === 13 /* KeyCode.End */))(this.onEnd, this));\n this._register(_common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => (e.keyCode >= 21 /* KeyCode.Digit0 */ && e.keyCode <= 56 /* KeyCode.KeyZ */) || (e.keyCode >= 85 /* KeyCode.Semicolon */ && e.keyCode <= 113 /* KeyCode.NumpadDivide */)))(this.onCharacter, this));\n // SetUp list mouse controller - control navigation, disabled items, focus\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectList.getHTMLElement(), _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.POINTER_UP, e => this.onPointerUp(e)));\n this._register(this.selectList.onMouseOver(e => typeof e.index !== 'undefined' && this.selectList.setFocus([e.index])));\n this._register(this.selectList.onDidChangeFocus(e => this.onListFocus(e)));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectDropDownContainer, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.FOCUS_OUT, e => {\n if (!this._isVisible || _dom_js__WEBPACK_IMPORTED_MODULE_0__.isAncestor(e.relatedTarget, this.selectDropDownContainer)) {\n return;\n }\n this.onListBlur();\n }));\n this.selectList.getHTMLElement().setAttribute('aria-label', this.selectBoxOptions.ariaLabel || '');\n this.selectList.getHTMLElement().setAttribute('aria-expanded', 'true');\n this.styleList();\n }\n // List methods\n // List mouse controller - active exit, select option, fire onDidSelect if change, return focus to parent select\n // Also takes in touchend events\n onPointerUp(e) {\n if (!this.selectList.length) {\n return;\n }\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n const target = e.target;\n if (!target) {\n return;\n }\n // Check our mouse event is on an option (not scrollbar)\n if (target.classList.contains('slider')) {\n return;\n }\n const listRowElement = target.closest('.monaco-list-row');\n if (!listRowElement) {\n return;\n }\n const index = Number(listRowElement.getAttribute('data-index'));\n const disabled = listRowElement.classList.contains('option-disabled');\n // Ignore mouse selection of disabled options\n if (index >= 0 && index < this.options.length && !disabled) {\n this.selected = index;\n this.select(this.selected);\n this.selectList.setFocus([this.selected]);\n this.selectList.reveal(this.selectList.getFocus()[0]);\n // Only fire if selection change\n if (this.selected !== this._currentSelection) {\n // Set current = selected\n this._currentSelection = this.selected;\n this._onDidSelect.fire({\n index: this.selectElement.selectedIndex,\n selected: this.options[this.selected].text\n });\n if (!!this.options[this.selected] && !!this.options[this.selected].text) {\n this.selectElement.title = this.options[this.selected].text;\n }\n }\n this.hideSelectDropDown(true);\n }\n }\n // List Exit - passive - implicit no selection change, hide drop-down\n onListBlur() {\n if (this._sticky) {\n return;\n }\n if (this.selected !== this._currentSelection) {\n // Reset selected to current if no change\n this.select(this._currentSelection);\n }\n this.hideSelectDropDown(false);\n }\n renderDescriptionMarkdown(text, actionHandler) {\n const cleanRenderedMarkdown = (element) => {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes.item(i);\n const tagName = child.tagName && child.tagName.toLowerCase();\n if (tagName === 'img') {\n element.removeChild(child);\n }\n else {\n cleanRenderedMarkdown(child);\n }\n }\n };\n const rendered = (0,_markdownRenderer_js__WEBPACK_IMPORTED_MODULE_3__.renderMarkdown)({ value: text, supportThemeIcons: true }, { actionHandler });\n rendered.element.classList.add('select-box-description-markdown');\n cleanRenderedMarkdown(rendered.element);\n return rendered.element;\n }\n // List Focus Change - passive - update details pane with newly focused element's data\n onListFocus(e) {\n // Skip during initial layout\n if (!this._isVisible || !this._hasDetails) {\n return;\n }\n this.updateDetail(e.indexes[0]);\n }\n updateDetail(selectedIndex) {\n var _a, _b;\n this.selectionDetailsPane.innerText = '';\n const option = this.options[selectedIndex];\n const description = (_a = option === null || option === void 0 ? void 0 : option.description) !== null && _a !== void 0 ? _a : '';\n const descriptionIsMarkdown = (_b = option === null || option === void 0 ? void 0 : option.descriptionIsMarkdown) !== null && _b !== void 0 ? _b : false;\n if (description) {\n if (descriptionIsMarkdown) {\n const actionHandler = option.descriptionMarkdownActionHandler;\n this.selectionDetailsPane.appendChild(this.renderDescriptionMarkdown(description, actionHandler));\n }\n else {\n this.selectionDetailsPane.innerText = description;\n }\n this.selectionDetailsPane.style.display = 'block';\n }\n else {\n this.selectionDetailsPane.style.display = 'none';\n }\n // Avoid recursion\n this._skipLayout = true;\n this.contextViewProvider.layout();\n this._skipLayout = false;\n }\n // List keyboard controller\n // List exit - active - hide ContextView dropdown, reset selection, return focus to parent select\n onEscape(e) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n // Reset selection to value when opened\n this.select(this._currentSelection);\n this.hideSelectDropDown(true);\n }\n // List exit - active - hide ContextView dropdown, return focus to parent select, fire onDidSelect if change\n onEnter(e) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n // Only fire if selection change\n if (this.selected !== this._currentSelection) {\n this._currentSelection = this.selected;\n this._onDidSelect.fire({\n index: this.selectElement.selectedIndex,\n selected: this.options[this.selected].text\n });\n if (!!this.options[this.selected] && !!this.options[this.selected].text) {\n this.selectElement.title = this.options[this.selected].text;\n }\n }\n this.hideSelectDropDown(true);\n }\n // List navigation - have to handle a disabled option (jump over)\n onDownArrow(e) {\n if (this.selected < this.options.length - 1) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true);\n // Skip disabled options\n const nextOptionDisabled = this.options[this.selected + 1].isDisabled;\n if (nextOptionDisabled && this.options.length > this.selected + 2) {\n this.selected += 2;\n }\n else if (nextOptionDisabled) {\n return;\n }\n else {\n this.selected++;\n }\n // Set focus/selection - only fire event when closing drop-down or on blur\n this.select(this.selected);\n this.selectList.setFocus([this.selected]);\n this.selectList.reveal(this.selectList.getFocus()[0]);\n }\n }\n onUpArrow(e) {\n if (this.selected > 0) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true);\n // Skip disabled options\n const previousOptionDisabled = this.options[this.selected - 1].isDisabled;\n if (previousOptionDisabled && this.selected > 1) {\n this.selected -= 2;\n }\n else {\n this.selected--;\n }\n // Set focus/selection - only fire event when closing drop-down or on blur\n this.select(this.selected);\n this.selectList.setFocus([this.selected]);\n this.selectList.reveal(this.selectList.getFocus()[0]);\n }\n }\n onPageUp(e) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n this.selectList.focusPreviousPage();\n // Allow scrolling to settle\n setTimeout(() => {\n this.selected = this.selectList.getFocus()[0];\n // Shift selection down if we land on a disabled option\n if (this.options[this.selected].isDisabled && this.selected < this.options.length - 1) {\n this.selected++;\n this.selectList.setFocus([this.selected]);\n }\n this.selectList.reveal(this.selected);\n this.select(this.selected);\n }, 1);\n }\n onPageDown(e) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n this.selectList.focusNextPage();\n // Allow scrolling to settle\n setTimeout(() => {\n this.selected = this.selectList.getFocus()[0];\n // Shift selection up if we land on a disabled option\n if (this.options[this.selected].isDisabled && this.selected > 0) {\n this.selected--;\n this.selectList.setFocus([this.selected]);\n }\n this.selectList.reveal(this.selected);\n this.select(this.selected);\n }, 1);\n }\n onHome(e) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n if (this.options.length < 2) {\n return;\n }\n this.selected = 0;\n if (this.options[this.selected].isDisabled && this.selected > 1) {\n this.selected++;\n }\n this.selectList.setFocus([this.selected]);\n this.selectList.reveal(this.selected);\n this.select(this.selected);\n }\n onEnd(e) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n if (this.options.length < 2) {\n return;\n }\n this.selected = this.options.length - 1;\n if (this.options[this.selected].isDisabled && this.selected > 1) {\n this.selected--;\n }\n this.selectList.setFocus([this.selected]);\n this.selectList.reveal(this.selected);\n this.select(this.selected);\n }\n // Mimic option first character navigation of native select\n onCharacter(e) {\n const ch = _common_keyCodes_js__WEBPACK_IMPORTED_MODULE_7__.KeyCodeUtils.toString(e.keyCode);\n let optionIndex = -1;\n for (let i = 0; i < this.options.length - 1; i++) {\n optionIndex = (i + this.selected + 1) % this.options.length;\n if (this.options[optionIndex].text.charAt(0).toUpperCase() === ch && !this.options[optionIndex].isDisabled) {\n this.select(optionIndex);\n this.selectList.setFocus([optionIndex]);\n this.selectList.reveal(this.selectList.getFocus()[0]);\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n break;\n }\n }\n }\n dispose() {\n this.hideSelectDropDown(false);\n super.dispose();\n }\n}\nSelectBoxList.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN = 32;\nSelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN = 2;\nSelectBoxList.DEFAULT_MINIMUM_VISIBLE_OPTIONS = 3;\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxNative.js":
+/*!****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxNative.js ***!
+ \****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SelectBoxNative: () => (/* binding */ SelectBoxNative)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\nclass SelectBoxNative extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__.Disposable {\n constructor(options, selected, styles, selectBoxOptions) {\n super();\n this.selected = 0;\n this.selectBoxOptions = selectBoxOptions || Object.create(null);\n this.options = [];\n this.selectElement = document.createElement('select');\n this.selectElement.className = 'monaco-select-box';\n if (typeof this.selectBoxOptions.ariaLabel === 'string') {\n this.selectElement.setAttribute('aria-label', this.selectBoxOptions.ariaLabel);\n }\n if (typeof this.selectBoxOptions.ariaDescription === 'string') {\n this.selectElement.setAttribute('aria-description', this.selectBoxOptions.ariaDescription);\n }\n this._onDidSelect = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Emitter());\n this.styles = styles;\n this.registerListeners();\n this.setOptions(options, selected);\n }\n registerListeners() {\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_1__.Gesture.addTarget(this.selectElement));\n [_touch_js__WEBPACK_IMPORTED_MODULE_1__.EventType.Tap].forEach(eventType => {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectElement, eventType, (e) => {\n this.selectElement.focus();\n }));\n });\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addStandardDisposableListener(this.selectElement, 'click', (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true);\n }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addStandardDisposableListener(this.selectElement, 'change', (e) => {\n this.selectElement.title = e.target.value;\n this._onDidSelect.fire({\n index: e.target.selectedIndex,\n selected: e.target.value\n });\n }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addStandardDisposableListener(this.selectElement, 'keydown', (e) => {\n let showSelect = false;\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_5__.isMacintosh) {\n if (e.keyCode === 18 /* KeyCode.DownArrow */ || e.keyCode === 16 /* KeyCode.UpArrow */ || e.keyCode === 10 /* KeyCode.Space */) {\n showSelect = true;\n }\n }\n else {\n if (e.keyCode === 18 /* KeyCode.DownArrow */ && e.altKey || e.keyCode === 10 /* KeyCode.Space */ || e.keyCode === 3 /* KeyCode.Enter */) {\n showSelect = true;\n }\n }\n if (showSelect) {\n // Space, Enter, is used to expand select box, do not propagate it (prevent action bar action run)\n e.stopPropagation();\n }\n }));\n }\n get onDidSelect() {\n return this._onDidSelect.event;\n }\n setOptions(options, selected) {\n if (!this.options || !_common_arrays_js__WEBPACK_IMPORTED_MODULE_2__.equals(this.options, options)) {\n this.options = options;\n this.selectElement.options.length = 0;\n this.options.forEach((option, index) => {\n this.selectElement.add(this.createOption(option.text, index, option.isDisabled));\n });\n }\n if (selected !== undefined) {\n this.select(selected);\n }\n }\n select(index) {\n if (this.options.length === 0) {\n this.selected = 0;\n }\n else if (index >= 0 && index < this.options.length) {\n this.selected = index;\n }\n else if (index > this.options.length - 1) {\n // Adjust index to end of list\n // This could make client out of sync with the select\n this.select(this.options.length - 1);\n }\n else if (this.selected < 0) {\n this.selected = 0;\n }\n this.selectElement.selectedIndex = this.selected;\n if ((this.selected < this.options.length) && typeof this.options[this.selected].text === 'string') {\n this.selectElement.title = this.options[this.selected].text;\n }\n else {\n this.selectElement.title = '';\n }\n }\n focus() {\n if (this.selectElement) {\n this.selectElement.tabIndex = 0;\n this.selectElement.focus();\n }\n }\n blur() {\n if (this.selectElement) {\n this.selectElement.tabIndex = -1;\n this.selectElement.blur();\n }\n }\n setFocusable(focusable) {\n this.selectElement.tabIndex = focusable ? 0 : -1;\n }\n render(container) {\n container.classList.add('select-container');\n container.appendChild(this.selectElement);\n this.setOptions(this.options, this.selected);\n this.applyStyles();\n }\n applyStyles() {\n var _a, _b, _c;\n // Style native select\n if (this.selectElement) {\n this.selectElement.style.backgroundColor = (_a = this.styles.selectBackground) !== null && _a !== void 0 ? _a : '';\n this.selectElement.style.color = (_b = this.styles.selectForeground) !== null && _b !== void 0 ? _b : '';\n this.selectElement.style.borderColor = (_c = this.styles.selectBorder) !== null && _c !== void 0 ? _c : '';\n }\n }\n createOption(value, index, disabled) {\n const option = document.createElement('option');\n option.value = value;\n option.text = value;\n option.disabled = !!disabled;\n return option;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxNative.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.js":
+/*!**********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.js ***!
+ \**********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Sizing: () => (/* binding */ Sizing),\n/* harmony export */ SplitView: () => (/* binding */ SplitView)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _sash_sash_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../sash/sash.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_color_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/color.js */ \"./node_modules/monaco-editor/esm/vs/base/common/color.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_numbers_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/numbers.js */ \"./node_modules/monaco-editor/esm/vs/base/common/numbers.js\");\n/* harmony import */ var _common_scrollable_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/scrollable.js */ \"./node_modules/monaco-editor/esm/vs/base/common/scrollable.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _splitview_css__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./splitview.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.css\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n\n\n\n\n\nconst defaultStyles = {\n separatorBorder: _common_color_js__WEBPACK_IMPORTED_MODULE_5__.Color.transparent\n};\nclass ViewItem {\n set size(size) {\n this._size = size;\n }\n get size() {\n return this._size;\n }\n get visible() {\n return typeof this._cachedVisibleSize === 'undefined';\n }\n setVisible(visible, size) {\n var _a, _b;\n if (visible === this.visible) {\n return;\n }\n if (visible) {\n this.size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(this._cachedVisibleSize, this.viewMinimumSize, this.viewMaximumSize);\n this._cachedVisibleSize = undefined;\n }\n else {\n this._cachedVisibleSize = typeof size === 'number' ? size : this.size;\n this.size = 0;\n }\n this.container.classList.toggle('visible', visible);\n try {\n (_b = (_a = this.view).setVisible) === null || _b === void 0 ? void 0 : _b.call(_a, visible);\n }\n catch (e) {\n console.error('Splitview: Failed to set visible view');\n console.error(e);\n }\n }\n get minimumSize() { return this.visible ? this.view.minimumSize : 0; }\n get viewMinimumSize() { return this.view.minimumSize; }\n get maximumSize() { return this.visible ? this.view.maximumSize : 0; }\n get viewMaximumSize() { return this.view.maximumSize; }\n get priority() { return this.view.priority; }\n get proportionalLayout() { var _a; return (_a = this.view.proportionalLayout) !== null && _a !== void 0 ? _a : true; }\n get snap() { return !!this.view.snap; }\n set enabled(enabled) {\n this.container.style.pointerEvents = enabled ? '' : 'none';\n }\n constructor(container, view, size, disposable) {\n this.container = container;\n this.view = view;\n this.disposable = disposable;\n this._cachedVisibleSize = undefined;\n if (typeof size === 'number') {\n this._size = size;\n this._cachedVisibleSize = undefined;\n container.classList.add('visible');\n }\n else {\n this._size = 0;\n this._cachedVisibleSize = size.cachedVisibleSize;\n }\n }\n layout(offset, layoutContext) {\n this.layoutContainer(offset);\n try {\n this.view.layout(this.size, offset, layoutContext);\n }\n catch (e) {\n console.error('Splitview: Failed to layout view');\n console.error(e);\n }\n }\n dispose() {\n this.disposable.dispose();\n }\n}\nclass VerticalViewItem extends ViewItem {\n layoutContainer(offset) {\n this.container.style.top = `${offset}px`;\n this.container.style.height = `${this.size}px`;\n }\n}\nclass HorizontalViewItem extends ViewItem {\n layoutContainer(offset) {\n this.container.style.left = `${offset}px`;\n this.container.style.width = `${this.size}px`;\n }\n}\nvar State;\n(function (State) {\n State[State[\"Idle\"] = 0] = \"Idle\";\n State[State[\"Busy\"] = 1] = \"Busy\";\n})(State || (State = {}));\nvar Sizing;\n(function (Sizing) {\n /**\n * When adding or removing views, distribute the delta space among\n * all other views.\n */\n Sizing.Distribute = { type: 'distribute' };\n /**\n * When adding or removing views, split the delta space with another\n * specific view, indexed by the provided `index`.\n */\n function Split(index) { return { type: 'split', index }; }\n Sizing.Split = Split;\n /**\n * When adding a view, use DistributeSizing when all pre-existing views are\n * distributed evenly, otherwise use SplitSizing.\n */\n function Auto(index) { return { type: 'auto', index }; }\n Sizing.Auto = Auto;\n /**\n * When adding or removing views, assume the view is invisible.\n */\n function Invisible(cachedVisibleSize) { return { type: 'invisible', cachedVisibleSize }; }\n Sizing.Invisible = Invisible;\n})(Sizing || (Sizing = {}));\n/**\n * The {@link SplitView} is the UI component which implements a one dimensional\n * flex-like layout algorithm for a collection of {@link IView} instances, which\n * are essentially HTMLElement instances with the following size constraints:\n *\n * - {@link IView.minimumSize}\n * - {@link IView.maximumSize}\n * - {@link IView.priority}\n * - {@link IView.snap}\n *\n * In case the SplitView doesn't have enough size to fit all views, it will overflow\n * its content with a scrollbar.\n *\n * In between each pair of views there will be a {@link Sash} allowing the user\n * to resize the views, making sure the constraints are respected.\n *\n * An optional {@link TLayoutContext layout context type} may be used in order to\n * pass along layout contextual data from the {@link SplitView.layout} method down\n * to each view's {@link IView.layout} calls.\n *\n * Features:\n * - Flex-like layout algorithm\n * - Snap support\n * - Orthogonal sash support, for corner sashes\n * - View hide/show support\n * - View swap/move support\n * - Alt key modifier behavior, macOS style\n */\nclass SplitView extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.Disposable {\n get orthogonalStartSash() { return this._orthogonalStartSash; }\n get orthogonalEndSash() { return this._orthogonalEndSash; }\n get startSnappingEnabled() { return this._startSnappingEnabled; }\n get endSnappingEnabled() { return this._endSnappingEnabled; }\n /**\n * A reference to a sash, perpendicular to all sashes in this {@link SplitView},\n * located at the left- or top-most side of the SplitView.\n * Corner sashes will be created automatically at the intersections.\n */\n set orthogonalStartSash(sash) {\n for (const sashItem of this.sashItems) {\n sashItem.sash.orthogonalStartSash = sash;\n }\n this._orthogonalStartSash = sash;\n }\n /**\n * A reference to a sash, perpendicular to all sashes in this {@link SplitView},\n * located at the right- or bottom-most side of the SplitView.\n * Corner sashes will be created automatically at the intersections.\n */\n set orthogonalEndSash(sash) {\n for (const sashItem of this.sashItems) {\n sashItem.sash.orthogonalEndSash = sash;\n }\n this._orthogonalEndSash = sash;\n }\n /**\n * Enable/disable snapping at the beginning of this {@link SplitView}.\n */\n set startSnappingEnabled(startSnappingEnabled) {\n if (this._startSnappingEnabled === startSnappingEnabled) {\n return;\n }\n this._startSnappingEnabled = startSnappingEnabled;\n this.updateSashEnablement();\n }\n /**\n * Enable/disable snapping at the end of this {@link SplitView}.\n */\n set endSnappingEnabled(endSnappingEnabled) {\n if (this._endSnappingEnabled === endSnappingEnabled) {\n return;\n }\n this._endSnappingEnabled = endSnappingEnabled;\n this.updateSashEnablement();\n }\n /**\n * Create a new {@link SplitView} instance.\n */\n constructor(container, options = {}) {\n var _a, _b, _c, _d, _e;\n super();\n this.size = 0;\n this._contentSize = 0;\n this.proportions = undefined;\n this.viewItems = [];\n this.sashItems = []; // used in tests\n this.state = State.Idle;\n this._onDidSashChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\n this._onDidSashReset = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\n this._startSnappingEnabled = true;\n this._endSnappingEnabled = true;\n /**\n * Fires whenever the user resizes a {@link Sash sash}.\n */\n this.onDidSashChange = this._onDidSashChange.event;\n /**\n * Fires whenever the user double clicks a {@link Sash sash}.\n */\n this.onDidSashReset = this._onDidSashReset.event;\n this.orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : 0 /* Orientation.VERTICAL */;\n this.inverseAltBehavior = (_b = options.inverseAltBehavior) !== null && _b !== void 0 ? _b : false;\n this.proportionalLayout = (_c = options.proportionalLayout) !== null && _c !== void 0 ? _c : true;\n this.getSashOrthogonalSize = options.getSashOrthogonalSize;\n this.el = document.createElement('div');\n this.el.classList.add('monaco-split-view2');\n this.el.classList.add(this.orientation === 0 /* Orientation.VERTICAL */ ? 'vertical' : 'horizontal');\n container.appendChild(this.el);\n this.sashContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(this.el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.sash-container'));\n this.viewContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.split-view-container');\n this.scrollable = this._register(new _common_scrollable_js__WEBPACK_IMPORTED_MODULE_9__.Scrollable({\n forceIntegerValues: true,\n smoothScrollDuration: 125,\n scheduleAtNextAnimationFrame: callback => (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.scheduleAtNextAnimationFrame)((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.getWindow)(this.el), callback),\n }));\n this.scrollableElement = this._register(new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_3__.SmoothScrollableElement(this.viewContainer, {\n vertical: this.orientation === 0 /* Orientation.VERTICAL */ ? ((_d = options.scrollbarVisibility) !== null && _d !== void 0 ? _d : 1 /* ScrollbarVisibility.Auto */) : 2 /* ScrollbarVisibility.Hidden */,\n horizontal: this.orientation === 1 /* Orientation.HORIZONTAL */ ? ((_e = options.scrollbarVisibility) !== null && _e !== void 0 ? _e : 1 /* ScrollbarVisibility.Auto */) : 2 /* ScrollbarVisibility.Hidden */\n }, this.scrollable));\n // https://github.com/microsoft/vscode/issues/157737\n const onDidScrollViewContainer = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.viewContainer, 'scroll')).event;\n this._register(onDidScrollViewContainer(_ => {\n const position = this.scrollableElement.getScrollPosition();\n const scrollLeft = Math.abs(this.viewContainer.scrollLeft - position.scrollLeft) <= 1 ? undefined : this.viewContainer.scrollLeft;\n const scrollTop = Math.abs(this.viewContainer.scrollTop - position.scrollTop) <= 1 ? undefined : this.viewContainer.scrollTop;\n if (scrollLeft !== undefined || scrollTop !== undefined) {\n this.scrollableElement.setScrollPosition({ scrollLeft, scrollTop });\n }\n }));\n this.onDidScroll = this.scrollableElement.onScroll;\n this._register(this.onDidScroll(e => {\n if (e.scrollTopChanged) {\n this.viewContainer.scrollTop = e.scrollTop;\n }\n if (e.scrollLeftChanged) {\n this.viewContainer.scrollLeft = e.scrollLeft;\n }\n }));\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(this.el, this.scrollableElement.getDomNode());\n this.style(options.styles || defaultStyles);\n // We have an existing set of view, add them now\n if (options.descriptor) {\n this.size = options.descriptor.size;\n options.descriptor.views.forEach((viewDescriptor, index) => {\n const sizing = _common_types_js__WEBPACK_IMPORTED_MODULE_10__.isUndefined(viewDescriptor.visible) || viewDescriptor.visible ? viewDescriptor.size : { type: 'invisible', cachedVisibleSize: viewDescriptor.size };\n const view = viewDescriptor.view;\n this.doAddView(view, sizing, index, true);\n });\n // Initialize content size and proportions for first layout\n this._contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);\n this.saveProportions();\n }\n }\n style(styles) {\n if (styles.separatorBorder.isTransparent()) {\n this.el.classList.remove('separator-border');\n this.el.style.removeProperty('--separator-border');\n }\n else {\n this.el.classList.add('separator-border');\n this.el.style.setProperty('--separator-border', styles.separatorBorder.toString());\n }\n }\n /**\n * Add a {@link IView view} to this {@link SplitView}.\n *\n * @param view The view to add.\n * @param size Either a fixed size, or a dynamic {@link Sizing} strategy.\n * @param index The index to insert the view on.\n * @param skipLayout Whether layout should be skipped.\n */\n addView(view, size, index = this.viewItems.length, skipLayout) {\n this.doAddView(view, size, index, skipLayout);\n }\n /**\n * Layout the {@link SplitView}.\n *\n * @param size The entire size of the {@link SplitView}.\n * @param layoutContext An optional layout context to pass along to {@link IView views}.\n */\n layout(size, layoutContext) {\n const previousSize = Math.max(this.size, this._contentSize);\n this.size = size;\n this.layoutContext = layoutContext;\n if (!this.proportions) {\n const indexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(this.viewItems.length);\n const lowPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 1 /* LayoutPriority.Low */);\n const highPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 2 /* LayoutPriority.High */);\n this.resize(this.viewItems.length - 1, size - previousSize, undefined, lowPriorityIndexes, highPriorityIndexes);\n }\n else {\n let total = 0;\n for (let i = 0; i < this.viewItems.length; i++) {\n const item = this.viewItems[i];\n const proportion = this.proportions[i];\n if (typeof proportion === 'number') {\n total += proportion;\n }\n else {\n size -= item.size;\n }\n }\n for (let i = 0; i < this.viewItems.length; i++) {\n const item = this.viewItems[i];\n const proportion = this.proportions[i];\n if (typeof proportion === 'number' && total > 0) {\n item.size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(Math.round(proportion * size / total), item.minimumSize, item.maximumSize);\n }\n }\n }\n this.distributeEmptySpace();\n this.layoutViews();\n }\n saveProportions() {\n if (this.proportionalLayout && this._contentSize > 0) {\n this.proportions = this.viewItems.map(v => v.proportionalLayout && v.visible ? v.size / this._contentSize : undefined);\n }\n }\n onSashStart({ sash, start, alt }) {\n for (const item of this.viewItems) {\n item.enabled = false;\n }\n const index = this.sashItems.findIndex(item => item.sash === sash);\n // This way, we can press Alt while we resize a sash, macOS style!\n const disposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.combinedDisposable)((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(this.el.ownerDocument.body, 'keydown', e => resetSashDragState(this.sashDragState.current, e.altKey)), (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(this.el.ownerDocument.body, 'keyup', () => resetSashDragState(this.sashDragState.current, false)));\n const resetSashDragState = (start, alt) => {\n const sizes = this.viewItems.map(i => i.size);\n let minDelta = Number.NEGATIVE_INFINITY;\n let maxDelta = Number.POSITIVE_INFINITY;\n if (this.inverseAltBehavior) {\n alt = !alt;\n }\n if (alt) {\n // When we're using the last sash with Alt, we're resizing\n // the view to the left/up, instead of right/down as usual\n // Thus, we must do the inverse of the usual\n const isLastSash = index === this.sashItems.length - 1;\n if (isLastSash) {\n const viewItem = this.viewItems[index];\n minDelta = (viewItem.minimumSize - viewItem.size) / 2;\n maxDelta = (viewItem.maximumSize - viewItem.size) / 2;\n }\n else {\n const viewItem = this.viewItems[index + 1];\n minDelta = (viewItem.size - viewItem.maximumSize) / 2;\n maxDelta = (viewItem.size - viewItem.minimumSize) / 2;\n }\n }\n let snapBefore;\n let snapAfter;\n if (!alt) {\n const upIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index, -1);\n const downIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index + 1, this.viewItems.length);\n const minDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].minimumSize - sizes[i]), 0);\n const maxDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].viewMaximumSize - sizes[i]), 0);\n const maxDeltaDown = downIndexes.length === 0 ? Number.POSITIVE_INFINITY : downIndexes.reduce((r, i) => r + (sizes[i] - this.viewItems[i].minimumSize), 0);\n const minDeltaDown = downIndexes.length === 0 ? Number.NEGATIVE_INFINITY : downIndexes.reduce((r, i) => r + (sizes[i] - this.viewItems[i].viewMaximumSize), 0);\n const minDelta = Math.max(minDeltaUp, minDeltaDown);\n const maxDelta = Math.min(maxDeltaDown, maxDeltaUp);\n const snapBeforeIndex = this.findFirstSnapIndex(upIndexes);\n const snapAfterIndex = this.findFirstSnapIndex(downIndexes);\n if (typeof snapBeforeIndex === 'number') {\n const viewItem = this.viewItems[snapBeforeIndex];\n const halfSize = Math.floor(viewItem.viewMinimumSize / 2);\n snapBefore = {\n index: snapBeforeIndex,\n limitDelta: viewItem.visible ? minDelta - halfSize : minDelta + halfSize,\n size: viewItem.size\n };\n }\n if (typeof snapAfterIndex === 'number') {\n const viewItem = this.viewItems[snapAfterIndex];\n const halfSize = Math.floor(viewItem.viewMinimumSize / 2);\n snapAfter = {\n index: snapAfterIndex,\n limitDelta: viewItem.visible ? maxDelta + halfSize : maxDelta - halfSize,\n size: viewItem.size\n };\n }\n }\n this.sashDragState = { start, current: start, index, sizes, minDelta, maxDelta, alt, snapBefore, snapAfter, disposable };\n };\n resetSashDragState(start, alt);\n }\n onSashChange({ current }) {\n const { index, start, sizes, alt, minDelta, maxDelta, snapBefore, snapAfter } = this.sashDragState;\n this.sashDragState.current = current;\n const delta = current - start;\n const newDelta = this.resize(index, delta, sizes, undefined, undefined, minDelta, maxDelta, snapBefore, snapAfter);\n if (alt) {\n const isLastSash = index === this.sashItems.length - 1;\n const newSizes = this.viewItems.map(i => i.size);\n const viewItemIndex = isLastSash ? index : index + 1;\n const viewItem = this.viewItems[viewItemIndex];\n const newMinDelta = viewItem.size - viewItem.maximumSize;\n const newMaxDelta = viewItem.size - viewItem.minimumSize;\n const resizeIndex = isLastSash ? index - 1 : index + 1;\n this.resize(resizeIndex, -newDelta, newSizes, undefined, undefined, newMinDelta, newMaxDelta);\n }\n this.distributeEmptySpace();\n this.layoutViews();\n }\n onSashEnd(index) {\n this._onDidSashChange.fire(index);\n this.sashDragState.disposable.dispose();\n this.saveProportions();\n for (const item of this.viewItems) {\n item.enabled = true;\n }\n }\n onViewChange(item, size) {\n const index = this.viewItems.indexOf(item);\n if (index < 0 || index >= this.viewItems.length) {\n return;\n }\n size = typeof size === 'number' ? size : item.size;\n size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(size, item.minimumSize, item.maximumSize);\n if (this.inverseAltBehavior && index > 0) {\n // In this case, we want the view to grow or shrink both sides equally\n // so we just resize the \"left\" side by half and let `resize` do the clamping magic\n this.resize(index - 1, Math.floor((item.size - size) / 2));\n this.distributeEmptySpace();\n this.layoutViews();\n }\n else {\n item.size = size;\n this.relayout([index], undefined);\n }\n }\n /**\n * Resize a {@link IView view} within the {@link SplitView}.\n *\n * @param index The {@link IView view} index.\n * @param size The {@link IView view} size.\n */\n resizeView(index, size) {\n if (index < 0 || index >= this.viewItems.length) {\n return;\n }\n if (this.state !== State.Idle) {\n throw new Error('Cant modify splitview');\n }\n this.state = State.Busy;\n try {\n const indexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(this.viewItems.length).filter(i => i !== index);\n const lowPriorityIndexes = [...indexes.filter(i => this.viewItems[i].priority === 1 /* LayoutPriority.Low */), index];\n const highPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 2 /* LayoutPriority.High */);\n const item = this.viewItems[index];\n size = Math.round(size);\n size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(size, item.minimumSize, Math.min(item.maximumSize, this.size));\n item.size = size;\n this.relayout(lowPriorityIndexes, highPriorityIndexes);\n }\n finally {\n this.state = State.Idle;\n }\n }\n /**\n * Distribute the entire {@link SplitView} size among all {@link IView views}.\n */\n distributeViewSizes() {\n const flexibleViewItems = [];\n let flexibleSize = 0;\n for (const item of this.viewItems) {\n if (item.maximumSize - item.minimumSize > 0) {\n flexibleViewItems.push(item);\n flexibleSize += item.size;\n }\n }\n const size = Math.floor(flexibleSize / flexibleViewItems.length);\n for (const item of flexibleViewItems) {\n item.size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(size, item.minimumSize, item.maximumSize);\n }\n const indexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(this.viewItems.length);\n const lowPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 1 /* LayoutPriority.Low */);\n const highPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 2 /* LayoutPriority.High */);\n this.relayout(lowPriorityIndexes, highPriorityIndexes);\n }\n /**\n * Returns the size of a {@link IView view}.\n */\n getViewSize(index) {\n if (index < 0 || index >= this.viewItems.length) {\n return -1;\n }\n return this.viewItems[index].size;\n }\n doAddView(view, size, index = this.viewItems.length, skipLayout) {\n if (this.state !== State.Idle) {\n throw new Error('Cant modify splitview');\n }\n this.state = State.Busy;\n try {\n // Add view\n const container = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.split-view-view');\n if (index === this.viewItems.length) {\n this.viewContainer.appendChild(container);\n }\n else {\n this.viewContainer.insertBefore(container, this.viewContainer.children.item(index));\n }\n const onChangeDisposable = view.onDidChange(size => this.onViewChange(item, size));\n const containerDisposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.toDisposable)(() => this.viewContainer.removeChild(container));\n const disposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.combinedDisposable)(onChangeDisposable, containerDisposable);\n let viewSize;\n if (typeof size === 'number') {\n viewSize = size;\n }\n else {\n if (size.type === 'auto') {\n if (this.areViewsDistributed()) {\n size = { type: 'distribute' };\n }\n else {\n size = { type: 'split', index: size.index };\n }\n }\n if (size.type === 'split') {\n viewSize = this.getViewSize(size.index) / 2;\n }\n else if (size.type === 'invisible') {\n viewSize = { cachedVisibleSize: size.cachedVisibleSize };\n }\n else {\n viewSize = view.minimumSize;\n }\n }\n const item = this.orientation === 0 /* Orientation.VERTICAL */\n ? new VerticalViewItem(container, view, viewSize, disposable)\n : new HorizontalViewItem(container, view, viewSize, disposable);\n this.viewItems.splice(index, 0, item);\n // Add sash\n if (this.viewItems.length > 1) {\n const opts = { orthogonalStartSash: this.orthogonalStartSash, orthogonalEndSash: this.orthogonalEndSash };\n const sash = this.orientation === 0 /* Orientation.VERTICAL */\n ? new _sash_sash_js__WEBPACK_IMPORTED_MODULE_2__.Sash(this.sashContainer, { getHorizontalSashTop: s => this.getSashPosition(s), getHorizontalSashWidth: this.getSashOrthogonalSize }, { ...opts, orientation: 1 /* Orientation.HORIZONTAL */ })\n : new _sash_sash_js__WEBPACK_IMPORTED_MODULE_2__.Sash(this.sashContainer, { getVerticalSashLeft: s => this.getSashPosition(s), getVerticalSashHeight: this.getSashOrthogonalSize }, { ...opts, orientation: 0 /* Orientation.VERTICAL */ });\n const sashEventMapper = this.orientation === 0 /* Orientation.VERTICAL */\n ? (e) => ({ sash, start: e.startY, current: e.currentY, alt: e.altKey })\n : (e) => ({ sash, start: e.startX, current: e.currentX, alt: e.altKey });\n const onStart = _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.map(sash.onDidStart, sashEventMapper);\n const onStartDisposable = onStart(this.onSashStart, this);\n const onChange = _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.map(sash.onDidChange, sashEventMapper);\n const onChangeDisposable = onChange(this.onSashChange, this);\n const onEnd = _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.map(sash.onDidEnd, () => this.sashItems.findIndex(item => item.sash === sash));\n const onEndDisposable = onEnd(this.onSashEnd, this);\n const onDidResetDisposable = sash.onDidReset(() => {\n const index = this.sashItems.findIndex(item => item.sash === sash);\n const upIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index, -1);\n const downIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index + 1, this.viewItems.length);\n const snapBeforeIndex = this.findFirstSnapIndex(upIndexes);\n const snapAfterIndex = this.findFirstSnapIndex(downIndexes);\n if (typeof snapBeforeIndex === 'number' && !this.viewItems[snapBeforeIndex].visible) {\n return;\n }\n if (typeof snapAfterIndex === 'number' && !this.viewItems[snapAfterIndex].visible) {\n return;\n }\n this._onDidSashReset.fire(index);\n });\n const disposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.combinedDisposable)(onStartDisposable, onChangeDisposable, onEndDisposable, onDidResetDisposable, sash);\n const sashItem = { sash, disposable };\n this.sashItems.splice(index - 1, 0, sashItem);\n }\n container.appendChild(view.element);\n let highPriorityIndexes;\n if (typeof size !== 'number' && size.type === 'split') {\n highPriorityIndexes = [size.index];\n }\n if (!skipLayout) {\n this.relayout([index], highPriorityIndexes);\n }\n if (!skipLayout && typeof size !== 'number' && size.type === 'distribute') {\n this.distributeViewSizes();\n }\n }\n finally {\n this.state = State.Idle;\n }\n }\n relayout(lowPriorityIndexes, highPriorityIndexes) {\n const contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);\n this.resize(this.viewItems.length - 1, this.size - contentSize, undefined, lowPriorityIndexes, highPriorityIndexes);\n this.distributeEmptySpace();\n this.layoutViews();\n this.saveProportions();\n }\n resize(index, delta, sizes = this.viewItems.map(i => i.size), lowPriorityIndexes, highPriorityIndexes, overloadMinDelta = Number.NEGATIVE_INFINITY, overloadMaxDelta = Number.POSITIVE_INFINITY, snapBefore, snapAfter) {\n if (index < 0 || index >= this.viewItems.length) {\n return 0;\n }\n const upIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index, -1);\n const downIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index + 1, this.viewItems.length);\n if (highPriorityIndexes) {\n for (const index of highPriorityIndexes) {\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToStart)(upIndexes, index);\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToStart)(downIndexes, index);\n }\n }\n if (lowPriorityIndexes) {\n for (const index of lowPriorityIndexes) {\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToEnd)(upIndexes, index);\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToEnd)(downIndexes, index);\n }\n }\n const upItems = upIndexes.map(i => this.viewItems[i]);\n const upSizes = upIndexes.map(i => sizes[i]);\n const downItems = downIndexes.map(i => this.viewItems[i]);\n const downSizes = downIndexes.map(i => sizes[i]);\n const minDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].minimumSize - sizes[i]), 0);\n const maxDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].maximumSize - sizes[i]), 0);\n const maxDeltaDown = downIndexes.length === 0 ? Number.POSITIVE_INFINITY : downIndexes.reduce((r, i) => r + (sizes[i] - this.viewItems[i].minimumSize), 0);\n const minDeltaDown = downIndexes.length === 0 ? Number.NEGATIVE_INFINITY : downIndexes.reduce((r, i) => r + (sizes[i] - this.viewItems[i].maximumSize), 0);\n const minDelta = Math.max(minDeltaUp, minDeltaDown, overloadMinDelta);\n const maxDelta = Math.min(maxDeltaDown, maxDeltaUp, overloadMaxDelta);\n let snapped = false;\n if (snapBefore) {\n const snapView = this.viewItems[snapBefore.index];\n const visible = delta >= snapBefore.limitDelta;\n snapped = visible !== snapView.visible;\n snapView.setVisible(visible, snapBefore.size);\n }\n if (!snapped && snapAfter) {\n const snapView = this.viewItems[snapAfter.index];\n const visible = delta < snapAfter.limitDelta;\n snapped = visible !== snapView.visible;\n snapView.setVisible(visible, snapAfter.size);\n }\n if (snapped) {\n return this.resize(index, delta, sizes, lowPriorityIndexes, highPriorityIndexes, overloadMinDelta, overloadMaxDelta);\n }\n delta = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(delta, minDelta, maxDelta);\n for (let i = 0, deltaUp = delta; i < upItems.length; i++) {\n const item = upItems[i];\n const size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(upSizes[i] + deltaUp, item.minimumSize, item.maximumSize);\n const viewDelta = size - upSizes[i];\n deltaUp -= viewDelta;\n item.size = size;\n }\n for (let i = 0, deltaDown = delta; i < downItems.length; i++) {\n const item = downItems[i];\n const size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(downSizes[i] - deltaDown, item.minimumSize, item.maximumSize);\n const viewDelta = size - downSizes[i];\n deltaDown += viewDelta;\n item.size = size;\n }\n return delta;\n }\n distributeEmptySpace(lowPriorityIndex) {\n const contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);\n let emptyDelta = this.size - contentSize;\n const indexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(this.viewItems.length - 1, -1);\n const lowPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 1 /* LayoutPriority.Low */);\n const highPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 2 /* LayoutPriority.High */);\n for (const index of highPriorityIndexes) {\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToStart)(indexes, index);\n }\n for (const index of lowPriorityIndexes) {\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToEnd)(indexes, index);\n }\n if (typeof lowPriorityIndex === 'number') {\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToEnd)(indexes, lowPriorityIndex);\n }\n for (let i = 0; emptyDelta !== 0 && i < indexes.length; i++) {\n const item = this.viewItems[indexes[i]];\n const size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(item.size + emptyDelta, item.minimumSize, item.maximumSize);\n const viewDelta = size - item.size;\n emptyDelta -= viewDelta;\n item.size = size;\n }\n }\n layoutViews() {\n // Save new content size\n this._contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);\n // Layout views\n let offset = 0;\n for (const viewItem of this.viewItems) {\n viewItem.layout(offset, this.layoutContext);\n offset += viewItem.size;\n }\n // Layout sashes\n this.sashItems.forEach(item => item.sash.layout());\n this.updateSashEnablement();\n this.updateScrollableElement();\n }\n updateScrollableElement() {\n if (this.orientation === 0 /* Orientation.VERTICAL */) {\n this.scrollableElement.setScrollDimensions({\n height: this.size,\n scrollHeight: this._contentSize\n });\n }\n else {\n this.scrollableElement.setScrollDimensions({\n width: this.size,\n scrollWidth: this._contentSize\n });\n }\n }\n updateSashEnablement() {\n let previous = false;\n const collapsesDown = this.viewItems.map(i => previous = (i.size - i.minimumSize > 0) || previous);\n previous = false;\n const expandsDown = this.viewItems.map(i => previous = (i.maximumSize - i.size > 0) || previous);\n const reverseViews = [...this.viewItems].reverse();\n previous = false;\n const collapsesUp = reverseViews.map(i => previous = (i.size - i.minimumSize > 0) || previous).reverse();\n previous = false;\n const expandsUp = reverseViews.map(i => previous = (i.maximumSize - i.size > 0) || previous).reverse();\n let position = 0;\n for (let index = 0; index < this.sashItems.length; index++) {\n const { sash } = this.sashItems[index];\n const viewItem = this.viewItems[index];\n position += viewItem.size;\n const min = !(collapsesDown[index] && expandsUp[index + 1]);\n const max = !(expandsDown[index] && collapsesUp[index + 1]);\n if (min && max) {\n const upIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index, -1);\n const downIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index + 1, this.viewItems.length);\n const snapBeforeIndex = this.findFirstSnapIndex(upIndexes);\n const snapAfterIndex = this.findFirstSnapIndex(downIndexes);\n const snappedBefore = typeof snapBeforeIndex === 'number' && !this.viewItems[snapBeforeIndex].visible;\n const snappedAfter = typeof snapAfterIndex === 'number' && !this.viewItems[snapAfterIndex].visible;\n if (snappedBefore && collapsesUp[index] && (position > 0 || this.startSnappingEnabled)) {\n sash.state = 1 /* SashState.AtMinimum */;\n }\n else if (snappedAfter && collapsesDown[index] && (position < this._contentSize || this.endSnappingEnabled)) {\n sash.state = 2 /* SashState.AtMaximum */;\n }\n else {\n sash.state = 0 /* SashState.Disabled */;\n }\n }\n else if (min && !max) {\n sash.state = 1 /* SashState.AtMinimum */;\n }\n else if (!min && max) {\n sash.state = 2 /* SashState.AtMaximum */;\n }\n else {\n sash.state = 3 /* SashState.Enabled */;\n }\n }\n }\n getSashPosition(sash) {\n let position = 0;\n for (let i = 0; i < this.sashItems.length; i++) {\n position += this.viewItems[i].size;\n if (this.sashItems[i].sash === sash) {\n return position;\n }\n }\n return 0;\n }\n findFirstSnapIndex(indexes) {\n // visible views first\n for (const index of indexes) {\n const viewItem = this.viewItems[index];\n if (!viewItem.visible) {\n continue;\n }\n if (viewItem.snap) {\n return index;\n }\n }\n // then, hidden views\n for (const index of indexes) {\n const viewItem = this.viewItems[index];\n if (viewItem.visible && viewItem.maximumSize - viewItem.minimumSize > 0) {\n return undefined;\n }\n if (!viewItem.visible && viewItem.snap) {\n return index;\n }\n }\n return undefined;\n }\n areViewsDistributed() {\n let min = undefined, max = undefined;\n for (const view of this.viewItems) {\n min = min === undefined ? view.size : Math.min(min, view.size);\n max = max === undefined ? view.size : Math.max(max, view.size);\n if (max - min > 2) {\n return false;\n }\n }\n return true;\n }\n dispose() {\n var _a;\n (_a = this.sashDragState) === null || _a === void 0 ? void 0 : _a.disposable.dispose();\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.dispose)(this.viewItems);\n this.viewItems = [];\n this.sashItems.forEach(i => i.disposable.dispose());\n this.sashItems = [];\n super.dispose();\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/table/tableWidget.js":
+/*!********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/table/tableWidget.js ***!
+ \********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Table: () => (/* binding */ Table)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _list_listWidget_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../list/listWidget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js\");\n/* harmony import */ var _splitview_splitview_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../splitview/splitview.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _table_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./table.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/table/table.css\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\nclass TableListRenderer {\n constructor(columns, renderers, getColumnSize) {\n this.columns = columns;\n this.getColumnSize = getColumnSize;\n this.templateId = TableListRenderer.TemplateId;\n this.renderedTemplates = new Set();\n const rendererMap = new Map(renderers.map(r => [r.templateId, r]));\n this.renderers = [];\n for (const column of columns) {\n const renderer = rendererMap.get(column.templateId);\n if (!renderer) {\n throw new Error(`Table cell renderer for template id ${column.templateId} not found.`);\n }\n this.renderers.push(renderer);\n }\n }\n renderTemplate(container) {\n const rowContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-table-tr'));\n const cellContainers = [];\n const cellTemplateData = [];\n for (let i = 0; i < this.columns.length; i++) {\n const renderer = this.renderers[i];\n const cellContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(rowContainer, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-table-td', { 'data-col-index': i }));\n cellContainer.style.width = `${this.getColumnSize(i)}px`;\n cellContainers.push(cellContainer);\n cellTemplateData.push(renderer.renderTemplate(cellContainer));\n }\n const result = { container, cellContainers, cellTemplateData };\n this.renderedTemplates.add(result);\n return result;\n }\n renderElement(element, index, templateData, height) {\n for (let i = 0; i < this.columns.length; i++) {\n const column = this.columns[i];\n const cell = column.project(element);\n const renderer = this.renderers[i];\n renderer.renderElement(cell, index, templateData.cellTemplateData[i], height);\n }\n }\n disposeElement(element, index, templateData, height) {\n for (let i = 0; i < this.columns.length; i++) {\n const renderer = this.renderers[i];\n if (renderer.disposeElement) {\n const column = this.columns[i];\n const cell = column.project(element);\n renderer.disposeElement(cell, index, templateData.cellTemplateData[i], height);\n }\n }\n }\n disposeTemplate(templateData) {\n for (let i = 0; i < this.columns.length; i++) {\n const renderer = this.renderers[i];\n renderer.disposeTemplate(templateData.cellTemplateData[i]);\n }\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.clearNode)(templateData.container);\n this.renderedTemplates.delete(templateData);\n }\n layoutColumn(index, size) {\n for (const { cellContainers } of this.renderedTemplates) {\n cellContainers[index].style.width = `${size}px`;\n }\n }\n}\nTableListRenderer.TemplateId = 'row';\nfunction asListVirtualDelegate(delegate) {\n return {\n getHeight(row) { return delegate.getHeight(row); },\n getTemplateId() { return TableListRenderer.TemplateId; },\n };\n}\nclass ColumnHeader {\n get minimumSize() { var _a; return (_a = this.column.minimumWidth) !== null && _a !== void 0 ? _a : 120; }\n get maximumSize() { var _a; return (_a = this.column.maximumWidth) !== null && _a !== void 0 ? _a : Number.POSITIVE_INFINITY; }\n get onDidChange() { var _a; return (_a = this.column.onDidChangeWidthConstraints) !== null && _a !== void 0 ? _a : _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.None; }\n constructor(column, index) {\n this.column = column;\n this.index = index;\n this._onDidLayout = new _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Emitter();\n this.onDidLayout = this._onDidLayout.event;\n this.element = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-table-th', { 'data-col-index': index, title: column.tooltip }, column.label);\n }\n layout(size) {\n this._onDidLayout.fire([this.index, size]);\n }\n}\nclass Table {\n get onDidChangeFocus() { return this.list.onDidChangeFocus; }\n get onDidChangeSelection() { return this.list.onDidChangeSelection; }\n get onDidScroll() { return this.list.onDidScroll; }\n get onMouseDblClick() { return this.list.onMouseDblClick; }\n get onPointer() { return this.list.onPointer; }\n get onDidFocus() { return this.list.onDidFocus; }\n get scrollTop() { return this.list.scrollTop; }\n set scrollTop(scrollTop) { this.list.scrollTop = scrollTop; }\n get scrollHeight() { return this.list.scrollHeight; }\n get renderHeight() { return this.list.renderHeight; }\n get onDidDispose() { return this.list.onDidDispose; }\n constructor(user, container, virtualDelegate, columns, renderers, _options) {\n this.virtualDelegate = virtualDelegate;\n this.domId = `table_id_${++Table.InstanceCount}`;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__.DisposableStore();\n this.cachedWidth = 0;\n this.cachedHeight = 0;\n this.domNode = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)(`.monaco-table.${this.domId}`));\n const headers = columns.map((c, i) => new ColumnHeader(c, i));\n const descriptor = {\n size: headers.reduce((a, b) => a + b.column.weight, 0),\n views: headers.map(view => ({ size: view.column.weight, view }))\n };\n this.splitview = this.disposables.add(new _splitview_splitview_js__WEBPACK_IMPORTED_MODULE_2__.SplitView(this.domNode, {\n orientation: 1 /* Orientation.HORIZONTAL */,\n scrollbarVisibility: 2 /* ScrollbarVisibility.Hidden */,\n getSashOrthogonalSize: () => this.cachedHeight,\n descriptor\n }));\n this.splitview.el.style.height = `${virtualDelegate.headerRowHeight}px`;\n this.splitview.el.style.lineHeight = `${virtualDelegate.headerRowHeight}px`;\n const renderer = new TableListRenderer(columns, renderers, i => this.splitview.getViewSize(i));\n this.list = this.disposables.add(new _list_listWidget_js__WEBPACK_IMPORTED_MODULE_1__.List(user, this.domNode, asListVirtualDelegate(virtualDelegate), [renderer], _options));\n _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.any(...headers.map(h => h.onDidLayout))(([index, size]) => renderer.layoutColumn(index, size), null, this.disposables);\n this.splitview.onDidSashReset(index => {\n const totalWeight = columns.reduce((r, c) => r + c.weight, 0);\n const size = columns[index].weight / totalWeight * this.cachedWidth;\n this.splitview.resizeView(index, size);\n }, null, this.disposables);\n this.styleElement = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.createStyleSheet)(this.domNode);\n this.style(_list_listWidget_js__WEBPACK_IMPORTED_MODULE_1__.unthemedListStyles);\n }\n updateOptions(options) {\n this.list.updateOptions(options);\n }\n splice(start, deleteCount, elements = []) {\n this.list.splice(start, deleteCount, elements);\n }\n getHTMLElement() {\n return this.domNode;\n }\n style(styles) {\n const content = [];\n content.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight + 1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`);\n this.styleElement.textContent = content.join('\\n');\n this.list.style(styles);\n }\n getSelectedElements() {\n return this.list.getSelectedElements();\n }\n getSelection() {\n return this.list.getSelection();\n }\n getFocus() {\n return this.list.getFocus();\n }\n dispose() {\n this.disposables.dispose();\n }\n}\nTable.InstanceCount = 0;\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/table/tableWidget.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js":
+/*!****************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js ***!
+ \****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Toggle: () => (/* binding */ Toggle),\n/* harmony export */ unthemedToggleStyles: () => (/* binding */ unthemedToggleStyles)\n/* harmony export */ });\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _toggle_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toggle.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.css\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\nconst unthemedToggleStyles = {\n inputActiveOptionBorder: '#007ACC00',\n inputActiveOptionForeground: '#FFFFFF',\n inputActiveOptionBackground: '#0E639C50'\n};\nclass Toggle extends _widget_js__WEBPACK_IMPORTED_MODULE_0__.Widget {\n constructor(opts) {\n super();\n this._onChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter());\n this.onChange = this._onChange.event;\n this._onKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter());\n this.onKeyDown = this._onKeyDown.event;\n this._opts = opts;\n this._checked = this._opts.isChecked;\n const classes = ['monaco-custom-toggle'];\n if (this._opts.icon) {\n this._icon = this._opts.icon;\n classes.push(..._common_themables_js__WEBPACK_IMPORTED_MODULE_1__.ThemeIcon.asClassNameArray(this._icon));\n }\n if (this._opts.actionClassName) {\n classes.push(...this._opts.actionClassName.split(' '));\n }\n if (this._checked) {\n classes.push('checked');\n }\n this.domNode = document.createElement('div');\n this.domNode.title = this._opts.title;\n this.domNode.classList.add(...classes);\n if (!this._opts.notFocusable) {\n this.domNode.tabIndex = 0;\n }\n this.domNode.setAttribute('role', 'checkbox');\n this.domNode.setAttribute('aria-checked', String(this._checked));\n this.domNode.setAttribute('aria-label', this._opts.title);\n this.applyStyles();\n this.onclick(this.domNode, (ev) => {\n if (this.enabled) {\n this.checked = !this._checked;\n this._onChange.fire(false);\n ev.preventDefault();\n }\n });\n this._register(this.ignoreGesture(this.domNode));\n this.onkeydown(this.domNode, (keyboardEvent) => {\n if (keyboardEvent.keyCode === 10 /* KeyCode.Space */ || keyboardEvent.keyCode === 3 /* KeyCode.Enter */) {\n this.checked = !this._checked;\n this._onChange.fire(true);\n keyboardEvent.preventDefault();\n keyboardEvent.stopPropagation();\n return;\n }\n this._onKeyDown.fire(keyboardEvent);\n });\n }\n get enabled() {\n return this.domNode.getAttribute('aria-disabled') !== 'true';\n }\n focus() {\n this.domNode.focus();\n }\n get checked() {\n return this._checked;\n }\n set checked(newIsChecked) {\n this._checked = newIsChecked;\n this.domNode.setAttribute('aria-checked', String(this._checked));\n this.domNode.classList.toggle('checked', this._checked);\n this.applyStyles();\n }\n width() {\n return 2 /*margin left*/ + 2 /*border*/ + 2 /*padding*/ + 16 /* icon width */;\n }\n applyStyles() {\n if (this.domNode) {\n this.domNode.style.borderColor = (this._checked && this._opts.inputActiveOptionBorder) || '';\n this.domNode.style.color = (this._checked && this._opts.inputActiveOptionForeground) || 'inherit';\n this.domNode.style.backgroundColor = (this._checked && this._opts.inputActiveOptionBackground) || '';\n }\n }\n enable() {\n this.domNode.setAttribute('aria-disabled', String(false));\n }\n disable() {\n this.domNode.setAttribute('aria-disabled', String(true));\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.js":
+/*!******************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.js ***!
+ \******************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ToggleMenuAction: () => (/* binding */ ToggleMenuAction),\n/* harmony export */ ToolBar: () => (/* binding */ ToolBar)\n/* harmony export */ });\n/* harmony import */ var _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../actionbar/actionbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js\");\n/* harmony import */ var _dropdown_dropdownActionViewItem_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dropdown/dropdownActionViewItem.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _toolbar_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./toolbar.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n\n\n/**\n * A widget that combines an action bar for primary actions and a dropdown for secondary actions.\n */\nclass ToolBar extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.Disposable {\n constructor(container, contextMenuProvider, options = { orientation: 0 /* ActionsOrientation.HORIZONTAL */ }) {\n super();\n this.submenuActionViewItems = [];\n this.hasSecondaryActions = false;\n this._onDidChangeDropdownVisibility = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.EventMultiplexer());\n this.onDidChangeDropdownVisibility = this._onDidChangeDropdownVisibility.event;\n this.disposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore());\n this.options = options;\n this.lookupKeybindings = typeof this.options.getKeyBinding === 'function';\n this.toggleMenuAction = this._register(new ToggleMenuAction(() => { var _a; return (_a = this.toggleMenuActionViewItem) === null || _a === void 0 ? void 0 : _a.show(); }, options.toggleMenuTitle));\n this.element = document.createElement('div');\n this.element.className = 'monaco-toolbar';\n container.appendChild(this.element);\n this.actionBar = this._register(new _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_0__.ActionBar(this.element, {\n orientation: options.orientation,\n ariaLabel: options.ariaLabel,\n actionRunner: options.actionRunner,\n allowContextMenu: options.allowContextMenu,\n highlightToggledItems: options.highlightToggledItems,\n actionViewItemProvider: (action, viewItemOptions) => {\n var _a;\n if (action.id === ToggleMenuAction.ID) {\n this.toggleMenuActionViewItem = new _dropdown_dropdownActionViewItem_js__WEBPACK_IMPORTED_MODULE_1__.DropdownMenuActionViewItem(action, action.menuActions, contextMenuProvider, {\n actionViewItemProvider: this.options.actionViewItemProvider,\n actionRunner: this.actionRunner,\n keybindingProvider: this.options.getKeyBinding,\n classNames: _common_themables_js__WEBPACK_IMPORTED_MODULE_4__.ThemeIcon.asClassNameArray((_a = options.moreIcon) !== null && _a !== void 0 ? _a : _common_codicons_js__WEBPACK_IMPORTED_MODULE_3__.Codicon.toolBarMore),\n anchorAlignmentProvider: this.options.anchorAlignmentProvider,\n menuAsChild: !!this.options.renderDropdownAsChildElement,\n skipTelemetry: this.options.skipTelemetry,\n isMenu: true\n });\n this.toggleMenuActionViewItem.setActionContext(this.actionBar.context);\n this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility));\n return this.toggleMenuActionViewItem;\n }\n if (options.actionViewItemProvider) {\n const result = options.actionViewItemProvider(action, viewItemOptions);\n if (result) {\n return result;\n }\n }\n if (action instanceof _common_actions_js__WEBPACK_IMPORTED_MODULE_2__.SubmenuAction) {\n const result = new _dropdown_dropdownActionViewItem_js__WEBPACK_IMPORTED_MODULE_1__.DropdownMenuActionViewItem(action, action.actions, contextMenuProvider, {\n actionViewItemProvider: this.options.actionViewItemProvider,\n actionRunner: this.actionRunner,\n keybindingProvider: this.options.getKeyBinding,\n classNames: action.class,\n anchorAlignmentProvider: this.options.anchorAlignmentProvider,\n menuAsChild: !!this.options.renderDropdownAsChildElement,\n skipTelemetry: this.options.skipTelemetry\n });\n result.setActionContext(this.actionBar.context);\n this.submenuActionViewItems.push(result);\n this.disposables.add(this._onDidChangeDropdownVisibility.add(result.onDidChangeVisibility));\n return result;\n }\n return undefined;\n }\n }));\n }\n set actionRunner(actionRunner) {\n this.actionBar.actionRunner = actionRunner;\n }\n get actionRunner() {\n return this.actionBar.actionRunner;\n }\n getElement() {\n return this.element;\n }\n getItemAction(indexOrElement) {\n return this.actionBar.getAction(indexOrElement);\n }\n setActions(primaryActions, secondaryActions) {\n this.clear();\n const primaryActionsToSet = primaryActions ? primaryActions.slice(0) : [];\n // Inject additional action to open secondary actions if present\n this.hasSecondaryActions = !!(secondaryActions && secondaryActions.length > 0);\n if (this.hasSecondaryActions && secondaryActions) {\n this.toggleMenuAction.menuActions = secondaryActions.slice(0);\n primaryActionsToSet.push(this.toggleMenuAction);\n }\n primaryActionsToSet.forEach(action => {\n this.actionBar.push(action, { icon: true, label: false, keybinding: this.getKeybindingLabel(action) });\n });\n }\n getKeybindingLabel(action) {\n var _a, _b, _c;\n const key = this.lookupKeybindings ? (_b = (_a = this.options).getKeyBinding) === null || _b === void 0 ? void 0 : _b.call(_a, action) : undefined;\n return (_c = key === null || key === void 0 ? void 0 : key.getLabel()) !== null && _c !== void 0 ? _c : undefined;\n }\n clear() {\n this.submenuActionViewItems = [];\n this.disposables.clear();\n this.actionBar.clear();\n }\n dispose() {\n this.clear();\n this.disposables.dispose();\n super.dispose();\n }\n}\nclass ToggleMenuAction extends _common_actions_js__WEBPACK_IMPORTED_MODULE_2__.Action {\n constructor(toggleDropdownMenu, title) {\n title = title || _nls_js__WEBPACK_IMPORTED_MODULE_8__.localize('moreActions', \"More Actions...\");\n super(ToggleMenuAction.ID, title, undefined, true);\n this._menuActions = [];\n this.toggleDropdownMenu = toggleDropdownMenu;\n }\n async run() {\n this.toggleDropdownMenu();\n }\n get menuActions() {\n return this._menuActions;\n }\n set menuActions(actions) {\n this._menuActions = actions;\n }\n}\nToggleMenuAction.ID = 'toolbar.toggle.more';\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js":
+/*!********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js ***!
+ \********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbstractTree: () => (/* binding */ AbstractTree),\n/* harmony export */ ComposedTreeDelegate: () => (/* binding */ ComposedTreeDelegate),\n/* harmony export */ FuzzyToggle: () => (/* binding */ FuzzyToggle),\n/* harmony export */ ModeToggle: () => (/* binding */ ModeToggle),\n/* harmony export */ RenderIndentGuides: () => (/* binding */ RenderIndentGuides),\n/* harmony export */ TreeFindMatchType: () => (/* binding */ TreeFindMatchType),\n/* harmony export */ TreeFindMode: () => (/* binding */ TreeFindMode),\n/* harmony export */ TreeRenderer: () => (/* binding */ TreeRenderer)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actionbar/actionbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js\");\n/* harmony import */ var _findinput_findInput_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../findinput/findInput.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.js\");\n/* harmony import */ var _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../inputbox/inputBox.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js\");\n/* harmony import */ var _list_listView_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../list/listView.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js\");\n/* harmony import */ var _list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../list/listWidget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js\");\n/* harmony import */ var _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../toggle/toggle.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js\");\n/* harmony import */ var _indexTreeModel_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./indexTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js\");\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/* harmony import */ var _common_map_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../common/map.js */ \"./node_modules/monaco-editor/esm/vs/base/common/map.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_filters_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../../common/filters.js */ \"./node_modules/monaco-editor/esm/vs/base/common/filters.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_numbers_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../../common/numbers.js */ \"./node_modules/monaco-editor/esm/vs/base/common/numbers.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _media_tree_css__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./media/tree.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/media/tree.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass TreeElementsDragAndDropData extends _list_listView_js__WEBPACK_IMPORTED_MODULE_6__.ElementsDragAndDropData {\n constructor(data) {\n super(data.elements.map(node => node.element));\n this.data = data;\n }\n}\nfunction asTreeDragAndDropData(data) {\n if (data instanceof _list_listView_js__WEBPACK_IMPORTED_MODULE_6__.ElementsDragAndDropData) {\n return new TreeElementsDragAndDropData(data);\n }\n return data;\n}\nclass TreeNodeListDragAndDrop {\n constructor(modelProvider, dnd) {\n this.modelProvider = modelProvider;\n this.dnd = dnd;\n this.autoExpandDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.Disposable.None;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n }\n getDragURI(node) {\n return this.dnd.getDragURI(node.element);\n }\n getDragLabel(nodes, originalEvent) {\n if (this.dnd.getDragLabel) {\n return this.dnd.getDragLabel(nodes.map(node => node.element), originalEvent);\n }\n return undefined;\n }\n onDragStart(data, originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragStart) === null || _b === void 0 ? void 0 : _b.call(_a, asTreeDragAndDropData(data), originalEvent);\n }\n onDragOver(data, targetNode, targetIndex, originalEvent, raw = true) {\n const result = this.dnd.onDragOver(asTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);\n const didChangeAutoExpandNode = this.autoExpandNode !== targetNode;\n if (didChangeAutoExpandNode) {\n this.autoExpandDisposable.dispose();\n this.autoExpandNode = targetNode;\n }\n if (typeof targetNode === 'undefined') {\n return result;\n }\n if (didChangeAutoExpandNode && typeof result !== 'boolean' && result.autoExpand) {\n this.autoExpandDisposable = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_13__.disposableTimeout)(() => {\n const model = this.modelProvider();\n const ref = model.getNodeLocation(targetNode);\n if (model.isCollapsed(ref)) {\n model.setCollapsed(ref, false);\n }\n this.autoExpandNode = undefined;\n }, 500, this.disposables);\n }\n if (typeof result === 'boolean' || !result.accept || typeof result.bubble === 'undefined' || result.feedback) {\n if (!raw) {\n const accept = typeof result === 'boolean' ? result : result.accept;\n const effect = typeof result === 'boolean' ? undefined : result.effect;\n return { accept, effect, feedback: [targetIndex] };\n }\n return result;\n }\n if (result.bubble === 1 /* TreeDragOverBubble.Up */) {\n const model = this.modelProvider();\n const ref = model.getNodeLocation(targetNode);\n const parentRef = model.getParentNodeLocation(ref);\n const parentNode = model.getNode(parentRef);\n const parentIndex = parentRef && model.getListIndex(parentRef);\n return this.onDragOver(data, parentNode, parentIndex, originalEvent, false);\n }\n const model = this.modelProvider();\n const ref = model.getNodeLocation(targetNode);\n const start = model.getListIndex(ref);\n const length = model.getListRenderCount(ref);\n return { ...result, feedback: (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_12__.range)(start, start + length) };\n }\n drop(data, targetNode, targetIndex, originalEvent) {\n this.autoExpandDisposable.dispose();\n this.autoExpandNode = undefined;\n this.dnd.drop(asTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);\n }\n onDragEnd(originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragEnd) === null || _b === void 0 ? void 0 : _b.call(_a, originalEvent);\n }\n dispose() {\n this.disposables.dispose();\n this.dnd.dispose();\n }\n}\nfunction asListOptions(modelProvider, options) {\n return options && {\n ...options,\n identityProvider: options.identityProvider && {\n getId(el) {\n return options.identityProvider.getId(el.element);\n }\n },\n dnd: options.dnd && new TreeNodeListDragAndDrop(modelProvider, options.dnd),\n multipleSelectionController: options.multipleSelectionController && {\n isSelectionSingleChangeEvent(e) {\n return options.multipleSelectionController.isSelectionSingleChangeEvent({ ...e, element: e.element });\n },\n isSelectionRangeChangeEvent(e) {\n return options.multipleSelectionController.isSelectionRangeChangeEvent({ ...e, element: e.element });\n }\n },\n accessibilityProvider: options.accessibilityProvider && {\n ...options.accessibilityProvider,\n getSetSize(node) {\n const model = modelProvider();\n const ref = model.getNodeLocation(node);\n const parentRef = model.getParentNodeLocation(ref);\n const parentNode = model.getNode(parentRef);\n return parentNode.visibleChildrenCount;\n },\n getPosInSet(node) {\n return node.visibleChildIndex + 1;\n },\n isChecked: options.accessibilityProvider && options.accessibilityProvider.isChecked ? (node) => {\n return options.accessibilityProvider.isChecked(node.element);\n } : undefined,\n getRole: options.accessibilityProvider && options.accessibilityProvider.getRole ? (node) => {\n return options.accessibilityProvider.getRole(node.element);\n } : () => 'treeitem',\n getAriaLabel(e) {\n return options.accessibilityProvider.getAriaLabel(e.element);\n },\n getWidgetAriaLabel() {\n return options.accessibilityProvider.getWidgetAriaLabel();\n },\n getWidgetRole: options.accessibilityProvider && options.accessibilityProvider.getWidgetRole ? () => options.accessibilityProvider.getWidgetRole() : () => 'tree',\n getAriaLevel: options.accessibilityProvider && options.accessibilityProvider.getAriaLevel ? (node) => options.accessibilityProvider.getAriaLevel(node.element) : (node) => {\n return node.depth;\n },\n getActiveDescendantId: options.accessibilityProvider.getActiveDescendantId && (node => {\n return options.accessibilityProvider.getActiveDescendantId(node.element);\n })\n },\n keyboardNavigationLabelProvider: options.keyboardNavigationLabelProvider && {\n ...options.keyboardNavigationLabelProvider,\n getKeyboardNavigationLabel(node) {\n return options.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(node.element);\n }\n }\n };\n}\nclass ComposedTreeDelegate {\n constructor(delegate) {\n this.delegate = delegate;\n }\n getHeight(element) {\n return this.delegate.getHeight(element.element);\n }\n getTemplateId(element) {\n return this.delegate.getTemplateId(element.element);\n }\n hasDynamicHeight(element) {\n return !!this.delegate.hasDynamicHeight && this.delegate.hasDynamicHeight(element.element);\n }\n setDynamicHeight(element, height) {\n var _a, _b;\n (_b = (_a = this.delegate).setDynamicHeight) === null || _b === void 0 ? void 0 : _b.call(_a, element.element, height);\n }\n}\nvar RenderIndentGuides;\n(function (RenderIndentGuides) {\n RenderIndentGuides[\"None\"] = \"none\";\n RenderIndentGuides[\"OnHover\"] = \"onHover\";\n RenderIndentGuides[\"Always\"] = \"always\";\n})(RenderIndentGuides || (RenderIndentGuides = {}));\nclass EventCollection {\n get elements() {\n return this._elements;\n }\n constructor(onDidChange, _elements = []) {\n this._elements = _elements;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n this.onDidChange = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.forEach(onDidChange, elements => this._elements = elements, this.disposables);\n }\n dispose() {\n this.disposables.dispose();\n }\n}\nclass TreeRenderer {\n constructor(renderer, modelProvider, onDidChangeCollapseState, activeNodes, renderedIndentGuides, options = {}) {\n var _a;\n this.renderer = renderer;\n this.modelProvider = modelProvider;\n this.activeNodes = activeNodes;\n this.renderedIndentGuides = renderedIndentGuides;\n this.renderedElements = new Map();\n this.renderedNodes = new Map();\n this.indent = TreeRenderer.DefaultIndent;\n this.hideTwistiesOfChildlessElements = false;\n this.shouldRenderIndentGuides = false;\n this.activeIndentNodes = new Set();\n this.indentGuidesDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.Disposable.None;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n this.templateId = renderer.templateId;\n this.updateOptions(options);\n _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.map(onDidChangeCollapseState, e => e.node)(this.onDidChangeNodeTwistieState, this, this.disposables);\n (_a = renderer.onDidChangeTwistieState) === null || _a === void 0 ? void 0 : _a.call(renderer, this.onDidChangeTwistieState, this, this.disposables);\n }\n updateOptions(options = {}) {\n if (typeof options.indent !== 'undefined') {\n const indent = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_20__.clamp)(options.indent, 0, 40);\n if (indent !== this.indent) {\n this.indent = indent;\n for (const [node, templateData] of this.renderedNodes) {\n this.renderTreeElement(node, templateData);\n }\n }\n }\n if (typeof options.renderIndentGuides !== 'undefined') {\n const shouldRenderIndentGuides = options.renderIndentGuides !== RenderIndentGuides.None;\n if (shouldRenderIndentGuides !== this.shouldRenderIndentGuides) {\n this.shouldRenderIndentGuides = shouldRenderIndentGuides;\n for (const [node, templateData] of this.renderedNodes) {\n this._renderIndentGuides(node, templateData);\n }\n this.indentGuidesDisposable.dispose();\n if (shouldRenderIndentGuides) {\n const disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n this.activeNodes.onDidChange(this._onDidChangeActiveNodes, this, disposables);\n this.indentGuidesDisposable = disposables;\n this._onDidChangeActiveNodes(this.activeNodes.elements);\n }\n }\n }\n if (typeof options.hideTwistiesOfChildlessElements !== 'undefined') {\n this.hideTwistiesOfChildlessElements = options.hideTwistiesOfChildlessElements;\n }\n }\n renderTemplate(container) {\n const el = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-tl-row'));\n const indent = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-tl-indent'));\n const twistie = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-tl-twistie'));\n const contents = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-tl-contents'));\n const templateData = this.renderer.renderTemplate(contents);\n return { container, indent, twistie, indentGuidesDisposable: _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.Disposable.None, templateData };\n }\n renderElement(node, index, templateData, height) {\n this.renderedNodes.set(node, templateData);\n this.renderedElements.set(node.element, node);\n this.renderTreeElement(node, templateData);\n this.renderer.renderElement(node, index, templateData.templateData, height);\n }\n disposeElement(node, index, templateData, height) {\n var _a, _b;\n templateData.indentGuidesDisposable.dispose();\n (_b = (_a = this.renderer).disposeElement) === null || _b === void 0 ? void 0 : _b.call(_a, node, index, templateData.templateData, height);\n if (typeof height === 'number') {\n this.renderedNodes.delete(node);\n this.renderedElements.delete(node.element);\n }\n }\n disposeTemplate(templateData) {\n this.renderer.disposeTemplate(templateData.templateData);\n }\n onDidChangeTwistieState(element) {\n const node = this.renderedElements.get(element);\n if (!node) {\n return;\n }\n this.onDidChangeNodeTwistieState(node);\n }\n onDidChangeNodeTwistieState(node) {\n const templateData = this.renderedNodes.get(node);\n if (!templateData) {\n return;\n }\n this._onDidChangeActiveNodes(this.activeNodes.elements);\n this.renderTreeElement(node, templateData);\n }\n renderTreeElement(node, templateData) {\n const indent = TreeRenderer.DefaultIndent + (node.depth - 1) * this.indent;\n templateData.twistie.style.paddingLeft = `${indent}px`;\n templateData.indent.style.width = `${indent + this.indent - 16}px`;\n if (node.collapsible) {\n templateData.container.setAttribute('aria-expanded', String(!node.collapsed));\n }\n else {\n templateData.container.removeAttribute('aria-expanded');\n }\n templateData.twistie.classList.remove(..._common_themables_js__WEBPACK_IMPORTED_MODULE_15__.ThemeIcon.asClassNameArray(_common_codicons_js__WEBPACK_IMPORTED_MODULE_14__.Codicon.treeItemExpanded));\n let twistieRendered = false;\n if (this.renderer.renderTwistie) {\n twistieRendered = this.renderer.renderTwistie(node.element, templateData.twistie);\n }\n if (node.collapsible && (!this.hideTwistiesOfChildlessElements || node.visibleChildrenCount > 0)) {\n if (!twistieRendered) {\n templateData.twistie.classList.add(..._common_themables_js__WEBPACK_IMPORTED_MODULE_15__.ThemeIcon.asClassNameArray(_common_codicons_js__WEBPACK_IMPORTED_MODULE_14__.Codicon.treeItemExpanded));\n }\n templateData.twistie.classList.add('collapsible');\n templateData.twistie.classList.toggle('collapsed', node.collapsed);\n }\n else {\n templateData.twistie.classList.remove('collapsible', 'collapsed');\n }\n this._renderIndentGuides(node, templateData);\n }\n _renderIndentGuides(node, templateData) {\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.clearNode)(templateData.indent);\n templateData.indentGuidesDisposable.dispose();\n if (!this.shouldRenderIndentGuides) {\n return;\n }\n const disposableStore = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n const model = this.modelProvider();\n while (true) {\n const ref = model.getNodeLocation(node);\n const parentRef = model.getParentNodeLocation(ref);\n if (!parentRef) {\n break;\n }\n const parent = model.getNode(parentRef);\n const guide = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.indent-guide', { style: `width: ${this.indent}px` });\n if (this.activeIndentNodes.has(parent)) {\n guide.classList.add('active');\n }\n if (templateData.indent.childElementCount === 0) {\n templateData.indent.appendChild(guide);\n }\n else {\n templateData.indent.insertBefore(guide, templateData.indent.firstElementChild);\n }\n this.renderedIndentGuides.add(parent, guide);\n disposableStore.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.toDisposable)(() => this.renderedIndentGuides.delete(parent, guide)));\n node = parent;\n }\n templateData.indentGuidesDisposable = disposableStore;\n }\n _onDidChangeActiveNodes(nodes) {\n if (!this.shouldRenderIndentGuides) {\n return;\n }\n const set = new Set();\n const model = this.modelProvider();\n nodes.forEach(node => {\n const ref = model.getNodeLocation(node);\n try {\n const parentRef = model.getParentNodeLocation(ref);\n if (node.collapsible && node.children.length > 0 && !node.collapsed) {\n set.add(node);\n }\n else if (parentRef) {\n set.add(model.getNode(parentRef));\n }\n }\n catch (_a) {\n // noop\n }\n });\n this.activeIndentNodes.forEach(node => {\n if (!set.has(node)) {\n this.renderedIndentGuides.forEach(node, line => line.classList.remove('active'));\n }\n });\n set.forEach(node => {\n if (!this.activeIndentNodes.has(node)) {\n this.renderedIndentGuides.forEach(node, line => line.classList.add('active'));\n }\n });\n this.activeIndentNodes = set;\n }\n dispose() {\n this.renderedNodes.clear();\n this.renderedElements.clear();\n this.indentGuidesDisposable.dispose();\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.dispose)(this.disposables);\n }\n}\nTreeRenderer.DefaultIndent = 8;\nclass FindFilter {\n get totalCount() { return this._totalCount; }\n get matchCount() { return this._matchCount; }\n constructor(tree, keyboardNavigationLabelProvider, _filter) {\n this.tree = tree;\n this.keyboardNavigationLabelProvider = keyboardNavigationLabelProvider;\n this._filter = _filter;\n this._totalCount = 0;\n this._matchCount = 0;\n this._pattern = '';\n this._lowercasePattern = '';\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n tree.onWillRefilter(this.reset, this, this.disposables);\n }\n filter(element, parentVisibility) {\n let visibility = 1 /* TreeVisibility.Visible */;\n if (this._filter) {\n const result = this._filter.filter(element, parentVisibility);\n if (typeof result === 'boolean') {\n visibility = result ? 1 /* TreeVisibility.Visible */ : 0 /* TreeVisibility.Hidden */;\n }\n else if ((0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_9__.isFilterResult)(result)) {\n visibility = (0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_9__.getVisibleState)(result.visibility);\n }\n else {\n visibility = result;\n }\n if (visibility === 0 /* TreeVisibility.Hidden */) {\n return false;\n }\n }\n this._totalCount++;\n if (!this._pattern) {\n this._matchCount++;\n return { data: _common_filters_js__WEBPACK_IMPORTED_MODULE_18__.FuzzyScore.Default, visibility };\n }\n const label = this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(element);\n const labels = Array.isArray(label) ? label : [label];\n for (const l of labels) {\n const labelStr = l && l.toString();\n if (typeof labelStr === 'undefined') {\n return { data: _common_filters_js__WEBPACK_IMPORTED_MODULE_18__.FuzzyScore.Default, visibility };\n }\n let score;\n if (this.tree.findMatchType === TreeFindMatchType.Contiguous) {\n const index = labelStr.toLowerCase().indexOf(this._lowercasePattern);\n if (index > -1) {\n score = [Number.MAX_SAFE_INTEGER, 0];\n for (let i = this._lowercasePattern.length; i > 0; i--) {\n score.push(index + i - 1);\n }\n }\n }\n else {\n score = (0,_common_filters_js__WEBPACK_IMPORTED_MODULE_18__.fuzzyScore)(this._pattern, this._lowercasePattern, 0, labelStr, labelStr.toLowerCase(), 0, { firstMatchCanBeWeak: true, boostFullMatch: true });\n }\n if (score) {\n this._matchCount++;\n return labels.length === 1 ?\n { data: score, visibility } :\n { data: { label: labelStr, score: score }, visibility };\n }\n }\n if (this.tree.findMode === TreeFindMode.Filter) {\n if (typeof this.tree.options.defaultFindVisibility === 'number') {\n return this.tree.options.defaultFindVisibility;\n }\n else if (this.tree.options.defaultFindVisibility) {\n return this.tree.options.defaultFindVisibility(element);\n }\n else {\n return 2 /* TreeVisibility.Recurse */;\n }\n }\n else {\n return { data: _common_filters_js__WEBPACK_IMPORTED_MODULE_18__.FuzzyScore.Default, visibility };\n }\n }\n reset() {\n this._totalCount = 0;\n this._matchCount = 0;\n }\n dispose() {\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.dispose)(this.disposables);\n }\n}\nclass ModeToggle extends _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_8__.Toggle {\n constructor(opts) {\n var _a;\n super({\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_14__.Codicon.listFilter,\n title: (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('filter', \"Filter\"),\n isChecked: (_a = opts.isChecked) !== null && _a !== void 0 ? _a : false,\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\n inputActiveOptionBackground: opts.inputActiveOptionBackground\n });\n }\n}\nclass FuzzyToggle extends _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_8__.Toggle {\n constructor(opts) {\n var _a;\n super({\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_14__.Codicon.searchFuzzy,\n title: (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('fuzzySearch', \"Fuzzy Match\"),\n isChecked: (_a = opts.isChecked) !== null && _a !== void 0 ? _a : false,\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\n inputActiveOptionBackground: opts.inputActiveOptionBackground\n });\n }\n}\nconst unthemedFindWidgetStyles = {\n inputBoxStyles: _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_5__.unthemedInboxStyles,\n toggleStyles: _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_8__.unthemedToggleStyles,\n listFilterWidgetBackground: undefined,\n listFilterWidgetNoMatchesOutline: undefined,\n listFilterWidgetOutline: undefined,\n listFilterWidgetShadow: undefined\n};\nvar TreeFindMode;\n(function (TreeFindMode) {\n TreeFindMode[TreeFindMode[\"Highlight\"] = 0] = \"Highlight\";\n TreeFindMode[TreeFindMode[\"Filter\"] = 1] = \"Filter\";\n})(TreeFindMode || (TreeFindMode = {}));\nvar TreeFindMatchType;\n(function (TreeFindMatchType) {\n TreeFindMatchType[TreeFindMatchType[\"Fuzzy\"] = 0] = \"Fuzzy\";\n TreeFindMatchType[TreeFindMatchType[\"Contiguous\"] = 1] = \"Contiguous\";\n})(TreeFindMatchType || (TreeFindMatchType = {}));\nclass FindWidget extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.Disposable {\n set mode(mode) {\n this.modeToggle.checked = mode === TreeFindMode.Filter;\n this.findInput.inputBox.setPlaceHolder(mode === TreeFindMode.Filter ? (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('type to filter', \"Type to filter\") : (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('type to search', \"Type to search\"));\n }\n set matchType(matchType) {\n this.matchTypeToggle.checked = matchType === TreeFindMatchType.Fuzzy;\n }\n constructor(container, tree, contextViewProvider, mode, matchType, options) {\n var _a;\n super();\n this.tree = tree;\n this.elements = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.h)('.monaco-tree-type-filter', [\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.h)('.monaco-tree-type-filter-grab.codicon.codicon-debug-gripper@grab', { tabIndex: 0 }),\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.h)('.monaco-tree-type-filter-input@findInput'),\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.h)('.monaco-tree-type-filter-actionbar@actionbar'),\n ]);\n this.width = 0;\n this.right = 0;\n this.top = 0;\n this._onDidDisable = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n container.appendChild(this.elements.root);\n this._register((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.toDisposable)(() => container.removeChild(this.elements.root)));\n const styles = (_a = options === null || options === void 0 ? void 0 : options.styles) !== null && _a !== void 0 ? _a : unthemedFindWidgetStyles;\n if (styles.listFilterWidgetBackground) {\n this.elements.root.style.backgroundColor = styles.listFilterWidgetBackground;\n }\n if (styles.listFilterWidgetShadow) {\n this.elements.root.style.boxShadow = `0 0 8px 2px ${styles.listFilterWidgetShadow}`;\n }\n this.modeToggle = this._register(new ModeToggle({ ...styles.toggleStyles, isChecked: mode === TreeFindMode.Filter }));\n this.matchTypeToggle = this._register(new FuzzyToggle({ ...styles.toggleStyles, isChecked: matchType === TreeFindMatchType.Fuzzy }));\n this.onDidChangeMode = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.map(this.modeToggle.onChange, () => this.modeToggle.checked ? TreeFindMode.Filter : TreeFindMode.Highlight, this._store);\n this.onDidChangeMatchType = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.map(this.matchTypeToggle.onChange, () => this.matchTypeToggle.checked ? TreeFindMatchType.Fuzzy : TreeFindMatchType.Contiguous, this._store);\n this.findInput = this._register(new _findinput_findInput_js__WEBPACK_IMPORTED_MODULE_4__.FindInput(this.elements.findInput, contextViewProvider, {\n label: (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('type to search', \"Type to search\"),\n additionalToggles: [this.modeToggle, this.matchTypeToggle],\n showCommonFindToggles: false,\n inputBoxStyles: styles.inputBoxStyles,\n toggleStyles: styles.toggleStyles,\n history: options === null || options === void 0 ? void 0 : options.history\n }));\n this.actionbar = this._register(new _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_3__.ActionBar(this.elements.actionbar));\n this.mode = mode;\n const emitter = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.findInput.inputBox.inputElement, 'keydown'));\n const onKeyDown = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.chain(emitter.event, $ => $.map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e)));\n this._register(onKeyDown((e) => {\n // Using equals() so we reserve modified keys for future use\n if (e.equals(3 /* KeyCode.Enter */)) {\n // This is the only keyboard way to return to the tree from a history item that isn't the last one\n e.preventDefault();\n e.stopPropagation();\n this.findInput.inputBox.addToHistory();\n this.tree.domFocus();\n return;\n }\n if (e.equals(18 /* KeyCode.DownArrow */)) {\n e.preventDefault();\n e.stopPropagation();\n if (this.findInput.inputBox.isAtLastInHistory() || this.findInput.inputBox.isNowhereInHistory()) {\n // Retain original pre-history DownArrow behavior\n this.findInput.inputBox.addToHistory();\n this.tree.domFocus();\n }\n else {\n // Downward through history\n this.findInput.inputBox.showNextValue();\n }\n return;\n }\n if (e.equals(16 /* KeyCode.UpArrow */)) {\n e.preventDefault();\n e.stopPropagation();\n // Upward through history\n this.findInput.inputBox.showPreviousValue();\n return;\n }\n }));\n const closeAction = this._register(new _common_actions_js__WEBPACK_IMPORTED_MODULE_11__.Action('close', (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('close', \"Close\"), 'codicon codicon-close', true, () => this.dispose()));\n this.actionbar.push(closeAction, { icon: true, label: false });\n const onGrabMouseDown = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.elements.grab, 'mousedown'));\n this._register(onGrabMouseDown.event(e => {\n const disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n const onWindowMouseMove = disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.getWindow)(e), 'mousemove'));\n const onWindowMouseUp = disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.getWindow)(e), 'mouseup'));\n const startRight = this.right;\n const startX = e.pageX;\n const startTop = this.top;\n const startY = e.pageY;\n this.elements.grab.classList.add('grabbing');\n const transition = this.elements.root.style.transition;\n this.elements.root.style.transition = 'unset';\n const update = (e) => {\n const deltaX = e.pageX - startX;\n this.right = startRight - deltaX;\n const deltaY = e.pageY - startY;\n this.top = startTop + deltaY;\n this.layout();\n };\n disposables.add(onWindowMouseMove.event(update));\n disposables.add(onWindowMouseUp.event(e => {\n update(e);\n this.elements.grab.classList.remove('grabbing');\n this.elements.root.style.transition = transition;\n disposables.dispose();\n }));\n }));\n const onGrabKeyDown = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.chain(this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.elements.grab, 'keydown')).event, $ => $.map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e)));\n this._register(onGrabKeyDown((e) => {\n let right;\n let top;\n if (e.keyCode === 15 /* KeyCode.LeftArrow */) {\n right = Number.POSITIVE_INFINITY;\n }\n else if (e.keyCode === 17 /* KeyCode.RightArrow */) {\n right = 0;\n }\n else if (e.keyCode === 10 /* KeyCode.Space */) {\n right = this.right === 0 ? Number.POSITIVE_INFINITY : 0;\n }\n if (e.keyCode === 16 /* KeyCode.UpArrow */) {\n top = 0;\n }\n else if (e.keyCode === 18 /* KeyCode.DownArrow */) {\n top = Number.POSITIVE_INFINITY;\n }\n if (right !== undefined) {\n e.preventDefault();\n e.stopPropagation();\n this.right = right;\n this.layout();\n }\n if (top !== undefined) {\n e.preventDefault();\n e.stopPropagation();\n this.top = top;\n const transition = this.elements.root.style.transition;\n this.elements.root.style.transition = 'unset';\n this.layout();\n setTimeout(() => {\n this.elements.root.style.transition = transition;\n }, 0);\n }\n }));\n this.onDidChangeValue = this.findInput.onDidChange;\n }\n layout(width = this.width) {\n this.width = width;\n this.right = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_20__.clamp)(this.right, 0, Math.max(0, width - 212));\n this.elements.root.style.right = `${this.right}px`;\n this.top = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_20__.clamp)(this.top, 0, 24);\n this.elements.root.style.top = `${this.top}px`;\n }\n showMessage(message) {\n this.findInput.showMessage(message);\n }\n clearMessage() {\n this.findInput.clearMessage();\n }\n async dispose() {\n this._onDidDisable.fire();\n this.elements.root.classList.add('disabled');\n await (0,_common_async_js__WEBPACK_IMPORTED_MODULE_13__.timeout)(300);\n super.dispose();\n }\n}\nclass FindController {\n get pattern() { return this._pattern; }\n get mode() { return this._mode; }\n set mode(mode) {\n if (mode === this._mode) {\n return;\n }\n this._mode = mode;\n if (this.widget) {\n this.widget.mode = this._mode;\n }\n this.tree.refilter();\n this.render();\n this._onDidChangeMode.fire(mode);\n }\n get matchType() { return this._matchType; }\n set matchType(matchType) {\n if (matchType === this._matchType) {\n return;\n }\n this._matchType = matchType;\n if (this.widget) {\n this.widget.matchType = this._matchType;\n }\n this.tree.refilter();\n this.render();\n this._onDidChangeMatchType.fire(matchType);\n }\n constructor(tree, model, view, filter, contextViewProvider, options = {}) {\n var _a, _b;\n this.tree = tree;\n this.view = view;\n this.filter = filter;\n this.contextViewProvider = contextViewProvider;\n this.options = options;\n this._pattern = '';\n this.width = 0;\n this._onDidChangeMode = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n this.onDidChangeMode = this._onDidChangeMode.event;\n this._onDidChangeMatchType = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n this.onDidChangeMatchType = this._onDidChangeMatchType.event;\n this._onDidChangePattern = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n this._onDidChangeOpenState = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n this.onDidChangeOpenState = this._onDidChangeOpenState.event;\n this.enabledDisposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n this._mode = (_a = tree.options.defaultFindMode) !== null && _a !== void 0 ? _a : TreeFindMode.Highlight;\n this._matchType = (_b = tree.options.defaultFindMatchType) !== null && _b !== void 0 ? _b : TreeFindMatchType.Fuzzy;\n model.onDidSplice(this.onDidSpliceModel, this, this.disposables);\n }\n updateOptions(optionsUpdate = {}) {\n if (optionsUpdate.defaultFindMode !== undefined) {\n this.mode = optionsUpdate.defaultFindMode;\n }\n if (optionsUpdate.defaultFindMatchType !== undefined) {\n this.matchType = optionsUpdate.defaultFindMatchType;\n }\n }\n onDidSpliceModel() {\n if (!this.widget || this.pattern.length === 0) {\n return;\n }\n this.tree.refilter();\n this.render();\n }\n render() {\n var _a, _b, _c, _d;\n const noMatches = this.filter.totalCount > 0 && this.filter.matchCount === 0;\n if (this.pattern && noMatches) {\n if ((_a = this.tree.options.showNotFoundMessage) !== null && _a !== void 0 ? _a : true) {\n (_b = this.widget) === null || _b === void 0 ? void 0 : _b.showMessage({ type: 2 /* MessageType.WARNING */, content: (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('not found', \"No elements found.\") });\n }\n else {\n (_c = this.widget) === null || _c === void 0 ? void 0 : _c.showMessage({ type: 2 /* MessageType.WARNING */ });\n }\n }\n else {\n (_d = this.widget) === null || _d === void 0 ? void 0 : _d.clearMessage();\n }\n }\n shouldAllowFocus(node) {\n if (!this.widget || !this.pattern || this._mode === TreeFindMode.Filter) {\n return true;\n }\n if (this.filter.totalCount > 0 && this.filter.matchCount <= 1) {\n return true;\n }\n return !_common_filters_js__WEBPACK_IMPORTED_MODULE_18__.FuzzyScore.isDefault(node.filterData);\n }\n layout(width) {\n var _a;\n this.width = width;\n (_a = this.widget) === null || _a === void 0 ? void 0 : _a.layout(width);\n }\n dispose() {\n this._history = undefined;\n this._onDidChangePattern.dispose();\n this.enabledDisposables.dispose();\n this.disposables.dispose();\n }\n}\nfunction stickyScrollNodeEquals(node1, node2) {\n return node1.position === node2.position &&\n node1.node.element === node2.node.element &&\n node1.startIndex === node2.startIndex &&\n node1.height === node2.height &&\n node1.endIndex === node2.endIndex;\n}\nclass StickyScrollState extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.Disposable {\n constructor(stickyNodes = []) {\n super();\n this.stickyNodes = stickyNodes;\n }\n get count() { return this.stickyNodes.length; }\n equal(state) {\n return (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_12__.equals)(this.stickyNodes, state.stickyNodes, stickyScrollNodeEquals);\n }\n addDisposable(disposable) {\n this._register(disposable);\n }\n}\nclass StickyScrollController extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.Disposable {\n get firstVisibleNode() {\n const index = this.view.firstVisibleIndex;\n if (index < 0 || index >= this.view.length) {\n return undefined;\n }\n return this.view.element(index);\n }\n constructor(tree, model, view, renderers, treeDelegate, options = {}) {\n super();\n this.tree = tree;\n this.model = model;\n this.view = view;\n this.treeDelegate = treeDelegate;\n this.maxWidgetViewRatio = 0.4;\n const stickyScrollOptions = this.validateStickySettings(options);\n this.stickyScrollMaxItemCount = stickyScrollOptions.stickyScrollMaxItemCount;\n this._widget = this._register(new StickyScrollWidget(view.getScrollableElement(), view, model, renderers, treeDelegate));\n this._register(view.onDidScroll(() => this.update()));\n this._register(view.onDidChangeContentHeight(() => this.update()));\n this._register(tree.onDidChangeCollapseState(() => this.update()));\n this.update();\n }\n update() {\n const firstVisibleNode = this.firstVisibleNode;\n // Don't render anything if there are no elements\n if (!firstVisibleNode || this.tree.scrollTop === 0) {\n this._widget.setState(undefined);\n return;\n }\n const stickyState = this.findStickyState(firstVisibleNode);\n this._widget.setState(stickyState);\n }\n findStickyState(firstVisibleNode) {\n const stickyNodes = [];\n const maximumStickyWidgetHeight = this.view.renderHeight * this.maxWidgetViewRatio;\n let firstVisibleNodeUnderWidget = firstVisibleNode;\n let stickyNodesHeight = 0;\n let nextStickyNode = this.getNextStickyNode(firstVisibleNodeUnderWidget, undefined, stickyNodesHeight);\n while (nextStickyNode && stickyNodesHeight + nextStickyNode.height < maximumStickyWidgetHeight) {\n stickyNodes.push(nextStickyNode);\n stickyNodesHeight += nextStickyNode.height;\n if (stickyNodes.length >= this.stickyScrollMaxItemCount) {\n break;\n }\n firstVisibleNodeUnderWidget = this.getNextVisibleNode(firstVisibleNodeUnderWidget);\n if (!firstVisibleNodeUnderWidget) {\n break;\n }\n nextStickyNode = this.getNextStickyNode(firstVisibleNodeUnderWidget, nextStickyNode.node, stickyNodesHeight);\n }\n return stickyNodes.length ? new StickyScrollState(stickyNodes) : undefined;\n }\n getNextVisibleNode(node) {\n const nodeIndex = this.getNodeIndex(node);\n if (nodeIndex === -1 || nodeIndex === this.view.length - 1) {\n return undefined;\n }\n const nextNode = this.view.element(nodeIndex + 1);\n return nextNode;\n }\n getNextStickyNode(firstVisibleNodeUnderWidget, previousStickyNode, stickyNodesHeight) {\n const nextStickyNode = this.getAncestorUnderPrevious(firstVisibleNodeUnderWidget, previousStickyNode);\n if (!nextStickyNode) {\n return undefined;\n }\n if (nextStickyNode === firstVisibleNodeUnderWidget) {\n if (!this.nodeIsUncollapsedParent(firstVisibleNodeUnderWidget)) {\n return undefined;\n }\n if (this.nodeTopAlignsWithStickyNodesBottom(firstVisibleNodeUnderWidget, stickyNodesHeight)) {\n return undefined;\n }\n }\n return this.createStickyScrollNode(nextStickyNode, stickyNodesHeight);\n }\n nodeTopAlignsWithStickyNodesBottom(node, stickyNodesHeight) {\n const nodeIndex = this.getNodeIndex(node);\n const elementTop = this.view.getElementTop(nodeIndex);\n const stickyPosition = stickyNodesHeight;\n return this.view.scrollTop === elementTop - stickyPosition;\n }\n createStickyScrollNode(node, currentStickyNodesHeight) {\n const height = this.treeDelegate.getHeight(node);\n const { startIndex, endIndex } = this.getNodeRange(node);\n const position = this.calculateStickyNodePosition(endIndex, currentStickyNodesHeight);\n return { node, position, height, startIndex, endIndex };\n }\n getAncestorUnderPrevious(node, previousAncestor = undefined) {\n let currentAncestor = node;\n let parentOfcurrentAncestor = this.getParentNode(currentAncestor);\n while (parentOfcurrentAncestor) {\n if (parentOfcurrentAncestor === previousAncestor) {\n return currentAncestor;\n }\n currentAncestor = parentOfcurrentAncestor;\n parentOfcurrentAncestor = this.getParentNode(currentAncestor);\n }\n if (previousAncestor === undefined) {\n return currentAncestor;\n }\n return undefined;\n }\n calculateStickyNodePosition(lastDescendantIndex, stickyRowPositionTop) {\n let lastChildRelativeTop = this.view.getRelativeTop(lastDescendantIndex);\n // If the last descendant is only partially visible at the top of the view, getRelativeTop() returns null\n // In that case, utilize the next node's relative top to calculate the sticky node's position\n if (lastChildRelativeTop === null && this.view.firstVisibleIndex === lastDescendantIndex && lastDescendantIndex + 1 < this.view.length) {\n const nodeHeight = this.treeDelegate.getHeight(this.view.element(lastDescendantIndex));\n const nextNodeRelativeTop = this.view.getRelativeTop(lastDescendantIndex + 1);\n lastChildRelativeTop = nextNodeRelativeTop ? nextNodeRelativeTop - nodeHeight / this.view.renderHeight : null;\n }\n if (lastChildRelativeTop === null) {\n return stickyRowPositionTop;\n }\n const lastChildNode = this.view.element(lastDescendantIndex);\n const lastChildHeight = this.treeDelegate.getHeight(lastChildNode);\n const topOfLastChild = lastChildRelativeTop * this.view.renderHeight;\n const bottomOfLastChild = topOfLastChild + lastChildHeight;\n if (stickyRowPositionTop > topOfLastChild && stickyRowPositionTop <= bottomOfLastChild) {\n return topOfLastChild;\n }\n return stickyRowPositionTop;\n }\n getParentNode(node) {\n const nodeLocation = this.model.getNodeLocation(node);\n const parentLocation = this.model.getParentNodeLocation(nodeLocation);\n return parentLocation ? this.model.getNode(parentLocation) : undefined;\n }\n nodeIsUncollapsedParent(node) {\n const nodeLocation = this.model.getNodeLocation(node);\n return this.model.getListRenderCount(nodeLocation) > 1;\n }\n getNodeIndex(node, nodeLocation) {\n if (nodeLocation === undefined) {\n nodeLocation = this.model.getNodeLocation(node);\n }\n const nodeIndex = this.model.getListIndex(nodeLocation);\n return nodeIndex;\n }\n getNodeRange(node) {\n const nodeLocation = this.model.getNodeLocation(node);\n const startIndex = this.model.getListIndex(nodeLocation);\n if (startIndex < 0) {\n throw new Error('Node not found in tree');\n }\n const renderCount = this.model.getListRenderCount(nodeLocation);\n const endIndex = startIndex + renderCount - 1;\n return { startIndex, endIndex };\n }\n nodePositionTopBelowWidget(node) {\n const ancestors = [];\n let currentAncestor = this.getParentNode(node);\n while (currentAncestor) {\n ancestors.push(currentAncestor);\n currentAncestor = this.getParentNode(currentAncestor);\n }\n let widgetHeight = 0;\n for (let i = 0; i < ancestors.length && i < this.stickyScrollMaxItemCount; i++) {\n widgetHeight += this.treeDelegate.getHeight(ancestors[i]);\n }\n return widgetHeight;\n }\n updateOptions(optionsUpdate = {}) {\n const validatedOptions = this.validateStickySettings(optionsUpdate);\n if (this.stickyScrollMaxItemCount !== validatedOptions.stickyScrollMaxItemCount) {\n this.stickyScrollMaxItemCount = validatedOptions.stickyScrollMaxItemCount;\n this.update();\n }\n }\n validateStickySettings(options) {\n let stickyScrollMaxItemCount = 5;\n if (typeof options.stickyScrollMaxItemCount === 'number') {\n stickyScrollMaxItemCount = Math.max(options.stickyScrollMaxItemCount, 1);\n }\n return { stickyScrollMaxItemCount };\n }\n}\nclass StickyScrollWidget {\n constructor(container, view, model, treeRenderers, treeDelegate) {\n this.view = view;\n this.model = model;\n this.treeRenderers = treeRenderers;\n this.treeDelegate = treeDelegate;\n this._rootDomNode = document.createElement('div');\n this._rootDomNode.classList.add('monaco-tree-sticky-container');\n container.appendChild(this._rootDomNode);\n }\n setState(state) {\n var _a;\n const wasVisible = !!this._previousState && this._previousState.count > 0;\n const isVisible = !!state && state.count > 0;\n // If state has not changed, do nothing\n if ((!wasVisible && !isVisible) || (wasVisible && isVisible && this._previousState.equal(state))) {\n return;\n }\n // Update visibility of the widget if changed\n if (wasVisible !== isVisible) {\n this.setVisible(isVisible);\n }\n // Remove previous state\n (_a = this._previousState) === null || _a === void 0 ? void 0 : _a.dispose();\n this._previousState = state;\n if (!isVisible) {\n return;\n }\n for (let stickyIndex = state.count - 1; stickyIndex >= 0; stickyIndex--) {\n const stickyNode = state.stickyNodes[stickyIndex];\n const previousStickyNode = stickyIndex ? state.stickyNodes[stickyIndex - 1] : undefined;\n const currentWidgetHieght = previousStickyNode ? previousStickyNode.position + previousStickyNode.height : 0;\n const { element, disposable } = this.createElement(stickyNode, currentWidgetHieght);\n this._rootDomNode.appendChild(element);\n state.addDisposable(disposable);\n }\n // Add shadow element to the end of the widget\n const shadow = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-tree-sticky-container-shadow');\n this._rootDomNode.appendChild(shadow);\n state.addDisposable((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.toDisposable)(() => shadow.remove()));\n // Set the height of the widget to the bottom of the last sticky node\n const lastStickyNode = state.stickyNodes[state.count - 1];\n this._rootDomNode.style.height = `${lastStickyNode.position + lastStickyNode.height}px`;\n }\n createElement(stickyNode, currentWidgetHeight) {\n const nodeLocation = this.model.getNodeLocation(stickyNode.node);\n const nodeIndex = this.model.getListIndex(nodeLocation);\n // Sticky element container\n const stickyElement = document.createElement('div');\n stickyElement.style.top = `${stickyNode.position}px`;\n stickyElement.style.height = `${stickyNode.height}px`;\n stickyElement.style.lineHeight = `${stickyNode.height}px`;\n stickyElement.classList.add('monaco-tree-sticky-row');\n stickyElement.classList.add('monaco-list-row');\n stickyElement.setAttribute('data-index', `${nodeIndex}`);\n stickyElement.setAttribute('data-parity', nodeIndex % 2 === 0 ? 'even' : 'odd');\n stickyElement.setAttribute('id', this.view.getElementID(nodeIndex));\n // Get the renderer for the node\n const nodeTemplateId = this.treeDelegate.getTemplateId(stickyNode.node);\n const renderer = this.treeRenderers.find((renderer) => renderer.templateId === nodeTemplateId);\n if (!renderer) {\n throw new Error(`No renderer found for template id ${nodeTemplateId}`);\n }\n const nodeCopy = new Proxy(stickyNode.node, {});\n // Render the element\n const templateData = renderer.renderTemplate(stickyElement);\n renderer.renderElement(nodeCopy, stickyNode.startIndex, templateData, stickyNode.height);\n // Remove the element from the DOM when state is disposed\n const disposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.toDisposable)(() => {\n renderer.disposeElement(nodeCopy, stickyNode.startIndex, templateData, stickyNode.height);\n renderer.disposeTemplate(templateData);\n stickyElement.remove();\n });\n return { element: stickyElement, disposable };\n }\n setVisible(visible) {\n this._rootDomNode.style.display = visible ? 'block' : 'none';\n }\n dispose() {\n var _a;\n (_a = this._previousState) === null || _a === void 0 ? void 0 : _a.dispose();\n this._rootDomNode.remove();\n }\n}\nfunction asTreeMouseEvent(event) {\n let target = _tree_js__WEBPACK_IMPORTED_MODULE_10__.TreeMouseEventTarget.Unknown;\n if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.hasParentWithClass)(event.browserEvent.target, 'monaco-tl-twistie', 'monaco-tl-row')) {\n target = _tree_js__WEBPACK_IMPORTED_MODULE_10__.TreeMouseEventTarget.Twistie;\n }\n else if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.hasParentWithClass)(event.browserEvent.target, 'monaco-tl-contents', 'monaco-tl-row')) {\n target = _tree_js__WEBPACK_IMPORTED_MODULE_10__.TreeMouseEventTarget.Element;\n }\n else if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.hasParentWithClass)(event.browserEvent.target, 'monaco-tree-type-filter', 'monaco-list')) {\n target = _tree_js__WEBPACK_IMPORTED_MODULE_10__.TreeMouseEventTarget.Filter;\n }\n return {\n browserEvent: event.browserEvent,\n element: event.element ? event.element.element : null,\n target\n };\n}\nfunction dfs(node, fn) {\n fn(node);\n node.children.forEach(child => dfs(child, fn));\n}\n/**\n * The trait concept needs to exist at the tree level, because collapsed\n * tree nodes will not be known by the list.\n */\nclass Trait {\n get nodeSet() {\n if (!this._nodeSet) {\n this._nodeSet = this.createNodeSet();\n }\n return this._nodeSet;\n }\n constructor(getFirstViewElementWithTrait, identityProvider) {\n this.getFirstViewElementWithTrait = getFirstViewElementWithTrait;\n this.identityProvider = identityProvider;\n this.nodes = [];\n this._onDidChange = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n this.onDidChange = this._onDidChange.event;\n }\n set(nodes, browserEvent) {\n if (!(browserEvent === null || browserEvent === void 0 ? void 0 : browserEvent.__forceEvent) && (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_12__.equals)(this.nodes, nodes)) {\n return;\n }\n this._set(nodes, false, browserEvent);\n }\n _set(nodes, silent, browserEvent) {\n this.nodes = [...nodes];\n this.elements = undefined;\n this._nodeSet = undefined;\n if (!silent) {\n const that = this;\n this._onDidChange.fire({ get elements() { return that.get(); }, browserEvent });\n }\n }\n get() {\n if (!this.elements) {\n this.elements = this.nodes.map(node => node.element);\n }\n return [...this.elements];\n }\n getNodes() {\n return this.nodes;\n }\n has(node) {\n return this.nodeSet.has(node);\n }\n onDidModelSplice({ insertedNodes, deletedNodes }) {\n if (!this.identityProvider) {\n const set = this.createNodeSet();\n const visit = (node) => set.delete(node);\n deletedNodes.forEach(node => dfs(node, visit));\n this.set([...set.values()]);\n return;\n }\n const deletedNodesIdSet = new Set();\n const deletedNodesVisitor = (node) => deletedNodesIdSet.add(this.identityProvider.getId(node.element).toString());\n deletedNodes.forEach(node => dfs(node, deletedNodesVisitor));\n const insertedNodesMap = new Map();\n const insertedNodesVisitor = (node) => insertedNodesMap.set(this.identityProvider.getId(node.element).toString(), node);\n insertedNodes.forEach(node => dfs(node, insertedNodesVisitor));\n const nodes = [];\n for (const node of this.nodes) {\n const id = this.identityProvider.getId(node.element).toString();\n const wasDeleted = deletedNodesIdSet.has(id);\n if (!wasDeleted) {\n nodes.push(node);\n }\n else {\n const insertedNode = insertedNodesMap.get(id);\n if (insertedNode && insertedNode.visible) {\n nodes.push(insertedNode);\n }\n }\n }\n if (this.nodes.length > 0 && nodes.length === 0) {\n const node = this.getFirstViewElementWithTrait();\n if (node) {\n nodes.push(node);\n }\n }\n this._set(nodes, true);\n }\n createNodeSet() {\n const set = new Set();\n for (const node of this.nodes) {\n set.add(node);\n }\n return set;\n }\n}\nclass TreeNodeListMouseController extends _list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.MouseController {\n constructor(list, tree, stickyScrollProvider) {\n super(list);\n this.tree = tree;\n this.stickyScrollProvider = stickyScrollProvider;\n }\n onViewPointer(e) {\n if ((0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.isButton)(e.browserEvent.target) ||\n (0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.isInputElement)(e.browserEvent.target) ||\n (0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.isMonacoEditor)(e.browserEvent.target)) {\n return;\n }\n if (e.browserEvent.isHandledByList) {\n return;\n }\n const node = e.element;\n if (!node) {\n return super.onViewPointer(e);\n }\n if (this.isSelectionRangeChangeEvent(e) || this.isSelectionSingleChangeEvent(e)) {\n return super.onViewPointer(e);\n }\n const target = e.browserEvent.target;\n const onTwistie = target.classList.contains('monaco-tl-twistie')\n || (target.classList.contains('monaco-icon-label') && target.classList.contains('folder-icon') && e.browserEvent.offsetX < 16);\n const isStickyElement = (0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.isStickyScrollElement)(e.browserEvent.target);\n let expandOnlyOnTwistieClick = false;\n if (isStickyElement) {\n expandOnlyOnTwistieClick = true;\n }\n else if (typeof this.tree.expandOnlyOnTwistieClick === 'function') {\n expandOnlyOnTwistieClick = this.tree.expandOnlyOnTwistieClick(node.element);\n }\n else {\n expandOnlyOnTwistieClick = !!this.tree.expandOnlyOnTwistieClick;\n }\n if (!isStickyElement) {\n if (expandOnlyOnTwistieClick && !onTwistie && e.browserEvent.detail !== 2) {\n return super.onViewPointer(e);\n }\n if (!this.tree.expandOnDoubleClick && e.browserEvent.detail === 2) {\n return super.onViewPointer(e);\n }\n }\n else {\n this.handleStickyScrollMouseEvent(e, node);\n }\n if (node.collapsible && (!isStickyElement || onTwistie)) {\n const location = this.tree.getNodeLocation(node);\n const recursive = e.browserEvent.altKey;\n this.tree.setFocus([location]);\n this.tree.toggleCollapsed(location, recursive);\n if (expandOnlyOnTwistieClick && onTwistie) {\n // Do not set this before calling a handler on the super class, because it will reject it as handled\n e.browserEvent.isHandledByList = true;\n return;\n }\n }\n if (!isStickyElement) {\n super.onViewPointer(e);\n }\n }\n handleStickyScrollMouseEvent(e, node) {\n if ((0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.isMonacoCustomToggle)(e.browserEvent.target) || (0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.isActionItem)(e.browserEvent.target)) {\n return;\n }\n const stickyScrollController = this.stickyScrollProvider();\n if (!stickyScrollController) {\n throw new Error('Sticky scroll controller not found');\n }\n const nodeIndex = this.list.indexOf(node);\n const elementScrollTop = this.list.getElementTop(nodeIndex);\n const elementTargetViewTop = stickyScrollController.nodePositionTopBelowWidget(node);\n this.tree.scrollTop = elementScrollTop - elementTargetViewTop;\n this.list.setFocus([nodeIndex]);\n this.list.setSelection([nodeIndex]);\n }\n onDoubleClick(e) {\n const onTwistie = e.browserEvent.target.classList.contains('monaco-tl-twistie');\n if (onTwistie || !this.tree.expandOnDoubleClick) {\n return;\n }\n if (e.browserEvent.isHandledByList) {\n return;\n }\n super.onDoubleClick(e);\n }\n}\n/**\n * We use this List subclass to restore selection and focus as nodes\n * get rendered in the list, possibly due to a node expand() call.\n */\nclass TreeNodeList extends _list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.List {\n constructor(user, container, virtualDelegate, renderers, focusTrait, selectionTrait, anchorTrait, options) {\n super(user, container, virtualDelegate, renderers, options);\n this.focusTrait = focusTrait;\n this.selectionTrait = selectionTrait;\n this.anchorTrait = anchorTrait;\n }\n createMouseController(options) {\n return new TreeNodeListMouseController(this, options.tree, options.stickyScrollProvider);\n }\n splice(start, deleteCount, elements = []) {\n super.splice(start, deleteCount, elements);\n if (elements.length === 0) {\n return;\n }\n const additionalFocus = [];\n const additionalSelection = [];\n let anchor;\n elements.forEach((node, index) => {\n if (this.focusTrait.has(node)) {\n additionalFocus.push(start + index);\n }\n if (this.selectionTrait.has(node)) {\n additionalSelection.push(start + index);\n }\n if (this.anchorTrait.has(node)) {\n anchor = start + index;\n }\n });\n if (additionalFocus.length > 0) {\n super.setFocus((0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_12__.distinct)([...super.getFocus(), ...additionalFocus]));\n }\n if (additionalSelection.length > 0) {\n super.setSelection((0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_12__.distinct)([...super.getSelection(), ...additionalSelection]));\n }\n if (typeof anchor === 'number') {\n super.setAnchor(anchor);\n }\n }\n setFocus(indexes, browserEvent, fromAPI = false) {\n super.setFocus(indexes, browserEvent);\n if (!fromAPI) {\n this.focusTrait.set(indexes.map(i => this.element(i)), browserEvent);\n }\n }\n setSelection(indexes, browserEvent, fromAPI = false) {\n super.setSelection(indexes, browserEvent);\n if (!fromAPI) {\n this.selectionTrait.set(indexes.map(i => this.element(i)), browserEvent);\n }\n }\n setAnchor(index, fromAPI = false) {\n super.setAnchor(index);\n if (!fromAPI) {\n if (typeof index === 'undefined') {\n this.anchorTrait.set([]);\n }\n else {\n this.anchorTrait.set([this.element(index)]);\n }\n }\n }\n}\nclass AbstractTree {\n get onDidScroll() { return this.view.onDidScroll; }\n get onDidChangeFocus() { return this.eventBufferer.wrapEvent(this.focus.onDidChange); }\n get onDidChangeSelection() { return this.eventBufferer.wrapEvent(this.selection.onDidChange); }\n get onMouseDblClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.filter(_common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.map(this.view.onMouseDblClick, asTreeMouseEvent), e => e.target !== _tree_js__WEBPACK_IMPORTED_MODULE_10__.TreeMouseEventTarget.Filter); }\n get onPointer() { return _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.map(this.view.onPointer, asTreeMouseEvent); }\n get onDidFocus() { return this.view.onDidFocus; }\n get onDidChangeModel() { return _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.signal(this.model.onDidSplice); }\n get onDidChangeCollapseState() { return this.model.onDidChangeCollapseState; }\n get findMode() { var _a, _b; return (_b = (_a = this.findController) === null || _a === void 0 ? void 0 : _a.mode) !== null && _b !== void 0 ? _b : TreeFindMode.Highlight; }\n set findMode(findMode) { if (this.findController) {\n this.findController.mode = findMode;\n } }\n get findMatchType() { var _a, _b; return (_b = (_a = this.findController) === null || _a === void 0 ? void 0 : _a.matchType) !== null && _b !== void 0 ? _b : TreeFindMatchType.Fuzzy; }\n set findMatchType(findFuzzy) { if (this.findController) {\n this.findController.matchType = findFuzzy;\n } }\n get expandOnDoubleClick() { return typeof this._options.expandOnDoubleClick === 'undefined' ? true : this._options.expandOnDoubleClick; }\n get expandOnlyOnTwistieClick() { return typeof this._options.expandOnlyOnTwistieClick === 'undefined' ? true : this._options.expandOnlyOnTwistieClick; }\n get onDidDispose() { return this.view.onDidDispose; }\n constructor(_user, container, delegate, renderers, _options = {}) {\n var _a;\n this._user = _user;\n this._options = _options;\n this.eventBufferer = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.EventBufferer();\n this.onDidChangeFindOpenState = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.None;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n this._onWillRefilter = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n this.onWillRefilter = this._onWillRefilter.event;\n this._onDidUpdateOptions = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n this.treeDelegate = new ComposedTreeDelegate(delegate);\n const onDidChangeCollapseStateRelay = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Relay();\n const onDidChangeActiveNodes = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Relay();\n const activeNodes = this.disposables.add(new EventCollection(onDidChangeActiveNodes.event));\n const renderedIndentGuides = new _common_map_js__WEBPACK_IMPORTED_MODULE_16__.SetMap();\n this.renderers = renderers.map(r => new TreeRenderer(r, () => this.model, onDidChangeCollapseStateRelay.event, activeNodes, renderedIndentGuides, _options));\n for (const r of this.renderers) {\n this.disposables.add(r);\n }\n let filter;\n if (_options.keyboardNavigationLabelProvider) {\n filter = new FindFilter(this, _options.keyboardNavigationLabelProvider, _options.filter);\n _options = { ..._options, filter: filter }; // TODO need typescript help here\n this.disposables.add(filter);\n }\n this.focus = new Trait(() => this.view.getFocusedElements()[0], _options.identityProvider);\n this.selection = new Trait(() => this.view.getSelectedElements()[0], _options.identityProvider);\n this.anchor = new Trait(() => this.view.getAnchorElement(), _options.identityProvider);\n this.view = new TreeNodeList(_user, container, this.treeDelegate, this.renderers, this.focus, this.selection, this.anchor, { ...asListOptions(() => this.model, _options), tree: this, stickyScrollProvider: () => this.stickyScrollController });\n this.model = this.createModel(_user, this.view, _options);\n onDidChangeCollapseStateRelay.input = this.model.onDidChangeCollapseState;\n const onDidModelSplice = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.forEach(this.model.onDidSplice, e => {\n this.eventBufferer.bufferEvents(() => {\n this.focus.onDidModelSplice(e);\n this.selection.onDidModelSplice(e);\n });\n }, this.disposables);\n // Make sure the `forEach` always runs\n onDidModelSplice(() => null, null, this.disposables);\n // Active nodes can change when the model changes or when focus or selection change.\n // We debounce it with 0 delay since these events may fire in the same stack and we only\n // want to run this once. It also doesn't matter if it runs on the next tick since it's only\n // a nice to have UI feature.\n const activeNodesEmitter = this.disposables.add(new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter());\n const activeNodesDebounce = this.disposables.add(new _common_async_js__WEBPACK_IMPORTED_MODULE_13__.Delayer(0));\n this.disposables.add(_common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.any(onDidModelSplice, this.focus.onDidChange, this.selection.onDidChange)(() => {\n activeNodesDebounce.trigger(() => {\n const set = new Set();\n for (const node of this.focus.getNodes()) {\n set.add(node);\n }\n for (const node of this.selection.getNodes()) {\n set.add(node);\n }\n activeNodesEmitter.fire([...set.values()]);\n });\n }));\n onDidChangeActiveNodes.input = activeNodesEmitter.event;\n if (_options.keyboardSupport !== false) {\n const onKeyDown = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.chain(this.view.onKeyDown, $ => $.filter(e => !(0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.isInputElement)(e.target))\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e)));\n _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.chain(onKeyDown, $ => $.filter(e => e.keyCode === 15 /* KeyCode.LeftArrow */))(this.onLeftArrow, this, this.disposables);\n _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.chain(onKeyDown, $ => $.filter(e => e.keyCode === 17 /* KeyCode.RightArrow */))(this.onRightArrow, this, this.disposables);\n _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.chain(onKeyDown, $ => $.filter(e => e.keyCode === 10 /* KeyCode.Space */))(this.onSpace, this, this.disposables);\n }\n if (((_a = _options.findWidgetEnabled) !== null && _a !== void 0 ? _a : true) && _options.keyboardNavigationLabelProvider && _options.contextViewProvider) {\n const opts = this.options.findWidgetStyles ? { styles: this.options.findWidgetStyles } : undefined;\n this.findController = new FindController(this, this.model, this.view, filter, _options.contextViewProvider, opts);\n this.focusNavigationFilter = node => this.findController.shouldAllowFocus(node);\n this.onDidChangeFindOpenState = this.findController.onDidChangeOpenState;\n this.disposables.add(this.findController);\n this.onDidChangeFindMode = this.findController.onDidChangeMode;\n this.onDidChangeFindMatchType = this.findController.onDidChangeMatchType;\n }\n else {\n this.onDidChangeFindMode = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.None;\n this.onDidChangeFindMatchType = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.None;\n }\n if (_options.enableStickyScroll) {\n this.stickyScrollController = new StickyScrollController(this, this.model, this.view, this.renderers, this.treeDelegate, _options);\n }\n this.styleElement = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.createStyleSheet)(this.view.getHTMLElement());\n this.getHTMLElement().classList.toggle('always', this._options.renderIndentGuides === RenderIndentGuides.Always);\n }\n updateOptions(optionsUpdate = {}) {\n var _a;\n this._options = { ...this._options, ...optionsUpdate };\n for (const renderer of this.renderers) {\n renderer.updateOptions(optionsUpdate);\n }\n this.view.updateOptions(this._options);\n (_a = this.findController) === null || _a === void 0 ? void 0 : _a.updateOptions(optionsUpdate);\n this.updateStickyScroll(optionsUpdate);\n this._onDidUpdateOptions.fire(this._options);\n this.getHTMLElement().classList.toggle('always', this._options.renderIndentGuides === RenderIndentGuides.Always);\n }\n get options() {\n return this._options;\n }\n updateStickyScroll(optionsUpdate) {\n var _a;\n if (!this.stickyScrollController && this._options.enableStickyScroll) {\n this.stickyScrollController = new StickyScrollController(this, this.model, this.view, this.renderers, this.treeDelegate, this._options);\n }\n else if (this.stickyScrollController && !this._options.enableStickyScroll) {\n this.stickyScrollController.dispose();\n this.stickyScrollController = undefined;\n }\n (_a = this.stickyScrollController) === null || _a === void 0 ? void 0 : _a.updateOptions(optionsUpdate);\n }\n // Widget\n getHTMLElement() {\n return this.view.getHTMLElement();\n }\n get scrollTop() {\n return this.view.scrollTop;\n }\n set scrollTop(scrollTop) {\n this.view.scrollTop = scrollTop;\n }\n get scrollHeight() {\n return this.view.scrollHeight;\n }\n get renderHeight() {\n return this.view.renderHeight;\n }\n domFocus() {\n this.view.domFocus();\n }\n layout(height, width) {\n var _a;\n this.view.layout(height, width);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_21__.isNumber)(width)) {\n (_a = this.findController) === null || _a === void 0 ? void 0 : _a.layout(width);\n }\n }\n style(styles) {\n const suffix = `.${this.view.domId}`;\n const content = [];\n if (styles.treeIndentGuidesStroke) {\n content.push(`.monaco-list${suffix}:hover .monaco-tl-indent > .indent-guide, .monaco-list${suffix}.always .monaco-tl-indent > .indent-guide { border-color: ${styles.treeInactiveIndentGuidesStroke}; }`);\n content.push(`.monaco-list${suffix} .monaco-tl-indent > .indent-guide.active { border-color: ${styles.treeIndentGuidesStroke}; }`);\n }\n if (styles.listBackground) {\n content.push(`.monaco-list${suffix} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${styles.listBackground}; }`);\n content.push(`.monaco-list${suffix} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${styles.listBackground}; }`);\n }\n this.styleElement.textContent = content.join('\\n');\n this.view.style(styles);\n }\n // Tree navigation\n getParentElement(location) {\n const parentRef = this.model.getParentNodeLocation(location);\n const parentNode = this.model.getNode(parentRef);\n return parentNode.element;\n }\n getFirstElementChild(location) {\n return this.model.getFirstElementChild(location);\n }\n // Tree\n getNode(location) {\n return this.model.getNode(location);\n }\n getNodeLocation(node) {\n return this.model.getNodeLocation(node);\n }\n collapse(location, recursive = false) {\n return this.model.setCollapsed(location, true, recursive);\n }\n expand(location, recursive = false) {\n return this.model.setCollapsed(location, false, recursive);\n }\n toggleCollapsed(location, recursive = false) {\n return this.model.setCollapsed(location, undefined, recursive);\n }\n isCollapsible(location) {\n return this.model.isCollapsible(location);\n }\n setCollapsible(location, collapsible) {\n return this.model.setCollapsible(location, collapsible);\n }\n isCollapsed(location) {\n return this.model.isCollapsed(location);\n }\n refilter() {\n this._onWillRefilter.fire(undefined);\n this.model.refilter();\n }\n setSelection(elements, browserEvent) {\n const nodes = elements.map(e => this.model.getNode(e));\n this.selection.set(nodes, browserEvent);\n const indexes = elements.map(e => this.model.getListIndex(e)).filter(i => i > -1);\n this.view.setSelection(indexes, browserEvent, true);\n }\n getSelection() {\n return this.selection.get();\n }\n setFocus(elements, browserEvent) {\n const nodes = elements.map(e => this.model.getNode(e));\n this.focus.set(nodes, browserEvent);\n const indexes = elements.map(e => this.model.getListIndex(e)).filter(i => i > -1);\n this.view.setFocus(indexes, browserEvent, true);\n }\n getFocus() {\n return this.focus.get();\n }\n reveal(location, relativeTop) {\n this.model.expandTo(location);\n const index = this.model.getListIndex(location);\n if (index === -1) {\n return;\n }\n if (!this.stickyScrollController) {\n this.view.reveal(index, relativeTop);\n }\n else {\n const paddingTop = this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(location));\n this.view.reveal(index, relativeTop, paddingTop);\n }\n }\n // List\n onLeftArrow(e) {\n e.preventDefault();\n e.stopPropagation();\n const nodes = this.view.getFocusedElements();\n if (nodes.length === 0) {\n return;\n }\n const node = nodes[0];\n const location = this.model.getNodeLocation(node);\n const didChange = this.model.setCollapsed(location, true);\n if (!didChange) {\n const parentLocation = this.model.getParentNodeLocation(location);\n if (!parentLocation) {\n return;\n }\n const parentListIndex = this.model.getListIndex(parentLocation);\n this.view.reveal(parentListIndex);\n this.view.setFocus([parentListIndex]);\n }\n }\n onRightArrow(e) {\n e.preventDefault();\n e.stopPropagation();\n const nodes = this.view.getFocusedElements();\n if (nodes.length === 0) {\n return;\n }\n const node = nodes[0];\n const location = this.model.getNodeLocation(node);\n const didChange = this.model.setCollapsed(location, false);\n if (!didChange) {\n if (!node.children.some(child => child.visible)) {\n return;\n }\n const [focusedIndex] = this.view.getFocus();\n const firstChildIndex = focusedIndex + 1;\n this.view.reveal(firstChildIndex);\n this.view.setFocus([firstChildIndex]);\n }\n }\n onSpace(e) {\n e.preventDefault();\n e.stopPropagation();\n const nodes = this.view.getFocusedElements();\n if (nodes.length === 0) {\n return;\n }\n const node = nodes[0];\n const location = this.model.getNodeLocation(node);\n const recursive = e.browserEvent.altKey;\n this.model.setCollapsed(location, undefined, recursive);\n }\n dispose() {\n var _a;\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.dispose)(this.disposables);\n (_a = this.stickyScrollController) === null || _a === void 0 ? void 0 : _a.dispose();\n this.view.dispose();\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/asyncDataTree.js":
+/*!*********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/asyncDataTree.js ***!
+ \*********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AsyncDataTree: () => (/* binding */ AsyncDataTree),\n/* harmony export */ CompressibleAsyncDataTree: () => (/* binding */ CompressibleAsyncDataTree)\n/* harmony export */ });\n/* harmony import */ var _list_listView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../list/listView.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js\");\n/* harmony import */ var _abstractTree_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abstractTree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js\");\n/* harmony import */ var _indexTreeModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./indexTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js\");\n/* harmony import */ var _objectTree_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./objectTree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.js\");\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/* harmony import */ var _common_errors_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction createAsyncDataTreeNode(props) {\n return {\n ...props,\n children: [],\n refreshPromise: undefined,\n stale: true,\n slow: false,\n forceExpanded: false\n };\n}\nfunction isAncestor(ancestor, descendant) {\n if (!descendant.parent) {\n return false;\n }\n else if (descendant.parent === ancestor) {\n return true;\n }\n else {\n return isAncestor(ancestor, descendant.parent);\n }\n}\nfunction intersects(node, other) {\n return node === other || isAncestor(node, other) || isAncestor(other, node);\n}\nclass AsyncDataTreeNodeWrapper {\n get element() { return this.node.element.element; }\n get children() { return this.node.children.map(node => new AsyncDataTreeNodeWrapper(node)); }\n get depth() { return this.node.depth; }\n get visibleChildrenCount() { return this.node.visibleChildrenCount; }\n get visibleChildIndex() { return this.node.visibleChildIndex; }\n get collapsible() { return this.node.collapsible; }\n get collapsed() { return this.node.collapsed; }\n get visible() { return this.node.visible; }\n get filterData() { return this.node.filterData; }\n constructor(node) {\n this.node = node;\n }\n}\nclass AsyncDataTreeRenderer {\n constructor(renderer, nodeMapper, onDidChangeTwistieState) {\n this.renderer = renderer;\n this.nodeMapper = nodeMapper;\n this.onDidChangeTwistieState = onDidChangeTwistieState;\n this.renderedNodes = new Map();\n this.templateId = renderer.templateId;\n }\n renderTemplate(container) {\n const templateData = this.renderer.renderTemplate(container);\n return { templateData };\n }\n renderElement(node, index, templateData, height) {\n this.renderer.renderElement(this.nodeMapper.map(node), index, templateData.templateData, height);\n }\n renderTwistie(element, twistieElement) {\n if (element.slow) {\n twistieElement.classList.add(..._common_themables_js__WEBPACK_IMPORTED_MODULE_7__.ThemeIcon.asClassNameArray(_common_codicons_js__WEBPACK_IMPORTED_MODULE_6__.Codicon.treeItemLoading));\n return true;\n }\n else {\n twistieElement.classList.remove(..._common_themables_js__WEBPACK_IMPORTED_MODULE_7__.ThemeIcon.asClassNameArray(_common_codicons_js__WEBPACK_IMPORTED_MODULE_6__.Codicon.treeItemLoading));\n return false;\n }\n }\n disposeElement(node, index, templateData, height) {\n var _a, _b;\n (_b = (_a = this.renderer).disposeElement) === null || _b === void 0 ? void 0 : _b.call(_a, this.nodeMapper.map(node), index, templateData.templateData, height);\n }\n disposeTemplate(templateData) {\n this.renderer.disposeTemplate(templateData.templateData);\n }\n dispose() {\n this.renderedNodes.clear();\n }\n}\nfunction asTreeEvent(e) {\n return {\n browserEvent: e.browserEvent,\n elements: e.elements.map(e => e.element)\n };\n}\nfunction asTreeMouseEvent(e) {\n return {\n browserEvent: e.browserEvent,\n element: e.element && e.element.element,\n target: e.target\n };\n}\nclass AsyncDataTreeElementsDragAndDropData extends _list_listView_js__WEBPACK_IMPORTED_MODULE_0__.ElementsDragAndDropData {\n constructor(data) {\n super(data.elements.map(node => node.element));\n this.data = data;\n }\n}\nfunction asAsyncDataTreeDragAndDropData(data) {\n if (data instanceof _list_listView_js__WEBPACK_IMPORTED_MODULE_0__.ElementsDragAndDropData) {\n return new AsyncDataTreeElementsDragAndDropData(data);\n }\n return data;\n}\nclass AsyncDataTreeNodeListDragAndDrop {\n constructor(dnd) {\n this.dnd = dnd;\n }\n getDragURI(node) {\n return this.dnd.getDragURI(node.element);\n }\n getDragLabel(nodes, originalEvent) {\n if (this.dnd.getDragLabel) {\n return this.dnd.getDragLabel(nodes.map(node => node.element), originalEvent);\n }\n return undefined;\n }\n onDragStart(data, originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragStart) === null || _b === void 0 ? void 0 : _b.call(_a, asAsyncDataTreeDragAndDropData(data), originalEvent);\n }\n onDragOver(data, targetNode, targetIndex, originalEvent, raw = true) {\n return this.dnd.onDragOver(asAsyncDataTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);\n }\n drop(data, targetNode, targetIndex, originalEvent) {\n this.dnd.drop(asAsyncDataTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);\n }\n onDragEnd(originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragEnd) === null || _b === void 0 ? void 0 : _b.call(_a, originalEvent);\n }\n dispose() {\n this.dnd.dispose();\n }\n}\nfunction asObjectTreeOptions(options) {\n return options && {\n ...options,\n collapseByDefault: true,\n identityProvider: options.identityProvider && {\n getId(el) {\n return options.identityProvider.getId(el.element);\n }\n },\n dnd: options.dnd && new AsyncDataTreeNodeListDragAndDrop(options.dnd),\n multipleSelectionController: options.multipleSelectionController && {\n isSelectionSingleChangeEvent(e) {\n return options.multipleSelectionController.isSelectionSingleChangeEvent({ ...e, element: e.element });\n },\n isSelectionRangeChangeEvent(e) {\n return options.multipleSelectionController.isSelectionRangeChangeEvent({ ...e, element: e.element });\n }\n },\n accessibilityProvider: options.accessibilityProvider && {\n ...options.accessibilityProvider,\n getPosInSet: undefined,\n getSetSize: undefined,\n getRole: options.accessibilityProvider.getRole ? (el) => {\n return options.accessibilityProvider.getRole(el.element);\n } : () => 'treeitem',\n isChecked: options.accessibilityProvider.isChecked ? (e) => {\n var _a;\n return !!((_a = options.accessibilityProvider) === null || _a === void 0 ? void 0 : _a.isChecked(e.element));\n } : undefined,\n getAriaLabel(e) {\n return options.accessibilityProvider.getAriaLabel(e.element);\n },\n getWidgetAriaLabel() {\n return options.accessibilityProvider.getWidgetAriaLabel();\n },\n getWidgetRole: options.accessibilityProvider.getWidgetRole ? () => options.accessibilityProvider.getWidgetRole() : () => 'tree',\n getAriaLevel: options.accessibilityProvider.getAriaLevel && (node => {\n return options.accessibilityProvider.getAriaLevel(node.element);\n }),\n getActiveDescendantId: options.accessibilityProvider.getActiveDescendantId && (node => {\n return options.accessibilityProvider.getActiveDescendantId(node.element);\n })\n },\n filter: options.filter && {\n filter(e, parentVisibility) {\n return options.filter.filter(e.element, parentVisibility);\n }\n },\n keyboardNavigationLabelProvider: options.keyboardNavigationLabelProvider && {\n ...options.keyboardNavigationLabelProvider,\n getKeyboardNavigationLabel(e) {\n return options.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element);\n }\n },\n sorter: undefined,\n expandOnlyOnTwistieClick: typeof options.expandOnlyOnTwistieClick === 'undefined' ? undefined : (typeof options.expandOnlyOnTwistieClick !== 'function' ? options.expandOnlyOnTwistieClick : (e => options.expandOnlyOnTwistieClick(e.element))),\n defaultFindVisibility: e => {\n if (e.hasChildren && e.stale) {\n return 1 /* TreeVisibility.Visible */;\n }\n else if (typeof options.defaultFindVisibility === 'number') {\n return options.defaultFindVisibility;\n }\n else if (typeof options.defaultFindVisibility === 'undefined') {\n return 2 /* TreeVisibility.Recurse */;\n }\n else {\n return options.defaultFindVisibility(e.element);\n }\n }\n };\n}\nfunction dfs(node, fn) {\n fn(node);\n node.children.forEach(child => dfs(child, fn));\n}\nclass AsyncDataTree {\n get onDidScroll() { return this.tree.onDidScroll; }\n get onDidChangeFocus() { return _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.map(this.tree.onDidChangeFocus, asTreeEvent); }\n get onDidChangeSelection() { return _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.map(this.tree.onDidChangeSelection, asTreeEvent); }\n get onMouseDblClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.map(this.tree.onMouseDblClick, asTreeMouseEvent); }\n get onPointer() { return _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.map(this.tree.onPointer, asTreeMouseEvent); }\n get onDidFocus() { return this.tree.onDidFocus; }\n /**\n * To be used internally only!\n * @deprecated\n */\n get onDidChangeModel() { return this.tree.onDidChangeModel; }\n get onDidChangeCollapseState() { return this.tree.onDidChangeCollapseState; }\n get onDidChangeFindOpenState() { return this.tree.onDidChangeFindOpenState; }\n get onDidDispose() { return this.tree.onDidDispose; }\n constructor(user, container, delegate, renderers, dataSource, options = {}) {\n this.user = user;\n this.dataSource = dataSource;\n this.nodes = new Map();\n this.subTreeRefreshPromises = new Map();\n this.refreshPromises = new Map();\n this._onDidRender = new _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Emitter();\n this._onDidChangeNodeSlowState = new _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Emitter();\n this.nodeMapper = new _tree_js__WEBPACK_IMPORTED_MODULE_4__.WeakMapper(node => new AsyncDataTreeNodeWrapper(node));\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_11__.DisposableStore();\n this.identityProvider = options.identityProvider;\n this.autoExpandSingleChildren = typeof options.autoExpandSingleChildren === 'undefined' ? false : options.autoExpandSingleChildren;\n this.sorter = options.sorter;\n this.getDefaultCollapseState = e => options.collapseByDefault ? (options.collapseByDefault(e) ? _tree_js__WEBPACK_IMPORTED_MODULE_4__.ObjectTreeElementCollapseState.PreserveOrCollapsed : _tree_js__WEBPACK_IMPORTED_MODULE_4__.ObjectTreeElementCollapseState.PreserveOrExpanded) : undefined;\n this.tree = this.createTree(user, container, delegate, renderers, options);\n this.onDidChangeFindMode = this.tree.onDidChangeFindMode;\n this.root = createAsyncDataTreeNode({\n element: undefined,\n parent: null,\n hasChildren: true,\n defaultCollapseState: undefined\n });\n if (this.identityProvider) {\n this.root = {\n ...this.root,\n id: null\n };\n }\n this.nodes.set(null, this.root);\n this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState, this, this.disposables);\n }\n createTree(user, container, delegate, renderers, options) {\n const objectTreeDelegate = new _abstractTree_js__WEBPACK_IMPORTED_MODULE_1__.ComposedTreeDelegate(delegate);\n const objectTreeRenderers = renderers.map(r => new AsyncDataTreeRenderer(r, this.nodeMapper, this._onDidChangeNodeSlowState.event));\n const objectTreeOptions = asObjectTreeOptions(options) || {};\n return new _objectTree_js__WEBPACK_IMPORTED_MODULE_3__.ObjectTree(user, container, objectTreeDelegate, objectTreeRenderers, objectTreeOptions);\n }\n updateOptions(options = {}) {\n this.tree.updateOptions(options);\n }\n // Widget\n getHTMLElement() {\n return this.tree.getHTMLElement();\n }\n get scrollTop() {\n return this.tree.scrollTop;\n }\n set scrollTop(scrollTop) {\n this.tree.scrollTop = scrollTop;\n }\n get scrollHeight() {\n return this.tree.scrollHeight;\n }\n get renderHeight() {\n return this.tree.renderHeight;\n }\n domFocus() {\n this.tree.domFocus();\n }\n layout(height, width) {\n this.tree.layout(height, width);\n }\n style(styles) {\n this.tree.style(styles);\n }\n // Model\n getInput() {\n return this.root.element;\n }\n async setInput(input, viewState) {\n this.refreshPromises.forEach(promise => promise.cancel());\n this.refreshPromises.clear();\n this.root.element = input;\n const viewStateContext = viewState && { viewState, focus: [], selection: [] };\n await this._updateChildren(input, true, false, viewStateContext);\n if (viewStateContext) {\n this.tree.setFocus(viewStateContext.focus);\n this.tree.setSelection(viewStateContext.selection);\n }\n if (viewState && typeof viewState.scrollTop === 'number') {\n this.scrollTop = viewState.scrollTop;\n }\n }\n async _updateChildren(element = this.root.element, recursive = true, rerender = false, viewStateContext, options) {\n if (typeof this.root.element === 'undefined') {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_4__.TreeError(this.user, 'Tree input not set');\n }\n if (this.root.refreshPromise) {\n await this.root.refreshPromise;\n await _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.toPromise(this._onDidRender.event);\n }\n const node = this.getDataNode(element);\n await this.refreshAndRenderNode(node, recursive, viewStateContext, options);\n if (rerender) {\n try {\n this.tree.rerender(node);\n }\n catch (_a) {\n // missing nodes are fine, this could've resulted from\n // parallel refresh calls, removing `node` altogether\n }\n }\n }\n // View\n rerender(element) {\n if (element === undefined || element === this.root.element) {\n this.tree.rerender();\n return;\n }\n const node = this.getDataNode(element);\n this.tree.rerender(node);\n }\n // Tree\n getNode(element = this.root.element) {\n const dataNode = this.getDataNode(element);\n const node = this.tree.getNode(dataNode === this.root ? null : dataNode);\n return this.nodeMapper.map(node);\n }\n collapse(element, recursive = false) {\n const node = this.getDataNode(element);\n return this.tree.collapse(node === this.root ? null : node, recursive);\n }\n async expand(element, recursive = false) {\n if (typeof this.root.element === 'undefined') {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_4__.TreeError(this.user, 'Tree input not set');\n }\n if (this.root.refreshPromise) {\n await this.root.refreshPromise;\n await _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.toPromise(this._onDidRender.event);\n }\n const node = this.getDataNode(element);\n if (this.tree.hasElement(node) && !this.tree.isCollapsible(node)) {\n return false;\n }\n if (node.refreshPromise) {\n await this.root.refreshPromise;\n await _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.toPromise(this._onDidRender.event);\n }\n if (node !== this.root && !node.refreshPromise && !this.tree.isCollapsed(node)) {\n return false;\n }\n const result = this.tree.expand(node === this.root ? null : node, recursive);\n if (node.refreshPromise) {\n await this.root.refreshPromise;\n await _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.toPromise(this._onDidRender.event);\n }\n return result;\n }\n setSelection(elements, browserEvent) {\n const nodes = elements.map(e => this.getDataNode(e));\n this.tree.setSelection(nodes, browserEvent);\n }\n getSelection() {\n const nodes = this.tree.getSelection();\n return nodes.map(n => n.element);\n }\n setFocus(elements, browserEvent) {\n const nodes = elements.map(e => this.getDataNode(e));\n this.tree.setFocus(nodes, browserEvent);\n }\n getFocus() {\n const nodes = this.tree.getFocus();\n return nodes.map(n => n.element);\n }\n reveal(element, relativeTop) {\n this.tree.reveal(this.getDataNode(element), relativeTop);\n }\n // Tree navigation\n getParentElement(element) {\n const node = this.tree.getParentElement(this.getDataNode(element));\n return (node && node.element);\n }\n getFirstElementChild(element = this.root.element) {\n const dataNode = this.getDataNode(element);\n const node = this.tree.getFirstElementChild(dataNode === this.root ? null : dataNode);\n return (node && node.element);\n }\n // Implementation\n getDataNode(element) {\n const node = this.nodes.get((element === this.root.element ? null : element));\n if (!node) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_4__.TreeError(this.user, `Data tree node not found: ${element}`);\n }\n return node;\n }\n async refreshAndRenderNode(node, recursive, viewStateContext, options) {\n await this.refreshNode(node, recursive, viewStateContext);\n this.render(node, viewStateContext, options);\n }\n async refreshNode(node, recursive, viewStateContext) {\n let result;\n this.subTreeRefreshPromises.forEach((refreshPromise, refreshNode) => {\n if (!result && intersects(refreshNode, node)) {\n result = refreshPromise.then(() => this.refreshNode(node, recursive, viewStateContext));\n }\n });\n if (result) {\n return result;\n }\n if (node !== this.root) {\n const treeNode = this.tree.getNode(node);\n if (treeNode.collapsed) {\n node.hasChildren = !!this.dataSource.hasChildren(node.element);\n node.stale = true;\n return;\n }\n }\n return this.doRefreshSubTree(node, recursive, viewStateContext);\n }\n async doRefreshSubTree(node, recursive, viewStateContext) {\n let done;\n node.refreshPromise = new Promise(c => done = c);\n this.subTreeRefreshPromises.set(node, node.refreshPromise);\n node.refreshPromise.finally(() => {\n node.refreshPromise = undefined;\n this.subTreeRefreshPromises.delete(node);\n });\n try {\n const childrenToRefresh = await this.doRefreshNode(node, recursive, viewStateContext);\n node.stale = false;\n await _common_async_js__WEBPACK_IMPORTED_MODULE_5__.Promises.settled(childrenToRefresh.map(child => this.doRefreshSubTree(child, recursive, viewStateContext)));\n }\n finally {\n done();\n }\n }\n async doRefreshNode(node, recursive, viewStateContext) {\n node.hasChildren = !!this.dataSource.hasChildren(node.element);\n let childrenPromise;\n if (!node.hasChildren) {\n childrenPromise = Promise.resolve(_common_iterator_js__WEBPACK_IMPORTED_MODULE_10__.Iterable.empty());\n }\n else {\n const children = this.doGetChildren(node);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_12__.isIterable)(children)) {\n childrenPromise = Promise.resolve(children);\n }\n else {\n const slowTimeout = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_5__.timeout)(800);\n slowTimeout.then(() => {\n node.slow = true;\n this._onDidChangeNodeSlowState.fire(node);\n }, _ => null);\n childrenPromise = children.finally(() => slowTimeout.cancel());\n }\n }\n try {\n const children = await childrenPromise;\n return this.setChildren(node, children, recursive, viewStateContext);\n }\n catch (err) {\n if (node !== this.root && this.tree.hasElement(node)) {\n this.tree.collapse(node);\n }\n if ((0,_common_errors_js__WEBPACK_IMPORTED_MODULE_8__.isCancellationError)(err)) {\n return [];\n }\n throw err;\n }\n finally {\n if (node.slow) {\n node.slow = false;\n this._onDidChangeNodeSlowState.fire(node);\n }\n }\n }\n doGetChildren(node) {\n let result = this.refreshPromises.get(node);\n if (result) {\n return result;\n }\n const children = this.dataSource.getChildren(node.element);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_12__.isIterable)(children)) {\n return this.processChildren(children);\n }\n else {\n result = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_5__.createCancelablePromise)(async () => this.processChildren(await children));\n this.refreshPromises.set(node, result);\n return result.finally(() => { this.refreshPromises.delete(node); });\n }\n }\n _onDidChangeCollapseState({ node, deep }) {\n if (node.element === null) {\n return;\n }\n if (!node.collapsed && node.element.stale) {\n if (deep) {\n this.collapse(node.element.element);\n }\n else {\n this.refreshAndRenderNode(node.element, false)\n .catch(_common_errors_js__WEBPACK_IMPORTED_MODULE_8__.onUnexpectedError);\n }\n }\n }\n setChildren(node, childrenElementsIterable, recursive, viewStateContext) {\n const childrenElements = [...childrenElementsIterable];\n // perf: if the node was and still is a leaf, avoid all this hassle\n if (node.children.length === 0 && childrenElements.length === 0) {\n return [];\n }\n const nodesToForget = new Map();\n const childrenTreeNodesById = new Map();\n for (const child of node.children) {\n nodesToForget.set(child.element, child);\n if (this.identityProvider) {\n childrenTreeNodesById.set(child.id, { node: child, collapsed: this.tree.hasElement(child) && this.tree.isCollapsed(child) });\n }\n }\n const childrenToRefresh = [];\n const children = childrenElements.map(element => {\n const hasChildren = !!this.dataSource.hasChildren(element);\n if (!this.identityProvider) {\n const asyncDataTreeNode = createAsyncDataTreeNode({ element, parent: node, hasChildren, defaultCollapseState: this.getDefaultCollapseState(element) });\n if (hasChildren && asyncDataTreeNode.defaultCollapseState === _tree_js__WEBPACK_IMPORTED_MODULE_4__.ObjectTreeElementCollapseState.PreserveOrExpanded) {\n childrenToRefresh.push(asyncDataTreeNode);\n }\n return asyncDataTreeNode;\n }\n const id = this.identityProvider.getId(element).toString();\n const result = childrenTreeNodesById.get(id);\n if (result) {\n const asyncDataTreeNode = result.node;\n nodesToForget.delete(asyncDataTreeNode.element);\n this.nodes.delete(asyncDataTreeNode.element);\n this.nodes.set(element, asyncDataTreeNode);\n asyncDataTreeNode.element = element;\n asyncDataTreeNode.hasChildren = hasChildren;\n if (recursive) {\n if (result.collapsed) {\n asyncDataTreeNode.children.forEach(node => dfs(node, node => this.nodes.delete(node.element)));\n asyncDataTreeNode.children.splice(0, asyncDataTreeNode.children.length);\n asyncDataTreeNode.stale = true;\n }\n else {\n childrenToRefresh.push(asyncDataTreeNode);\n }\n }\n else if (hasChildren && !result.collapsed) {\n childrenToRefresh.push(asyncDataTreeNode);\n }\n return asyncDataTreeNode;\n }\n const childAsyncDataTreeNode = createAsyncDataTreeNode({ element, parent: node, id, hasChildren, defaultCollapseState: this.getDefaultCollapseState(element) });\n if (viewStateContext && viewStateContext.viewState.focus && viewStateContext.viewState.focus.indexOf(id) > -1) {\n viewStateContext.focus.push(childAsyncDataTreeNode);\n }\n if (viewStateContext && viewStateContext.viewState.selection && viewStateContext.viewState.selection.indexOf(id) > -1) {\n viewStateContext.selection.push(childAsyncDataTreeNode);\n }\n if (viewStateContext && viewStateContext.viewState.expanded && viewStateContext.viewState.expanded.indexOf(id) > -1) {\n childrenToRefresh.push(childAsyncDataTreeNode);\n }\n else if (hasChildren && childAsyncDataTreeNode.defaultCollapseState === _tree_js__WEBPACK_IMPORTED_MODULE_4__.ObjectTreeElementCollapseState.PreserveOrExpanded) {\n childrenToRefresh.push(childAsyncDataTreeNode);\n }\n return childAsyncDataTreeNode;\n });\n for (const node of nodesToForget.values()) {\n dfs(node, node => this.nodes.delete(node.element));\n }\n for (const child of children) {\n this.nodes.set(child.element, child);\n }\n node.children.splice(0, node.children.length, ...children);\n // TODO@joao this doesn't take filter into account\n if (node !== this.root && this.autoExpandSingleChildren && children.length === 1 && childrenToRefresh.length === 0) {\n children[0].forceExpanded = true;\n childrenToRefresh.push(children[0]);\n }\n return childrenToRefresh;\n }\n render(node, viewStateContext, options) {\n const children = node.children.map(node => this.asTreeElement(node, viewStateContext));\n const objectTreeOptions = options && {\n ...options,\n diffIdentityProvider: options.diffIdentityProvider && {\n getId(node) {\n return options.diffIdentityProvider.getId(node.element);\n }\n }\n };\n this.tree.setChildren(node === this.root ? null : node, children, objectTreeOptions);\n if (node !== this.root) {\n this.tree.setCollapsible(node, node.hasChildren);\n }\n this._onDidRender.fire();\n }\n asTreeElement(node, viewStateContext) {\n if (node.stale) {\n return {\n element: node,\n collapsible: node.hasChildren,\n collapsed: true\n };\n }\n let collapsed;\n if (viewStateContext && viewStateContext.viewState.expanded && node.id && viewStateContext.viewState.expanded.indexOf(node.id) > -1) {\n collapsed = false;\n }\n else if (node.forceExpanded) {\n collapsed = false;\n node.forceExpanded = false;\n }\n else {\n collapsed = node.defaultCollapseState;\n }\n return {\n element: node,\n children: node.hasChildren ? _common_iterator_js__WEBPACK_IMPORTED_MODULE_10__.Iterable.map(node.children, child => this.asTreeElement(child, viewStateContext)) : [],\n collapsible: node.hasChildren,\n collapsed\n };\n }\n processChildren(children) {\n if (this.sorter) {\n children = [...children].sort(this.sorter.compare.bind(this.sorter));\n }\n return children;\n }\n dispose() {\n this.disposables.dispose();\n this.tree.dispose();\n }\n}\nclass CompressibleAsyncDataTreeNodeWrapper {\n get element() {\n return {\n elements: this.node.element.elements.map(e => e.element),\n incompressible: this.node.element.incompressible\n };\n }\n get children() { return this.node.children.map(node => new CompressibleAsyncDataTreeNodeWrapper(node)); }\n get depth() { return this.node.depth; }\n get visibleChildrenCount() { return this.node.visibleChildrenCount; }\n get visibleChildIndex() { return this.node.visibleChildIndex; }\n get collapsible() { return this.node.collapsible; }\n get collapsed() { return this.node.collapsed; }\n get visible() { return this.node.visible; }\n get filterData() { return this.node.filterData; }\n constructor(node) {\n this.node = node;\n }\n}\nclass CompressibleAsyncDataTreeRenderer {\n constructor(renderer, nodeMapper, compressibleNodeMapperProvider, onDidChangeTwistieState) {\n this.renderer = renderer;\n this.nodeMapper = nodeMapper;\n this.compressibleNodeMapperProvider = compressibleNodeMapperProvider;\n this.onDidChangeTwistieState = onDidChangeTwistieState;\n this.renderedNodes = new Map();\n this.disposables = [];\n this.templateId = renderer.templateId;\n }\n renderTemplate(container) {\n const templateData = this.renderer.renderTemplate(container);\n return { templateData };\n }\n renderElement(node, index, templateData, height) {\n this.renderer.renderElement(this.nodeMapper.map(node), index, templateData.templateData, height);\n }\n renderCompressedElements(node, index, templateData, height) {\n this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(node), index, templateData.templateData, height);\n }\n renderTwistie(element, twistieElement) {\n if (element.slow) {\n twistieElement.classList.add(..._common_themables_js__WEBPACK_IMPORTED_MODULE_7__.ThemeIcon.asClassNameArray(_common_codicons_js__WEBPACK_IMPORTED_MODULE_6__.Codicon.treeItemLoading));\n return true;\n }\n else {\n twistieElement.classList.remove(..._common_themables_js__WEBPACK_IMPORTED_MODULE_7__.ThemeIcon.asClassNameArray(_common_codicons_js__WEBPACK_IMPORTED_MODULE_6__.Codicon.treeItemLoading));\n return false;\n }\n }\n disposeElement(node, index, templateData, height) {\n var _a, _b;\n (_b = (_a = this.renderer).disposeElement) === null || _b === void 0 ? void 0 : _b.call(_a, this.nodeMapper.map(node), index, templateData.templateData, height);\n }\n disposeCompressedElements(node, index, templateData, height) {\n var _a, _b;\n (_b = (_a = this.renderer).disposeCompressedElements) === null || _b === void 0 ? void 0 : _b.call(_a, this.compressibleNodeMapperProvider().map(node), index, templateData.templateData, height);\n }\n disposeTemplate(templateData) {\n this.renderer.disposeTemplate(templateData.templateData);\n }\n dispose() {\n this.renderedNodes.clear();\n this.disposables = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_11__.dispose)(this.disposables);\n }\n}\nfunction asCompressibleObjectTreeOptions(options) {\n const objectTreeOptions = options && asObjectTreeOptions(options);\n return objectTreeOptions && {\n ...objectTreeOptions,\n keyboardNavigationLabelProvider: objectTreeOptions.keyboardNavigationLabelProvider && {\n ...objectTreeOptions.keyboardNavigationLabelProvider,\n getCompressedNodeKeyboardNavigationLabel(els) {\n return options.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(els.map(e => e.element));\n }\n }\n };\n}\nclass CompressibleAsyncDataTree extends AsyncDataTree {\n constructor(user, container, virtualDelegate, compressionDelegate, renderers, dataSource, options = {}) {\n super(user, container, virtualDelegate, renderers, dataSource, options);\n this.compressionDelegate = compressionDelegate;\n this.compressibleNodeMapper = new _tree_js__WEBPACK_IMPORTED_MODULE_4__.WeakMapper(node => new CompressibleAsyncDataTreeNodeWrapper(node));\n this.filter = options.filter;\n }\n createTree(user, container, delegate, renderers, options) {\n const objectTreeDelegate = new _abstractTree_js__WEBPACK_IMPORTED_MODULE_1__.ComposedTreeDelegate(delegate);\n const objectTreeRenderers = renderers.map(r => new CompressibleAsyncDataTreeRenderer(r, this.nodeMapper, () => this.compressibleNodeMapper, this._onDidChangeNodeSlowState.event));\n const objectTreeOptions = asCompressibleObjectTreeOptions(options) || {};\n return new _objectTree_js__WEBPACK_IMPORTED_MODULE_3__.CompressibleObjectTree(user, container, objectTreeDelegate, objectTreeRenderers, objectTreeOptions);\n }\n asTreeElement(node, viewStateContext) {\n return {\n incompressible: this.compressionDelegate.isIncompressible(node.element),\n ...super.asTreeElement(node, viewStateContext)\n };\n }\n updateOptions(options = {}) {\n this.tree.updateOptions(options);\n }\n render(node, viewStateContext) {\n if (!this.identityProvider) {\n return super.render(node, viewStateContext);\n }\n // Preserve traits across compressions. Hacky but does the trick.\n // This is hard to fix properly since it requires rewriting the traits\n // across trees and lists. Let's just keep it this way for now.\n const getId = (element) => this.identityProvider.getId(element).toString();\n const getUncompressedIds = (nodes) => {\n const result = new Set();\n for (const node of nodes) {\n const compressedNode = this.tree.getCompressedTreeNode(node === this.root ? null : node);\n if (!compressedNode.element) {\n continue;\n }\n for (const node of compressedNode.element.elements) {\n result.add(getId(node.element));\n }\n }\n return result;\n };\n const oldSelection = getUncompressedIds(this.tree.getSelection());\n const oldFocus = getUncompressedIds(this.tree.getFocus());\n super.render(node, viewStateContext);\n const selection = this.getSelection();\n let didChangeSelection = false;\n const focus = this.getFocus();\n let didChangeFocus = false;\n const visit = (node) => {\n const compressedNode = node.element;\n if (compressedNode) {\n for (let i = 0; i < compressedNode.elements.length; i++) {\n const id = getId(compressedNode.elements[i].element);\n const element = compressedNode.elements[compressedNode.elements.length - 1].element;\n // github.com/microsoft/vscode/issues/85938\n if (oldSelection.has(id) && selection.indexOf(element) === -1) {\n selection.push(element);\n didChangeSelection = true;\n }\n if (oldFocus.has(id) && focus.indexOf(element) === -1) {\n focus.push(element);\n didChangeFocus = true;\n }\n }\n }\n node.children.forEach(visit);\n };\n visit(this.tree.getCompressedTreeNode(node === this.root ? null : node));\n if (didChangeSelection) {\n this.setSelection(selection);\n }\n if (didChangeFocus) {\n this.setFocus(focus);\n }\n }\n // For compressed async data trees, `TreeVisibility.Recurse` doesn't currently work\n // and we have to filter everything beforehand\n // Related to #85193 and #85835\n processChildren(children) {\n if (this.filter) {\n children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_10__.Iterable.filter(children, e => {\n const result = this.filter.filter(e, 1 /* TreeVisibility.Visible */);\n const visibility = getVisibility(result);\n if (visibility === 2 /* TreeVisibility.Recurse */) {\n throw new Error('Recursive tree visibility not supported in async data compressed trees');\n }\n return visibility === 1 /* TreeVisibility.Visible */;\n });\n }\n return super.processChildren(children);\n }\n}\nfunction getVisibility(filterResult) {\n if (typeof filterResult === 'boolean') {\n return filterResult ? 1 /* TreeVisibility.Visible */ : 0 /* TreeVisibility.Hidden */;\n }\n else if ((0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_2__.isFilterResult)(filterResult)) {\n return (0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_2__.getVisibleState)(filterResult.visibility);\n }\n else {\n return (0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_2__.getVisibleState)(filterResult);\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/asyncDataTree.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js":
+/*!*********************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js ***!
+ \*********************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CompressedObjectTreeModel: () => (/* binding */ CompressedObjectTreeModel),\n/* harmony export */ CompressibleObjectTreeModel: () => (/* binding */ CompressibleObjectTreeModel),\n/* harmony export */ DefaultElementMapper: () => (/* binding */ DefaultElementMapper),\n/* harmony export */ compress: () => (/* binding */ compress),\n/* harmony export */ decompress: () => (/* binding */ decompress)\n/* harmony export */ });\n/* harmony import */ var _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./objectTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js\");\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\nfunction noCompress(element) {\n const elements = [element.element];\n const incompressible = element.incompressible || false;\n return {\n element: { elements, incompressible },\n children: _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.map(_common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.from(element.children), noCompress),\n collapsible: element.collapsible,\n collapsed: element.collapsed\n };\n}\n// Exported only for test reasons, do not use directly\nfunction compress(element) {\n const elements = [element.element];\n const incompressible = element.incompressible || false;\n let childrenIterator;\n let children;\n while (true) {\n [children, childrenIterator] = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.consume(_common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.from(element.children), 2);\n if (children.length !== 1) {\n break;\n }\n if (children[0].incompressible) {\n break;\n }\n element = children[0];\n elements.push(element.element);\n }\n return {\n element: { elements, incompressible },\n children: _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.map(_common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.concat(children, childrenIterator), compress),\n collapsible: element.collapsible,\n collapsed: element.collapsed\n };\n}\nfunction _decompress(element, index = 0) {\n let children;\n if (index < element.element.elements.length - 1) {\n children = [_decompress(element, index + 1)];\n }\n else {\n children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.map(_common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.from(element.children), el => _decompress(el, 0));\n }\n if (index === 0 && element.element.incompressible) {\n return {\n element: element.element.elements[index],\n children,\n incompressible: true,\n collapsible: element.collapsible,\n collapsed: element.collapsed\n };\n }\n return {\n element: element.element.elements[index],\n children,\n collapsible: element.collapsible,\n collapsed: element.collapsed\n };\n}\n// Exported only for test reasons, do not use directly\nfunction decompress(element) {\n return _decompress(element, 0);\n}\nfunction splice(treeElement, element, children) {\n if (treeElement.element === element) {\n return { ...treeElement, children };\n }\n return { ...treeElement, children: _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.map(_common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.from(treeElement.children), e => splice(e, element, children)) };\n}\nconst wrapIdentityProvider = (base) => ({\n getId(node) {\n return node.elements.map(e => base.getId(e).toString()).join('\\0');\n }\n});\n// Exported only for test reasons, do not use directly\nclass CompressedObjectTreeModel {\n get onDidSplice() { return this.model.onDidSplice; }\n get onDidChangeCollapseState() { return this.model.onDidChangeCollapseState; }\n get onDidChangeRenderNodeCount() { return this.model.onDidChangeRenderNodeCount; }\n constructor(user, list, options = {}) {\n this.user = user;\n this.rootRef = null;\n this.nodes = new Map();\n this.model = new _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_0__.ObjectTreeModel(user, list, options);\n this.enabled = typeof options.compressionEnabled === 'undefined' ? true : options.compressionEnabled;\n this.identityProvider = options.identityProvider;\n }\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.empty(), options) {\n // Diffs must be deep, since the compression can affect nested elements.\n // @see https://github.com/microsoft/vscode/pull/114237#issuecomment-759425034\n const diffIdentityProvider = options.diffIdentityProvider && wrapIdentityProvider(options.diffIdentityProvider);\n if (element === null) {\n const compressedChildren = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.map(children, this.enabled ? compress : noCompress);\n this._setChildren(null, compressedChildren, { diffIdentityProvider, diffDepth: Infinity });\n return;\n }\n const compressedNode = this.nodes.get(element);\n if (!compressedNode) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_1__.TreeError(this.user, 'Unknown compressed tree node');\n }\n const node = this.model.getNode(compressedNode);\n const compressedParentNode = this.model.getParentNodeLocation(compressedNode);\n const parent = this.model.getNode(compressedParentNode);\n const decompressedElement = decompress(node);\n const splicedElement = splice(decompressedElement, element, children);\n const recompressedElement = (this.enabled ? compress : noCompress)(splicedElement);\n // If the recompressed node is identical to the original, just set its children.\n // Saves work and churn diffing the parent element.\n const elementComparator = options.diffIdentityProvider\n ? ((a, b) => options.diffIdentityProvider.getId(a) === options.diffIdentityProvider.getId(b))\n : undefined;\n if ((0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_2__.equals)(recompressedElement.element.elements, node.element.elements, elementComparator)) {\n this._setChildren(compressedNode, recompressedElement.children || _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.empty(), { diffIdentityProvider, diffDepth: 1 });\n return;\n }\n const parentChildren = parent.children\n .map(child => child === node ? recompressedElement : child);\n this._setChildren(parent.element, parentChildren, {\n diffIdentityProvider,\n diffDepth: node.depth - parent.depth,\n });\n }\n setCompressionEnabled(enabled) {\n if (enabled === this.enabled) {\n return;\n }\n this.enabled = enabled;\n const root = this.model.getNode();\n const rootChildren = root.children;\n const decompressedRootChildren = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.map(rootChildren, decompress);\n const recompressedRootChildren = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.map(decompressedRootChildren, enabled ? compress : noCompress);\n // it should be safe to always use deep diff mode here if an identity\n // provider is available, since we know the raw nodes are unchanged.\n this._setChildren(null, recompressedRootChildren, {\n diffIdentityProvider: this.identityProvider,\n diffDepth: Infinity,\n });\n }\n _setChildren(node, children, options) {\n const insertedElements = new Set();\n const onDidCreateNode = (node) => {\n for (const element of node.element.elements) {\n insertedElements.add(element);\n this.nodes.set(element, node.element);\n }\n };\n const onDidDeleteNode = (node) => {\n for (const element of node.element.elements) {\n if (!insertedElements.has(element)) {\n this.nodes.delete(element);\n }\n }\n };\n this.model.setChildren(node, children, { ...options, onDidCreateNode, onDidDeleteNode });\n }\n has(element) {\n return this.nodes.has(element);\n }\n getListIndex(location) {\n const node = this.getCompressedNode(location);\n return this.model.getListIndex(node);\n }\n getListRenderCount(location) {\n const node = this.getCompressedNode(location);\n return this.model.getListRenderCount(node);\n }\n getNode(location) {\n if (typeof location === 'undefined') {\n return this.model.getNode();\n }\n const node = this.getCompressedNode(location);\n return this.model.getNode(node);\n }\n // TODO: review this\n getNodeLocation(node) {\n const compressedNode = this.model.getNodeLocation(node);\n if (compressedNode === null) {\n return null;\n }\n return compressedNode.elements[compressedNode.elements.length - 1];\n }\n // TODO: review this\n getParentNodeLocation(location) {\n const compressedNode = this.getCompressedNode(location);\n const parentNode = this.model.getParentNodeLocation(compressedNode);\n if (parentNode === null) {\n return null;\n }\n return parentNode.elements[parentNode.elements.length - 1];\n }\n getFirstElementChild(location) {\n const compressedNode = this.getCompressedNode(location);\n return this.model.getFirstElementChild(compressedNode);\n }\n isCollapsible(location) {\n const compressedNode = this.getCompressedNode(location);\n return this.model.isCollapsible(compressedNode);\n }\n setCollapsible(location, collapsible) {\n const compressedNode = this.getCompressedNode(location);\n return this.model.setCollapsible(compressedNode, collapsible);\n }\n isCollapsed(location) {\n const compressedNode = this.getCompressedNode(location);\n return this.model.isCollapsed(compressedNode);\n }\n setCollapsed(location, collapsed, recursive) {\n const compressedNode = this.getCompressedNode(location);\n return this.model.setCollapsed(compressedNode, collapsed, recursive);\n }\n expandTo(location) {\n const compressedNode = this.getCompressedNode(location);\n this.model.expandTo(compressedNode);\n }\n rerender(location) {\n const compressedNode = this.getCompressedNode(location);\n this.model.rerender(compressedNode);\n }\n refilter() {\n this.model.refilter();\n }\n getCompressedNode(element) {\n if (element === null) {\n return null;\n }\n const node = this.nodes.get(element);\n if (!node) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_1__.TreeError(this.user, `Tree element not found: ${element}`);\n }\n return node;\n }\n}\nconst DefaultElementMapper = elements => elements[elements.length - 1];\nclass CompressedTreeNodeWrapper {\n get element() { return this.node.element === null ? null : this.unwrapper(this.node.element); }\n get children() { return this.node.children.map(node => new CompressedTreeNodeWrapper(this.unwrapper, node)); }\n get depth() { return this.node.depth; }\n get visibleChildrenCount() { return this.node.visibleChildrenCount; }\n get visibleChildIndex() { return this.node.visibleChildIndex; }\n get collapsible() { return this.node.collapsible; }\n get collapsed() { return this.node.collapsed; }\n get visible() { return this.node.visible; }\n get filterData() { return this.node.filterData; }\n constructor(unwrapper, node) {\n this.unwrapper = unwrapper;\n this.node = node;\n }\n}\nfunction mapList(nodeMapper, list) {\n return {\n splice(start, deleteCount, toInsert) {\n list.splice(start, deleteCount, toInsert.map(node => nodeMapper.map(node)));\n },\n updateElementHeight(index, height) {\n list.updateElementHeight(index, height);\n }\n };\n}\nfunction mapOptions(compressedNodeUnwrapper, options) {\n return {\n ...options,\n identityProvider: options.identityProvider && {\n getId(node) {\n return options.identityProvider.getId(compressedNodeUnwrapper(node));\n }\n },\n sorter: options.sorter && {\n compare(node, otherNode) {\n return options.sorter.compare(node.elements[0], otherNode.elements[0]);\n }\n },\n filter: options.filter && {\n filter(node, parentVisibility) {\n return options.filter.filter(compressedNodeUnwrapper(node), parentVisibility);\n }\n }\n };\n}\nclass CompressibleObjectTreeModel {\n get onDidSplice() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.map(this.model.onDidSplice, ({ insertedNodes, deletedNodes }) => ({\n insertedNodes: insertedNodes.map(node => this.nodeMapper.map(node)),\n deletedNodes: deletedNodes.map(node => this.nodeMapper.map(node)),\n }));\n }\n get onDidChangeCollapseState() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.map(this.model.onDidChangeCollapseState, ({ node, deep }) => ({\n node: this.nodeMapper.map(node),\n deep\n }));\n }\n get onDidChangeRenderNodeCount() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.map(this.model.onDidChangeRenderNodeCount, node => this.nodeMapper.map(node));\n }\n constructor(user, list, options = {}) {\n this.rootRef = null;\n this.elementMapper = options.elementMapper || DefaultElementMapper;\n const compressedNodeUnwrapper = node => this.elementMapper(node.elements);\n this.nodeMapper = new _tree_js__WEBPACK_IMPORTED_MODULE_1__.WeakMapper(node => new CompressedTreeNodeWrapper(compressedNodeUnwrapper, node));\n this.model = new CompressedObjectTreeModel(user, mapList(this.nodeMapper, list), mapOptions(compressedNodeUnwrapper, options));\n }\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.empty(), options = {}) {\n this.model.setChildren(element, children, options);\n }\n setCompressionEnabled(enabled) {\n this.model.setCompressionEnabled(enabled);\n }\n has(location) {\n return this.model.has(location);\n }\n getListIndex(location) {\n return this.model.getListIndex(location);\n }\n getListRenderCount(location) {\n return this.model.getListRenderCount(location);\n }\n getNode(location) {\n return this.nodeMapper.map(this.model.getNode(location));\n }\n getNodeLocation(node) {\n return node.element;\n }\n getParentNodeLocation(location) {\n return this.model.getParentNodeLocation(location);\n }\n getFirstElementChild(location) {\n const result = this.model.getFirstElementChild(location);\n if (result === null || typeof result === 'undefined') {\n return result;\n }\n return this.elementMapper(result.elements);\n }\n isCollapsible(location) {\n return this.model.isCollapsible(location);\n }\n setCollapsible(location, collapsed) {\n return this.model.setCollapsible(location, collapsed);\n }\n isCollapsed(location) {\n return this.model.isCollapsed(location);\n }\n setCollapsed(location, collapsed, recursive) {\n return this.model.setCollapsed(location, collapsed, recursive);\n }\n expandTo(location) {\n return this.model.expandTo(location);\n }\n rerender(location) {\n return this.model.rerender(location);\n }\n refilter() {\n return this.model.refilter();\n }\n getCompressedTreeNode(location = null) {\n return this.model.getNode(location);\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/dataTree.js":
+/*!****************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/dataTree.js ***!
+ \****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DataTree: () => (/* binding */ DataTree)\n/* harmony export */ });\n/* harmony import */ var _abstractTree_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abstractTree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js\");\n/* harmony import */ var _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./objectTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\nclass DataTree extends _abstractTree_js__WEBPACK_IMPORTED_MODULE_0__.AbstractTree {\n constructor(user, container, delegate, renderers, dataSource, options = {}) {\n super(user, container, delegate, renderers, options);\n this.user = user;\n this.dataSource = dataSource;\n this.identityProvider = options.identityProvider;\n }\n createModel(user, view, options) {\n return new _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeModel(user, view, options);\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/dataTree.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js":
+/*!**********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js ***!
+ \**********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IndexTreeModel: () => (/* binding */ IndexTreeModel),\n/* harmony export */ getVisibleState: () => (/* binding */ getVisibleState),\n/* harmony export */ isFilterResult: () => (/* binding */ isFilterResult)\n/* harmony export */ });\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_symbols_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/symbols.js */ \"./node_modules/monaco-editor/esm/vs/base/common/symbols.js\");\n/* harmony import */ var _common_diff_diff_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/diff/diff.js */ \"./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\nfunction isFilterResult(obj) {\n return typeof obj === 'object' && 'visibility' in obj && 'data' in obj;\n}\nfunction getVisibleState(visibility) {\n switch (visibility) {\n case true: return 1 /* TreeVisibility.Visible */;\n case false: return 0 /* TreeVisibility.Hidden */;\n default: return visibility;\n }\n}\nfunction isCollapsibleStateUpdate(update) {\n return typeof update.collapsible === 'boolean';\n}\nclass IndexTreeModel {\n constructor(user, list, rootElement, options = {}) {\n this.user = user;\n this.list = list;\n this.rootRef = [];\n this.eventBufferer = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.EventBufferer();\n this._onDidChangeCollapseState = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\n this.onDidChangeCollapseState = this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event);\n this._onDidChangeRenderNodeCount = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\n this.onDidChangeRenderNodeCount = this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event);\n this._onDidSplice = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\n this.onDidSplice = this._onDidSplice.event;\n this.refilterDelayer = new _common_async_js__WEBPACK_IMPORTED_MODULE_2__.Delayer(_common_symbols_js__WEBPACK_IMPORTED_MODULE_3__.MicrotaskDelay);\n this.collapseByDefault = typeof options.collapseByDefault === 'undefined' ? false : options.collapseByDefault;\n this.filter = options.filter;\n this.autoExpandSingleChildren = typeof options.autoExpandSingleChildren === 'undefined' ? false : options.autoExpandSingleChildren;\n this.root = {\n parent: undefined,\n element: rootElement,\n children: [],\n depth: 0,\n visibleChildrenCount: 0,\n visibleChildIndex: -1,\n collapsible: false,\n collapsed: false,\n renderNodeCount: 0,\n visibility: 1 /* TreeVisibility.Visible */,\n visible: true,\n filterData: undefined\n };\n }\n splice(location, deleteCount, toInsert = _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.empty(), options = {}) {\n if (location.length === 0) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\n }\n if (options.diffIdentityProvider) {\n this.spliceSmart(options.diffIdentityProvider, location, deleteCount, toInsert, options);\n }\n else {\n this.spliceSimple(location, deleteCount, toInsert, options);\n }\n }\n spliceSmart(identity, location, deleteCount, toInsertIterable, options, recurseLevels) {\n var _a;\n if (toInsertIterable === void 0) { toInsertIterable = _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.empty(); }\n if (recurseLevels === void 0) { recurseLevels = (_a = options.diffDepth) !== null && _a !== void 0 ? _a : 0; }\n const { parentNode } = this.getParentNodeWithListIndex(location);\n if (!parentNode.lastDiffIds) {\n return this.spliceSimple(location, deleteCount, toInsertIterable, options);\n }\n const toInsert = [...toInsertIterable];\n const index = location[location.length - 1];\n const diff = new _common_diff_diff_js__WEBPACK_IMPORTED_MODULE_4__.LcsDiff({ getElements: () => parentNode.lastDiffIds }, {\n getElements: () => [\n ...parentNode.children.slice(0, index),\n ...toInsert,\n ...parentNode.children.slice(index + deleteCount),\n ].map(e => identity.getId(e.element).toString())\n }).ComputeDiff(false);\n // if we were given a 'best effort' diff, use default behavior\n if (diff.quitEarly) {\n parentNode.lastDiffIds = undefined;\n return this.spliceSimple(location, deleteCount, toInsert, options);\n }\n const locationPrefix = location.slice(0, -1);\n const recurseSplice = (fromOriginal, fromModified, count) => {\n if (recurseLevels > 0) {\n for (let i = 0; i < count; i++) {\n fromOriginal--;\n fromModified--;\n this.spliceSmart(identity, [...locationPrefix, fromOriginal, 0], Number.MAX_SAFE_INTEGER, toInsert[fromModified].children, options, recurseLevels - 1);\n }\n }\n };\n let lastStartO = Math.min(parentNode.children.length, index + deleteCount);\n let lastStartM = toInsert.length;\n for (const change of diff.changes.sort((a, b) => b.originalStart - a.originalStart)) {\n recurseSplice(lastStartO, lastStartM, lastStartO - (change.originalStart + change.originalLength));\n lastStartO = change.originalStart;\n lastStartM = change.modifiedStart - index;\n this.spliceSimple([...locationPrefix, lastStartO], change.originalLength, _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.slice(toInsert, lastStartM, lastStartM + change.modifiedLength), options);\n }\n // at this point, startO === startM === count since any remaining prefix should match\n recurseSplice(lastStartO, lastStartM, lastStartO);\n }\n spliceSimple(location, deleteCount, toInsert = _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.empty(), { onDidCreateNode, onDidDeleteNode, diffIdentityProvider }) {\n const { parentNode, listIndex, revealed, visible } = this.getParentNodeWithListIndex(location);\n const treeListElementsToInsert = [];\n const nodesToInsertIterator = _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.map(toInsert, el => this.createTreeNode(el, parentNode, parentNode.visible ? 1 /* TreeVisibility.Visible */ : 0 /* TreeVisibility.Hidden */, revealed, treeListElementsToInsert, onDidCreateNode));\n const lastIndex = location[location.length - 1];\n const lastHadChildren = parentNode.children.length > 0;\n // figure out what's the visible child start index right before the\n // splice point\n let visibleChildStartIndex = 0;\n for (let i = lastIndex; i >= 0 && i < parentNode.children.length; i--) {\n const child = parentNode.children[i];\n if (child.visible) {\n visibleChildStartIndex = child.visibleChildIndex;\n break;\n }\n }\n const nodesToInsert = [];\n let insertedVisibleChildrenCount = 0;\n let renderNodeCount = 0;\n for (const child of nodesToInsertIterator) {\n nodesToInsert.push(child);\n renderNodeCount += child.renderNodeCount;\n if (child.visible) {\n child.visibleChildIndex = visibleChildStartIndex + insertedVisibleChildrenCount++;\n }\n }\n const deletedNodes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.splice)(parentNode.children, lastIndex, deleteCount, nodesToInsert);\n if (!diffIdentityProvider) {\n parentNode.lastDiffIds = undefined;\n }\n else if (parentNode.lastDiffIds) {\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.splice)(parentNode.lastDiffIds, lastIndex, deleteCount, nodesToInsert.map(n => diffIdentityProvider.getId(n.element).toString()));\n }\n else {\n parentNode.lastDiffIds = parentNode.children.map(n => diffIdentityProvider.getId(n.element).toString());\n }\n // figure out what is the count of deleted visible children\n let deletedVisibleChildrenCount = 0;\n for (const child of deletedNodes) {\n if (child.visible) {\n deletedVisibleChildrenCount++;\n }\n }\n // and adjust for all visible children after the splice point\n if (deletedVisibleChildrenCount !== 0) {\n for (let i = lastIndex + nodesToInsert.length; i < parentNode.children.length; i++) {\n const child = parentNode.children[i];\n if (child.visible) {\n child.visibleChildIndex -= deletedVisibleChildrenCount;\n }\n }\n }\n // update parent's visible children count\n parentNode.visibleChildrenCount += insertedVisibleChildrenCount - deletedVisibleChildrenCount;\n if (revealed && visible) {\n const visibleDeleteCount = deletedNodes.reduce((r, node) => r + (node.visible ? node.renderNodeCount : 0), 0);\n this._updateAncestorsRenderNodeCount(parentNode, renderNodeCount - visibleDeleteCount);\n this.list.splice(listIndex, visibleDeleteCount, treeListElementsToInsert);\n }\n if (deletedNodes.length > 0 && onDidDeleteNode) {\n const visit = (node) => {\n onDidDeleteNode(node);\n node.children.forEach(visit);\n };\n deletedNodes.forEach(visit);\n }\n this._onDidSplice.fire({ insertedNodes: nodesToInsert, deletedNodes });\n const currentlyHasChildren = parentNode.children.length > 0;\n if (lastHadChildren !== currentlyHasChildren) {\n this.setCollapsible(location.slice(0, -1), currentlyHasChildren);\n }\n let node = parentNode;\n while (node) {\n if (node.visibility === 2 /* TreeVisibility.Recurse */) {\n // delayed to avoid excessive refiltering, see #135941\n this.refilterDelayer.trigger(() => this.refilter());\n break;\n }\n node = node.parent;\n }\n }\n rerender(location) {\n if (location.length === 0) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\n }\n const { node, listIndex, revealed } = this.getTreeNodeWithListIndex(location);\n if (node.visible && revealed) {\n this.list.splice(listIndex, 1, [node]);\n }\n }\n has(location) {\n return this.hasTreeNode(location);\n }\n getListIndex(location) {\n const { listIndex, visible, revealed } = this.getTreeNodeWithListIndex(location);\n return visible && revealed ? listIndex : -1;\n }\n getListRenderCount(location) {\n return this.getTreeNode(location).renderNodeCount;\n }\n isCollapsible(location) {\n return this.getTreeNode(location).collapsible;\n }\n setCollapsible(location, collapsible) {\n const node = this.getTreeNode(location);\n if (typeof collapsible === 'undefined') {\n collapsible = !node.collapsible;\n }\n const update = { collapsible };\n return this.eventBufferer.bufferEvents(() => this._setCollapseState(location, update));\n }\n isCollapsed(location) {\n return this.getTreeNode(location).collapsed;\n }\n setCollapsed(location, collapsed, recursive) {\n const node = this.getTreeNode(location);\n if (typeof collapsed === 'undefined') {\n collapsed = !node.collapsed;\n }\n const update = { collapsed, recursive: recursive || false };\n return this.eventBufferer.bufferEvents(() => this._setCollapseState(location, update));\n }\n _setCollapseState(location, update) {\n const { node, listIndex, revealed } = this.getTreeNodeWithListIndex(location);\n const result = this._setListNodeCollapseState(node, listIndex, revealed, update);\n if (node !== this.root && this.autoExpandSingleChildren && result && !isCollapsibleStateUpdate(update) && node.collapsible && !node.collapsed && !update.recursive) {\n let onlyVisibleChildIndex = -1;\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (child.visible) {\n if (onlyVisibleChildIndex > -1) {\n onlyVisibleChildIndex = -1;\n break;\n }\n else {\n onlyVisibleChildIndex = i;\n }\n }\n }\n if (onlyVisibleChildIndex > -1) {\n this._setCollapseState([...location, onlyVisibleChildIndex], update);\n }\n }\n return result;\n }\n _setListNodeCollapseState(node, listIndex, revealed, update) {\n const result = this._setNodeCollapseState(node, update, false);\n if (!revealed || !node.visible || !result) {\n return result;\n }\n const previousRenderNodeCount = node.renderNodeCount;\n const toInsert = this.updateNodeAfterCollapseChange(node);\n const deleteCount = previousRenderNodeCount - (listIndex === -1 ? 0 : 1);\n this.list.splice(listIndex + 1, deleteCount, toInsert.slice(1));\n return result;\n }\n _setNodeCollapseState(node, update, deep) {\n let result;\n if (node === this.root) {\n result = false;\n }\n else {\n if (isCollapsibleStateUpdate(update)) {\n result = node.collapsible !== update.collapsible;\n node.collapsible = update.collapsible;\n }\n else if (!node.collapsible) {\n result = false;\n }\n else {\n result = node.collapsed !== update.collapsed;\n node.collapsed = update.collapsed;\n }\n if (result) {\n this._onDidChangeCollapseState.fire({ node, deep });\n }\n }\n if (!isCollapsibleStateUpdate(update) && update.recursive) {\n for (const child of node.children) {\n result = this._setNodeCollapseState(child, update, true) || result;\n }\n }\n return result;\n }\n expandTo(location) {\n this.eventBufferer.bufferEvents(() => {\n let node = this.getTreeNode(location);\n while (node.parent) {\n node = node.parent;\n location = location.slice(0, location.length - 1);\n if (node.collapsed) {\n this._setCollapseState(location, { collapsed: false, recursive: false });\n }\n }\n });\n }\n refilter() {\n const previousRenderNodeCount = this.root.renderNodeCount;\n const toInsert = this.updateNodeAfterFilterChange(this.root);\n this.list.splice(0, previousRenderNodeCount, toInsert);\n this.refilterDelayer.cancel();\n }\n createTreeNode(treeElement, parent, parentVisibility, revealed, treeListElements, onDidCreateNode) {\n const node = {\n parent,\n element: treeElement.element,\n children: [],\n depth: parent.depth + 1,\n visibleChildrenCount: 0,\n visibleChildIndex: -1,\n collapsible: typeof treeElement.collapsible === 'boolean' ? treeElement.collapsible : (typeof treeElement.collapsed !== 'undefined'),\n collapsed: typeof treeElement.collapsed === 'undefined' ? this.collapseByDefault : treeElement.collapsed,\n renderNodeCount: 1,\n visibility: 1 /* TreeVisibility.Visible */,\n visible: true,\n filterData: undefined\n };\n const visibility = this._filterNode(node, parentVisibility);\n node.visibility = visibility;\n if (revealed) {\n treeListElements.push(node);\n }\n const childElements = treeElement.children || _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.empty();\n const childRevealed = revealed && visibility !== 0 /* TreeVisibility.Hidden */ && !node.collapsed;\n let visibleChildrenCount = 0;\n let renderNodeCount = 1;\n for (const el of childElements) {\n const child = this.createTreeNode(el, node, visibility, childRevealed, treeListElements, onDidCreateNode);\n node.children.push(child);\n renderNodeCount += child.renderNodeCount;\n if (child.visible) {\n child.visibleChildIndex = visibleChildrenCount++;\n }\n }\n node.collapsible = node.collapsible || node.children.length > 0;\n node.visibleChildrenCount = visibleChildrenCount;\n node.visible = visibility === 2 /* TreeVisibility.Recurse */ ? visibleChildrenCount > 0 : (visibility === 1 /* TreeVisibility.Visible */);\n if (!node.visible) {\n node.renderNodeCount = 0;\n if (revealed) {\n treeListElements.pop();\n }\n }\n else if (!node.collapsed) {\n node.renderNodeCount = renderNodeCount;\n }\n onDidCreateNode === null || onDidCreateNode === void 0 ? void 0 : onDidCreateNode(node);\n return node;\n }\n updateNodeAfterCollapseChange(node) {\n const previousRenderNodeCount = node.renderNodeCount;\n const result = [];\n this._updateNodeAfterCollapseChange(node, result);\n this._updateAncestorsRenderNodeCount(node.parent, result.length - previousRenderNodeCount);\n return result;\n }\n _updateNodeAfterCollapseChange(node, result) {\n if (node.visible === false) {\n return 0;\n }\n result.push(node);\n node.renderNodeCount = 1;\n if (!node.collapsed) {\n for (const child of node.children) {\n node.renderNodeCount += this._updateNodeAfterCollapseChange(child, result);\n }\n }\n this._onDidChangeRenderNodeCount.fire(node);\n return node.renderNodeCount;\n }\n updateNodeAfterFilterChange(node) {\n const previousRenderNodeCount = node.renderNodeCount;\n const result = [];\n this._updateNodeAfterFilterChange(node, node.visible ? 1 /* TreeVisibility.Visible */ : 0 /* TreeVisibility.Hidden */, result);\n this._updateAncestorsRenderNodeCount(node.parent, result.length - previousRenderNodeCount);\n return result;\n }\n _updateNodeAfterFilterChange(node, parentVisibility, result, revealed = true) {\n let visibility;\n if (node !== this.root) {\n visibility = this._filterNode(node, parentVisibility);\n if (visibility === 0 /* TreeVisibility.Hidden */) {\n node.visible = false;\n node.renderNodeCount = 0;\n return false;\n }\n if (revealed) {\n result.push(node);\n }\n }\n const resultStartLength = result.length;\n node.renderNodeCount = node === this.root ? 0 : 1;\n let hasVisibleDescendants = false;\n if (!node.collapsed || visibility !== 0 /* TreeVisibility.Hidden */) {\n let visibleChildIndex = 0;\n for (const child of node.children) {\n hasVisibleDescendants = this._updateNodeAfterFilterChange(child, visibility, result, revealed && !node.collapsed) || hasVisibleDescendants;\n if (child.visible) {\n child.visibleChildIndex = visibleChildIndex++;\n }\n }\n node.visibleChildrenCount = visibleChildIndex;\n }\n else {\n node.visibleChildrenCount = 0;\n }\n if (node !== this.root) {\n node.visible = visibility === 2 /* TreeVisibility.Recurse */ ? hasVisibleDescendants : (visibility === 1 /* TreeVisibility.Visible */);\n node.visibility = visibility;\n }\n if (!node.visible) {\n node.renderNodeCount = 0;\n if (revealed) {\n result.pop();\n }\n }\n else if (!node.collapsed) {\n node.renderNodeCount += result.length - resultStartLength;\n }\n this._onDidChangeRenderNodeCount.fire(node);\n return node.visible;\n }\n _updateAncestorsRenderNodeCount(node, diff) {\n if (diff === 0) {\n return;\n }\n while (node) {\n node.renderNodeCount += diff;\n this._onDidChangeRenderNodeCount.fire(node);\n node = node.parent;\n }\n }\n _filterNode(node, parentVisibility) {\n const result = this.filter ? this.filter.filter(node.element, parentVisibility) : 1 /* TreeVisibility.Visible */;\n if (typeof result === 'boolean') {\n node.filterData = undefined;\n return result ? 1 /* TreeVisibility.Visible */ : 0 /* TreeVisibility.Hidden */;\n }\n else if (isFilterResult(result)) {\n node.filterData = result.data;\n return getVisibleState(result.visibility);\n }\n else {\n node.filterData = undefined;\n return getVisibleState(result);\n }\n }\n // cheap\n hasTreeNode(location, node = this.root) {\n if (!location || location.length === 0) {\n return true;\n }\n const [index, ...rest] = location;\n if (index < 0 || index > node.children.length) {\n return false;\n }\n return this.hasTreeNode(rest, node.children[index]);\n }\n // cheap\n getTreeNode(location, node = this.root) {\n if (!location || location.length === 0) {\n return node;\n }\n const [index, ...rest] = location;\n if (index < 0 || index > node.children.length) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\n }\n return this.getTreeNode(rest, node.children[index]);\n }\n // expensive\n getTreeNodeWithListIndex(location) {\n if (location.length === 0) {\n return { node: this.root, listIndex: -1, revealed: true, visible: false };\n }\n const { parentNode, listIndex, revealed, visible } = this.getParentNodeWithListIndex(location);\n const index = location[location.length - 1];\n if (index < 0 || index > parentNode.children.length) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\n }\n const node = parentNode.children[index];\n return { node, listIndex, revealed, visible: visible && node.visible };\n }\n getParentNodeWithListIndex(location, node = this.root, listIndex = 0, revealed = true, visible = true) {\n const [index, ...rest] = location;\n if (index < 0 || index > node.children.length) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\n }\n // TODO@joao perf!\n for (let i = 0; i < index; i++) {\n listIndex += node.children[i].renderNodeCount;\n }\n revealed = revealed && !node.collapsed;\n visible = visible && node.visible;\n if (rest.length === 0) {\n return { parentNode: node, listIndex, revealed, visible };\n }\n return this.getParentNodeWithListIndex(rest, node.children[index], listIndex + 1, revealed, visible);\n }\n getNode(location = []) {\n return this.getTreeNode(location);\n }\n // TODO@joao perf!\n getNodeLocation(node) {\n const location = [];\n let indexTreeNode = node; // typing woes\n while (indexTreeNode.parent) {\n location.push(indexTreeNode.parent.children.indexOf(indexTreeNode));\n indexTreeNode = indexTreeNode.parent;\n }\n return location.reverse();\n }\n getParentNodeLocation(location) {\n if (location.length === 0) {\n return undefined;\n }\n else if (location.length === 1) {\n return [];\n }\n else {\n return (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail2)(location)[0];\n }\n }\n getFirstElementChild(location) {\n const node = this.getTreeNode(location);\n if (node.children.length === 0) {\n return undefined;\n }\n return node.children[0].element;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.js":
+/*!******************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.js ***!
+ \******************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CompressibleObjectTree: () => (/* binding */ CompressibleObjectTree),\n/* harmony export */ ObjectTree: () => (/* binding */ ObjectTree)\n/* harmony export */ });\n/* harmony import */ var _abstractTree_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abstractTree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js\");\n/* harmony import */ var _compressedObjectTreeModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./compressedObjectTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js\");\n/* harmony import */ var _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./objectTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.js\");\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\nclass ObjectTree extends _abstractTree_js__WEBPACK_IMPORTED_MODULE_0__.AbstractTree {\n get onDidChangeCollapseState() { return this.model.onDidChangeCollapseState; }\n constructor(user, container, delegate, renderers, options = {}) {\n super(user, container, delegate, renderers, options);\n this.user = user;\n }\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.empty(), options) {\n this.model.setChildren(element, children, options);\n }\n rerender(element) {\n if (element === undefined) {\n this.view.rerender();\n return;\n }\n this.model.rerender(element);\n }\n hasElement(element) {\n return this.model.has(element);\n }\n createModel(user, view, options) {\n return new _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_2__.ObjectTreeModel(user, view, options);\n }\n}\nclass CompressibleRenderer {\n get compressedTreeNodeProvider() {\n return this._compressedTreeNodeProvider();\n }\n constructor(_compressedTreeNodeProvider, renderer) {\n this._compressedTreeNodeProvider = _compressedTreeNodeProvider;\n this.renderer = renderer;\n this.templateId = renderer.templateId;\n if (renderer.onDidChangeTwistieState) {\n this.onDidChangeTwistieState = renderer.onDidChangeTwistieState;\n }\n }\n renderTemplate(container) {\n const data = this.renderer.renderTemplate(container);\n return { compressedTreeNode: undefined, data };\n }\n renderElement(node, index, templateData, height) {\n const compressedTreeNode = this.compressedTreeNodeProvider.getCompressedTreeNode(node.element);\n if (compressedTreeNode.element.elements.length === 1) {\n templateData.compressedTreeNode = undefined;\n this.renderer.renderElement(node, index, templateData.data, height);\n }\n else {\n templateData.compressedTreeNode = compressedTreeNode;\n this.renderer.renderCompressedElements(compressedTreeNode, index, templateData.data, height);\n }\n }\n disposeElement(node, index, templateData, height) {\n var _a, _b, _c, _d;\n if (templateData.compressedTreeNode) {\n (_b = (_a = this.renderer).disposeCompressedElements) === null || _b === void 0 ? void 0 : _b.call(_a, templateData.compressedTreeNode, index, templateData.data, height);\n }\n else {\n (_d = (_c = this.renderer).disposeElement) === null || _d === void 0 ? void 0 : _d.call(_c, node, index, templateData.data, height);\n }\n }\n disposeTemplate(templateData) {\n this.renderer.disposeTemplate(templateData.data);\n }\n renderTwistie(element, twistieElement) {\n if (this.renderer.renderTwistie) {\n return this.renderer.renderTwistie(element, twistieElement);\n }\n return false;\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_3__.memoize\n], CompressibleRenderer.prototype, \"compressedTreeNodeProvider\", null);\nfunction asObjectTreeOptions(compressedTreeNodeProvider, options) {\n return options && {\n ...options,\n keyboardNavigationLabelProvider: options.keyboardNavigationLabelProvider && {\n getKeyboardNavigationLabel(e) {\n let compressedTreeNode;\n try {\n compressedTreeNode = compressedTreeNodeProvider().getCompressedTreeNode(e);\n }\n catch (_a) {\n return options.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e);\n }\n if (compressedTreeNode.element.elements.length === 1) {\n return options.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e);\n }\n else {\n return options.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(compressedTreeNode.element.elements);\n }\n }\n }\n };\n}\nclass CompressibleObjectTree extends ObjectTree {\n constructor(user, container, delegate, renderers, options = {}) {\n const compressedTreeNodeProvider = () => this;\n const compressibleRenderers = renderers.map(r => new CompressibleRenderer(compressedTreeNodeProvider, r));\n super(user, container, delegate, compressibleRenderers, asObjectTreeOptions(compressedTreeNodeProvider, options));\n }\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.empty(), options) {\n this.model.setChildren(element, children, options);\n }\n createModel(user, view, options) {\n return new _compressedObjectTreeModel_js__WEBPACK_IMPORTED_MODULE_1__.CompressibleObjectTreeModel(user, view, options);\n }\n updateOptions(optionsUpdate = {}) {\n super.updateOptions(optionsUpdate);\n if (typeof optionsUpdate.compressionEnabled !== 'undefined') {\n this.model.setCompressionEnabled(optionsUpdate.compressionEnabled);\n }\n }\n getCompressedTreeNode(element = null) {\n return this.model.getCompressedTreeNode(element);\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ObjectTreeModel: () => (/* binding */ ObjectTreeModel)\n/* harmony export */ });\n/* harmony import */ var _indexTreeModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./indexTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js\");\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\nclass ObjectTreeModel {\n constructor(user, list, options = {}) {\n this.user = user;\n this.rootRef = null;\n this.nodes = new Map();\n this.nodesByIdentity = new Map();\n this.model = new _indexTreeModel_js__WEBPACK_IMPORTED_MODULE_0__.IndexTreeModel(user, list, null, options);\n this.onDidSplice = this.model.onDidSplice;\n this.onDidChangeCollapseState = this.model.onDidChangeCollapseState;\n this.onDidChangeRenderNodeCount = this.model.onDidChangeRenderNodeCount;\n if (options.sorter) {\n this.sorter = {\n compare(a, b) {\n return options.sorter.compare(a.element, b.element);\n }\n };\n }\n this.identityProvider = options.identityProvider;\n }\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_2__.Iterable.empty(), options = {}) {\n const location = this.getElementLocation(element);\n this._setChildren(location, this.preserveCollapseState(children), options);\n }\n _setChildren(location, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_2__.Iterable.empty(), options) {\n const insertedElements = new Set();\n const insertedElementIds = new Set();\n const onDidCreateNode = (node) => {\n var _a;\n if (node.element === null) {\n return;\n }\n const tnode = node;\n insertedElements.add(tnode.element);\n this.nodes.set(tnode.element, tnode);\n if (this.identityProvider) {\n const id = this.identityProvider.getId(tnode.element).toString();\n insertedElementIds.add(id);\n this.nodesByIdentity.set(id, tnode);\n }\n (_a = options.onDidCreateNode) === null || _a === void 0 ? void 0 : _a.call(options, tnode);\n };\n const onDidDeleteNode = (node) => {\n var _a;\n if (node.element === null) {\n return;\n }\n const tnode = node;\n if (!insertedElements.has(tnode.element)) {\n this.nodes.delete(tnode.element);\n }\n if (this.identityProvider) {\n const id = this.identityProvider.getId(tnode.element).toString();\n if (!insertedElementIds.has(id)) {\n this.nodesByIdentity.delete(id);\n }\n }\n (_a = options.onDidDeleteNode) === null || _a === void 0 ? void 0 : _a.call(options, tnode);\n };\n this.model.splice([...location, 0], Number.MAX_VALUE, children, { ...options, onDidCreateNode, onDidDeleteNode });\n }\n preserveCollapseState(elements = _common_iterator_js__WEBPACK_IMPORTED_MODULE_2__.Iterable.empty()) {\n if (this.sorter) {\n elements = [...elements].sort(this.sorter.compare.bind(this.sorter));\n }\n return _common_iterator_js__WEBPACK_IMPORTED_MODULE_2__.Iterable.map(elements, treeElement => {\n let node = this.nodes.get(treeElement.element);\n if (!node && this.identityProvider) {\n const id = this.identityProvider.getId(treeElement.element).toString();\n node = this.nodesByIdentity.get(id);\n }\n if (!node) {\n let collapsed;\n if (typeof treeElement.collapsed === 'undefined') {\n collapsed = undefined;\n }\n else if (treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.Collapsed || treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.PreserveOrCollapsed) {\n collapsed = true;\n }\n else if (treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.Expanded || treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.PreserveOrExpanded) {\n collapsed = false;\n }\n else {\n collapsed = Boolean(treeElement.collapsed);\n }\n return {\n ...treeElement,\n children: this.preserveCollapseState(treeElement.children),\n collapsed\n };\n }\n const collapsible = typeof treeElement.collapsible === 'boolean' ? treeElement.collapsible : node.collapsible;\n let collapsed;\n if (typeof treeElement.collapsed === 'undefined' || treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.PreserveOrCollapsed || treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.PreserveOrExpanded) {\n collapsed = node.collapsed;\n }\n else if (treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.Collapsed) {\n collapsed = true;\n }\n else if (treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.Expanded) {\n collapsed = false;\n }\n else {\n collapsed = Boolean(treeElement.collapsed);\n }\n return {\n ...treeElement,\n collapsible,\n collapsed,\n children: this.preserveCollapseState(treeElement.children)\n };\n });\n }\n rerender(element) {\n const location = this.getElementLocation(element);\n this.model.rerender(location);\n }\n getFirstElementChild(ref = null) {\n const location = this.getElementLocation(ref);\n return this.model.getFirstElementChild(location);\n }\n has(element) {\n return this.nodes.has(element);\n }\n getListIndex(element) {\n const location = this.getElementLocation(element);\n return this.model.getListIndex(location);\n }\n getListRenderCount(element) {\n const location = this.getElementLocation(element);\n return this.model.getListRenderCount(location);\n }\n isCollapsible(element) {\n const location = this.getElementLocation(element);\n return this.model.isCollapsible(location);\n }\n setCollapsible(element, collapsible) {\n const location = this.getElementLocation(element);\n return this.model.setCollapsible(location, collapsible);\n }\n isCollapsed(element) {\n const location = this.getElementLocation(element);\n return this.model.isCollapsed(location);\n }\n setCollapsed(element, collapsed, recursive) {\n const location = this.getElementLocation(element);\n return this.model.setCollapsed(location, collapsed, recursive);\n }\n expandTo(element) {\n const location = this.getElementLocation(element);\n this.model.expandTo(location);\n }\n refilter() {\n this.model.refilter();\n }\n getNode(element = null) {\n if (element === null) {\n return this.model.getNode(this.model.rootRef);\n }\n const node = this.nodes.get(element);\n if (!node) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_1__.TreeError(this.user, `Tree element not found: ${element}`);\n }\n return node;\n }\n getNodeLocation(node) {\n return node.element;\n }\n getParentNodeLocation(element) {\n if (element === null) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_1__.TreeError(this.user, `Invalid getParentNodeLocation call`);\n }\n const node = this.nodes.get(element);\n if (!node) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_1__.TreeError(this.user, `Tree element not found: ${element}`);\n }\n const location = this.model.getNodeLocation(node);\n const parentLocation = this.model.getParentNodeLocation(location);\n const parent = this.model.getNode(parentLocation);\n return parent.element;\n }\n getElementLocation(element) {\n if (element === null) {\n return [];\n }\n const node = this.nodes.get(element);\n if (!node) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_1__.TreeError(this.user, `Tree element not found: ${element}`);\n }\n return this.model.getNodeLocation(node);\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js":
+/*!************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js ***!
+ \************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ObjectTreeElementCollapseState: () => (/* binding */ ObjectTreeElementCollapseState),\n/* harmony export */ TreeError: () => (/* binding */ TreeError),\n/* harmony export */ TreeMouseEventTarget: () => (/* binding */ TreeMouseEventTarget),\n/* harmony export */ WeakMapper: () => (/* binding */ WeakMapper)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar ObjectTreeElementCollapseState;\n(function (ObjectTreeElementCollapseState) {\n ObjectTreeElementCollapseState[ObjectTreeElementCollapseState[\"Expanded\"] = 0] = \"Expanded\";\n ObjectTreeElementCollapseState[ObjectTreeElementCollapseState[\"Collapsed\"] = 1] = \"Collapsed\";\n /**\n * If the element is already in the tree, preserve its current state. Else, expand it.\n */\n ObjectTreeElementCollapseState[ObjectTreeElementCollapseState[\"PreserveOrExpanded\"] = 2] = \"PreserveOrExpanded\";\n /**\n * If the element is already in the tree, preserve its current state. Else, collapse it.\n */\n ObjectTreeElementCollapseState[ObjectTreeElementCollapseState[\"PreserveOrCollapsed\"] = 3] = \"PreserveOrCollapsed\";\n})(ObjectTreeElementCollapseState || (ObjectTreeElementCollapseState = {}));\nvar TreeMouseEventTarget;\n(function (TreeMouseEventTarget) {\n TreeMouseEventTarget[TreeMouseEventTarget[\"Unknown\"] = 0] = \"Unknown\";\n TreeMouseEventTarget[TreeMouseEventTarget[\"Twistie\"] = 1] = \"Twistie\";\n TreeMouseEventTarget[TreeMouseEventTarget[\"Element\"] = 2] = \"Element\";\n TreeMouseEventTarget[TreeMouseEventTarget[\"Filter\"] = 3] = \"Filter\";\n})(TreeMouseEventTarget || (TreeMouseEventTarget = {}));\nclass TreeError extends Error {\n constructor(user, message) {\n super(`TreeError [${user}] ${message}`);\n }\n}\nclass WeakMapper {\n constructor(fn) {\n this.fn = fn;\n this._map = new WeakMap();\n }\n map(key) {\n let result = this._map.get(key);\n if (!result) {\n result = this.fn(key);\n this._map.set(key, result);\n }\n return result;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Widget: () => (/* binding */ Widget)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\nclass Widget extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__.Disposable {\n onclick(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.CLICK, (e) => listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(_dom_js__WEBPACK_IMPORTED_MODULE_0__.getWindow(domNode), e))));\n }\n onmousedown(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_DOWN, (e) => listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(_dom_js__WEBPACK_IMPORTED_MODULE_0__.getWindow(domNode), e))));\n }\n onmouseover(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_OVER, (e) => listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(_dom_js__WEBPACK_IMPORTED_MODULE_0__.getWindow(domNode), e))));\n }\n onmouseleave(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_LEAVE, (e) => listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(_dom_js__WEBPACK_IMPORTED_MODULE_0__.getWindow(domNode), e))));\n }\n onkeydown(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_DOWN, (e) => listener(new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardKeyboardEvent(e))));\n }\n onkeyup(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_UP, (e) => listener(new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardKeyboardEvent(e))));\n }\n oninput(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.INPUT, listener));\n }\n onblur(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.BLUR, listener));\n }\n onfocus(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.FOCUS, listener));\n }\n ignoreGesture(domNode) {\n return _touch_js__WEBPACK_IMPORTED_MODULE_3__.Gesture.ignoreTarget(domNode);\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/window.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/window.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ $window: () => (/* binding */ $window),\n/* harmony export */ ensureCodeWindow: () => (/* binding */ ensureCodeWindow),\n/* harmony export */ mainWindow: () => (/* binding */ mainWindow)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction ensureCodeWindow(targetWindow, fallbackWindowId) {\n const codeWindow = targetWindow;\n if (typeof codeWindow.vscodeWindowId !== 'number') {\n Object.defineProperty(codeWindow, 'vscodeWindowId', {\n get: () => fallbackWindowId\n });\n }\n}\n// eslint-disable-next-line no-restricted-globals\nconst mainWindow = window;\n/**\n * @deprecated to support multi-window scenarios, use `DOM.mainWindow`\n * if you target the main global window or use helpers such as `DOM.getWindow()`\n * or `DOM.getActiveWindow()` to obtain the correct window for the context you are in.\n */\nconst $window = mainWindow;\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/browser/window.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/actions.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/actions.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Action: () => (/* binding */ Action),\n/* harmony export */ ActionRunner: () => (/* binding */ ActionRunner),\n/* harmony export */ EmptySubmenuAction: () => (/* binding */ EmptySubmenuAction),\n/* harmony export */ Separator: () => (/* binding */ Separator),\n/* harmony export */ SubmenuAction: () => (/* binding */ SubmenuAction),\n/* harmony export */ toAction: () => (/* binding */ toAction)\n/* harmony export */ });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\nclass Action extends _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\n constructor(id, label = '', cssClass = '', enabled = true, actionCallback) {\n super();\n this._onDidChange = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter());\n this.onDidChange = this._onDidChange.event;\n this._enabled = true;\n this._id = id;\n this._label = label;\n this._cssClass = cssClass;\n this._enabled = enabled;\n this._actionCallback = actionCallback;\n }\n get id() {\n return this._id;\n }\n get label() {\n return this._label;\n }\n set label(value) {\n this._setLabel(value);\n }\n _setLabel(value) {\n if (this._label !== value) {\n this._label = value;\n this._onDidChange.fire({ label: value });\n }\n }\n get tooltip() {\n return this._tooltip || '';\n }\n set tooltip(value) {\n this._setTooltip(value);\n }\n _setTooltip(value) {\n if (this._tooltip !== value) {\n this._tooltip = value;\n this._onDidChange.fire({ tooltip: value });\n }\n }\n get class() {\n return this._cssClass;\n }\n set class(value) {\n this._setClass(value);\n }\n _setClass(value) {\n if (this._cssClass !== value) {\n this._cssClass = value;\n this._onDidChange.fire({ class: value });\n }\n }\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._setEnabled(value);\n }\n _setEnabled(value) {\n if (this._enabled !== value) {\n this._enabled = value;\n this._onDidChange.fire({ enabled: value });\n }\n }\n get checked() {\n return this._checked;\n }\n set checked(value) {\n this._setChecked(value);\n }\n _setChecked(value) {\n if (this._checked !== value) {\n this._checked = value;\n this._onDidChange.fire({ checked: value });\n }\n }\n async run(event, data) {\n if (this._actionCallback) {\n await this._actionCallback(event);\n }\n }\n}\nclass ActionRunner extends _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\n constructor() {\n super(...arguments);\n this._onWillRun = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter());\n this.onWillRun = this._onWillRun.event;\n this._onDidRun = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter());\n this.onDidRun = this._onDidRun.event;\n }\n async run(action, context) {\n if (!action.enabled) {\n return;\n }\n this._onWillRun.fire({ action });\n let error = undefined;\n try {\n await this.runAction(action, context);\n }\n catch (e) {\n error = e;\n }\n this._onDidRun.fire({ action, error });\n }\n async runAction(action, context) {\n await action.run(context);\n }\n}\nclass Separator {\n constructor() {\n this.id = Separator.ID;\n this.label = '';\n this.tooltip = '';\n this.class = 'separator';\n this.enabled = false;\n this.checked = false;\n }\n /**\n * Joins all non-empty lists of actions with separators.\n */\n static join(...actionLists) {\n let out = [];\n for (const list of actionLists) {\n if (!list.length) {\n // skip\n }\n else if (out.length) {\n out = [...out, new Separator(), ...list];\n }\n else {\n out = list;\n }\n }\n return out;\n }\n async run() { }\n}\nSeparator.ID = 'vs.actions.separator';\nclass SubmenuAction {\n get actions() { return this._actions; }\n constructor(id, label, actions, cssClass) {\n this.tooltip = '';\n this.enabled = true;\n this.checked = undefined;\n this.id = id;\n this.label = label;\n this.class = cssClass;\n this._actions = actions;\n }\n async run() { }\n}\nclass EmptySubmenuAction extends Action {\n constructor() {\n super(EmptySubmenuAction.ID, _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('submenu.empty', '(empty)'), undefined, false);\n }\n}\nEmptySubmenuAction.ID = 'vs.actions.empty';\nfunction toAction(props) {\n var _a, _b;\n return {\n id: props.id,\n label: props.label,\n class: props.class,\n enabled: (_a = props.enabled) !== null && _a !== void 0 ? _a : true,\n checked: (_b = props.checked) !== null && _b !== void 0 ? _b : false,\n run: async (...args) => props.run(...args),\n tooltip: props.label\n };\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/actions.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/arrays.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/arrays.js ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ArrayQueue: () => (/* binding */ ArrayQueue),\n/* harmony export */ CallbackIterable: () => (/* binding */ CallbackIterable),\n/* harmony export */ CompareResult: () => (/* binding */ CompareResult),\n/* harmony export */ arrayInsert: () => (/* binding */ arrayInsert),\n/* harmony export */ asArray: () => (/* binding */ asArray),\n/* harmony export */ binarySearch: () => (/* binding */ binarySearch),\n/* harmony export */ binarySearch2: () => (/* binding */ binarySearch2),\n/* harmony export */ booleanComparator: () => (/* binding */ booleanComparator),\n/* harmony export */ coalesce: () => (/* binding */ coalesce),\n/* harmony export */ coalesceInPlace: () => (/* binding */ coalesceInPlace),\n/* harmony export */ compareBy: () => (/* binding */ compareBy),\n/* harmony export */ distinct: () => (/* binding */ distinct),\n/* harmony export */ equals: () => (/* binding */ equals),\n/* harmony export */ firstOrDefault: () => (/* binding */ firstOrDefault),\n/* harmony export */ forEachAdjacent: () => (/* binding */ forEachAdjacent),\n/* harmony export */ forEachWithNeighbors: () => (/* binding */ forEachWithNeighbors),\n/* harmony export */ groupAdjacentBy: () => (/* binding */ groupAdjacentBy),\n/* harmony export */ groupBy: () => (/* binding */ groupBy),\n/* harmony export */ insertInto: () => (/* binding */ insertInto),\n/* harmony export */ isFalsyOrEmpty: () => (/* binding */ isFalsyOrEmpty),\n/* harmony export */ isNonEmptyArray: () => (/* binding */ isNonEmptyArray),\n/* harmony export */ numberComparator: () => (/* binding */ numberComparator),\n/* harmony export */ pushMany: () => (/* binding */ pushMany),\n/* harmony export */ pushToEnd: () => (/* binding */ pushToEnd),\n/* harmony export */ pushToStart: () => (/* binding */ pushToStart),\n/* harmony export */ quickSelect: () => (/* binding */ quickSelect),\n/* harmony export */ range: () => (/* binding */ range),\n/* harmony export */ removeFastWithoutKeepingOrder: () => (/* binding */ removeFastWithoutKeepingOrder),\n/* harmony export */ reverseOrder: () => (/* binding */ reverseOrder),\n/* harmony export */ splice: () => (/* binding */ splice),\n/* harmony export */ tail: () => (/* binding */ tail),\n/* harmony export */ tail2: () => (/* binding */ tail2),\n/* harmony export */ tieBreakComparators: () => (/* binding */ tieBreakComparators)\n/* harmony export */ });\n/**\n * Returns the last element of an array.\n * @param array The array.\n * @param n Which element from the end (default is zero).\n */\nfunction tail(array, n = 0) {\n return array[array.length - (1 + n)];\n}\nfunction tail2(arr) {\n if (arr.length === 0) {\n throw new Error('Invalid tail call');\n }\n return [arr.slice(0, arr.length - 1), arr[arr.length - 1]];\n}\nfunction equals(one, other, itemEquals = (a, b) => a === b) {\n if (one === other) {\n return true;\n }\n if (!one || !other) {\n return false;\n }\n if (one.length !== other.length) {\n return false;\n }\n for (let i = 0, len = one.length; i < len; i++) {\n if (!itemEquals(one[i], other[i])) {\n return false;\n }\n }\n return true;\n}\n/**\n * Remove the element at `index` by replacing it with the last element. This is faster than `splice`\n * but changes the order of the array\n */\nfunction removeFastWithoutKeepingOrder(array, index) {\n const last = array.length - 1;\n if (index < last) {\n array[index] = array[last];\n }\n array.pop();\n}\n/**\n * Performs a binary search algorithm over a sorted array.\n *\n * @param array The array being searched.\n * @param key The value we search for.\n * @param comparator A function that takes two array elements and returns zero\n * if they are equal, a negative number if the first element precedes the\n * second one in the sorting order, or a positive number if the second element\n * precedes the first one.\n * @return See {@link binarySearch2}\n */\nfunction binarySearch(array, key, comparator) {\n return binarySearch2(array.length, i => comparator(array[i], key));\n}\n/**\n * Performs a binary search algorithm over a sorted collection. Useful for cases\n * when we need to perform a binary search over something that isn't actually an\n * array, and converting data to an array would defeat the use of binary search\n * in the first place.\n *\n * @param length The collection length.\n * @param compareToKey A function that takes an index of an element in the\n * collection and returns zero if the value at this index is equal to the\n * search key, a negative number if the value precedes the search key in the\n * sorting order, or a positive number if the search key precedes the value.\n * @return A non-negative index of an element, if found. If not found, the\n * result is -(n+1) (or ~n, using bitwise notation), where n is the index\n * where the key should be inserted to maintain the sorting order.\n */\nfunction binarySearch2(length, compareToKey) {\n let low = 0, high = length - 1;\n while (low <= high) {\n const mid = ((low + high) / 2) | 0;\n const comp = compareToKey(mid);\n if (comp < 0) {\n low = mid + 1;\n }\n else if (comp > 0) {\n high = mid - 1;\n }\n else {\n return mid;\n }\n }\n return -(low + 1);\n}\nfunction quickSelect(nth, data, compare) {\n nth = nth | 0;\n if (nth >= data.length) {\n throw new TypeError('invalid index');\n }\n const pivotValue = data[Math.floor(data.length * Math.random())];\n const lower = [];\n const higher = [];\n const pivots = [];\n for (const value of data) {\n const val = compare(value, pivotValue);\n if (val < 0) {\n lower.push(value);\n }\n else if (val > 0) {\n higher.push(value);\n }\n else {\n pivots.push(value);\n }\n }\n if (nth < lower.length) {\n return quickSelect(nth, lower, compare);\n }\n else if (nth < lower.length + pivots.length) {\n return pivots[0];\n }\n else {\n return quickSelect(nth - (lower.length + pivots.length), higher, compare);\n }\n}\nfunction groupBy(data, compare) {\n const result = [];\n let currentGroup = undefined;\n for (const element of data.slice(0).sort(compare)) {\n if (!currentGroup || compare(currentGroup[0], element) !== 0) {\n currentGroup = [element];\n result.push(currentGroup);\n }\n else {\n currentGroup.push(element);\n }\n }\n return result;\n}\n/**\n * Splits the given items into a list of (non-empty) groups.\n * `shouldBeGrouped` is used to decide if two consecutive items should be in the same group.\n * The order of the items is preserved.\n */\nfunction* groupAdjacentBy(items, shouldBeGrouped) {\n let currentGroup;\n let last;\n for (const item of items) {\n if (last !== undefined && shouldBeGrouped(last, item)) {\n currentGroup.push(item);\n }\n else {\n if (currentGroup) {\n yield currentGroup;\n }\n currentGroup = [item];\n }\n last = item;\n }\n if (currentGroup) {\n yield currentGroup;\n }\n}\nfunction forEachAdjacent(arr, f) {\n for (let i = 0; i <= arr.length; i++) {\n f(i === 0 ? undefined : arr[i - 1], i === arr.length ? undefined : arr[i]);\n }\n}\nfunction forEachWithNeighbors(arr, f) {\n for (let i = 0; i < arr.length; i++) {\n f(i === 0 ? undefined : arr[i - 1], arr[i], i + 1 === arr.length ? undefined : arr[i + 1]);\n }\n}\n/**\n * @returns New array with all falsy values removed. The original array IS NOT modified.\n */\nfunction coalesce(array) {\n return array.filter(e => !!e);\n}\n/**\n * Remove all falsy values from `array`. The original array IS modified.\n */\nfunction coalesceInPlace(array) {\n let to = 0;\n for (let i = 0; i < array.length; i++) {\n if (!!array[i]) {\n array[to] = array[i];\n to += 1;\n }\n }\n array.length = to;\n}\n/**\n * @returns false if the provided object is an array and not empty.\n */\nfunction isFalsyOrEmpty(obj) {\n return !Array.isArray(obj) || obj.length === 0;\n}\nfunction isNonEmptyArray(obj) {\n return Array.isArray(obj) && obj.length > 0;\n}\n/**\n * Removes duplicates from the given array. The optional keyFn allows to specify\n * how elements are checked for equality by returning an alternate value for each.\n */\nfunction distinct(array, keyFn = value => value) {\n const seen = new Set();\n return array.filter(element => {\n const key = keyFn(element);\n if (seen.has(key)) {\n return false;\n }\n seen.add(key);\n return true;\n });\n}\nfunction firstOrDefault(array, notFoundValue) {\n return array.length > 0 ? array[0] : notFoundValue;\n}\nfunction range(arg, to) {\n let from = typeof to === 'number' ? arg : 0;\n if (typeof to === 'number') {\n from = arg;\n }\n else {\n from = 0;\n to = arg;\n }\n const result = [];\n if (from <= to) {\n for (let i = from; i < to; i++) {\n result.push(i);\n }\n }\n else {\n for (let i = from; i > to; i--) {\n result.push(i);\n }\n }\n return result;\n}\n/**\n * Insert `insertArr` inside `target` at `insertIndex`.\n * Please don't touch unless you understand https://jsperf.com/inserting-an-array-within-an-array\n */\nfunction arrayInsert(target, insertIndex, insertArr) {\n const before = target.slice(0, insertIndex);\n const after = target.slice(insertIndex);\n return before.concat(insertArr, after);\n}\n/**\n * Pushes an element to the start of the array, if found.\n */\nfunction pushToStart(arr, value) {\n const index = arr.indexOf(value);\n if (index > -1) {\n arr.splice(index, 1);\n arr.unshift(value);\n }\n}\n/**\n * Pushes an element to the end of the array, if found.\n */\nfunction pushToEnd(arr, value) {\n const index = arr.indexOf(value);\n if (index > -1) {\n arr.splice(index, 1);\n arr.push(value);\n }\n}\nfunction pushMany(arr, items) {\n for (const item of items) {\n arr.push(item);\n }\n}\nfunction asArray(x) {\n return Array.isArray(x) ? x : [x];\n}\n/**\n * Insert the new items in the array.\n * @param array The original array.\n * @param start The zero-based location in the array from which to start inserting elements.\n * @param newItems The items to be inserted\n */\nfunction insertInto(array, start, newItems) {\n const startIdx = getActualStartIndex(array, start);\n const originalLength = array.length;\n const newItemsLength = newItems.length;\n array.length = originalLength + newItemsLength;\n // Move the items after the start index, start from the end so that we don't overwrite any value.\n for (let i = originalLength - 1; i >= startIdx; i--) {\n array[i + newItemsLength] = array[i];\n }\n for (let i = 0; i < newItemsLength; i++) {\n array[i + startIdx] = newItems[i];\n }\n}\n/**\n * Removes elements from an array and inserts new elements in their place, returning the deleted elements. Alternative to the native Array.splice method, it\n * can only support limited number of items due to the maximum call stack size limit.\n * @param array The original array.\n * @param start The zero-based location in the array from which to start removing elements.\n * @param deleteCount The number of elements to remove.\n * @returns An array containing the elements that were deleted.\n */\nfunction splice(array, start, deleteCount, newItems) {\n const index = getActualStartIndex(array, start);\n let result = array.splice(index, deleteCount);\n if (result === undefined) {\n // see https://bugs.webkit.org/show_bug.cgi?id=261140\n result = [];\n }\n insertInto(array, index, newItems);\n return result;\n}\n/**\n * Determine the actual start index (same logic as the native splice() or slice())\n * If greater than the length of the array, start will be set to the length of the array. In this case, no element will be deleted but the method will behave as an adding function, adding as many element as item[n*] provided.\n * If negative, it will begin that many elements from the end of the array. (In this case, the origin -1, meaning -n is the index of the nth last element, and is therefore equivalent to the index of array.length - n.) If array.length + start is less than 0, it will begin from index 0.\n * @param array The target array.\n * @param start The operation index.\n */\nfunction getActualStartIndex(array, start) {\n return start < 0 ? Math.max(start + array.length, 0) : Math.min(start, array.length);\n}\nvar CompareResult;\n(function (CompareResult) {\n function isLessThan(result) {\n return result < 0;\n }\n CompareResult.isLessThan = isLessThan;\n function isLessThanOrEqual(result) {\n return result <= 0;\n }\n CompareResult.isLessThanOrEqual = isLessThanOrEqual;\n function isGreaterThan(result) {\n return result > 0;\n }\n CompareResult.isGreaterThan = isGreaterThan;\n function isNeitherLessOrGreaterThan(result) {\n return result === 0;\n }\n CompareResult.isNeitherLessOrGreaterThan = isNeitherLessOrGreaterThan;\n CompareResult.greaterThan = 1;\n CompareResult.lessThan = -1;\n CompareResult.neitherLessOrGreaterThan = 0;\n})(CompareResult || (CompareResult = {}));\nfunction compareBy(selector, comparator) {\n return (a, b) => comparator(selector(a), selector(b));\n}\nfunction tieBreakComparators(...comparators) {\n return (item1, item2) => {\n for (const comparator of comparators) {\n const result = comparator(item1, item2);\n if (!CompareResult.isNeitherLessOrGreaterThan(result)) {\n return result;\n }\n }\n return CompareResult.neitherLessOrGreaterThan;\n };\n}\n/**\n * The natural order on numbers.\n*/\nconst numberComparator = (a, b) => a - b;\nconst booleanComparator = (a, b) => numberComparator(a ? 1 : 0, b ? 1 : 0);\nfunction reverseOrder(comparator) {\n return (a, b) => -comparator(a, b);\n}\nclass ArrayQueue {\n /**\n * Constructs a queue that is backed by the given array. Runtime is O(1).\n */\n constructor(items) {\n this.items = items;\n this.firstIdx = 0;\n this.lastIdx = this.items.length - 1;\n }\n get length() {\n return this.lastIdx - this.firstIdx + 1;\n }\n /**\n * Consumes elements from the beginning of the queue as long as the predicate returns true.\n * If no elements were consumed, `null` is returned. Has a runtime of O(result.length).\n */\n takeWhile(predicate) {\n // P(k) := k <= this.lastIdx && predicate(this.items[k])\n // Find s := min { k | k >= this.firstIdx && !P(k) } and return this.data[this.firstIdx...s)\n let startIdx = this.firstIdx;\n while (startIdx < this.items.length && predicate(this.items[startIdx])) {\n startIdx++;\n }\n const result = startIdx === this.firstIdx ? null : this.items.slice(this.firstIdx, startIdx);\n this.firstIdx = startIdx;\n return result;\n }\n /**\n * Consumes elements from the end of the queue as long as the predicate returns true.\n * If no elements were consumed, `null` is returned.\n * The result has the same order as the underlying array!\n */\n takeFromEndWhile(predicate) {\n // P(k) := this.firstIdx >= k && predicate(this.items[k])\n // Find s := max { k | k <= this.lastIdx && !P(k) } and return this.data(s...this.lastIdx]\n let endIdx = this.lastIdx;\n while (endIdx >= 0 && predicate(this.items[endIdx])) {\n endIdx--;\n }\n const result = endIdx === this.lastIdx ? null : this.items.slice(endIdx + 1, this.lastIdx + 1);\n this.lastIdx = endIdx;\n return result;\n }\n peek() {\n if (this.length === 0) {\n return undefined;\n }\n return this.items[this.firstIdx];\n }\n dequeue() {\n const result = this.items[this.firstIdx];\n this.firstIdx++;\n return result;\n }\n takeCount(count) {\n const result = this.items.slice(this.firstIdx, this.firstIdx + count);\n this.firstIdx += count;\n return result;\n }\n}\n/**\n * This class is faster than an iterator and array for lazy computed data.\n*/\nclass CallbackIterable {\n constructor(\n /**\n * Calls the callback for every item.\n * Stops when the callback returns false.\n */\n iterate) {\n this.iterate = iterate;\n }\n toArray() {\n const result = [];\n this.iterate(item => { result.push(item); return true; });\n return result;\n }\n filter(predicate) {\n return new CallbackIterable(cb => this.iterate(item => predicate(item) ? cb(item) : true));\n }\n map(mapFn) {\n return new CallbackIterable(cb => this.iterate(item => cb(mapFn(item))));\n }\n findLast(predicate) {\n let result;\n this.iterate(item => {\n if (predicate(item)) {\n result = item;\n }\n return true;\n });\n return result;\n }\n findLastMaxBy(comparator) {\n let result;\n let first = true;\n this.iterate(item => {\n if (first || CompareResult.isGreaterThan(comparator(item, result))) {\n first = false;\n result = item;\n }\n return true;\n });\n return result;\n }\n}\nCallbackIterable.empty = new CallbackIterable(_callback => { });\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/arrays.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/arraysFind.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/arraysFind.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MonotonousArray: () => (/* binding */ MonotonousArray),\n/* harmony export */ findFirstIdxMonotonousOrArrLen: () => (/* binding */ findFirstIdxMonotonousOrArrLen),\n/* harmony export */ findFirstMaxBy: () => (/* binding */ findFirstMaxBy),\n/* harmony export */ findFirstMinBy: () => (/* binding */ findFirstMinBy),\n/* harmony export */ findFirstMonotonous: () => (/* binding */ findFirstMonotonous),\n/* harmony export */ findLast: () => (/* binding */ findLast),\n/* harmony export */ findLastIdx: () => (/* binding */ findLastIdx),\n/* harmony export */ findLastIdxMonotonous: () => (/* binding */ findLastIdxMonotonous),\n/* harmony export */ findLastMaxBy: () => (/* binding */ findLastMaxBy),\n/* harmony export */ findLastMonotonous: () => (/* binding */ findLastMonotonous),\n/* harmony export */ findMaxIdxBy: () => (/* binding */ findMaxIdxBy),\n/* harmony export */ mapFindFirst: () => (/* binding */ mapFindFirst)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction findLast(array, predicate, fromIdx) {\n const idx = findLastIdx(array, predicate);\n if (idx === -1) {\n return undefined;\n }\n return array[idx];\n}\nfunction findLastIdx(array, predicate, fromIndex = array.length - 1) {\n for (let i = fromIndex; i >= 0; i--) {\n const element = array[i];\n if (predicate(element)) {\n return i;\n }\n }\n return -1;\n}\n/**\n * Finds the last item where predicate is true using binary search.\n * `predicate` must be monotonous, i.e. `arr.map(predicate)` must be like `[true, ..., true, false, ..., false]`!\n *\n * @returns `undefined` if no item matches, otherwise the last item that matches the predicate.\n */\nfunction findLastMonotonous(array, predicate) {\n const idx = findLastIdxMonotonous(array, predicate);\n return idx === -1 ? undefined : array[idx];\n}\n/**\n * Finds the last item where predicate is true using binary search.\n * `predicate` must be monotonous, i.e. `arr.map(predicate)` must be like `[true, ..., true, false, ..., false]`!\n *\n * @returns `startIdx - 1` if predicate is false for all items, otherwise the index of the last item that matches the predicate.\n */\nfunction findLastIdxMonotonous(array, predicate, startIdx = 0, endIdxEx = array.length) {\n let i = startIdx;\n let j = endIdxEx;\n while (i < j) {\n const k = Math.floor((i + j) / 2);\n if (predicate(array[k])) {\n i = k + 1;\n }\n else {\n j = k;\n }\n }\n return i - 1;\n}\n/**\n * Finds the first item where predicate is true using binary search.\n * `predicate` must be monotonous, i.e. `arr.map(predicate)` must be like `[false, ..., false, true, ..., true]`!\n *\n * @returns `undefined` if no item matches, otherwise the first item that matches the predicate.\n */\nfunction findFirstMonotonous(array, predicate) {\n const idx = findFirstIdxMonotonousOrArrLen(array, predicate);\n return idx === array.length ? undefined : array[idx];\n}\n/**\n * Finds the first item where predicate is true using binary search.\n * `predicate` must be monotonous, i.e. `arr.map(predicate)` must be like `[false, ..., false, true, ..., true]`!\n *\n * @returns `endIdxEx` if predicate is false for all items, otherwise the index of the first item that matches the predicate.\n */\nfunction findFirstIdxMonotonousOrArrLen(array, predicate, startIdx = 0, endIdxEx = array.length) {\n let i = startIdx;\n let j = endIdxEx;\n while (i < j) {\n const k = Math.floor((i + j) / 2);\n if (predicate(array[k])) {\n j = k;\n }\n else {\n i = k + 1;\n }\n }\n return i;\n}\n/**\n * Use this when\n * * You have a sorted array\n * * You query this array with a monotonous predicate to find the last item that has a certain property.\n * * You query this array multiple times with monotonous predicates that get weaker and weaker.\n */\nclass MonotonousArray {\n constructor(_array) {\n this._array = _array;\n this._findLastMonotonousLastIdx = 0;\n }\n /**\n * The predicate must be monotonous, i.e. `arr.map(predicate)` must be like `[true, ..., true, false, ..., false]`!\n * For subsequent calls, current predicate must be weaker than (or equal to) the previous predicate, i.e. more entries must be `true`.\n */\n findLastMonotonous(predicate) {\n if (MonotonousArray.assertInvariants) {\n if (this._prevFindLastPredicate) {\n for (const item of this._array) {\n if (this._prevFindLastPredicate(item) && !predicate(item)) {\n throw new Error('MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.');\n }\n }\n }\n this._prevFindLastPredicate = predicate;\n }\n const idx = findLastIdxMonotonous(this._array, predicate, this._findLastMonotonousLastIdx);\n this._findLastMonotonousLastIdx = idx + 1;\n return idx === -1 ? undefined : this._array[idx];\n }\n}\nMonotonousArray.assertInvariants = false;\n/**\n * Returns the first item that is equal to or greater than every other item.\n*/\nfunction findFirstMaxBy(array, comparator) {\n if (array.length === 0) {\n return undefined;\n }\n let max = array[0];\n for (let i = 1; i < array.length; i++) {\n const item = array[i];\n if (comparator(item, max) > 0) {\n max = item;\n }\n }\n return max;\n}\n/**\n * Returns the last item that is equal to or greater than every other item.\n*/\nfunction findLastMaxBy(array, comparator) {\n if (array.length === 0) {\n return undefined;\n }\n let max = array[0];\n for (let i = 1; i < array.length; i++) {\n const item = array[i];\n if (comparator(item, max) >= 0) {\n max = item;\n }\n }\n return max;\n}\n/**\n * Returns the first item that is equal to or less than every other item.\n*/\nfunction findFirstMinBy(array, comparator) {\n return findFirstMaxBy(array, (a, b) => -comparator(a, b));\n}\nfunction findMaxIdxBy(array, comparator) {\n if (array.length === 0) {\n return -1;\n }\n let maxIdx = 0;\n for (let i = 1; i < array.length; i++) {\n const item = array[i];\n if (comparator(item, array[maxIdx]) > 0) {\n maxIdx = i;\n }\n }\n return maxIdx;\n}\n/**\n * Returns the first mapped value of the array which is not undefined.\n */\nfunction mapFindFirst(items, mapFn) {\n for (const value of items) {\n const mapped = mapFn(value);\n if (mapped !== undefined) {\n return mapped;\n }\n }\n return undefined;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/arraysFind.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/assert.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/assert.js ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assertFn: () => (/* binding */ assertFn),\n/* harmony export */ assertNever: () => (/* binding */ assertNever),\n/* harmony export */ checkAdjacentItems: () => (/* binding */ checkAdjacentItems),\n/* harmony export */ ok: () => (/* binding */ ok)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/**\n * Throws an error with the provided message if the provided value does not evaluate to a true Javascript value.\n *\n * @deprecated Use `assert(...)` instead.\n * This method is usually used like this:\n * ```ts\n * import * as assert from 'vs/base/common/assert';\n * assert.ok(...);\n * ```\n *\n * However, `assert` in that example is a user chosen name.\n * There is no tooling for generating such an import statement.\n * Thus, the `assert(...)` function should be used instead.\n */\nfunction ok(value, message) {\n if (!value) {\n throw new Error(message ? `Assertion failed (${message})` : 'Assertion Failed');\n }\n}\nfunction assertNever(value, message = 'Unreachable') {\n throw new Error(message);\n}\n/**\n * condition must be side-effect free!\n */\nfunction assertFn(condition) {\n if (!condition()) {\n // eslint-disable-next-line no-debugger\n debugger;\n // Reevaluate `condition` again to make debugging easier\n condition();\n (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.onUnexpectedError)(new _errors_js__WEBPACK_IMPORTED_MODULE_0__.BugIndicatingError('Assertion Failed'));\n }\n}\nfunction checkAdjacentItems(items, predicate) {\n let i = 0;\n while (i < items.length - 1) {\n const a = items[i];\n const b = items[i + 1];\n if (!predicate(a, b)) {\n return false;\n }\n i++;\n }\n return true;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/assert.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/async.js":
+/*!****************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/async.js ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbstractIdleValue: () => (/* binding */ AbstractIdleValue),\n/* harmony export */ AsyncIterableObject: () => (/* binding */ AsyncIterableObject),\n/* harmony export */ CancelableAsyncIterableObject: () => (/* binding */ CancelableAsyncIterableObject),\n/* harmony export */ DeferredPromise: () => (/* binding */ DeferredPromise),\n/* harmony export */ Delayer: () => (/* binding */ Delayer),\n/* harmony export */ GlobalIdleValue: () => (/* binding */ GlobalIdleValue),\n/* harmony export */ IntervalTimer: () => (/* binding */ IntervalTimer),\n/* harmony export */ Promises: () => (/* binding */ Promises),\n/* harmony export */ RunOnceScheduler: () => (/* binding */ RunOnceScheduler),\n/* harmony export */ ThrottledDelayer: () => (/* binding */ ThrottledDelayer),\n/* harmony export */ Throttler: () => (/* binding */ Throttler),\n/* harmony export */ TimeoutTimer: () => (/* binding */ TimeoutTimer),\n/* harmony export */ _runWhenIdle: () => (/* binding */ _runWhenIdle),\n/* harmony export */ createCancelableAsyncIterable: () => (/* binding */ createCancelableAsyncIterable),\n/* harmony export */ createCancelablePromise: () => (/* binding */ createCancelablePromise),\n/* harmony export */ disposableTimeout: () => (/* binding */ disposableTimeout),\n/* harmony export */ first: () => (/* binding */ first),\n/* harmony export */ isThenable: () => (/* binding */ isThenable),\n/* harmony export */ raceCancellation: () => (/* binding */ raceCancellation),\n/* harmony export */ runWhenGlobalIdle: () => (/* binding */ runWhenGlobalIdle),\n/* harmony export */ timeout: () => (/* binding */ timeout)\n/* harmony export */ });\n/* harmony import */ var _cancellation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cancellation.js */ \"./node_modules/monaco-editor/esm/vs/base/common/cancellation.js\");\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _symbols_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./symbols.js */ \"./node_modules/monaco-editor/esm/vs/base/common/symbols.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\nfunction isThenable(obj) {\n return !!obj && typeof obj.then === 'function';\n}\nfunction createCancelablePromise(callback) {\n const source = new _cancellation_js__WEBPACK_IMPORTED_MODULE_0__.CancellationTokenSource();\n const thenable = callback(source.token);\n const promise = new Promise((resolve, reject) => {\n const subscription = source.token.onCancellationRequested(() => {\n subscription.dispose();\n source.dispose();\n reject(new _errors_js__WEBPACK_IMPORTED_MODULE_1__.CancellationError());\n });\n Promise.resolve(thenable).then(value => {\n subscription.dispose();\n source.dispose();\n resolve(value);\n }, err => {\n subscription.dispose();\n source.dispose();\n reject(err);\n });\n });\n return new class {\n cancel() {\n source.cancel();\n }\n then(resolve, reject) {\n return promise.then(resolve, reject);\n }\n catch(reject) {\n return this.then(undefined, reject);\n }\n finally(onfinally) {\n return promise.finally(onfinally);\n }\n };\n}\nfunction raceCancellation(promise, token, defaultValue) {\n return new Promise((resolve, reject) => {\n const ref = token.onCancellationRequested(() => {\n ref.dispose();\n resolve(defaultValue);\n });\n promise.then(resolve, reject).finally(() => ref.dispose());\n });\n}\n/**\n * A helper to prevent accumulation of sequential async tasks.\n *\n * Imagine a mail man with the sole task of delivering letters. As soon as\n * a letter submitted for delivery, he drives to the destination, delivers it\n * and returns to his base. Imagine that during the trip, N more letters were submitted.\n * When the mail man returns, he picks those N letters and delivers them all in a\n * single trip. Even though N+1 submissions occurred, only 2 deliveries were made.\n *\n * The throttler implements this via the queue() method, by providing it a task\n * factory. Following the example:\n *\n * \t\tconst throttler = new Throttler();\n * \t\tconst letters = [];\n *\n * \t\tfunction deliver() {\n * \t\t\tconst lettersToDeliver = letters;\n * \t\t\tletters = [];\n * \t\t\treturn makeTheTrip(lettersToDeliver);\n * \t\t}\n *\n * \t\tfunction onLetterReceived(l) {\n * \t\t\tletters.push(l);\n * \t\t\tthrottler.queue(deliver);\n * \t\t}\n */\nclass Throttler {\n constructor() {\n this.isDisposed = false;\n this.activePromise = null;\n this.queuedPromise = null;\n this.queuedPromiseFactory = null;\n }\n queue(promiseFactory) {\n if (this.isDisposed) {\n return Promise.reject(new Error('Throttler is disposed'));\n }\n if (this.activePromise) {\n this.queuedPromiseFactory = promiseFactory;\n if (!this.queuedPromise) {\n const onComplete = () => {\n this.queuedPromise = null;\n if (this.isDisposed) {\n return;\n }\n const result = this.queue(this.queuedPromiseFactory);\n this.queuedPromiseFactory = null;\n return result;\n };\n this.queuedPromise = new Promise(resolve => {\n this.activePromise.then(onComplete, onComplete).then(resolve);\n });\n }\n return new Promise((resolve, reject) => {\n this.queuedPromise.then(resolve, reject);\n });\n }\n this.activePromise = promiseFactory();\n return new Promise((resolve, reject) => {\n this.activePromise.then((result) => {\n this.activePromise = null;\n resolve(result);\n }, (err) => {\n this.activePromise = null;\n reject(err);\n });\n });\n }\n dispose() {\n this.isDisposed = true;\n }\n}\nconst timeoutDeferred = (timeout, fn) => {\n let scheduled = true;\n const handle = setTimeout(() => {\n scheduled = false;\n fn();\n }, timeout);\n return {\n isTriggered: () => scheduled,\n dispose: () => {\n clearTimeout(handle);\n scheduled = false;\n },\n };\n};\nconst microtaskDeferred = (fn) => {\n let scheduled = true;\n queueMicrotask(() => {\n if (scheduled) {\n scheduled = false;\n fn();\n }\n });\n return {\n isTriggered: () => scheduled,\n dispose: () => { scheduled = false; },\n };\n};\n/**\n * A helper to delay (debounce) execution of a task that is being requested often.\n *\n * Following the throttler, now imagine the mail man wants to optimize the number of\n * trips proactively. The trip itself can be long, so he decides not to make the trip\n * as soon as a letter is submitted. Instead he waits a while, in case more\n * letters are submitted. After said waiting period, if no letters were submitted, he\n * decides to make the trip. Imagine that N more letters were submitted after the first\n * one, all within a short period of time between each other. Even though N+1\n * submissions occurred, only 1 delivery was made.\n *\n * The delayer offers this behavior via the trigger() method, into which both the task\n * to be executed and the waiting period (delay) must be passed in as arguments. Following\n * the example:\n *\n * \t\tconst delayer = new Delayer(WAITING_PERIOD);\n * \t\tconst letters = [];\n *\n * \t\tfunction letterReceived(l) {\n * \t\t\tletters.push(l);\n * \t\t\tdelayer.trigger(() => { return makeTheTrip(); });\n * \t\t}\n */\nclass Delayer {\n constructor(defaultDelay) {\n this.defaultDelay = defaultDelay;\n this.deferred = null;\n this.completionPromise = null;\n this.doResolve = null;\n this.doReject = null;\n this.task = null;\n }\n trigger(task, delay = this.defaultDelay) {\n this.task = task;\n this.cancelTimeout();\n if (!this.completionPromise) {\n this.completionPromise = new Promise((resolve, reject) => {\n this.doResolve = resolve;\n this.doReject = reject;\n }).then(() => {\n this.completionPromise = null;\n this.doResolve = null;\n if (this.task) {\n const task = this.task;\n this.task = null;\n return task();\n }\n return undefined;\n });\n }\n const fn = () => {\n var _a;\n this.deferred = null;\n (_a = this.doResolve) === null || _a === void 0 ? void 0 : _a.call(this, null);\n };\n this.deferred = delay === _symbols_js__WEBPACK_IMPORTED_MODULE_5__.MicrotaskDelay ? microtaskDeferred(fn) : timeoutDeferred(delay, fn);\n return this.completionPromise;\n }\n isTriggered() {\n var _a;\n return !!((_a = this.deferred) === null || _a === void 0 ? void 0 : _a.isTriggered());\n }\n cancel() {\n var _a;\n this.cancelTimeout();\n if (this.completionPromise) {\n (_a = this.doReject) === null || _a === void 0 ? void 0 : _a.call(this, new _errors_js__WEBPACK_IMPORTED_MODULE_1__.CancellationError());\n this.completionPromise = null;\n }\n }\n cancelTimeout() {\n var _a;\n (_a = this.deferred) === null || _a === void 0 ? void 0 : _a.dispose();\n this.deferred = null;\n }\n dispose() {\n this.cancel();\n }\n}\n/**\n * A helper to delay execution of a task that is being requested often, while\n * preventing accumulation of consecutive executions, while the task runs.\n *\n * The mail man is clever and waits for a certain amount of time, before going\n * out to deliver letters. While the mail man is going out, more letters arrive\n * and can only be delivered once he is back. Once he is back the mail man will\n * do one more trip to deliver the letters that have accumulated while he was out.\n */\nclass ThrottledDelayer {\n constructor(defaultDelay) {\n this.delayer = new Delayer(defaultDelay);\n this.throttler = new Throttler();\n }\n trigger(promiseFactory, delay) {\n return this.delayer.trigger(() => this.throttler.queue(promiseFactory), delay);\n }\n cancel() {\n this.delayer.cancel();\n }\n dispose() {\n this.delayer.dispose();\n this.throttler.dispose();\n }\n}\nfunction timeout(millis, token) {\n if (!token) {\n return createCancelablePromise(token => timeout(millis, token));\n }\n return new Promise((resolve, reject) => {\n const handle = setTimeout(() => {\n disposable.dispose();\n resolve();\n }, millis);\n const disposable = token.onCancellationRequested(() => {\n clearTimeout(handle);\n disposable.dispose();\n reject(new _errors_js__WEBPACK_IMPORTED_MODULE_1__.CancellationError());\n });\n });\n}\n/**\n * Creates a timeout that can be disposed using its returned value.\n * @param handler The timeout handler.\n * @param timeout An optional timeout in milliseconds.\n * @param store An optional {@link DisposableStore} that will have the timeout disposable managed automatically.\n *\n * @example\n * const store = new DisposableStore;\n * // Call the timeout after 1000ms at which point it will be automatically\n * // evicted from the store.\n * const timeoutDisposable = disposableTimeout(() => {}, 1000, store);\n *\n * if (foo) {\n * // Cancel the timeout and evict it from store.\n * timeoutDisposable.dispose();\n * }\n */\nfunction disposableTimeout(handler, timeout = 0, store) {\n const timer = setTimeout(() => {\n handler();\n if (store) {\n disposable.dispose();\n }\n }, timeout);\n const disposable = (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.toDisposable)(() => {\n clearTimeout(timer);\n store === null || store === void 0 ? void 0 : store.deleteAndLeak(disposable);\n });\n store === null || store === void 0 ? void 0 : store.add(disposable);\n return disposable;\n}\nfunction first(promiseFactories, shouldStop = t => !!t, defaultValue = null) {\n let index = 0;\n const len = promiseFactories.length;\n const loop = () => {\n if (index >= len) {\n return Promise.resolve(defaultValue);\n }\n const factory = promiseFactories[index++];\n const promise = Promise.resolve(factory());\n return promise.then(result => {\n if (shouldStop(result)) {\n return Promise.resolve(result);\n }\n return loop();\n });\n };\n return loop();\n}\nclass TimeoutTimer {\n constructor(runner, timeout) {\n this._token = -1;\n if (typeof runner === 'function' && typeof timeout === 'number') {\n this.setIfNotSet(runner, timeout);\n }\n }\n dispose() {\n this.cancel();\n }\n cancel() {\n if (this._token !== -1) {\n clearTimeout(this._token);\n this._token = -1;\n }\n }\n cancelAndSet(runner, timeout) {\n this.cancel();\n this._token = setTimeout(() => {\n this._token = -1;\n runner();\n }, timeout);\n }\n setIfNotSet(runner, timeout) {\n if (this._token !== -1) {\n // timer is already set\n return;\n }\n this._token = setTimeout(() => {\n this._token = -1;\n runner();\n }, timeout);\n }\n}\nclass IntervalTimer {\n constructor() {\n this.disposable = undefined;\n }\n cancel() {\n var _a;\n (_a = this.disposable) === null || _a === void 0 ? void 0 : _a.dispose();\n this.disposable = undefined;\n }\n cancelAndSet(runner, interval, context = globalThis) {\n this.cancel();\n const handle = context.setInterval(() => {\n runner();\n }, interval);\n this.disposable = (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.toDisposable)(() => {\n context.clearInterval(handle);\n this.disposable = undefined;\n });\n }\n dispose() {\n this.cancel();\n }\n}\nclass RunOnceScheduler {\n constructor(runner, delay) {\n this.timeoutToken = -1;\n this.runner = runner;\n this.timeout = delay;\n this.timeoutHandler = this.onTimeout.bind(this);\n }\n /**\n * Dispose RunOnceScheduler\n */\n dispose() {\n this.cancel();\n this.runner = null;\n }\n /**\n * Cancel current scheduled runner (if any).\n */\n cancel() {\n if (this.isScheduled()) {\n clearTimeout(this.timeoutToken);\n this.timeoutToken = -1;\n }\n }\n /**\n * Cancel previous runner (if any) & schedule a new runner.\n */\n schedule(delay = this.timeout) {\n this.cancel();\n this.timeoutToken = setTimeout(this.timeoutHandler, delay);\n }\n get delay() {\n return this.timeout;\n }\n set delay(value) {\n this.timeout = value;\n }\n /**\n * Returns true if scheduled.\n */\n isScheduled() {\n return this.timeoutToken !== -1;\n }\n onTimeout() {\n this.timeoutToken = -1;\n if (this.runner) {\n this.doRun();\n }\n }\n doRun() {\n var _a;\n (_a = this.runner) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n}\n/**\n * Execute the callback the next time the browser is idle, returning an\n * {@link IDisposable} that will cancel the callback when disposed. This wraps\n * [requestIdleCallback] so it will fallback to [setTimeout] if the environment\n * doesn't support it.\n *\n * @param callback The callback to run when idle, this includes an\n * [IdleDeadline] that provides the time alloted for the idle callback by the\n * browser. Not respecting this deadline will result in a degraded user\n * experience.\n * @param timeout A timeout at which point to queue no longer wait for an idle\n * callback but queue it on the regular event loop (like setTimeout). Typically\n * this should not be used.\n *\n * [IdleDeadline]: https://developer.mozilla.org/en-US/docs/Web/API/IdleDeadline\n * [requestIdleCallback]: https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback\n * [setTimeout]: https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout\n *\n * **Note** that there is `dom.ts#runWhenWindowIdle` which is better suited when running inside a browser\n * context\n */\nlet runWhenGlobalIdle;\nlet _runWhenIdle;\n(function () {\n if (typeof globalThis.requestIdleCallback !== 'function' || typeof globalThis.cancelIdleCallback !== 'function') {\n _runWhenIdle = (_targetWindow, runner) => {\n (0,_platform_js__WEBPACK_IMPORTED_MODULE_4__.setTimeout0)(() => {\n if (disposed) {\n return;\n }\n const end = Date.now() + 15; // one frame at 64fps\n const deadline = {\n didTimeout: true,\n timeRemaining() {\n return Math.max(0, end - Date.now());\n }\n };\n runner(Object.freeze(deadline));\n });\n let disposed = false;\n return {\n dispose() {\n if (disposed) {\n return;\n }\n disposed = true;\n }\n };\n };\n }\n else {\n _runWhenIdle = (targetWindow, runner, timeout) => {\n const handle = targetWindow.requestIdleCallback(runner, typeof timeout === 'number' ? { timeout } : undefined);\n let disposed = false;\n return {\n dispose() {\n if (disposed) {\n return;\n }\n disposed = true;\n targetWindow.cancelIdleCallback(handle);\n }\n };\n };\n }\n runWhenGlobalIdle = (runner) => _runWhenIdle(globalThis, runner);\n})();\nclass AbstractIdleValue {\n constructor(targetWindow, executor) {\n this._didRun = false;\n this._executor = () => {\n try {\n this._value = executor();\n }\n catch (err) {\n this._error = err;\n }\n finally {\n this._didRun = true;\n }\n };\n this._handle = _runWhenIdle(targetWindow, () => this._executor());\n }\n dispose() {\n this._handle.dispose();\n }\n get value() {\n if (!this._didRun) {\n this._handle.dispose();\n this._executor();\n }\n if (this._error) {\n throw this._error;\n }\n return this._value;\n }\n get isInitialized() {\n return this._didRun;\n }\n}\n/**\n * An `IdleValue` that always uses the current window (which might be throttled or inactive)\n *\n * **Note** that there is `dom.ts#WindowIdleValue` which is better suited when running inside a browser\n * context\n */\nclass GlobalIdleValue extends AbstractIdleValue {\n constructor(executor) {\n super(globalThis, executor);\n }\n}\n/**\n * Creates a promise whose resolution or rejection can be controlled imperatively.\n */\nclass DeferredPromise {\n get isRejected() {\n var _a;\n return ((_a = this.outcome) === null || _a === void 0 ? void 0 : _a.outcome) === 1 /* DeferredOutcome.Rejected */;\n }\n get isSettled() {\n return !!this.outcome;\n }\n constructor() {\n this.p = new Promise((c, e) => {\n this.completeCallback = c;\n this.errorCallback = e;\n });\n }\n complete(value) {\n return new Promise(resolve => {\n this.completeCallback(value);\n this.outcome = { outcome: 0 /* DeferredOutcome.Resolved */, value };\n resolve();\n });\n }\n error(err) {\n return new Promise(resolve => {\n this.errorCallback(err);\n this.outcome = { outcome: 1 /* DeferredOutcome.Rejected */, value: err };\n resolve();\n });\n }\n cancel() {\n return this.error(new _errors_js__WEBPACK_IMPORTED_MODULE_1__.CancellationError());\n }\n}\n//#endregion\n//#region Promises\nvar Promises;\n(function (Promises) {\n /**\n * A drop-in replacement for `Promise.all` with the only difference\n * that the method awaits every promise to either fulfill or reject.\n *\n * Similar to `Promise.all`, only the first error will be returned\n * if any.\n */\n async function settled(promises) {\n let firstError = undefined;\n const result = await Promise.all(promises.map(promise => promise.then(value => value, error => {\n if (!firstError) {\n firstError = error;\n }\n return undefined; // do not rethrow so that other promises can settle\n })));\n if (typeof firstError !== 'undefined') {\n throw firstError;\n }\n return result; // cast is needed and protected by the `throw` above\n }\n Promises.settled = settled;\n /**\n * A helper to create a new `Promise` with a body that is a promise\n * itself. By default, an error that raises from the async body will\n * end up as a unhandled rejection, so this utility properly awaits the\n * body and rejects the promise as a normal promise does without async\n * body.\n *\n * This method should only be used in rare cases where otherwise `async`\n * cannot be used (e.g. when callbacks are involved that require this).\n */\n function withAsyncBody(bodyFn) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n try {\n await bodyFn(resolve, reject);\n }\n catch (error) {\n reject(error);\n }\n });\n }\n Promises.withAsyncBody = withAsyncBody;\n})(Promises || (Promises = {}));\n/**\n * A rich implementation for an `AsyncIterable`.\n */\nclass AsyncIterableObject {\n static fromArray(items) {\n return new AsyncIterableObject((writer) => {\n writer.emitMany(items);\n });\n }\n static fromPromise(promise) {\n return new AsyncIterableObject(async (emitter) => {\n emitter.emitMany(await promise);\n });\n }\n static fromPromises(promises) {\n return new AsyncIterableObject(async (emitter) => {\n await Promise.all(promises.map(async (p) => emitter.emitOne(await p)));\n });\n }\n static merge(iterables) {\n return new AsyncIterableObject(async (emitter) => {\n await Promise.all(iterables.map(async (iterable) => {\n for await (const item of iterable) {\n emitter.emitOne(item);\n }\n }));\n });\n }\n constructor(executor) {\n this._state = 0 /* AsyncIterableSourceState.Initial */;\n this._results = [];\n this._error = null;\n this._onStateChanged = new _event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n queueMicrotask(async () => {\n const writer = {\n emitOne: (item) => this.emitOne(item),\n emitMany: (items) => this.emitMany(items),\n reject: (error) => this.reject(error)\n };\n try {\n await Promise.resolve(executor(writer));\n this.resolve();\n }\n catch (err) {\n this.reject(err);\n }\n finally {\n writer.emitOne = undefined;\n writer.emitMany = undefined;\n writer.reject = undefined;\n }\n });\n }\n [Symbol.asyncIterator]() {\n let i = 0;\n return {\n next: async () => {\n do {\n if (this._state === 2 /* AsyncIterableSourceState.DoneError */) {\n throw this._error;\n }\n if (i < this._results.length) {\n return { done: false, value: this._results[i++] };\n }\n if (this._state === 1 /* AsyncIterableSourceState.DoneOK */) {\n return { done: true, value: undefined };\n }\n await _event_js__WEBPACK_IMPORTED_MODULE_2__.Event.toPromise(this._onStateChanged.event);\n } while (true);\n }\n };\n }\n static map(iterable, mapFn) {\n return new AsyncIterableObject(async (emitter) => {\n for await (const item of iterable) {\n emitter.emitOne(mapFn(item));\n }\n });\n }\n map(mapFn) {\n return AsyncIterableObject.map(this, mapFn);\n }\n static filter(iterable, filterFn) {\n return new AsyncIterableObject(async (emitter) => {\n for await (const item of iterable) {\n if (filterFn(item)) {\n emitter.emitOne(item);\n }\n }\n });\n }\n filter(filterFn) {\n return AsyncIterableObject.filter(this, filterFn);\n }\n static coalesce(iterable) {\n return AsyncIterableObject.filter(iterable, item => !!item);\n }\n coalesce() {\n return AsyncIterableObject.coalesce(this);\n }\n static async toPromise(iterable) {\n const result = [];\n for await (const item of iterable) {\n result.push(item);\n }\n return result;\n }\n toPromise() {\n return AsyncIterableObject.toPromise(this);\n }\n /**\n * The value will be appended at the end.\n *\n * **NOTE** If `resolve()` or `reject()` have already been called, this method has no effect.\n */\n emitOne(value) {\n if (this._state !== 0 /* AsyncIterableSourceState.Initial */) {\n return;\n }\n // it is important to add new values at the end,\n // as we may have iterators already running on the array\n this._results.push(value);\n this._onStateChanged.fire();\n }\n /**\n * The values will be appended at the end.\n *\n * **NOTE** If `resolve()` or `reject()` have already been called, this method has no effect.\n */\n emitMany(values) {\n if (this._state !== 0 /* AsyncIterableSourceState.Initial */) {\n return;\n }\n // it is important to add new values at the end,\n // as we may have iterators already running on the array\n this._results = this._results.concat(values);\n this._onStateChanged.fire();\n }\n /**\n * Calling `resolve()` will mark the result array as complete.\n *\n * **NOTE** `resolve()` must be called, otherwise all consumers of this iterable will hang indefinitely, similar to a non-resolved promise.\n * **NOTE** If `resolve()` or `reject()` have already been called, this method has no effect.\n */\n resolve() {\n if (this._state !== 0 /* AsyncIterableSourceState.Initial */) {\n return;\n }\n this._state = 1 /* AsyncIterableSourceState.DoneOK */;\n this._onStateChanged.fire();\n }\n /**\n * Writing an error will permanently invalidate this iterable.\n * The current users will receive an error thrown, as will all future users.\n *\n * **NOTE** If `resolve()` or `reject()` have already been called, this method has no effect.\n */\n reject(error) {\n if (this._state !== 0 /* AsyncIterableSourceState.Initial */) {\n return;\n }\n this._state = 2 /* AsyncIterableSourceState.DoneError */;\n this._error = error;\n this._onStateChanged.fire();\n }\n}\nAsyncIterableObject.EMPTY = AsyncIterableObject.fromArray([]);\nclass CancelableAsyncIterableObject extends AsyncIterableObject {\n constructor(_source, executor) {\n super(executor);\n this._source = _source;\n }\n cancel() {\n this._source.cancel();\n }\n}\nfunction createCancelableAsyncIterable(callback) {\n const source = new _cancellation_js__WEBPACK_IMPORTED_MODULE_0__.CancellationTokenSource();\n const innerIterable = callback(source.token);\n return new CancelableAsyncIterableObject(source, async (emitter) => {\n const subscription = source.token.onCancellationRequested(() => {\n subscription.dispose();\n source.dispose();\n emitter.reject(new _errors_js__WEBPACK_IMPORTED_MODULE_1__.CancellationError());\n });\n try {\n for await (const item of innerIterable) {\n if (source.token.isCancellationRequested) {\n // canceled in the meantime\n return;\n }\n emitter.emitOne(item);\n }\n subscription.dispose();\n source.dispose();\n }\n catch (err) {\n subscription.dispose();\n source.dispose();\n emitter.reject(err);\n }\n });\n}\n//#endregion\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/async.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/buffer.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/buffer.js ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ VSBuffer: () => (/* binding */ VSBuffer),\n/* harmony export */ readUInt16LE: () => (/* binding */ readUInt16LE),\n/* harmony export */ readUInt32BE: () => (/* binding */ readUInt32BE),\n/* harmony export */ readUInt8: () => (/* binding */ readUInt8),\n/* harmony export */ writeUInt16LE: () => (/* binding */ writeUInt16LE),\n/* harmony export */ writeUInt32BE: () => (/* binding */ writeUInt32BE),\n/* harmony export */ writeUInt8: () => (/* binding */ writeUInt8)\n/* harmony export */ });\n/* harmony import */ var _lazy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lazy.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lazy.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nconst hasBuffer = (typeof Buffer !== 'undefined');\nconst indexOfTable = new _lazy_js__WEBPACK_IMPORTED_MODULE_0__.Lazy(() => new Uint8Array(256));\nlet textDecoder;\nclass VSBuffer {\n /**\n * When running in a nodejs context, if `actual` is not a nodejs Buffer, the backing store for\n * the returned `VSBuffer` instance might use a nodejs Buffer allocated from node's Buffer pool,\n * which is not transferrable.\n */\n static wrap(actual) {\n if (hasBuffer && !(Buffer.isBuffer(actual))) {\n // https://nodejs.org/dist/latest-v10.x/docs/api/buffer.html#buffer_class_method_buffer_from_arraybuffer_byteoffset_length\n // Create a zero-copy Buffer wrapper around the ArrayBuffer pointed to by the Uint8Array\n actual = Buffer.from(actual.buffer, actual.byteOffset, actual.byteLength);\n }\n return new VSBuffer(actual);\n }\n constructor(buffer) {\n this.buffer = buffer;\n this.byteLength = this.buffer.byteLength;\n }\n toString() {\n if (hasBuffer) {\n return this.buffer.toString();\n }\n else {\n if (!textDecoder) {\n textDecoder = new TextDecoder();\n }\n return textDecoder.decode(this.buffer);\n }\n }\n}\nfunction readUInt16LE(source, offset) {\n return (((source[offset + 0] << 0) >>> 0) |\n ((source[offset + 1] << 8) >>> 0));\n}\nfunction writeUInt16LE(destination, value, offset) {\n destination[offset + 0] = (value & 0b11111111);\n value = value >>> 8;\n destination[offset + 1] = (value & 0b11111111);\n}\nfunction readUInt32BE(source, offset) {\n return (source[offset] * 2 ** 24\n + source[offset + 1] * 2 ** 16\n + source[offset + 2] * 2 ** 8\n + source[offset + 3]);\n}\nfunction writeUInt32BE(destination, value, offset) {\n destination[offset + 3] = value;\n value = value >>> 8;\n destination[offset + 2] = value;\n value = value >>> 8;\n destination[offset + 1] = value;\n value = value >>> 8;\n destination[offset] = value;\n}\nfunction readUInt8(source, offset) {\n return source[offset];\n}\nfunction writeUInt8(destination, value, offset) {\n destination[offset] = value;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/buffer.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/cache.js":
+/*!****************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/cache.js ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CachedFunction: () => (/* binding */ CachedFunction),\n/* harmony export */ LRUCachedFunction: () => (/* binding */ LRUCachedFunction)\n/* harmony export */ });\n/**\n * Uses a LRU cache to make a given parametrized function cached.\n * Caches just the last value.\n * The key must be JSON serializable.\n*/\nclass LRUCachedFunction {\n constructor(fn) {\n this.fn = fn;\n this.lastCache = undefined;\n this.lastArgKey = undefined;\n }\n get(arg) {\n const key = JSON.stringify(arg);\n if (this.lastArgKey !== key) {\n this.lastArgKey = key;\n this.lastCache = this.fn(arg);\n }\n return this.lastCache;\n }\n}\n/**\n * Uses an unbounded cache (referential equality) to memoize the results of the given function.\n*/\nclass CachedFunction {\n get cachedValues() {\n return this._map;\n }\n constructor(fn) {\n this.fn = fn;\n this._map = new Map();\n }\n get(arg) {\n if (this._map.has(arg)) {\n return this._map.get(arg);\n }\n const value = this.fn(arg);\n this._map.set(arg, value);\n return value;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/cache.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/cancellation.js":
+/*!***********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/cancellation.js ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CancellationToken: () => (/* binding */ CancellationToken),\n/* harmony export */ CancellationTokenSource: () => (/* binding */ CancellationTokenSource)\n/* harmony export */ });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nconst shortcutEvent = Object.freeze(function (callback, context) {\n const handle = setTimeout(callback.bind(context), 0);\n return { dispose() { clearTimeout(handle); } };\n});\nvar CancellationToken;\n(function (CancellationToken) {\n function isCancellationToken(thing) {\n if (thing === CancellationToken.None || thing === CancellationToken.Cancelled) {\n return true;\n }\n if (thing instanceof MutableToken) {\n return true;\n }\n if (!thing || typeof thing !== 'object') {\n return false;\n }\n return typeof thing.isCancellationRequested === 'boolean'\n && typeof thing.onCancellationRequested === 'function';\n }\n CancellationToken.isCancellationToken = isCancellationToken;\n CancellationToken.None = Object.freeze({\n isCancellationRequested: false,\n onCancellationRequested: _event_js__WEBPACK_IMPORTED_MODULE_0__.Event.None\n });\n CancellationToken.Cancelled = Object.freeze({\n isCancellationRequested: true,\n onCancellationRequested: shortcutEvent\n });\n})(CancellationToken || (CancellationToken = {}));\nclass MutableToken {\n constructor() {\n this._isCancelled = false;\n this._emitter = null;\n }\n cancel() {\n if (!this._isCancelled) {\n this._isCancelled = true;\n if (this._emitter) {\n this._emitter.fire(undefined);\n this.dispose();\n }\n }\n }\n get isCancellationRequested() {\n return this._isCancelled;\n }\n get onCancellationRequested() {\n if (this._isCancelled) {\n return shortcutEvent;\n }\n if (!this._emitter) {\n this._emitter = new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter();\n }\n return this._emitter.event;\n }\n dispose() {\n if (this._emitter) {\n this._emitter.dispose();\n this._emitter = null;\n }\n }\n}\nclass CancellationTokenSource {\n constructor(parent) {\n this._token = undefined;\n this._parentListener = undefined;\n this._parentListener = parent && parent.onCancellationRequested(this.cancel, this);\n }\n get token() {\n if (!this._token) {\n // be lazy and create the token only when\n // actually needed\n this._token = new MutableToken();\n }\n return this._token;\n }\n cancel() {\n if (!this._token) {\n // save an object by returning the default\n // cancelled token when cancellation happens\n // before someone asks for the token\n this._token = CancellationToken.Cancelled;\n }\n else if (this._token instanceof MutableToken) {\n // actually cancel\n this._token.cancel();\n }\n }\n dispose(cancel = false) {\n var _a;\n if (cancel) {\n this.cancel();\n }\n (_a = this._parentListener) === null || _a === void 0 ? void 0 : _a.dispose();\n if (!this._token) {\n // ensure to initialize with an empty token if we had none\n this._token = CancellationToken.None;\n }\n else if (this._token instanceof MutableToken) {\n // actually dispose\n this._token.dispose();\n }\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/cancellation.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/codicons.js":
+/*!*******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/codicons.js ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Codicon: () => (/* binding */ Codicon),\n/* harmony export */ getCodiconFontCharacters: () => (/* binding */ getCodiconFontCharacters)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n\nconst _codiconFontCharacters = Object.create(null);\nfunction register(id, fontCharacter) {\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isString)(fontCharacter)) {\n const val = _codiconFontCharacters[fontCharacter];\n if (val === undefined) {\n throw new Error(`${id} references an unknown codicon: ${fontCharacter}`);\n }\n fontCharacter = val;\n }\n _codiconFontCharacters[id] = fontCharacter;\n return { id };\n}\n/**\n * Only to be used by the iconRegistry.\n */\nfunction getCodiconFontCharacters() {\n return _codiconFontCharacters;\n}\n/**\n * The Codicon library is a set of default icons that are built-in in VS Code.\n *\n * In the product (outside of base) Codicons should only be used as defaults. In order to have all icons in VS Code\n * themeable, component should define new, UI component specific icons using `iconRegistry.registerIcon`.\n * In that call a Codicon can be named as default.\n */\nconst Codicon = {\n // built-in icons, with image name\n add: register('add', 0xea60),\n plus: register('plus', 0xea60),\n gistNew: register('gist-new', 0xea60),\n repoCreate: register('repo-create', 0xea60),\n lightbulb: register('lightbulb', 0xea61),\n lightBulb: register('light-bulb', 0xea61),\n repo: register('repo', 0xea62),\n repoDelete: register('repo-delete', 0xea62),\n gistFork: register('gist-fork', 0xea63),\n repoForked: register('repo-forked', 0xea63),\n gitPullRequest: register('git-pull-request', 0xea64),\n gitPullRequestAbandoned: register('git-pull-request-abandoned', 0xea64),\n recordKeys: register('record-keys', 0xea65),\n keyboard: register('keyboard', 0xea65),\n tag: register('tag', 0xea66),\n tagAdd: register('tag-add', 0xea66),\n tagRemove: register('tag-remove', 0xea66),\n gitPullRequestLabel: register('git-pull-request-label', 0xea66),\n person: register('person', 0xea67),\n personFollow: register('person-follow', 0xea67),\n personOutline: register('person-outline', 0xea67),\n personFilled: register('person-filled', 0xea67),\n gitBranch: register('git-branch', 0xea68),\n gitBranchCreate: register('git-branch-create', 0xea68),\n gitBranchDelete: register('git-branch-delete', 0xea68),\n sourceControl: register('source-control', 0xea68),\n mirror: register('mirror', 0xea69),\n mirrorPublic: register('mirror-public', 0xea69),\n star: register('star', 0xea6a),\n starAdd: register('star-add', 0xea6a),\n starDelete: register('star-delete', 0xea6a),\n starEmpty: register('star-empty', 0xea6a),\n comment: register('comment', 0xea6b),\n commentAdd: register('comment-add', 0xea6b),\n alert: register('alert', 0xea6c),\n warning: register('warning', 0xea6c),\n search: register('search', 0xea6d),\n searchSave: register('search-save', 0xea6d),\n logOut: register('log-out', 0xea6e),\n signOut: register('sign-out', 0xea6e),\n logIn: register('log-in', 0xea6f),\n signIn: register('sign-in', 0xea6f),\n eye: register('eye', 0xea70),\n eyeUnwatch: register('eye-unwatch', 0xea70),\n eyeWatch: register('eye-watch', 0xea70),\n circleFilled: register('circle-filled', 0xea71),\n primitiveDot: register('primitive-dot', 0xea71),\n closeDirty: register('close-dirty', 0xea71),\n debugBreakpoint: register('debug-breakpoint', 0xea71),\n debugBreakpointDisabled: register('debug-breakpoint-disabled', 0xea71),\n debugHint: register('debug-hint', 0xea71),\n primitiveSquare: register('primitive-square', 0xea72),\n edit: register('edit', 0xea73),\n pencil: register('pencil', 0xea73),\n info: register('info', 0xea74),\n issueOpened: register('issue-opened', 0xea74),\n gistPrivate: register('gist-private', 0xea75),\n gitForkPrivate: register('git-fork-private', 0xea75),\n lock: register('lock', 0xea75),\n mirrorPrivate: register('mirror-private', 0xea75),\n close: register('close', 0xea76),\n removeClose: register('remove-close', 0xea76),\n x: register('x', 0xea76),\n repoSync: register('repo-sync', 0xea77),\n sync: register('sync', 0xea77),\n clone: register('clone', 0xea78),\n desktopDownload: register('desktop-download', 0xea78),\n beaker: register('beaker', 0xea79),\n microscope: register('microscope', 0xea79),\n vm: register('vm', 0xea7a),\n deviceDesktop: register('device-desktop', 0xea7a),\n file: register('file', 0xea7b),\n fileText: register('file-text', 0xea7b),\n more: register('more', 0xea7c),\n ellipsis: register('ellipsis', 0xea7c),\n kebabHorizontal: register('kebab-horizontal', 0xea7c),\n mailReply: register('mail-reply', 0xea7d),\n reply: register('reply', 0xea7d),\n organization: register('organization', 0xea7e),\n organizationFilled: register('organization-filled', 0xea7e),\n organizationOutline: register('organization-outline', 0xea7e),\n newFile: register('new-file', 0xea7f),\n fileAdd: register('file-add', 0xea7f),\n newFolder: register('new-folder', 0xea80),\n fileDirectoryCreate: register('file-directory-create', 0xea80),\n trash: register('trash', 0xea81),\n trashcan: register('trashcan', 0xea81),\n history: register('history', 0xea82),\n clock: register('clock', 0xea82),\n folder: register('folder', 0xea83),\n fileDirectory: register('file-directory', 0xea83),\n symbolFolder: register('symbol-folder', 0xea83),\n logoGithub: register('logo-github', 0xea84),\n markGithub: register('mark-github', 0xea84),\n github: register('github', 0xea84),\n terminal: register('terminal', 0xea85),\n console: register('console', 0xea85),\n repl: register('repl', 0xea85),\n zap: register('zap', 0xea86),\n symbolEvent: register('symbol-event', 0xea86),\n error: register('error', 0xea87),\n stop: register('stop', 0xea87),\n variable: register('variable', 0xea88),\n symbolVariable: register('symbol-variable', 0xea88),\n array: register('array', 0xea8a),\n symbolArray: register('symbol-array', 0xea8a),\n symbolModule: register('symbol-module', 0xea8b),\n symbolPackage: register('symbol-package', 0xea8b),\n symbolNamespace: register('symbol-namespace', 0xea8b),\n symbolObject: register('symbol-object', 0xea8b),\n symbolMethod: register('symbol-method', 0xea8c),\n symbolFunction: register('symbol-function', 0xea8c),\n symbolConstructor: register('symbol-constructor', 0xea8c),\n symbolBoolean: register('symbol-boolean', 0xea8f),\n symbolNull: register('symbol-null', 0xea8f),\n symbolNumeric: register('symbol-numeric', 0xea90),\n symbolNumber: register('symbol-number', 0xea90),\n symbolStructure: register('symbol-structure', 0xea91),\n symbolStruct: register('symbol-struct', 0xea91),\n symbolParameter: register('symbol-parameter', 0xea92),\n symbolTypeParameter: register('symbol-type-parameter', 0xea92),\n symbolKey: register('symbol-key', 0xea93),\n symbolText: register('symbol-text', 0xea93),\n symbolReference: register('symbol-reference', 0xea94),\n goToFile: register('go-to-file', 0xea94),\n symbolEnum: register('symbol-enum', 0xea95),\n symbolValue: register('symbol-value', 0xea95),\n symbolRuler: register('symbol-ruler', 0xea96),\n symbolUnit: register('symbol-unit', 0xea96),\n activateBreakpoints: register('activate-breakpoints', 0xea97),\n archive: register('archive', 0xea98),\n arrowBoth: register('arrow-both', 0xea99),\n arrowDown: register('arrow-down', 0xea9a),\n arrowLeft: register('arrow-left', 0xea9b),\n arrowRight: register('arrow-right', 0xea9c),\n arrowSmallDown: register('arrow-small-down', 0xea9d),\n arrowSmallLeft: register('arrow-small-left', 0xea9e),\n arrowSmallRight: register('arrow-small-right', 0xea9f),\n arrowSmallUp: register('arrow-small-up', 0xeaa0),\n arrowUp: register('arrow-up', 0xeaa1),\n bell: register('bell', 0xeaa2),\n bold: register('bold', 0xeaa3),\n book: register('book', 0xeaa4),\n bookmark: register('bookmark', 0xeaa5),\n debugBreakpointConditionalUnverified: register('debug-breakpoint-conditional-unverified', 0xeaa6),\n debugBreakpointConditional: register('debug-breakpoint-conditional', 0xeaa7),\n debugBreakpointConditionalDisabled: register('debug-breakpoint-conditional-disabled', 0xeaa7),\n debugBreakpointDataUnverified: register('debug-breakpoint-data-unverified', 0xeaa8),\n debugBreakpointData: register('debug-breakpoint-data', 0xeaa9),\n debugBreakpointDataDisabled: register('debug-breakpoint-data-disabled', 0xeaa9),\n debugBreakpointLogUnverified: register('debug-breakpoint-log-unverified', 0xeaaa),\n debugBreakpointLog: register('debug-breakpoint-log', 0xeaab),\n debugBreakpointLogDisabled: register('debug-breakpoint-log-disabled', 0xeaab),\n briefcase: register('briefcase', 0xeaac),\n broadcast: register('broadcast', 0xeaad),\n browser: register('browser', 0xeaae),\n bug: register('bug', 0xeaaf),\n calendar: register('calendar', 0xeab0),\n caseSensitive: register('case-sensitive', 0xeab1),\n check: register('check', 0xeab2),\n checklist: register('checklist', 0xeab3),\n chevronDown: register('chevron-down', 0xeab4),\n dropDownButton: register('drop-down-button', 0xeab4),\n chevronLeft: register('chevron-left', 0xeab5),\n chevronRight: register('chevron-right', 0xeab6),\n chevronUp: register('chevron-up', 0xeab7),\n chromeClose: register('chrome-close', 0xeab8),\n chromeMaximize: register('chrome-maximize', 0xeab9),\n chromeMinimize: register('chrome-minimize', 0xeaba),\n chromeRestore: register('chrome-restore', 0xeabb),\n circle: register('circle', 0xeabc),\n circleOutline: register('circle-outline', 0xeabc),\n debugBreakpointUnverified: register('debug-breakpoint-unverified', 0xeabc),\n circleSlash: register('circle-slash', 0xeabd),\n circuitBoard: register('circuit-board', 0xeabe),\n clearAll: register('clear-all', 0xeabf),\n clippy: register('clippy', 0xeac0),\n closeAll: register('close-all', 0xeac1),\n cloudDownload: register('cloud-download', 0xeac2),\n cloudUpload: register('cloud-upload', 0xeac3),\n code: register('code', 0xeac4),\n collapseAll: register('collapse-all', 0xeac5),\n colorMode: register('color-mode', 0xeac6),\n commentDiscussion: register('comment-discussion', 0xeac7),\n compareChanges: register('compare-changes', 0xeafd),\n creditCard: register('credit-card', 0xeac9),\n dash: register('dash', 0xeacc),\n dashboard: register('dashboard', 0xeacd),\n database: register('database', 0xeace),\n debugContinue: register('debug-continue', 0xeacf),\n debugDisconnect: register('debug-disconnect', 0xead0),\n debugPause: register('debug-pause', 0xead1),\n debugRestart: register('debug-restart', 0xead2),\n debugStart: register('debug-start', 0xead3),\n debugStepInto: register('debug-step-into', 0xead4),\n debugStepOut: register('debug-step-out', 0xead5),\n debugStepOver: register('debug-step-over', 0xead6),\n debugStop: register('debug-stop', 0xead7),\n debug: register('debug', 0xead8),\n deviceCameraVideo: register('device-camera-video', 0xead9),\n deviceCamera: register('device-camera', 0xeada),\n deviceMobile: register('device-mobile', 0xeadb),\n diffAdded: register('diff-added', 0xeadc),\n diffIgnored: register('diff-ignored', 0xeadd),\n diffModified: register('diff-modified', 0xeade),\n diffRemoved: register('diff-removed', 0xeadf),\n diffRenamed: register('diff-renamed', 0xeae0),\n diff: register('diff', 0xeae1),\n discard: register('discard', 0xeae2),\n editorLayout: register('editor-layout', 0xeae3),\n emptyWindow: register('empty-window', 0xeae4),\n exclude: register('exclude', 0xeae5),\n extensions: register('extensions', 0xeae6),\n eyeClosed: register('eye-closed', 0xeae7),\n fileBinary: register('file-binary', 0xeae8),\n fileCode: register('file-code', 0xeae9),\n fileMedia: register('file-media', 0xeaea),\n filePdf: register('file-pdf', 0xeaeb),\n fileSubmodule: register('file-submodule', 0xeaec),\n fileSymlinkDirectory: register('file-symlink-directory', 0xeaed),\n fileSymlinkFile: register('file-symlink-file', 0xeaee),\n fileZip: register('file-zip', 0xeaef),\n files: register('files', 0xeaf0),\n filter: register('filter', 0xeaf1),\n flame: register('flame', 0xeaf2),\n foldDown: register('fold-down', 0xeaf3),\n foldUp: register('fold-up', 0xeaf4),\n fold: register('fold', 0xeaf5),\n folderActive: register('folder-active', 0xeaf6),\n folderOpened: register('folder-opened', 0xeaf7),\n gear: register('gear', 0xeaf8),\n gift: register('gift', 0xeaf9),\n gistSecret: register('gist-secret', 0xeafa),\n gist: register('gist', 0xeafb),\n gitCommit: register('git-commit', 0xeafc),\n gitCompare: register('git-compare', 0xeafd),\n gitMerge: register('git-merge', 0xeafe),\n githubAction: register('github-action', 0xeaff),\n githubAlt: register('github-alt', 0xeb00),\n globe: register('globe', 0xeb01),\n grabber: register('grabber', 0xeb02),\n graph: register('graph', 0xeb03),\n gripper: register('gripper', 0xeb04),\n heart: register('heart', 0xeb05),\n home: register('home', 0xeb06),\n horizontalRule: register('horizontal-rule', 0xeb07),\n hubot: register('hubot', 0xeb08),\n inbox: register('inbox', 0xeb09),\n issueClosed: register('issue-closed', 0xeba4),\n issueReopened: register('issue-reopened', 0xeb0b),\n issues: register('issues', 0xeb0c),\n italic: register('italic', 0xeb0d),\n jersey: register('jersey', 0xeb0e),\n json: register('json', 0xeb0f),\n bracket: register('bracket', 0xeb0f),\n kebabVertical: register('kebab-vertical', 0xeb10),\n key: register('key', 0xeb11),\n law: register('law', 0xeb12),\n lightbulbAutofix: register('lightbulb-autofix', 0xeb13),\n linkExternal: register('link-external', 0xeb14),\n link: register('link', 0xeb15),\n listOrdered: register('list-ordered', 0xeb16),\n listUnordered: register('list-unordered', 0xeb17),\n liveShare: register('live-share', 0xeb18),\n loading: register('loading', 0xeb19),\n location: register('location', 0xeb1a),\n mailRead: register('mail-read', 0xeb1b),\n mail: register('mail', 0xeb1c),\n markdown: register('markdown', 0xeb1d),\n megaphone: register('megaphone', 0xeb1e),\n mention: register('mention', 0xeb1f),\n milestone: register('milestone', 0xeb20),\n gitPullRequestMilestone: register('git-pull-request-milestone', 0xeb20),\n mortarBoard: register('mortar-board', 0xeb21),\n move: register('move', 0xeb22),\n multipleWindows: register('multiple-windows', 0xeb23),\n mute: register('mute', 0xeb24),\n noNewline: register('no-newline', 0xeb25),\n note: register('note', 0xeb26),\n octoface: register('octoface', 0xeb27),\n openPreview: register('open-preview', 0xeb28),\n package: register('package', 0xeb29),\n paintcan: register('paintcan', 0xeb2a),\n pin: register('pin', 0xeb2b),\n play: register('play', 0xeb2c),\n run: register('run', 0xeb2c),\n plug: register('plug', 0xeb2d),\n preserveCase: register('preserve-case', 0xeb2e),\n preview: register('preview', 0xeb2f),\n project: register('project', 0xeb30),\n pulse: register('pulse', 0xeb31),\n question: register('question', 0xeb32),\n quote: register('quote', 0xeb33),\n radioTower: register('radio-tower', 0xeb34),\n reactions: register('reactions', 0xeb35),\n references: register('references', 0xeb36),\n refresh: register('refresh', 0xeb37),\n regex: register('regex', 0xeb38),\n remoteExplorer: register('remote-explorer', 0xeb39),\n remote: register('remote', 0xeb3a),\n remove: register('remove', 0xeb3b),\n replaceAll: register('replace-all', 0xeb3c),\n replace: register('replace', 0xeb3d),\n repoClone: register('repo-clone', 0xeb3e),\n repoForcePush: register('repo-force-push', 0xeb3f),\n repoPull: register('repo-pull', 0xeb40),\n repoPush: register('repo-push', 0xeb41),\n report: register('report', 0xeb42),\n requestChanges: register('request-changes', 0xeb43),\n rocket: register('rocket', 0xeb44),\n rootFolderOpened: register('root-folder-opened', 0xeb45),\n rootFolder: register('root-folder', 0xeb46),\n rss: register('rss', 0xeb47),\n ruby: register('ruby', 0xeb48),\n saveAll: register('save-all', 0xeb49),\n saveAs: register('save-as', 0xeb4a),\n save: register('save', 0xeb4b),\n screenFull: register('screen-full', 0xeb4c),\n screenNormal: register('screen-normal', 0xeb4d),\n searchStop: register('search-stop', 0xeb4e),\n server: register('server', 0xeb50),\n settingsGear: register('settings-gear', 0xeb51),\n settings: register('settings', 0xeb52),\n shield: register('shield', 0xeb53),\n smiley: register('smiley', 0xeb54),\n sortPrecedence: register('sort-precedence', 0xeb55),\n splitHorizontal: register('split-horizontal', 0xeb56),\n splitVertical: register('split-vertical', 0xeb57),\n squirrel: register('squirrel', 0xeb58),\n starFull: register('star-full', 0xeb59),\n starHalf: register('star-half', 0xeb5a),\n symbolClass: register('symbol-class', 0xeb5b),\n symbolColor: register('symbol-color', 0xeb5c),\n symbolCustomColor: register('symbol-customcolor', 0xeb5c),\n symbolConstant: register('symbol-constant', 0xeb5d),\n symbolEnumMember: register('symbol-enum-member', 0xeb5e),\n symbolField: register('symbol-field', 0xeb5f),\n symbolFile: register('symbol-file', 0xeb60),\n symbolInterface: register('symbol-interface', 0xeb61),\n symbolKeyword: register('symbol-keyword', 0xeb62),\n symbolMisc: register('symbol-misc', 0xeb63),\n symbolOperator: register('symbol-operator', 0xeb64),\n symbolProperty: register('symbol-property', 0xeb65),\n wrench: register('wrench', 0xeb65),\n wrenchSubaction: register('wrench-subaction', 0xeb65),\n symbolSnippet: register('symbol-snippet', 0xeb66),\n tasklist: register('tasklist', 0xeb67),\n telescope: register('telescope', 0xeb68),\n textSize: register('text-size', 0xeb69),\n threeBars: register('three-bars', 0xeb6a),\n thumbsdown: register('thumbsdown', 0xeb6b),\n thumbsup: register('thumbsup', 0xeb6c),\n tools: register('tools', 0xeb6d),\n triangleDown: register('triangle-down', 0xeb6e),\n triangleLeft: register('triangle-left', 0xeb6f),\n triangleRight: register('triangle-right', 0xeb70),\n triangleUp: register('triangle-up', 0xeb71),\n twitter: register('twitter', 0xeb72),\n unfold: register('unfold', 0xeb73),\n unlock: register('unlock', 0xeb74),\n unmute: register('unmute', 0xeb75),\n unverified: register('unverified', 0xeb76),\n verified: register('verified', 0xeb77),\n versions: register('versions', 0xeb78),\n vmActive: register('vm-active', 0xeb79),\n vmOutline: register('vm-outline', 0xeb7a),\n vmRunning: register('vm-running', 0xeb7b),\n watch: register('watch', 0xeb7c),\n whitespace: register('whitespace', 0xeb7d),\n wholeWord: register('whole-word', 0xeb7e),\n window: register('window', 0xeb7f),\n wordWrap: register('word-wrap', 0xeb80),\n zoomIn: register('zoom-in', 0xeb81),\n zoomOut: register('zoom-out', 0xeb82),\n listFilter: register('list-filter', 0xeb83),\n listFlat: register('list-flat', 0xeb84),\n listSelection: register('list-selection', 0xeb85),\n selection: register('selection', 0xeb85),\n listTree: register('list-tree', 0xeb86),\n debugBreakpointFunctionUnverified: register('debug-breakpoint-function-unverified', 0xeb87),\n debugBreakpointFunction: register('debug-breakpoint-function', 0xeb88),\n debugBreakpointFunctionDisabled: register('debug-breakpoint-function-disabled', 0xeb88),\n debugStackframeActive: register('debug-stackframe-active', 0xeb89),\n circleSmallFilled: register('circle-small-filled', 0xeb8a),\n debugStackframeDot: register('debug-stackframe-dot', 0xeb8a),\n debugStackframe: register('debug-stackframe', 0xeb8b),\n debugStackframeFocused: register('debug-stackframe-focused', 0xeb8b),\n debugBreakpointUnsupported: register('debug-breakpoint-unsupported', 0xeb8c),\n symbolString: register('symbol-string', 0xeb8d),\n debugReverseContinue: register('debug-reverse-continue', 0xeb8e),\n debugStepBack: register('debug-step-back', 0xeb8f),\n debugRestartFrame: register('debug-restart-frame', 0xeb90),\n callIncoming: register('call-incoming', 0xeb92),\n callOutgoing: register('call-outgoing', 0xeb93),\n menu: register('menu', 0xeb94),\n expandAll: register('expand-all', 0xeb95),\n feedback: register('feedback', 0xeb96),\n gitPullRequestReviewer: register('git-pull-request-reviewer', 0xeb96),\n groupByRefType: register('group-by-ref-type', 0xeb97),\n ungroupByRefType: register('ungroup-by-ref-type', 0xeb98),\n account: register('account', 0xeb99),\n gitPullRequestAssignee: register('git-pull-request-assignee', 0xeb99),\n bellDot: register('bell-dot', 0xeb9a),\n debugConsole: register('debug-console', 0xeb9b),\n library: register('library', 0xeb9c),\n output: register('output', 0xeb9d),\n runAll: register('run-all', 0xeb9e),\n syncIgnored: register('sync-ignored', 0xeb9f),\n pinned: register('pinned', 0xeba0),\n githubInverted: register('github-inverted', 0xeba1),\n debugAlt: register('debug-alt', 0xeb91),\n serverProcess: register('server-process', 0xeba2),\n serverEnvironment: register('server-environment', 0xeba3),\n pass: register('pass', 0xeba4),\n stopCircle: register('stop-circle', 0xeba5),\n playCircle: register('play-circle', 0xeba6),\n record: register('record', 0xeba7),\n debugAltSmall: register('debug-alt-small', 0xeba8),\n vmConnect: register('vm-connect', 0xeba9),\n cloud: register('cloud', 0xebaa),\n merge: register('merge', 0xebab),\n exportIcon: register('export', 0xebac),\n graphLeft: register('graph-left', 0xebad),\n magnet: register('magnet', 0xebae),\n notebook: register('notebook', 0xebaf),\n redo: register('redo', 0xebb0),\n checkAll: register('check-all', 0xebb1),\n pinnedDirty: register('pinned-dirty', 0xebb2),\n passFilled: register('pass-filled', 0xebb3),\n circleLargeFilled: register('circle-large-filled', 0xebb4),\n circleLarge: register('circle-large', 0xebb5),\n circleLargeOutline: register('circle-large-outline', 0xebb5),\n combine: register('combine', 0xebb6),\n gather: register('gather', 0xebb6),\n table: register('table', 0xebb7),\n variableGroup: register('variable-group', 0xebb8),\n typeHierarchy: register('type-hierarchy', 0xebb9),\n typeHierarchySub: register('type-hierarchy-sub', 0xebba),\n typeHierarchySuper: register('type-hierarchy-super', 0xebbb),\n gitPullRequestCreate: register('git-pull-request-create', 0xebbc),\n runAbove: register('run-above', 0xebbd),\n runBelow: register('run-below', 0xebbe),\n notebookTemplate: register('notebook-template', 0xebbf),\n debugRerun: register('debug-rerun', 0xebc0),\n workspaceTrusted: register('workspace-trusted', 0xebc1),\n workspaceUntrusted: register('workspace-untrusted', 0xebc2),\n workspaceUnspecified: register('workspace-unspecified', 0xebc3),\n terminalCmd: register('terminal-cmd', 0xebc4),\n terminalDebian: register('terminal-debian', 0xebc5),\n terminalLinux: register('terminal-linux', 0xebc6),\n terminalPowershell: register('terminal-powershell', 0xebc7),\n terminalTmux: register('terminal-tmux', 0xebc8),\n terminalUbuntu: register('terminal-ubuntu', 0xebc9),\n terminalBash: register('terminal-bash', 0xebca),\n arrowSwap: register('arrow-swap', 0xebcb),\n copy: register('copy', 0xebcc),\n personAdd: register('person-add', 0xebcd),\n filterFilled: register('filter-filled', 0xebce),\n wand: register('wand', 0xebcf),\n debugLineByLine: register('debug-line-by-line', 0xebd0),\n inspect: register('inspect', 0xebd1),\n layers: register('layers', 0xebd2),\n layersDot: register('layers-dot', 0xebd3),\n layersActive: register('layers-active', 0xebd4),\n compass: register('compass', 0xebd5),\n compassDot: register('compass-dot', 0xebd6),\n compassActive: register('compass-active', 0xebd7),\n azure: register('azure', 0xebd8),\n issueDraft: register('issue-draft', 0xebd9),\n gitPullRequestClosed: register('git-pull-request-closed', 0xebda),\n gitPullRequestDraft: register('git-pull-request-draft', 0xebdb),\n debugAll: register('debug-all', 0xebdc),\n debugCoverage: register('debug-coverage', 0xebdd),\n runErrors: register('run-errors', 0xebde),\n folderLibrary: register('folder-library', 0xebdf),\n debugContinueSmall: register('debug-continue-small', 0xebe0),\n beakerStop: register('beaker-stop', 0xebe1),\n graphLine: register('graph-line', 0xebe2),\n graphScatter: register('graph-scatter', 0xebe3),\n pieChart: register('pie-chart', 0xebe4),\n bracketDot: register('bracket-dot', 0xebe5),\n bracketError: register('bracket-error', 0xebe6),\n lockSmall: register('lock-small', 0xebe7),\n azureDevops: register('azure-devops', 0xebe8),\n verifiedFilled: register('verified-filled', 0xebe9),\n newLine: register('newline', 0xebea),\n layout: register('layout', 0xebeb),\n layoutActivitybarLeft: register('layout-activitybar-left', 0xebec),\n layoutActivitybarRight: register('layout-activitybar-right', 0xebed),\n layoutPanelLeft: register('layout-panel-left', 0xebee),\n layoutPanelCenter: register('layout-panel-center', 0xebef),\n layoutPanelJustify: register('layout-panel-justify', 0xebf0),\n layoutPanelRight: register('layout-panel-right', 0xebf1),\n layoutPanel: register('layout-panel', 0xebf2),\n layoutSidebarLeft: register('layout-sidebar-left', 0xebf3),\n layoutSidebarRight: register('layout-sidebar-right', 0xebf4),\n layoutStatusbar: register('layout-statusbar', 0xebf5),\n layoutMenubar: register('layout-menubar', 0xebf6),\n layoutCentered: register('layout-centered', 0xebf7),\n layoutSidebarRightOff: register('layout-sidebar-right-off', 0xec00),\n layoutPanelOff: register('layout-panel-off', 0xec01),\n layoutSidebarLeftOff: register('layout-sidebar-left-off', 0xec02),\n target: register('target', 0xebf8),\n indent: register('indent', 0xebf9),\n recordSmall: register('record-small', 0xebfa),\n errorSmall: register('error-small', 0xebfb),\n arrowCircleDown: register('arrow-circle-down', 0xebfc),\n arrowCircleLeft: register('arrow-circle-left', 0xebfd),\n arrowCircleRight: register('arrow-circle-right', 0xebfe),\n arrowCircleUp: register('arrow-circle-up', 0xebff),\n heartFilled: register('heart-filled', 0xec04),\n map: register('map', 0xec05),\n mapFilled: register('map-filled', 0xec06),\n circleSmall: register('circle-small', 0xec07),\n bellSlash: register('bell-slash', 0xec08),\n bellSlashDot: register('bell-slash-dot', 0xec09),\n commentUnresolved: register('comment-unresolved', 0xec0a),\n gitPullRequestGoToChanges: register('git-pull-request-go-to-changes', 0xec0b),\n gitPullRequestNewChanges: register('git-pull-request-new-changes', 0xec0c),\n searchFuzzy: register('search-fuzzy', 0xec0d),\n commentDraft: register('comment-draft', 0xec0e),\n send: register('send', 0xec0f),\n sparkle: register('sparkle', 0xec10),\n insert: register('insert', 0xec11),\n mic: register('mic', 0xec12),\n thumbsDownFilled: register('thumbsdown-filled', 0xec13),\n thumbsUpFilled: register('thumbsup-filled', 0xec14),\n coffee: register('coffee', 0xec15),\n snake: register('snake', 0xec16),\n game: register('game', 0xec17),\n vr: register('vr', 0xec18),\n chip: register('chip', 0xec19),\n piano: register('piano', 0xec1a),\n music: register('music', 0xec1b),\n micFilled: register('mic-filled', 0xec1c),\n gitFetch: register('git-fetch', 0xec1d),\n copilot: register('copilot', 0xec1e),\n lightbulbSparkle: register('lightbulb-sparkle', 0xec1f),\n lightbulbSparkleAutofix: register('lightbulb-sparkle-autofix', 0xec1f),\n robot: register('robot', 0xec20),\n sparkleFilled: register('sparkle-filled', 0xec21),\n diffSingle: register('diff-single', 0xec22),\n diffMultiple: register('diff-multiple', 0xec23),\n // derived icons, that could become separate icons\n dialogError: register('dialog-error', 'error'),\n dialogWarning: register('dialog-warning', 'warning'),\n dialogInfo: register('dialog-info', 'info'),\n dialogClose: register('dialog-close', 'close'),\n treeItemExpanded: register('tree-item-expanded', 'chevron-down'), // collapsed is done with rotation\n treeFilterOnTypeOn: register('tree-filter-on-type-on', 'list-filter'),\n treeFilterOnTypeOff: register('tree-filter-on-type-off', 'list-selection'),\n treeFilterClear: register('tree-filter-clear', 'close'),\n treeItemLoading: register('tree-item-loading', 'loading'),\n menuSelection: register('menu-selection', 'check'),\n menuSubmenu: register('menu-submenu', 'chevron-right'),\n menuBarMore: register('menubar-more', 'more'),\n scrollbarButtonLeft: register('scrollbar-button-left', 'triangle-left'),\n scrollbarButtonRight: register('scrollbar-button-right', 'triangle-right'),\n scrollbarButtonUp: register('scrollbar-button-up', 'triangle-up'),\n scrollbarButtonDown: register('scrollbar-button-down', 'triangle-down'),\n toolBarMore: register('toolbar-more', 'more'),\n quickInputBack: register('quick-input-back', 'arrow-left')\n};\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/codicons.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/collections.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/collections.js ***!
+ \**********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ diffSets: () => (/* binding */ diffSets),\n/* harmony export */ intersection: () => (/* binding */ intersection)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction diffSets(before, after) {\n const removed = [];\n const added = [];\n for (const element of before) {\n if (!after.has(element)) {\n removed.push(element);\n }\n }\n for (const element of after) {\n if (!before.has(element)) {\n added.push(element);\n }\n }\n return { removed, added };\n}\n/**\n * Computes the intersection of two sets.\n *\n * @param setA - The first set.\n * @param setB - The second iterable.\n * @returns A new set containing the elements that are in both `setA` and `setB`.\n */\nfunction intersection(setA, setB) {\n const result = new Set();\n for (const elem of setB) {\n if (setA.has(elem)) {\n result.add(elem);\n }\n }\n return result;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/collections.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/color.js":
+/*!****************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/color.js ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Color: () => (/* binding */ Color),\n/* harmony export */ HSLA: () => (/* binding */ HSLA),\n/* harmony export */ HSVA: () => (/* binding */ HSVA),\n/* harmony export */ RGBA: () => (/* binding */ RGBA)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction roundFloat(number, decimalPoints) {\n const decimal = Math.pow(10, decimalPoints);\n return Math.round(number * decimal) / decimal;\n}\nclass RGBA {\n constructor(r, g, b, a = 1) {\n this._rgbaBrand = undefined;\n this.r = Math.min(255, Math.max(0, r)) | 0;\n this.g = Math.min(255, Math.max(0, g)) | 0;\n this.b = Math.min(255, Math.max(0, b)) | 0;\n this.a = roundFloat(Math.max(Math.min(1, a), 0), 3);\n }\n static equals(a, b) {\n return a.r === b.r && a.g === b.g && a.b === b.b && a.a === b.a;\n }\n}\nclass HSLA {\n constructor(h, s, l, a) {\n this._hslaBrand = undefined;\n this.h = Math.max(Math.min(360, h), 0) | 0;\n this.s = roundFloat(Math.max(Math.min(1, s), 0), 3);\n this.l = roundFloat(Math.max(Math.min(1, l), 0), 3);\n this.a = roundFloat(Math.max(Math.min(1, a), 0), 3);\n }\n static equals(a, b) {\n return a.h === b.h && a.s === b.s && a.l === b.l && a.a === b.a;\n }\n /**\n * Converts an RGB color value to HSL. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\n * Assumes r, g, and b are contained in the set [0, 255] and\n * returns h in the set [0, 360], s, and l in the set [0, 1].\n */\n static fromRGBA(rgba) {\n const r = rgba.r / 255;\n const g = rgba.g / 255;\n const b = rgba.b / 255;\n const a = rgba.a;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0;\n let s = 0;\n const l = (min + max) / 2;\n const chroma = max - min;\n if (chroma > 0) {\n s = Math.min((l <= 0.5 ? chroma / (2 * l) : chroma / (2 - (2 * l))), 1);\n switch (max) {\n case r:\n h = (g - b) / chroma + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / chroma + 2;\n break;\n case b:\n h = (r - g) / chroma + 4;\n break;\n }\n h *= 60;\n h = Math.round(h);\n }\n return new HSLA(h, s, l, a);\n }\n static _hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n }\n /**\n * Converts an HSL color value to RGB. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\n * Assumes h in the set [0, 360] s, and l are contained in the set [0, 1] and\n * returns r, g, and b in the set [0, 255].\n */\n static toRGBA(hsla) {\n const h = hsla.h / 360;\n const { s, l, a } = hsla;\n let r, g, b;\n if (s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n r = HSLA._hue2rgb(p, q, h + 1 / 3);\n g = HSLA._hue2rgb(p, q, h);\n b = HSLA._hue2rgb(p, q, h - 1 / 3);\n }\n return new RGBA(Math.round(r * 255), Math.round(g * 255), Math.round(b * 255), a);\n }\n}\nclass HSVA {\n constructor(h, s, v, a) {\n this._hsvaBrand = undefined;\n this.h = Math.max(Math.min(360, h), 0) | 0;\n this.s = roundFloat(Math.max(Math.min(1, s), 0), 3);\n this.v = roundFloat(Math.max(Math.min(1, v), 0), 3);\n this.a = roundFloat(Math.max(Math.min(1, a), 0), 3);\n }\n static equals(a, b) {\n return a.h === b.h && a.s === b.s && a.v === b.v && a.a === b.a;\n }\n // from http://www.rapidtables.com/convert/color/rgb-to-hsv.htm\n static fromRGBA(rgba) {\n const r = rgba.r / 255;\n const g = rgba.g / 255;\n const b = rgba.b / 255;\n const cmax = Math.max(r, g, b);\n const cmin = Math.min(r, g, b);\n const delta = cmax - cmin;\n const s = cmax === 0 ? 0 : (delta / cmax);\n let m;\n if (delta === 0) {\n m = 0;\n }\n else if (cmax === r) {\n m = ((((g - b) / delta) % 6) + 6) % 6;\n }\n else if (cmax === g) {\n m = ((b - r) / delta) + 2;\n }\n else {\n m = ((r - g) / delta) + 4;\n }\n return new HSVA(Math.round(m * 60), s, cmax, rgba.a);\n }\n // from http://www.rapidtables.com/convert/color/hsv-to-rgb.htm\n static toRGBA(hsva) {\n const { h, s, v, a } = hsva;\n const c = v * s;\n const x = c * (1 - Math.abs((h / 60) % 2 - 1));\n const m = v - c;\n let [r, g, b] = [0, 0, 0];\n if (h < 60) {\n r = c;\n g = x;\n }\n else if (h < 120) {\n r = x;\n g = c;\n }\n else if (h < 180) {\n g = c;\n b = x;\n }\n else if (h < 240) {\n g = x;\n b = c;\n }\n else if (h < 300) {\n r = x;\n b = c;\n }\n else if (h <= 360) {\n r = c;\n b = x;\n }\n r = Math.round((r + m) * 255);\n g = Math.round((g + m) * 255);\n b = Math.round((b + m) * 255);\n return new RGBA(r, g, b, a);\n }\n}\nclass Color {\n static fromHex(hex) {\n return Color.Format.CSS.parseHex(hex) || Color.red;\n }\n static equals(a, b) {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return a.equals(b);\n }\n get hsla() {\n if (this._hsla) {\n return this._hsla;\n }\n else {\n return HSLA.fromRGBA(this.rgba);\n }\n }\n get hsva() {\n if (this._hsva) {\n return this._hsva;\n }\n return HSVA.fromRGBA(this.rgba);\n }\n constructor(arg) {\n if (!arg) {\n throw new Error('Color needs a value');\n }\n else if (arg instanceof RGBA) {\n this.rgba = arg;\n }\n else if (arg instanceof HSLA) {\n this._hsla = arg;\n this.rgba = HSLA.toRGBA(arg);\n }\n else if (arg instanceof HSVA) {\n this._hsva = arg;\n this.rgba = HSVA.toRGBA(arg);\n }\n else {\n throw new Error('Invalid color ctor argument');\n }\n }\n equals(other) {\n return !!other && RGBA.equals(this.rgba, other.rgba) && HSLA.equals(this.hsla, other.hsla) && HSVA.equals(this.hsva, other.hsva);\n }\n /**\n * http://www.w3.org/TR/WCAG20/#relativeluminancedef\n * Returns the number in the set [0, 1]. O => Darkest Black. 1 => Lightest white.\n */\n getRelativeLuminance() {\n const R = Color._relativeLuminanceForComponent(this.rgba.r);\n const G = Color._relativeLuminanceForComponent(this.rgba.g);\n const B = Color._relativeLuminanceForComponent(this.rgba.b);\n const luminance = 0.2126 * R + 0.7152 * G + 0.0722 * B;\n return roundFloat(luminance, 4);\n }\n static _relativeLuminanceForComponent(color) {\n const c = color / 255;\n return (c <= 0.03928) ? c / 12.92 : Math.pow(((c + 0.055) / 1.055), 2.4);\n }\n /**\n *\thttp://24ways.org/2010/calculating-color-contrast\n * Return 'true' if lighter color otherwise 'false'\n */\n isLighter() {\n const yiq = (this.rgba.r * 299 + this.rgba.g * 587 + this.rgba.b * 114) / 1000;\n return yiq >= 128;\n }\n isLighterThan(another) {\n const lum1 = this.getRelativeLuminance();\n const lum2 = another.getRelativeLuminance();\n return lum1 > lum2;\n }\n isDarkerThan(another) {\n const lum1 = this.getRelativeLuminance();\n const lum2 = another.getRelativeLuminance();\n return lum1 < lum2;\n }\n lighten(factor) {\n return new Color(new HSLA(this.hsla.h, this.hsla.s, this.hsla.l + this.hsla.l * factor, this.hsla.a));\n }\n darken(factor) {\n return new Color(new HSLA(this.hsla.h, this.hsla.s, this.hsla.l - this.hsla.l * factor, this.hsla.a));\n }\n transparent(factor) {\n const { r, g, b, a } = this.rgba;\n return new Color(new RGBA(r, g, b, a * factor));\n }\n isTransparent() {\n return this.rgba.a === 0;\n }\n isOpaque() {\n return this.rgba.a === 1;\n }\n opposite() {\n return new Color(new RGBA(255 - this.rgba.r, 255 - this.rgba.g, 255 - this.rgba.b, this.rgba.a));\n }\n makeOpaque(opaqueBackground) {\n if (this.isOpaque() || opaqueBackground.rgba.a !== 1) {\n // only allow to blend onto a non-opaque color onto a opaque color\n return this;\n }\n const { r, g, b, a } = this.rgba;\n // https://stackoverflow.com/questions/12228548/finding-equivalent-color-with-opacity\n return new Color(new RGBA(opaqueBackground.rgba.r - a * (opaqueBackground.rgba.r - r), opaqueBackground.rgba.g - a * (opaqueBackground.rgba.g - g), opaqueBackground.rgba.b - a * (opaqueBackground.rgba.b - b), 1));\n }\n toString() {\n if (!this._toString) {\n this._toString = Color.Format.CSS.format(this);\n }\n return this._toString;\n }\n static getLighterColor(of, relative, factor) {\n if (of.isLighterThan(relative)) {\n return of;\n }\n factor = factor ? factor : 0.5;\n const lum1 = of.getRelativeLuminance();\n const lum2 = relative.getRelativeLuminance();\n factor = factor * (lum2 - lum1) / lum2;\n return of.lighten(factor);\n }\n static getDarkerColor(of, relative, factor) {\n if (of.isDarkerThan(relative)) {\n return of;\n }\n factor = factor ? factor : 0.5;\n const lum1 = of.getRelativeLuminance();\n const lum2 = relative.getRelativeLuminance();\n factor = factor * (lum1 - lum2) / lum1;\n return of.darken(factor);\n }\n}\nColor.white = new Color(new RGBA(255, 255, 255, 1));\nColor.black = new Color(new RGBA(0, 0, 0, 1));\nColor.red = new Color(new RGBA(255, 0, 0, 1));\nColor.blue = new Color(new RGBA(0, 0, 255, 1));\nColor.green = new Color(new RGBA(0, 255, 0, 1));\nColor.cyan = new Color(new RGBA(0, 255, 255, 1));\nColor.lightgrey = new Color(new RGBA(211, 211, 211, 1));\nColor.transparent = new Color(new RGBA(0, 0, 0, 0));\n(function (Color) {\n let Format;\n (function (Format) {\n let CSS;\n (function (CSS) {\n function formatRGB(color) {\n if (color.rgba.a === 1) {\n return `rgb(${color.rgba.r}, ${color.rgba.g}, ${color.rgba.b})`;\n }\n return Color.Format.CSS.formatRGBA(color);\n }\n CSS.formatRGB = formatRGB;\n function formatRGBA(color) {\n return `rgba(${color.rgba.r}, ${color.rgba.g}, ${color.rgba.b}, ${+(color.rgba.a).toFixed(2)})`;\n }\n CSS.formatRGBA = formatRGBA;\n function formatHSL(color) {\n if (color.hsla.a === 1) {\n return `hsl(${color.hsla.h}, ${(color.hsla.s * 100).toFixed(2)}%, ${(color.hsla.l * 100).toFixed(2)}%)`;\n }\n return Color.Format.CSS.formatHSLA(color);\n }\n CSS.formatHSL = formatHSL;\n function formatHSLA(color) {\n return `hsla(${color.hsla.h}, ${(color.hsla.s * 100).toFixed(2)}%, ${(color.hsla.l * 100).toFixed(2)}%, ${color.hsla.a.toFixed(2)})`;\n }\n CSS.formatHSLA = formatHSLA;\n function _toTwoDigitHex(n) {\n const r = n.toString(16);\n return r.length !== 2 ? '0' + r : r;\n }\n /**\n * Formats the color as #RRGGBB\n */\n function formatHex(color) {\n return `#${_toTwoDigitHex(color.rgba.r)}${_toTwoDigitHex(color.rgba.g)}${_toTwoDigitHex(color.rgba.b)}`;\n }\n CSS.formatHex = formatHex;\n /**\n * Formats the color as #RRGGBBAA\n * If 'compact' is set, colors without transparancy will be printed as #RRGGBB\n */\n function formatHexA(color, compact = false) {\n if (compact && color.rgba.a === 1) {\n return Color.Format.CSS.formatHex(color);\n }\n return `#${_toTwoDigitHex(color.rgba.r)}${_toTwoDigitHex(color.rgba.g)}${_toTwoDigitHex(color.rgba.b)}${_toTwoDigitHex(Math.round(color.rgba.a * 255))}`;\n }\n CSS.formatHexA = formatHexA;\n /**\n * The default format will use HEX if opaque and RGBA otherwise.\n */\n function format(color) {\n if (color.isOpaque()) {\n return Color.Format.CSS.formatHex(color);\n }\n return Color.Format.CSS.formatRGBA(color);\n }\n CSS.format = format;\n /**\n * Converts an Hex color value to a Color.\n * returns r, g, and b are contained in the set [0, 255]\n * @param hex string (#RGB, #RGBA, #RRGGBB or #RRGGBBAA).\n */\n function parseHex(hex) {\n const length = hex.length;\n if (length === 0) {\n // Invalid color\n return null;\n }\n if (hex.charCodeAt(0) !== 35 /* CharCode.Hash */) {\n // Does not begin with a #\n return null;\n }\n if (length === 7) {\n // #RRGGBB format\n const r = 16 * _parseHexDigit(hex.charCodeAt(1)) + _parseHexDigit(hex.charCodeAt(2));\n const g = 16 * _parseHexDigit(hex.charCodeAt(3)) + _parseHexDigit(hex.charCodeAt(4));\n const b = 16 * _parseHexDigit(hex.charCodeAt(5)) + _parseHexDigit(hex.charCodeAt(6));\n return new Color(new RGBA(r, g, b, 1));\n }\n if (length === 9) {\n // #RRGGBBAA format\n const r = 16 * _parseHexDigit(hex.charCodeAt(1)) + _parseHexDigit(hex.charCodeAt(2));\n const g = 16 * _parseHexDigit(hex.charCodeAt(3)) + _parseHexDigit(hex.charCodeAt(4));\n const b = 16 * _parseHexDigit(hex.charCodeAt(5)) + _parseHexDigit(hex.charCodeAt(6));\n const a = 16 * _parseHexDigit(hex.charCodeAt(7)) + _parseHexDigit(hex.charCodeAt(8));\n return new Color(new RGBA(r, g, b, a / 255));\n }\n if (length === 4) {\n // #RGB format\n const r = _parseHexDigit(hex.charCodeAt(1));\n const g = _parseHexDigit(hex.charCodeAt(2));\n const b = _parseHexDigit(hex.charCodeAt(3));\n return new Color(new RGBA(16 * r + r, 16 * g + g, 16 * b + b));\n }\n if (length === 5) {\n // #RGBA format\n const r = _parseHexDigit(hex.charCodeAt(1));\n const g = _parseHexDigit(hex.charCodeAt(2));\n const b = _parseHexDigit(hex.charCodeAt(3));\n const a = _parseHexDigit(hex.charCodeAt(4));\n return new Color(new RGBA(16 * r + r, 16 * g + g, 16 * b + b, (16 * a + a) / 255));\n }\n // Invalid color\n return null;\n }\n CSS.parseHex = parseHex;\n function _parseHexDigit(charCode) {\n switch (charCode) {\n case 48 /* CharCode.Digit0 */: return 0;\n case 49 /* CharCode.Digit1 */: return 1;\n case 50 /* CharCode.Digit2 */: return 2;\n case 51 /* CharCode.Digit3 */: return 3;\n case 52 /* CharCode.Digit4 */: return 4;\n case 53 /* CharCode.Digit5 */: return 5;\n case 54 /* CharCode.Digit6 */: return 6;\n case 55 /* CharCode.Digit7 */: return 7;\n case 56 /* CharCode.Digit8 */: return 8;\n case 57 /* CharCode.Digit9 */: return 9;\n case 97 /* CharCode.a */: return 10;\n case 65 /* CharCode.A */: return 10;\n case 98 /* CharCode.b */: return 11;\n case 66 /* CharCode.B */: return 11;\n case 99 /* CharCode.c */: return 12;\n case 67 /* CharCode.C */: return 12;\n case 100 /* CharCode.d */: return 13;\n case 68 /* CharCode.D */: return 13;\n case 101 /* CharCode.e */: return 14;\n case 69 /* CharCode.E */: return 14;\n case 102 /* CharCode.f */: return 15;\n case 70 /* CharCode.F */: return 15;\n }\n return 0;\n }\n })(CSS = Format.CSS || (Format.CSS = {}));\n })(Format = Color.Format || (Color.Format = {}));\n})(Color || (Color = {}));\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/color.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/comparers.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/comparers.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ compareAnything: () => (/* binding */ compareAnything),\n/* harmony export */ compareByPrefix: () => (/* binding */ compareByPrefix),\n/* harmony export */ compareFileNames: () => (/* binding */ compareFileNames)\n/* harmony export */ });\n/* harmony import */ var _lazy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lazy.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lazy.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n// When comparing large numbers of strings it's better for performance to create an\n// Intl.Collator object and use the function provided by its compare property\n// than it is to use String.prototype.localeCompare()\n// A collator with numeric sorting enabled, and no sensitivity to case, accents or diacritics.\nconst intlFileNameCollatorBaseNumeric = new _lazy_js__WEBPACK_IMPORTED_MODULE_0__.Lazy(() => {\n const collator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' });\n return {\n collator,\n collatorIsNumeric: collator.resolvedOptions().numeric\n };\n});\n// A collator with numeric sorting enabled.\nconst intlFileNameCollatorNumeric = new _lazy_js__WEBPACK_IMPORTED_MODULE_0__.Lazy(() => {\n const collator = new Intl.Collator(undefined, { numeric: true });\n return {\n collator\n };\n});\n// A collator with numeric sorting enabled, and sensitivity to accents and diacritics but not case.\nconst intlFileNameCollatorNumericCaseInsensitive = new _lazy_js__WEBPACK_IMPORTED_MODULE_0__.Lazy(() => {\n const collator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'accent' });\n return {\n collator\n };\n});\n/** Compares filenames without distinguishing the name from the extension. Disambiguates by unicode comparison. */\nfunction compareFileNames(one, other, caseSensitive = false) {\n const a = one || '';\n const b = other || '';\n const result = intlFileNameCollatorBaseNumeric.value.collator.compare(a, b);\n // Using the numeric option will make compare(`foo1`, `foo01`) === 0. Disambiguate.\n if (intlFileNameCollatorBaseNumeric.value.collatorIsNumeric && result === 0 && a !== b) {\n return a < b ? -1 : 1;\n }\n return result;\n}\nfunction compareAnything(one, other, lookFor) {\n const elementAName = one.toLowerCase();\n const elementBName = other.toLowerCase();\n // Sort prefix matches over non prefix matches\n const prefixCompare = compareByPrefix(one, other, lookFor);\n if (prefixCompare) {\n return prefixCompare;\n }\n // Sort suffix matches over non suffix matches\n const elementASuffixMatch = elementAName.endsWith(lookFor);\n const elementBSuffixMatch = elementBName.endsWith(lookFor);\n if (elementASuffixMatch !== elementBSuffixMatch) {\n return elementASuffixMatch ? -1 : 1;\n }\n // Understand file names\n const r = compareFileNames(elementAName, elementBName);\n if (r !== 0) {\n return r;\n }\n // Compare by name\n return elementAName.localeCompare(elementBName);\n}\nfunction compareByPrefix(one, other, lookFor) {\n const elementAName = one.toLowerCase();\n const elementBName = other.toLowerCase();\n // Sort prefix matches over non prefix matches\n const elementAPrefixMatch = elementAName.startsWith(lookFor);\n const elementBPrefixMatch = elementBName.startsWith(lookFor);\n if (elementAPrefixMatch !== elementBPrefixMatch) {\n return elementAPrefixMatch ? -1 : 1;\n }\n // Same prefix: Sort shorter matches to the top to have those on top that match more precisely\n else if (elementAPrefixMatch && elementBPrefixMatch) {\n if (elementAName.length < elementBName.length) {\n return -1;\n }\n if (elementAName.length > elementBName.length) {\n return 1;\n }\n }\n return 0;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/comparers.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/dataTransfer.js":
+/*!***********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/dataTransfer.js ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ UriList: () => (/* binding */ UriList),\n/* harmony export */ VSDataTransfer: () => (/* binding */ VSDataTransfer),\n/* harmony export */ createFileDataTransferItem: () => (/* binding */ createFileDataTransferItem),\n/* harmony export */ createStringDataTransferItem: () => (/* binding */ createStringDataTransferItem),\n/* harmony export */ matchesMimeType: () => (/* binding */ matchesMimeType)\n/* harmony export */ });\n/* harmony import */ var _arrays_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _iterator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n/* harmony import */ var _uuid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./uuid.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uuid.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\nfunction createStringDataTransferItem(stringOrPromise) {\n return {\n asString: async () => stringOrPromise,\n asFile: () => undefined,\n value: typeof stringOrPromise === 'string' ? stringOrPromise : undefined,\n };\n}\nfunction createFileDataTransferItem(fileName, uri, data) {\n const file = { id: (0,_uuid_js__WEBPACK_IMPORTED_MODULE_2__.generateUuid)(), name: fileName, uri, data };\n return {\n asString: async () => '',\n asFile: () => file,\n value: undefined,\n };\n}\nclass VSDataTransfer {\n constructor() {\n this._entries = new Map();\n }\n get size() {\n let size = 0;\n for (const _ of this._entries) {\n size++;\n }\n return size;\n }\n has(mimeType) {\n return this._entries.has(this.toKey(mimeType));\n }\n matches(pattern) {\n const mimes = [...this._entries.keys()];\n if (_iterator_js__WEBPACK_IMPORTED_MODULE_1__.Iterable.some(this, ([_, item]) => item.asFile())) {\n mimes.push('files');\n }\n return matchesMimeType_normalized(normalizeMimeType(pattern), mimes);\n }\n get(mimeType) {\n var _a;\n return (_a = this._entries.get(this.toKey(mimeType))) === null || _a === void 0 ? void 0 : _a[0];\n }\n /**\n * Add a new entry to this data transfer.\n *\n * This does not replace existing entries for `mimeType`.\n */\n append(mimeType, value) {\n const existing = this._entries.get(mimeType);\n if (existing) {\n existing.push(value);\n }\n else {\n this._entries.set(this.toKey(mimeType), [value]);\n }\n }\n /**\n * Set the entry for a given mime type.\n *\n * This replaces all existing entries for `mimeType`.\n */\n replace(mimeType, value) {\n this._entries.set(this.toKey(mimeType), [value]);\n }\n /**\n * Remove all entries for `mimeType`.\n */\n delete(mimeType) {\n this._entries.delete(this.toKey(mimeType));\n }\n /**\n * Iterate over all `[mime, item]` pairs in this data transfer.\n *\n * There may be multiple entries for each mime type.\n */\n *[Symbol.iterator]() {\n for (const [mine, items] of this._entries) {\n for (const item of items) {\n yield [mine, item];\n }\n }\n }\n toKey(mimeType) {\n return normalizeMimeType(mimeType);\n }\n}\nfunction normalizeMimeType(mimeType) {\n return mimeType.toLowerCase();\n}\nfunction matchesMimeType(pattern, mimeTypes) {\n return matchesMimeType_normalized(normalizeMimeType(pattern), mimeTypes.map(normalizeMimeType));\n}\nfunction matchesMimeType_normalized(normalizedPattern, normalizedMimeTypes) {\n // Anything wildcard\n if (normalizedPattern === '*/*') {\n return normalizedMimeTypes.length > 0;\n }\n // Exact match\n if (normalizedMimeTypes.includes(normalizedPattern)) {\n return true;\n }\n // Wildcard, such as `image/*`\n const wildcard = normalizedPattern.match(/^([a-z]+)\\/([a-z]+|\\*)$/i);\n if (!wildcard) {\n return false;\n }\n const [_, type, subtype] = wildcard;\n if (subtype === '*') {\n return normalizedMimeTypes.some(mime => mime.startsWith(type + '/'));\n }\n return false;\n}\nconst UriList = Object.freeze({\n // http://amundsen.com/hypermedia/urilist/\n create: (entries) => {\n return (0,_arrays_js__WEBPACK_IMPORTED_MODULE_0__.distinct)(entries.map(x => x.toString())).join('\\r\\n');\n },\n split: (str) => {\n return str.split('\\r\\n');\n },\n parse: (str) => {\n return UriList.split(str).filter(value => !value.startsWith('#'));\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/dataTransfer.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/decorators.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/decorators.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ memoize: () => (/* binding */ memoize)\n/* harmony export */ });\nfunction memoize(_target, key, descriptor) {\n let fnKey = null;\n let fn = null;\n if (typeof descriptor.value === 'function') {\n fnKey = 'value';\n fn = descriptor.value;\n if (fn.length !== 0) {\n console.warn('Memoize should only be used in functions with zero parameters');\n }\n }\n else if (typeof descriptor.get === 'function') {\n fnKey = 'get';\n fn = descriptor.get;\n }\n if (!fn) {\n throw new Error('not supported');\n }\n const memoizeKey = `$memoize$${key}`;\n descriptor[fnKey] = function (...args) {\n if (!this.hasOwnProperty(memoizeKey)) {\n Object.defineProperty(this, memoizeKey, {\n configurable: false,\n enumerable: false,\n writable: false,\n value: fn.apply(this, args)\n });\n }\n return this[memoizeKey];\n };\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/decorators.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LcsDiff: () => (/* binding */ LcsDiff),\n/* harmony export */ StringDiffSequence: () => (/* binding */ StringDiffSequence),\n/* harmony export */ stringDiff: () => (/* binding */ stringDiff)\n/* harmony export */ });\n/* harmony import */ var _diffChange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./diffChange.js */ \"./node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js\");\n/* harmony import */ var _hash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hash.js */ \"./node_modules/monaco-editor/esm/vs/base/common/hash.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\nclass StringDiffSequence {\n constructor(source) {\n this.source = source;\n }\n getElements() {\n const source = this.source;\n const characters = new Int32Array(source.length);\n for (let i = 0, len = source.length; i < len; i++) {\n characters[i] = source.charCodeAt(i);\n }\n return characters;\n }\n}\nfunction stringDiff(original, modified, pretty) {\n return new LcsDiff(new StringDiffSequence(original), new StringDiffSequence(modified)).ComputeDiff(pretty).changes;\n}\n//\n// The code below has been ported from a C# implementation in VS\n//\nclass Debug {\n static Assert(condition, message) {\n if (!condition) {\n throw new Error(message);\n }\n }\n}\nclass MyArray {\n /**\n * Copies a range of elements from an Array starting at the specified source index and pastes\n * them to another Array starting at the specified destination index. The length and the indexes\n * are specified as 64-bit integers.\n * sourceArray:\n *\t\tThe Array that contains the data to copy.\n * sourceIndex:\n *\t\tA 64-bit integer that represents the index in the sourceArray at which copying begins.\n * destinationArray:\n *\t\tThe Array that receives the data.\n * destinationIndex:\n *\t\tA 64-bit integer that represents the index in the destinationArray at which storing begins.\n * length:\n *\t\tA 64-bit integer that represents the number of elements to copy.\n */\n static Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length) {\n for (let i = 0; i < length; i++) {\n destinationArray[destinationIndex + i] = sourceArray[sourceIndex + i];\n }\n }\n static Copy2(sourceArray, sourceIndex, destinationArray, destinationIndex, length) {\n for (let i = 0; i < length; i++) {\n destinationArray[destinationIndex + i] = sourceArray[sourceIndex + i];\n }\n }\n}\n/**\n * A utility class which helps to create the set of DiffChanges from\n * a difference operation. This class accepts original DiffElements and\n * modified DiffElements that are involved in a particular change. The\n * MarkNextChange() method can be called to mark the separation between\n * distinct changes. At the end, the Changes property can be called to retrieve\n * the constructed changes.\n */\nclass DiffChangeHelper {\n /**\n * Constructs a new DiffChangeHelper for the given DiffSequences.\n */\n constructor() {\n this.m_changes = [];\n this.m_originalStart = 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */;\n this.m_modifiedStart = 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */;\n this.m_originalCount = 0;\n this.m_modifiedCount = 0;\n }\n /**\n * Marks the beginning of the next change in the set of differences.\n */\n MarkNextChange() {\n // Only add to the list if there is something to add\n if (this.m_originalCount > 0 || this.m_modifiedCount > 0) {\n // Add the new change to our list\n this.m_changes.push(new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(this.m_originalStart, this.m_originalCount, this.m_modifiedStart, this.m_modifiedCount));\n }\n // Reset for the next change\n this.m_originalCount = 0;\n this.m_modifiedCount = 0;\n this.m_originalStart = 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */;\n this.m_modifiedStart = 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */;\n }\n /**\n * Adds the original element at the given position to the elements\n * affected by the current change. The modified index gives context\n * to the change position with respect to the original sequence.\n * @param originalIndex The index of the original element to add.\n * @param modifiedIndex The index of the modified element that provides corresponding position in the modified sequence.\n */\n AddOriginalElement(originalIndex, modifiedIndex) {\n // The 'true' start index is the smallest of the ones we've seen\n this.m_originalStart = Math.min(this.m_originalStart, originalIndex);\n this.m_modifiedStart = Math.min(this.m_modifiedStart, modifiedIndex);\n this.m_originalCount++;\n }\n /**\n * Adds the modified element at the given position to the elements\n * affected by the current change. The original index gives context\n * to the change position with respect to the modified sequence.\n * @param originalIndex The index of the original element that provides corresponding position in the original sequence.\n * @param modifiedIndex The index of the modified element to add.\n */\n AddModifiedElement(originalIndex, modifiedIndex) {\n // The 'true' start index is the smallest of the ones we've seen\n this.m_originalStart = Math.min(this.m_originalStart, originalIndex);\n this.m_modifiedStart = Math.min(this.m_modifiedStart, modifiedIndex);\n this.m_modifiedCount++;\n }\n /**\n * Retrieves all of the changes marked by the class.\n */\n getChanges() {\n if (this.m_originalCount > 0 || this.m_modifiedCount > 0) {\n // Finish up on whatever is left\n this.MarkNextChange();\n }\n return this.m_changes;\n }\n /**\n * Retrieves all of the changes marked by the class in the reverse order\n */\n getReverseChanges() {\n if (this.m_originalCount > 0 || this.m_modifiedCount > 0) {\n // Finish up on whatever is left\n this.MarkNextChange();\n }\n this.m_changes.reverse();\n return this.m_changes;\n }\n}\n/**\n * An implementation of the difference algorithm described in\n * \"An O(ND) Difference Algorithm and its variations\" by Eugene W. Myers\n */\nclass LcsDiff {\n /**\n * Constructs the DiffFinder\n */\n constructor(originalSequence, modifiedSequence, continueProcessingPredicate = null) {\n this.ContinueProcessingPredicate = continueProcessingPredicate;\n this._originalSequence = originalSequence;\n this._modifiedSequence = modifiedSequence;\n const [originalStringElements, originalElementsOrHash, originalHasStrings] = LcsDiff._getElements(originalSequence);\n const [modifiedStringElements, modifiedElementsOrHash, modifiedHasStrings] = LcsDiff._getElements(modifiedSequence);\n this._hasStrings = (originalHasStrings && modifiedHasStrings);\n this._originalStringElements = originalStringElements;\n this._originalElementsOrHash = originalElementsOrHash;\n this._modifiedStringElements = modifiedStringElements;\n this._modifiedElementsOrHash = modifiedElementsOrHash;\n this.m_forwardHistory = [];\n this.m_reverseHistory = [];\n }\n static _isStringArray(arr) {\n return (arr.length > 0 && typeof arr[0] === 'string');\n }\n static _getElements(sequence) {\n const elements = sequence.getElements();\n if (LcsDiff._isStringArray(elements)) {\n const hashes = new Int32Array(elements.length);\n for (let i = 0, len = elements.length; i < len; i++) {\n hashes[i] = (0,_hash_js__WEBPACK_IMPORTED_MODULE_1__.stringHash)(elements[i], 0);\n }\n return [elements, hashes, true];\n }\n if (elements instanceof Int32Array) {\n return [[], elements, false];\n }\n return [[], new Int32Array(elements), false];\n }\n ElementsAreEqual(originalIndex, newIndex) {\n if (this._originalElementsOrHash[originalIndex] !== this._modifiedElementsOrHash[newIndex]) {\n return false;\n }\n return (this._hasStrings ? this._originalStringElements[originalIndex] === this._modifiedStringElements[newIndex] : true);\n }\n ElementsAreStrictEqual(originalIndex, newIndex) {\n if (!this.ElementsAreEqual(originalIndex, newIndex)) {\n return false;\n }\n const originalElement = LcsDiff._getStrictElement(this._originalSequence, originalIndex);\n const modifiedElement = LcsDiff._getStrictElement(this._modifiedSequence, newIndex);\n return (originalElement === modifiedElement);\n }\n static _getStrictElement(sequence, index) {\n if (typeof sequence.getStrictElement === 'function') {\n return sequence.getStrictElement(index);\n }\n return null;\n }\n OriginalElementsAreEqual(index1, index2) {\n if (this._originalElementsOrHash[index1] !== this._originalElementsOrHash[index2]) {\n return false;\n }\n return (this._hasStrings ? this._originalStringElements[index1] === this._originalStringElements[index2] : true);\n }\n ModifiedElementsAreEqual(index1, index2) {\n if (this._modifiedElementsOrHash[index1] !== this._modifiedElementsOrHash[index2]) {\n return false;\n }\n return (this._hasStrings ? this._modifiedStringElements[index1] === this._modifiedStringElements[index2] : true);\n }\n ComputeDiff(pretty) {\n return this._ComputeDiff(0, this._originalElementsOrHash.length - 1, 0, this._modifiedElementsOrHash.length - 1, pretty);\n }\n /**\n * Computes the differences between the original and modified input\n * sequences on the bounded range.\n * @returns An array of the differences between the two input sequences.\n */\n _ComputeDiff(originalStart, originalEnd, modifiedStart, modifiedEnd, pretty) {\n const quitEarlyArr = [false];\n let changes = this.ComputeDiffRecursive(originalStart, originalEnd, modifiedStart, modifiedEnd, quitEarlyArr);\n if (pretty) {\n // We have to clean up the computed diff to be more intuitive\n // but it turns out this cannot be done correctly until the entire set\n // of diffs have been computed\n changes = this.PrettifyChanges(changes);\n }\n return {\n quitEarly: quitEarlyArr[0],\n changes: changes\n };\n }\n /**\n * Private helper method which computes the differences on the bounded range\n * recursively.\n * @returns An array of the differences between the two input sequences.\n */\n ComputeDiffRecursive(originalStart, originalEnd, modifiedStart, modifiedEnd, quitEarlyArr) {\n quitEarlyArr[0] = false;\n // Find the start of the differences\n while (originalStart <= originalEnd && modifiedStart <= modifiedEnd && this.ElementsAreEqual(originalStart, modifiedStart)) {\n originalStart++;\n modifiedStart++;\n }\n // Find the end of the differences\n while (originalEnd >= originalStart && modifiedEnd >= modifiedStart && this.ElementsAreEqual(originalEnd, modifiedEnd)) {\n originalEnd--;\n modifiedEnd--;\n }\n // In the special case where we either have all insertions or all deletions or the sequences are identical\n if (originalStart > originalEnd || modifiedStart > modifiedEnd) {\n let changes;\n if (modifiedStart <= modifiedEnd) {\n Debug.Assert(originalStart === originalEnd + 1, 'originalStart should only be one more than originalEnd');\n // All insertions\n changes = [\n new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(originalStart, 0, modifiedStart, modifiedEnd - modifiedStart + 1)\n ];\n }\n else if (originalStart <= originalEnd) {\n Debug.Assert(modifiedStart === modifiedEnd + 1, 'modifiedStart should only be one more than modifiedEnd');\n // All deletions\n changes = [\n new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, 0)\n ];\n }\n else {\n Debug.Assert(originalStart === originalEnd + 1, 'originalStart should only be one more than originalEnd');\n Debug.Assert(modifiedStart === modifiedEnd + 1, 'modifiedStart should only be one more than modifiedEnd');\n // Identical sequences - No differences\n changes = [];\n }\n return changes;\n }\n // This problem can be solved using the Divide-And-Conquer technique.\n const midOriginalArr = [0];\n const midModifiedArr = [0];\n const result = this.ComputeRecursionPoint(originalStart, originalEnd, modifiedStart, modifiedEnd, midOriginalArr, midModifiedArr, quitEarlyArr);\n const midOriginal = midOriginalArr[0];\n const midModified = midModifiedArr[0];\n if (result !== null) {\n // Result is not-null when there was enough memory to compute the changes while\n // searching for the recursion point\n return result;\n }\n else if (!quitEarlyArr[0]) {\n // We can break the problem down recursively by finding the changes in the\n // First Half: (originalStart, modifiedStart) to (midOriginal, midModified)\n // Second Half: (midOriginal + 1, minModified + 1) to (originalEnd, modifiedEnd)\n // NOTE: ComputeDiff() is inclusive, therefore the second range starts on the next point\n const leftChanges = this.ComputeDiffRecursive(originalStart, midOriginal, modifiedStart, midModified, quitEarlyArr);\n let rightChanges = [];\n if (!quitEarlyArr[0]) {\n rightChanges = this.ComputeDiffRecursive(midOriginal + 1, originalEnd, midModified + 1, modifiedEnd, quitEarlyArr);\n }\n else {\n // We didn't have time to finish the first half, so we don't have time to compute this half.\n // Consider the entire rest of the sequence different.\n rightChanges = [\n new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(midOriginal + 1, originalEnd - (midOriginal + 1) + 1, midModified + 1, modifiedEnd - (midModified + 1) + 1)\n ];\n }\n return this.ConcatenateChanges(leftChanges, rightChanges);\n }\n // If we hit here, we quit early, and so can't return anything meaningful\n return [\n new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, modifiedEnd - modifiedStart + 1)\n ];\n }\n WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr) {\n let forwardChanges = null;\n let reverseChanges = null;\n // First, walk backward through the forward diagonals history\n let changeHelper = new DiffChangeHelper();\n let diagonalMin = diagonalForwardStart;\n let diagonalMax = diagonalForwardEnd;\n let diagonalRelative = (midOriginalArr[0] - midModifiedArr[0]) - diagonalForwardOffset;\n let lastOriginalIndex = -1073741824 /* Constants.MIN_SAFE_SMALL_INTEGER */;\n let historyIndex = this.m_forwardHistory.length - 1;\n do {\n // Get the diagonal index from the relative diagonal number\n const diagonal = diagonalRelative + diagonalForwardBase;\n // Figure out where we came from\n if (diagonal === diagonalMin || (diagonal < diagonalMax && forwardPoints[diagonal - 1] < forwardPoints[diagonal + 1])) {\n // Vertical line (the element is an insert)\n originalIndex = forwardPoints[diagonal + 1];\n modifiedIndex = originalIndex - diagonalRelative - diagonalForwardOffset;\n if (originalIndex < lastOriginalIndex) {\n changeHelper.MarkNextChange();\n }\n lastOriginalIndex = originalIndex;\n changeHelper.AddModifiedElement(originalIndex + 1, modifiedIndex);\n diagonalRelative = (diagonal + 1) - diagonalForwardBase; //Setup for the next iteration\n }\n else {\n // Horizontal line (the element is a deletion)\n originalIndex = forwardPoints[diagonal - 1] + 1;\n modifiedIndex = originalIndex - diagonalRelative - diagonalForwardOffset;\n if (originalIndex < lastOriginalIndex) {\n changeHelper.MarkNextChange();\n }\n lastOriginalIndex = originalIndex - 1;\n changeHelper.AddOriginalElement(originalIndex, modifiedIndex + 1);\n diagonalRelative = (diagonal - 1) - diagonalForwardBase; //Setup for the next iteration\n }\n if (historyIndex >= 0) {\n forwardPoints = this.m_forwardHistory[historyIndex];\n diagonalForwardBase = forwardPoints[0]; //We stored this in the first spot\n diagonalMin = 1;\n diagonalMax = forwardPoints.length - 1;\n }\n } while (--historyIndex >= -1);\n // Ironically, we get the forward changes as the reverse of the\n // order we added them since we technically added them backwards\n forwardChanges = changeHelper.getReverseChanges();\n if (quitEarlyArr[0]) {\n // TODO: Calculate a partial from the reverse diagonals.\n // For now, just assume everything after the midOriginal/midModified point is a diff\n let originalStartPoint = midOriginalArr[0] + 1;\n let modifiedStartPoint = midModifiedArr[0] + 1;\n if (forwardChanges !== null && forwardChanges.length > 0) {\n const lastForwardChange = forwardChanges[forwardChanges.length - 1];\n originalStartPoint = Math.max(originalStartPoint, lastForwardChange.getOriginalEnd());\n modifiedStartPoint = Math.max(modifiedStartPoint, lastForwardChange.getModifiedEnd());\n }\n reverseChanges = [\n new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(originalStartPoint, originalEnd - originalStartPoint + 1, modifiedStartPoint, modifiedEnd - modifiedStartPoint + 1)\n ];\n }\n else {\n // Now walk backward through the reverse diagonals history\n changeHelper = new DiffChangeHelper();\n diagonalMin = diagonalReverseStart;\n diagonalMax = diagonalReverseEnd;\n diagonalRelative = (midOriginalArr[0] - midModifiedArr[0]) - diagonalReverseOffset;\n lastOriginalIndex = 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */;\n historyIndex = (deltaIsEven) ? this.m_reverseHistory.length - 1 : this.m_reverseHistory.length - 2;\n do {\n // Get the diagonal index from the relative diagonal number\n const diagonal = diagonalRelative + diagonalReverseBase;\n // Figure out where we came from\n if (diagonal === diagonalMin || (diagonal < diagonalMax && reversePoints[diagonal - 1] >= reversePoints[diagonal + 1])) {\n // Horizontal line (the element is a deletion))\n originalIndex = reversePoints[diagonal + 1] - 1;\n modifiedIndex = originalIndex - diagonalRelative - diagonalReverseOffset;\n if (originalIndex > lastOriginalIndex) {\n changeHelper.MarkNextChange();\n }\n lastOriginalIndex = originalIndex + 1;\n changeHelper.AddOriginalElement(originalIndex + 1, modifiedIndex + 1);\n diagonalRelative = (diagonal + 1) - diagonalReverseBase; //Setup for the next iteration\n }\n else {\n // Vertical line (the element is an insertion)\n originalIndex = reversePoints[diagonal - 1];\n modifiedIndex = originalIndex - diagonalRelative - diagonalReverseOffset;\n if (originalIndex > lastOriginalIndex) {\n changeHelper.MarkNextChange();\n }\n lastOriginalIndex = originalIndex;\n changeHelper.AddModifiedElement(originalIndex + 1, modifiedIndex + 1);\n diagonalRelative = (diagonal - 1) - diagonalReverseBase; //Setup for the next iteration\n }\n if (historyIndex >= 0) {\n reversePoints = this.m_reverseHistory[historyIndex];\n diagonalReverseBase = reversePoints[0]; //We stored this in the first spot\n diagonalMin = 1;\n diagonalMax = reversePoints.length - 1;\n }\n } while (--historyIndex >= -1);\n // There are cases where the reverse history will find diffs that\n // are correct, but not intuitive, so we need shift them.\n reverseChanges = changeHelper.getChanges();\n }\n return this.ConcatenateChanges(forwardChanges, reverseChanges);\n }\n /**\n * Given the range to compute the diff on, this method finds the point:\n * (midOriginal, midModified)\n * that exists in the middle of the LCS of the two sequences and\n * is the point at which the LCS problem may be broken down recursively.\n * This method will try to keep the LCS trace in memory. If the LCS recursion\n * point is calculated and the full trace is available in memory, then this method\n * will return the change list.\n * @param originalStart The start bound of the original sequence range\n * @param originalEnd The end bound of the original sequence range\n * @param modifiedStart The start bound of the modified sequence range\n * @param modifiedEnd The end bound of the modified sequence range\n * @param midOriginal The middle point of the original sequence range\n * @param midModified The middle point of the modified sequence range\n * @returns The diff changes, if available, otherwise null\n */\n ComputeRecursionPoint(originalStart, originalEnd, modifiedStart, modifiedEnd, midOriginalArr, midModifiedArr, quitEarlyArr) {\n let originalIndex = 0, modifiedIndex = 0;\n let diagonalForwardStart = 0, diagonalForwardEnd = 0;\n let diagonalReverseStart = 0, diagonalReverseEnd = 0;\n // To traverse the edit graph and produce the proper LCS, our actual\n // start position is just outside the given boundary\n originalStart--;\n modifiedStart--;\n // We set these up to make the compiler happy, but they will\n // be replaced before we return with the actual recursion point\n midOriginalArr[0] = 0;\n midModifiedArr[0] = 0;\n // Clear out the history\n this.m_forwardHistory = [];\n this.m_reverseHistory = [];\n // Each cell in the two arrays corresponds to a diagonal in the edit graph.\n // The integer value in the cell represents the originalIndex of the furthest\n // reaching point found so far that ends in that diagonal.\n // The modifiedIndex can be computed mathematically from the originalIndex and the diagonal number.\n const maxDifferences = (originalEnd - originalStart) + (modifiedEnd - modifiedStart);\n const numDiagonals = maxDifferences + 1;\n const forwardPoints = new Int32Array(numDiagonals);\n const reversePoints = new Int32Array(numDiagonals);\n // diagonalForwardBase: Index into forwardPoints of the diagonal which passes through (originalStart, modifiedStart)\n // diagonalReverseBase: Index into reversePoints of the diagonal which passes through (originalEnd, modifiedEnd)\n const diagonalForwardBase = (modifiedEnd - modifiedStart);\n const diagonalReverseBase = (originalEnd - originalStart);\n // diagonalForwardOffset: Geometric offset which allows modifiedIndex to be computed from originalIndex and the\n // diagonal number (relative to diagonalForwardBase)\n // diagonalReverseOffset: Geometric offset which allows modifiedIndex to be computed from originalIndex and the\n // diagonal number (relative to diagonalReverseBase)\n const diagonalForwardOffset = (originalStart - modifiedStart);\n const diagonalReverseOffset = (originalEnd - modifiedEnd);\n // delta: The difference between the end diagonal and the start diagonal. This is used to relate diagonal numbers\n // relative to the start diagonal with diagonal numbers relative to the end diagonal.\n // The Even/Oddn-ness of this delta is important for determining when we should check for overlap\n const delta = diagonalReverseBase - diagonalForwardBase;\n const deltaIsEven = (delta % 2 === 0);\n // Here we set up the start and end points as the furthest points found so far\n // in both the forward and reverse directions, respectively\n forwardPoints[diagonalForwardBase] = originalStart;\n reversePoints[diagonalReverseBase] = originalEnd;\n // Remember if we quit early, and thus need to do a best-effort result instead of a real result.\n quitEarlyArr[0] = false;\n // A couple of points:\n // --With this method, we iterate on the number of differences between the two sequences.\n // The more differences there actually are, the longer this will take.\n // --Also, as the number of differences increases, we have to search on diagonals further\n // away from the reference diagonal (which is diagonalForwardBase for forward, diagonalReverseBase for reverse).\n // --We extend on even diagonals (relative to the reference diagonal) only when numDifferences\n // is even and odd diagonals only when numDifferences is odd.\n for (let numDifferences = 1; numDifferences <= (maxDifferences / 2) + 1; numDifferences++) {\n let furthestOriginalIndex = 0;\n let furthestModifiedIndex = 0;\n // Run the algorithm in the forward direction\n diagonalForwardStart = this.ClipDiagonalBound(diagonalForwardBase - numDifferences, numDifferences, diagonalForwardBase, numDiagonals);\n diagonalForwardEnd = this.ClipDiagonalBound(diagonalForwardBase + numDifferences, numDifferences, diagonalForwardBase, numDiagonals);\n for (let diagonal = diagonalForwardStart; diagonal <= diagonalForwardEnd; diagonal += 2) {\n // STEP 1: We extend the furthest reaching point in the present diagonal\n // by looking at the diagonals above and below and picking the one whose point\n // is further away from the start point (originalStart, modifiedStart)\n if (diagonal === diagonalForwardStart || (diagonal < diagonalForwardEnd && forwardPoints[diagonal - 1] < forwardPoints[diagonal + 1])) {\n originalIndex = forwardPoints[diagonal + 1];\n }\n else {\n originalIndex = forwardPoints[diagonal - 1] + 1;\n }\n modifiedIndex = originalIndex - (diagonal - diagonalForwardBase) - diagonalForwardOffset;\n // Save the current originalIndex so we can test for false overlap in step 3\n const tempOriginalIndex = originalIndex;\n // STEP 2: We can continue to extend the furthest reaching point in the present diagonal\n // so long as the elements are equal.\n while (originalIndex < originalEnd && modifiedIndex < modifiedEnd && this.ElementsAreEqual(originalIndex + 1, modifiedIndex + 1)) {\n originalIndex++;\n modifiedIndex++;\n }\n forwardPoints[diagonal] = originalIndex;\n if (originalIndex + modifiedIndex > furthestOriginalIndex + furthestModifiedIndex) {\n furthestOriginalIndex = originalIndex;\n furthestModifiedIndex = modifiedIndex;\n }\n // STEP 3: If delta is odd (overlap first happens on forward when delta is odd)\n // and diagonal is in the range of reverse diagonals computed for numDifferences-1\n // (the previous iteration; we haven't computed reverse diagonals for numDifferences yet)\n // then check for overlap.\n if (!deltaIsEven && Math.abs(diagonal - diagonalReverseBase) <= (numDifferences - 1)) {\n if (originalIndex >= reversePoints[diagonal]) {\n midOriginalArr[0] = originalIndex;\n midModifiedArr[0] = modifiedIndex;\n if (tempOriginalIndex <= reversePoints[diagonal] && 1447 /* LocalConstants.MaxDifferencesHistory */ > 0 && numDifferences <= (1447 /* LocalConstants.MaxDifferencesHistory */ + 1)) {\n // BINGO! We overlapped, and we have the full trace in memory!\n return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);\n }\n else {\n // Either false overlap, or we didn't have enough memory for the full trace\n // Just return the recursion point\n return null;\n }\n }\n }\n }\n // Check to see if we should be quitting early, before moving on to the next iteration.\n const matchLengthOfLongest = ((furthestOriginalIndex - originalStart) + (furthestModifiedIndex - modifiedStart) - numDifferences) / 2;\n if (this.ContinueProcessingPredicate !== null && !this.ContinueProcessingPredicate(furthestOriginalIndex, matchLengthOfLongest)) {\n // We can't finish, so skip ahead to generating a result from what we have.\n quitEarlyArr[0] = true;\n // Use the furthest distance we got in the forward direction.\n midOriginalArr[0] = furthestOriginalIndex;\n midModifiedArr[0] = furthestModifiedIndex;\n if (matchLengthOfLongest > 0 && 1447 /* LocalConstants.MaxDifferencesHistory */ > 0 && numDifferences <= (1447 /* LocalConstants.MaxDifferencesHistory */ + 1)) {\n // Enough of the history is in memory to walk it backwards\n return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);\n }\n else {\n // We didn't actually remember enough of the history.\n //Since we are quitting the diff early, we need to shift back the originalStart and modified start\n //back into the boundary limits since we decremented their value above beyond the boundary limit.\n originalStart++;\n modifiedStart++;\n return [\n new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, modifiedEnd - modifiedStart + 1)\n ];\n }\n }\n // Run the algorithm in the reverse direction\n diagonalReverseStart = this.ClipDiagonalBound(diagonalReverseBase - numDifferences, numDifferences, diagonalReverseBase, numDiagonals);\n diagonalReverseEnd = this.ClipDiagonalBound(diagonalReverseBase + numDifferences, numDifferences, diagonalReverseBase, numDiagonals);\n for (let diagonal = diagonalReverseStart; diagonal <= diagonalReverseEnd; diagonal += 2) {\n // STEP 1: We extend the furthest reaching point in the present diagonal\n // by looking at the diagonals above and below and picking the one whose point\n // is further away from the start point (originalEnd, modifiedEnd)\n if (diagonal === diagonalReverseStart || (diagonal < diagonalReverseEnd && reversePoints[diagonal - 1] >= reversePoints[diagonal + 1])) {\n originalIndex = reversePoints[diagonal + 1] - 1;\n }\n else {\n originalIndex = reversePoints[diagonal - 1];\n }\n modifiedIndex = originalIndex - (diagonal - diagonalReverseBase) - diagonalReverseOffset;\n // Save the current originalIndex so we can test for false overlap\n const tempOriginalIndex = originalIndex;\n // STEP 2: We can continue to extend the furthest reaching point in the present diagonal\n // as long as the elements are equal.\n while (originalIndex > originalStart && modifiedIndex > modifiedStart && this.ElementsAreEqual(originalIndex, modifiedIndex)) {\n originalIndex--;\n modifiedIndex--;\n }\n reversePoints[diagonal] = originalIndex;\n // STEP 4: If delta is even (overlap first happens on reverse when delta is even)\n // and diagonal is in the range of forward diagonals computed for numDifferences\n // then check for overlap.\n if (deltaIsEven && Math.abs(diagonal - diagonalForwardBase) <= numDifferences) {\n if (originalIndex <= forwardPoints[diagonal]) {\n midOriginalArr[0] = originalIndex;\n midModifiedArr[0] = modifiedIndex;\n if (tempOriginalIndex >= forwardPoints[diagonal] && 1447 /* LocalConstants.MaxDifferencesHistory */ > 0 && numDifferences <= (1447 /* LocalConstants.MaxDifferencesHistory */ + 1)) {\n // BINGO! We overlapped, and we have the full trace in memory!\n return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);\n }\n else {\n // Either false overlap, or we didn't have enough memory for the full trace\n // Just return the recursion point\n return null;\n }\n }\n }\n }\n // Save current vectors to history before the next iteration\n if (numDifferences <= 1447 /* LocalConstants.MaxDifferencesHistory */) {\n // We are allocating space for one extra int, which we fill with\n // the index of the diagonal base index\n let temp = new Int32Array(diagonalForwardEnd - diagonalForwardStart + 2);\n temp[0] = diagonalForwardBase - diagonalForwardStart + 1;\n MyArray.Copy2(forwardPoints, diagonalForwardStart, temp, 1, diagonalForwardEnd - diagonalForwardStart + 1);\n this.m_forwardHistory.push(temp);\n temp = new Int32Array(diagonalReverseEnd - diagonalReverseStart + 2);\n temp[0] = diagonalReverseBase - diagonalReverseStart + 1;\n MyArray.Copy2(reversePoints, diagonalReverseStart, temp, 1, diagonalReverseEnd - diagonalReverseStart + 1);\n this.m_reverseHistory.push(temp);\n }\n }\n // If we got here, then we have the full trace in history. We just have to convert it to a change list\n // NOTE: This part is a bit messy\n return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);\n }\n /**\n * Shifts the given changes to provide a more intuitive diff.\n * While the first element in a diff matches the first element after the diff,\n * we shift the diff down.\n *\n * @param changes The list of changes to shift\n * @returns The shifted changes\n */\n PrettifyChanges(changes) {\n // Shift all the changes down first\n for (let i = 0; i < changes.length; i++) {\n const change = changes[i];\n const originalStop = (i < changes.length - 1) ? changes[i + 1].originalStart : this._originalElementsOrHash.length;\n const modifiedStop = (i < changes.length - 1) ? changes[i + 1].modifiedStart : this._modifiedElementsOrHash.length;\n const checkOriginal = change.originalLength > 0;\n const checkModified = change.modifiedLength > 0;\n while (change.originalStart + change.originalLength < originalStop\n && change.modifiedStart + change.modifiedLength < modifiedStop\n && (!checkOriginal || this.OriginalElementsAreEqual(change.originalStart, change.originalStart + change.originalLength))\n && (!checkModified || this.ModifiedElementsAreEqual(change.modifiedStart, change.modifiedStart + change.modifiedLength))) {\n const startStrictEqual = this.ElementsAreStrictEqual(change.originalStart, change.modifiedStart);\n const endStrictEqual = this.ElementsAreStrictEqual(change.originalStart + change.originalLength, change.modifiedStart + change.modifiedLength);\n if (endStrictEqual && !startStrictEqual) {\n // moving the change down would create an equal change, but the elements are not strict equal\n break;\n }\n change.originalStart++;\n change.modifiedStart++;\n }\n const mergedChangeArr = [null];\n if (i < changes.length - 1 && this.ChangesOverlap(changes[i], changes[i + 1], mergedChangeArr)) {\n changes[i] = mergedChangeArr[0];\n changes.splice(i + 1, 1);\n i--;\n continue;\n }\n }\n // Shift changes back up until we hit empty or whitespace-only lines\n for (let i = changes.length - 1; i >= 0; i--) {\n const change = changes[i];\n let originalStop = 0;\n let modifiedStop = 0;\n if (i > 0) {\n const prevChange = changes[i - 1];\n originalStop = prevChange.originalStart + prevChange.originalLength;\n modifiedStop = prevChange.modifiedStart + prevChange.modifiedLength;\n }\n const checkOriginal = change.originalLength > 0;\n const checkModified = change.modifiedLength > 0;\n let bestDelta = 0;\n let bestScore = this._boundaryScore(change.originalStart, change.originalLength, change.modifiedStart, change.modifiedLength);\n for (let delta = 1;; delta++) {\n const originalStart = change.originalStart - delta;\n const modifiedStart = change.modifiedStart - delta;\n if (originalStart < originalStop || modifiedStart < modifiedStop) {\n break;\n }\n if (checkOriginal && !this.OriginalElementsAreEqual(originalStart, originalStart + change.originalLength)) {\n break;\n }\n if (checkModified && !this.ModifiedElementsAreEqual(modifiedStart, modifiedStart + change.modifiedLength)) {\n break;\n }\n const touchingPreviousChange = (originalStart === originalStop && modifiedStart === modifiedStop);\n const score = ((touchingPreviousChange ? 5 : 0)\n + this._boundaryScore(originalStart, change.originalLength, modifiedStart, change.modifiedLength));\n if (score > bestScore) {\n bestScore = score;\n bestDelta = delta;\n }\n }\n change.originalStart -= bestDelta;\n change.modifiedStart -= bestDelta;\n const mergedChangeArr = [null];\n if (i > 0 && this.ChangesOverlap(changes[i - 1], changes[i], mergedChangeArr)) {\n changes[i - 1] = mergedChangeArr[0];\n changes.splice(i, 1);\n i++;\n continue;\n }\n }\n // There could be multiple longest common substrings.\n // Give preference to the ones containing longer lines\n if (this._hasStrings) {\n for (let i = 1, len = changes.length; i < len; i++) {\n const aChange = changes[i - 1];\n const bChange = changes[i];\n const matchedLength = bChange.originalStart - aChange.originalStart - aChange.originalLength;\n const aOriginalStart = aChange.originalStart;\n const bOriginalEnd = bChange.originalStart + bChange.originalLength;\n const abOriginalLength = bOriginalEnd - aOriginalStart;\n const aModifiedStart = aChange.modifiedStart;\n const bModifiedEnd = bChange.modifiedStart + bChange.modifiedLength;\n const abModifiedLength = bModifiedEnd - aModifiedStart;\n // Avoid wasting a lot of time with these searches\n if (matchedLength < 5 && abOriginalLength < 20 && abModifiedLength < 20) {\n const t = this._findBetterContiguousSequence(aOriginalStart, abOriginalLength, aModifiedStart, abModifiedLength, matchedLength);\n if (t) {\n const [originalMatchStart, modifiedMatchStart] = t;\n if (originalMatchStart !== aChange.originalStart + aChange.originalLength || modifiedMatchStart !== aChange.modifiedStart + aChange.modifiedLength) {\n // switch to another sequence that has a better score\n aChange.originalLength = originalMatchStart - aChange.originalStart;\n aChange.modifiedLength = modifiedMatchStart - aChange.modifiedStart;\n bChange.originalStart = originalMatchStart + matchedLength;\n bChange.modifiedStart = modifiedMatchStart + matchedLength;\n bChange.originalLength = bOriginalEnd - bChange.originalStart;\n bChange.modifiedLength = bModifiedEnd - bChange.modifiedStart;\n }\n }\n }\n }\n }\n return changes;\n }\n _findBetterContiguousSequence(originalStart, originalLength, modifiedStart, modifiedLength, desiredLength) {\n if (originalLength < desiredLength || modifiedLength < desiredLength) {\n return null;\n }\n const originalMax = originalStart + originalLength - desiredLength + 1;\n const modifiedMax = modifiedStart + modifiedLength - desiredLength + 1;\n let bestScore = 0;\n let bestOriginalStart = 0;\n let bestModifiedStart = 0;\n for (let i = originalStart; i < originalMax; i++) {\n for (let j = modifiedStart; j < modifiedMax; j++) {\n const score = this._contiguousSequenceScore(i, j, desiredLength);\n if (score > 0 && score > bestScore) {\n bestScore = score;\n bestOriginalStart = i;\n bestModifiedStart = j;\n }\n }\n }\n if (bestScore > 0) {\n return [bestOriginalStart, bestModifiedStart];\n }\n return null;\n }\n _contiguousSequenceScore(originalStart, modifiedStart, length) {\n let score = 0;\n for (let l = 0; l < length; l++) {\n if (!this.ElementsAreEqual(originalStart + l, modifiedStart + l)) {\n return 0;\n }\n score += this._originalStringElements[originalStart + l].length;\n }\n return score;\n }\n _OriginalIsBoundary(index) {\n if (index <= 0 || index >= this._originalElementsOrHash.length - 1) {\n return true;\n }\n return (this._hasStrings && /^\\s*$/.test(this._originalStringElements[index]));\n }\n _OriginalRegionIsBoundary(originalStart, originalLength) {\n if (this._OriginalIsBoundary(originalStart) || this._OriginalIsBoundary(originalStart - 1)) {\n return true;\n }\n if (originalLength > 0) {\n const originalEnd = originalStart + originalLength;\n if (this._OriginalIsBoundary(originalEnd - 1) || this._OriginalIsBoundary(originalEnd)) {\n return true;\n }\n }\n return false;\n }\n _ModifiedIsBoundary(index) {\n if (index <= 0 || index >= this._modifiedElementsOrHash.length - 1) {\n return true;\n }\n return (this._hasStrings && /^\\s*$/.test(this._modifiedStringElements[index]));\n }\n _ModifiedRegionIsBoundary(modifiedStart, modifiedLength) {\n if (this._ModifiedIsBoundary(modifiedStart) || this._ModifiedIsBoundary(modifiedStart - 1)) {\n return true;\n }\n if (modifiedLength > 0) {\n const modifiedEnd = modifiedStart + modifiedLength;\n if (this._ModifiedIsBoundary(modifiedEnd - 1) || this._ModifiedIsBoundary(modifiedEnd)) {\n return true;\n }\n }\n return false;\n }\n _boundaryScore(originalStart, originalLength, modifiedStart, modifiedLength) {\n const originalScore = (this._OriginalRegionIsBoundary(originalStart, originalLength) ? 1 : 0);\n const modifiedScore = (this._ModifiedRegionIsBoundary(modifiedStart, modifiedLength) ? 1 : 0);\n return (originalScore + modifiedScore);\n }\n /**\n * Concatenates the two input DiffChange lists and returns the resulting\n * list.\n * @param The left changes\n * @param The right changes\n * @returns The concatenated list\n */\n ConcatenateChanges(left, right) {\n const mergedChangeArr = [];\n if (left.length === 0 || right.length === 0) {\n return (right.length > 0) ? right : left;\n }\n else if (this.ChangesOverlap(left[left.length - 1], right[0], mergedChangeArr)) {\n // Since we break the problem down recursively, it is possible that we\n // might recurse in the middle of a change thereby splitting it into\n // two changes. Here in the combining stage, we detect and fuse those\n // changes back together\n const result = new Array(left.length + right.length - 1);\n MyArray.Copy(left, 0, result, 0, left.length - 1);\n result[left.length - 1] = mergedChangeArr[0];\n MyArray.Copy(right, 1, result, left.length, right.length - 1);\n return result;\n }\n else {\n const result = new Array(left.length + right.length);\n MyArray.Copy(left, 0, result, 0, left.length);\n MyArray.Copy(right, 0, result, left.length, right.length);\n return result;\n }\n }\n /**\n * Returns true if the two changes overlap and can be merged into a single\n * change\n * @param left The left change\n * @param right The right change\n * @param mergedChange The merged change if the two overlap, null otherwise\n * @returns True if the two changes overlap\n */\n ChangesOverlap(left, right, mergedChangeArr) {\n Debug.Assert(left.originalStart <= right.originalStart, 'Left change is not less than or equal to right change');\n Debug.Assert(left.modifiedStart <= right.modifiedStart, 'Left change is not less than or equal to right change');\n if (left.originalStart + left.originalLength >= right.originalStart || left.modifiedStart + left.modifiedLength >= right.modifiedStart) {\n const originalStart = left.originalStart;\n let originalLength = left.originalLength;\n const modifiedStart = left.modifiedStart;\n let modifiedLength = left.modifiedLength;\n if (left.originalStart + left.originalLength >= right.originalStart) {\n originalLength = right.originalStart + right.originalLength - left.originalStart;\n }\n if (left.modifiedStart + left.modifiedLength >= right.modifiedStart) {\n modifiedLength = right.modifiedStart + right.modifiedLength - left.modifiedStart;\n }\n mergedChangeArr[0] = new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(originalStart, originalLength, modifiedStart, modifiedLength);\n return true;\n }\n else {\n mergedChangeArr[0] = null;\n return false;\n }\n }\n /**\n * Helper method used to clip a diagonal index to the range of valid\n * diagonals. This also decides whether or not the diagonal index,\n * if it exceeds the boundary, should be clipped to the boundary or clipped\n * one inside the boundary depending on the Even/Odd status of the boundary\n * and numDifferences.\n * @param diagonal The index of the diagonal to clip.\n * @param numDifferences The current number of differences being iterated upon.\n * @param diagonalBaseIndex The base reference diagonal.\n * @param numDiagonals The total number of diagonals.\n * @returns The clipped diagonal index.\n */\n ClipDiagonalBound(diagonal, numDifferences, diagonalBaseIndex, numDiagonals) {\n if (diagonal >= 0 && diagonal < numDiagonals) {\n // Nothing to clip, its in range\n return diagonal;\n }\n // diagonalsBelow: The number of diagonals below the reference diagonal\n // diagonalsAbove: The number of diagonals above the reference diagonal\n const diagonalsBelow = diagonalBaseIndex;\n const diagonalsAbove = numDiagonals - diagonalBaseIndex - 1;\n const diffEven = (numDifferences % 2 === 0);\n if (diagonal < 0) {\n const lowerBoundEven = (diagonalsBelow % 2 === 0);\n return (diffEven === lowerBoundEven) ? 0 : 1;\n }\n else {\n const upperBoundEven = (diagonalsAbove % 2 === 0);\n return (diffEven === upperBoundEven) ? numDiagonals - 1 : numDiagonals - 2;\n }\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js":
+/*!**************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js ***!
+ \**************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DiffChange: () => (/* binding */ DiffChange)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/**\n * Represents information about a specific difference between two sequences.\n */\nclass DiffChange {\n /**\n * Constructs a new DiffChange with the given sequence information\n * and content.\n */\n constructor(originalStart, originalLength, modifiedStart, modifiedLength) {\n //Debug.Assert(originalLength > 0 || modifiedLength > 0, \"originalLength and modifiedLength cannot both be <= 0\");\n this.originalStart = originalStart;\n this.originalLength = originalLength;\n this.modifiedStart = modifiedStart;\n this.modifiedLength = modifiedLength;\n }\n /**\n * The end point (exclusive) of the change in the original sequence.\n */\n getOriginalEnd() {\n return this.originalStart + this.originalLength;\n }\n /**\n * The end point (exclusive) of the change in the modified sequence.\n */\n getModifiedEnd() {\n return this.modifiedStart + this.modifiedLength;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/errorMessage.js":
+/*!***********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/errorMessage.js ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toErrorMessage: () => (/* binding */ toErrorMessage)\n/* harmony export */ });\n/* harmony import */ var _arrays_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\nfunction exceptionToErrorMessage(exception, verbose) {\n if (verbose && (exception.stack || exception.stacktrace)) {\n return _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('stackTrace.format', \"{0}: {1}\", detectSystemErrorMessage(exception), stackToString(exception.stack) || stackToString(exception.stacktrace));\n }\n return detectSystemErrorMessage(exception);\n}\nfunction stackToString(stack) {\n if (Array.isArray(stack)) {\n return stack.join('\\n');\n }\n return stack;\n}\nfunction detectSystemErrorMessage(exception) {\n // Custom node.js error from us\n if (exception.code === 'ERR_UNC_HOST_NOT_ALLOWED') {\n return `${exception.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`;\n }\n // See https://nodejs.org/api/errors.html#errors_class_system_error\n if (typeof exception.code === 'string' && typeof exception.errno === 'number' && typeof exception.syscall === 'string') {\n return _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('nodeExceptionMessage', \"A system error occurred ({0})\", exception.message);\n }\n return exception.message || _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('error.defaultMessage', \"An unknown error occurred. Please consult the log for more details.\");\n}\n/**\n * Tries to generate a human readable error message out of the error. If the verbose parameter\n * is set to true, the error message will include stacktrace details if provided.\n *\n * @returns A string containing the error message.\n */\nfunction toErrorMessage(error = null, verbose = false) {\n if (!error) {\n return _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('error.defaultMessage', \"An unknown error occurred. Please consult the log for more details.\");\n }\n if (Array.isArray(error)) {\n const errors = _arrays_js__WEBPACK_IMPORTED_MODULE_0__.coalesce(error);\n const msg = toErrorMessage(errors[0], verbose);\n if (errors.length > 1) {\n return _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('error.moreErrors', \"{0} ({1} errors in total)\", msg, errors.length);\n }\n return msg;\n }\n if (_types_js__WEBPACK_IMPORTED_MODULE_1__.isString(error)) {\n return error;\n }\n if (error.detail) {\n const detail = error.detail;\n if (detail.error) {\n return exceptionToErrorMessage(detail.error, verbose);\n }\n if (detail.exception) {\n return exceptionToErrorMessage(detail.exception, verbose);\n }\n }\n if (error.stack) {\n return exceptionToErrorMessage(error, verbose);\n }\n if (error.message) {\n return error.message;\n }\n return _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('error.defaultMessage', \"An unknown error occurred. Please consult the log for more details.\");\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/errorMessage.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/errors.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/errors.js ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BugIndicatingError: () => (/* binding */ BugIndicatingError),\n/* harmony export */ CancellationError: () => (/* binding */ CancellationError),\n/* harmony export */ ErrorHandler: () => (/* binding */ ErrorHandler),\n/* harmony export */ ErrorNoTelemetry: () => (/* binding */ ErrorNoTelemetry),\n/* harmony export */ NotSupportedError: () => (/* binding */ NotSupportedError),\n/* harmony export */ canceled: () => (/* binding */ canceled),\n/* harmony export */ errorHandler: () => (/* binding */ errorHandler),\n/* harmony export */ illegalArgument: () => (/* binding */ illegalArgument),\n/* harmony export */ illegalState: () => (/* binding */ illegalState),\n/* harmony export */ isCancellationError: () => (/* binding */ isCancellationError),\n/* harmony export */ onUnexpectedError: () => (/* binding */ onUnexpectedError),\n/* harmony export */ onUnexpectedExternalError: () => (/* binding */ onUnexpectedExternalError),\n/* harmony export */ transformErrorForSerialization: () => (/* binding */ transformErrorForSerialization)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n// Avoid circular dependency on EventEmitter by implementing a subset of the interface.\nclass ErrorHandler {\n constructor() {\n this.listeners = [];\n this.unexpectedErrorHandler = function (e) {\n setTimeout(() => {\n if (e.stack) {\n if (ErrorNoTelemetry.isErrorNoTelemetry(e)) {\n throw new ErrorNoTelemetry(e.message + '\\n\\n' + e.stack);\n }\n throw new Error(e.message + '\\n\\n' + e.stack);\n }\n throw e;\n }, 0);\n };\n }\n emit(e) {\n this.listeners.forEach((listener) => {\n listener(e);\n });\n }\n onUnexpectedError(e) {\n this.unexpectedErrorHandler(e);\n this.emit(e);\n }\n // For external errors, we don't want the listeners to be called\n onUnexpectedExternalError(e) {\n this.unexpectedErrorHandler(e);\n }\n}\nconst errorHandler = new ErrorHandler();\nfunction onUnexpectedError(e) {\n // ignore errors from cancelled promises\n if (!isCancellationError(e)) {\n errorHandler.onUnexpectedError(e);\n }\n return undefined;\n}\nfunction onUnexpectedExternalError(e) {\n // ignore errors from cancelled promises\n if (!isCancellationError(e)) {\n errorHandler.onUnexpectedExternalError(e);\n }\n return undefined;\n}\nfunction transformErrorForSerialization(error) {\n if (error instanceof Error) {\n const { name, message } = error;\n const stack = error.stacktrace || error.stack;\n return {\n $isError: true,\n name,\n message,\n stack,\n noTelemetry: ErrorNoTelemetry.isErrorNoTelemetry(error)\n };\n }\n // return as is\n return error;\n}\nconst canceledName = 'Canceled';\n/**\n * Checks if the given error is a promise in canceled state\n */\nfunction isCancellationError(error) {\n if (error instanceof CancellationError) {\n return true;\n }\n return error instanceof Error && error.name === canceledName && error.message === canceledName;\n}\n// !!!IMPORTANT!!!\n// Do NOT change this class because it is also used as an API-type.\nclass CancellationError extends Error {\n constructor() {\n super(canceledName);\n this.name = this.message;\n }\n}\n/**\n * @deprecated use {@link CancellationError `new CancellationError()`} instead\n */\nfunction canceled() {\n const error = new Error(canceledName);\n error.name = error.message;\n return error;\n}\nfunction illegalArgument(name) {\n if (name) {\n return new Error(`Illegal argument: ${name}`);\n }\n else {\n return new Error('Illegal argument');\n }\n}\nfunction illegalState(name) {\n if (name) {\n return new Error(`Illegal state: ${name}`);\n }\n else {\n return new Error('Illegal state');\n }\n}\nclass NotSupportedError extends Error {\n constructor(message) {\n super('NotSupported');\n if (message) {\n this.message = message;\n }\n }\n}\n/**\n * Error that when thrown won't be logged in telemetry as an unhandled error.\n */\nclass ErrorNoTelemetry extends Error {\n constructor(msg) {\n super(msg);\n this.name = 'CodeExpectedError';\n }\n static fromError(err) {\n if (err instanceof ErrorNoTelemetry) {\n return err;\n }\n const result = new ErrorNoTelemetry();\n result.message = err.message;\n result.stack = err.stack;\n return result;\n }\n static isErrorNoTelemetry(err) {\n return err.name === 'CodeExpectedError';\n }\n}\n/**\n * This error indicates a bug.\n * Do not throw this for invalid user input.\n * Only catch this error to recover gracefully from bugs.\n */\nclass BugIndicatingError extends Error {\n constructor(message) {\n super(message || 'An unexpected bug occurred.');\n Object.setPrototypeOf(this, BugIndicatingError.prototype);\n // Because we know for sure only buggy code throws this,\n // we definitely want to break here and fix the bug.\n // eslint-disable-next-line no-debugger\n // debugger;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/errors.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/event.js":
+/*!****************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/event.js ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DebounceEmitter: () => (/* binding */ DebounceEmitter),\n/* harmony export */ Emitter: () => (/* binding */ Emitter),\n/* harmony export */ Event: () => (/* binding */ Event),\n/* harmony export */ EventBufferer: () => (/* binding */ EventBufferer),\n/* harmony export */ EventMultiplexer: () => (/* binding */ EventMultiplexer),\n/* harmony export */ EventProfiling: () => (/* binding */ EventProfiling),\n/* harmony export */ MicrotaskEmitter: () => (/* binding */ MicrotaskEmitter),\n/* harmony export */ PauseableEmitter: () => (/* binding */ PauseableEmitter),\n/* harmony export */ Relay: () => (/* binding */ Relay),\n/* harmony export */ createEventDeliveryQueue: () => (/* binding */ createEventDeliveryQueue)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _functional_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./functional.js */ \"./node_modules/monaco-editor/esm/vs/base/common/functional.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _linkedList_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./linkedList.js */ \"./node_modules/monaco-editor/esm/vs/base/common/linkedList.js\");\n/* harmony import */ var _stopwatch_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./stopwatch.js */ \"./node_modules/monaco-editor/esm/vs/base/common/stopwatch.js\");\n\n\n\n\n\n// -----------------------------------------------------------------------------------------------------------------------\n// Uncomment the next line to print warnings whenever an emitter with listeners is disposed. That is a sign of code smell.\n// -----------------------------------------------------------------------------------------------------------------------\nconst _enableDisposeWithListenerWarning = false;\n// _enableDisposeWithListenerWarning = Boolean(\"TRUE\"); // causes a linter warning so that it cannot be pushed\n// -----------------------------------------------------------------------------------------------------------------------\n// Uncomment the next line to print warnings whenever a snapshotted event is used repeatedly without cleanup.\n// See https://github.com/microsoft/vscode/issues/142851\n// -----------------------------------------------------------------------------------------------------------------------\nconst _enableSnapshotPotentialLeakWarning = false;\nvar Event;\n(function (Event) {\n Event.None = () => _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n function _addLeakageTraceLogic(options) {\n if (_enableSnapshotPotentialLeakWarning) {\n const { onDidAddListener: origListenerDidAdd } = options;\n const stack = Stacktrace.create();\n let count = 0;\n options.onDidAddListener = () => {\n if (++count === 2) {\n console.warn('snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here');\n stack.print();\n }\n origListenerDidAdd === null || origListenerDidAdd === void 0 ? void 0 : origListenerDidAdd();\n };\n }\n }\n /**\n * Given an event, returns another event which debounces calls and defers the listeners to a later task via a shared\n * `setTimeout`. The event is converted into a signal (`Event`) to avoid additional object creation as a\n * result of merging events and to try prevent race conditions that could arise when using related deferred and\n * non-deferred events.\n *\n * This is useful for deferring non-critical work (eg. general UI updates) to ensure it does not block critical work\n * (eg. latency of keypress to text rendered).\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n *\n * @param event The event source for the new event.\n * @param disposable A disposable store to add the new EventEmitter to.\n */\n function defer(event, disposable) {\n return debounce(event, () => void 0, 0, undefined, true, undefined, disposable);\n }\n Event.defer = defer;\n /**\n * Given an event, returns another event which only fires once.\n *\n * @param event The event source for the new event.\n */\n function once(event) {\n return (listener, thisArgs = null, disposables) => {\n // we need this, in case the event fires during the listener call\n let didFire = false;\n let result = undefined;\n result = event(e => {\n if (didFire) {\n return;\n }\n else if (result) {\n result.dispose();\n }\n else {\n didFire = true;\n }\n return listener.call(thisArgs, e);\n }, null, disposables);\n if (didFire) {\n result.dispose();\n }\n return result;\n };\n }\n Event.once = once;\n /**\n * Maps an event of one type into an event of another type using a mapping function, similar to how\n * `Array.prototype.map` works.\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n *\n * @param event The event source for the new event.\n * @param map The mapping function.\n * @param disposable A disposable store to add the new EventEmitter to.\n */\n function map(event, map, disposable) {\n return snapshot((listener, thisArgs = null, disposables) => event(i => listener.call(thisArgs, map(i)), null, disposables), disposable);\n }\n Event.map = map;\n /**\n * Wraps an event in another event that performs some function on the event object before firing.\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n *\n * @param event The event source for the new event.\n * @param each The function to perform on the event object.\n * @param disposable A disposable store to add the new EventEmitter to.\n */\n function forEach(event, each, disposable) {\n return snapshot((listener, thisArgs = null, disposables) => event(i => { each(i); listener.call(thisArgs, i); }, null, disposables), disposable);\n }\n Event.forEach = forEach;\n function filter(event, filter, disposable) {\n return snapshot((listener, thisArgs = null, disposables) => event(e => filter(e) && listener.call(thisArgs, e), null, disposables), disposable);\n }\n Event.filter = filter;\n /**\n * Given an event, returns the same event but typed as `Event`.\n */\n function signal(event) {\n return event;\n }\n Event.signal = signal;\n function any(...events) {\n return (listener, thisArgs = null, disposables) => {\n const disposable = (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.combinedDisposable)(...events.map(event => event(e => listener.call(thisArgs, e))));\n return addAndReturnDisposable(disposable, disposables);\n };\n }\n Event.any = any;\n /**\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n */\n function reduce(event, merge, initial, disposable) {\n let output = initial;\n return map(event, e => {\n output = merge(output, e);\n return output;\n }, disposable);\n }\n Event.reduce = reduce;\n function snapshot(event, disposable) {\n let listener;\n const options = {\n onWillAddFirstListener() {\n listener = event(emitter.fire, emitter);\n },\n onDidRemoveLastListener() {\n listener === null || listener === void 0 ? void 0 : listener.dispose();\n }\n };\n if (!disposable) {\n _addLeakageTraceLogic(options);\n }\n const emitter = new Emitter(options);\n disposable === null || disposable === void 0 ? void 0 : disposable.add(emitter);\n return emitter.event;\n }\n /**\n * Adds the IDisposable to the store if it's set, and returns it. Useful to\n * Event function implementation.\n */\n function addAndReturnDisposable(d, store) {\n if (store instanceof Array) {\n store.push(d);\n }\n else if (store) {\n store.add(d);\n }\n return d;\n }\n function debounce(event, merge, delay = 100, leading = false, flushOnListenerRemove = false, leakWarningThreshold, disposable) {\n let subscription;\n let output = undefined;\n let handle = undefined;\n let numDebouncedCalls = 0;\n let doFire;\n const options = {\n leakWarningThreshold,\n onWillAddFirstListener() {\n subscription = event(cur => {\n numDebouncedCalls++;\n output = merge(output, cur);\n if (leading && !handle) {\n emitter.fire(output);\n output = undefined;\n }\n doFire = () => {\n const _output = output;\n output = undefined;\n handle = undefined;\n if (!leading || numDebouncedCalls > 1) {\n emitter.fire(_output);\n }\n numDebouncedCalls = 0;\n };\n if (typeof delay === 'number') {\n clearTimeout(handle);\n handle = setTimeout(doFire, delay);\n }\n else {\n if (handle === undefined) {\n handle = 0;\n queueMicrotask(doFire);\n }\n }\n });\n },\n onWillRemoveListener() {\n if (flushOnListenerRemove && numDebouncedCalls > 0) {\n doFire === null || doFire === void 0 ? void 0 : doFire();\n }\n },\n onDidRemoveLastListener() {\n doFire = undefined;\n subscription.dispose();\n }\n };\n if (!disposable) {\n _addLeakageTraceLogic(options);\n }\n const emitter = new Emitter(options);\n disposable === null || disposable === void 0 ? void 0 : disposable.add(emitter);\n return emitter.event;\n }\n Event.debounce = debounce;\n /**\n * Debounces an event, firing after some delay (default=0) with an array of all event original objects.\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n */\n function accumulate(event, delay = 0, disposable) {\n return Event.debounce(event, (last, e) => {\n if (!last) {\n return [e];\n }\n last.push(e);\n return last;\n }, delay, undefined, true, undefined, disposable);\n }\n Event.accumulate = accumulate;\n /**\n * Filters an event such that some condition is _not_ met more than once in a row, effectively ensuring duplicate\n * event objects from different sources do not fire the same event object.\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n *\n * @param event The event source for the new event.\n * @param equals The equality condition.\n * @param disposable A disposable store to add the new EventEmitter to.\n *\n * @example\n * ```\n * // Fire only one time when a single window is opened or focused\n * Event.latch(Event.any(onDidOpenWindow, onDidFocusWindow))\n * ```\n */\n function latch(event, equals = (a, b) => a === b, disposable) {\n let firstCall = true;\n let cache;\n return filter(event, value => {\n const shouldEmit = firstCall || !equals(value, cache);\n firstCall = false;\n cache = value;\n return shouldEmit;\n }, disposable);\n }\n Event.latch = latch;\n /**\n * Splits an event whose parameter is a union type into 2 separate events for each type in the union.\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n *\n * @example\n * ```\n * const event = new EventEmitter().event;\n * const [numberEvent, undefinedEvent] = Event.split(event, isUndefined);\n * ```\n *\n * @param event The event source for the new event.\n * @param isT A function that determines what event is of the first type.\n * @param disposable A disposable store to add the new EventEmitter to.\n */\n function split(event, isT, disposable) {\n return [\n Event.filter(event, isT, disposable),\n Event.filter(event, e => !isT(e), disposable),\n ];\n }\n Event.split = split;\n /**\n * Buffers an event until it has a listener attached.\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n *\n * @param event The event source for the new event.\n * @param flushAfterTimeout Determines whether to flush the buffer after a timeout immediately or after a\n * `setTimeout` when the first event listener is added.\n * @param _buffer Internal: A source event array used for tests.\n *\n * @example\n * ```\n * // Start accumulating events, when the first listener is attached, flush\n * // the event after a timeout such that multiple listeners attached before\n * // the timeout would receive the event\n * this.onInstallExtension = Event.buffer(service.onInstallExtension, true);\n * ```\n */\n function buffer(event, flushAfterTimeout = false, _buffer = [], disposable) {\n let buffer = _buffer.slice();\n let listener = event(e => {\n if (buffer) {\n buffer.push(e);\n }\n else {\n emitter.fire(e);\n }\n });\n if (disposable) {\n disposable.add(listener);\n }\n const flush = () => {\n buffer === null || buffer === void 0 ? void 0 : buffer.forEach(e => emitter.fire(e));\n buffer = null;\n };\n const emitter = new Emitter({\n onWillAddFirstListener() {\n if (!listener) {\n listener = event(e => emitter.fire(e));\n if (disposable) {\n disposable.add(listener);\n }\n }\n },\n onDidAddFirstListener() {\n if (buffer) {\n if (flushAfterTimeout) {\n setTimeout(flush);\n }\n else {\n flush();\n }\n }\n },\n onDidRemoveLastListener() {\n if (listener) {\n listener.dispose();\n }\n listener = null;\n }\n });\n if (disposable) {\n disposable.add(emitter);\n }\n return emitter.event;\n }\n Event.buffer = buffer;\n /**\n * Wraps the event in an {@link IChainableEvent}, allowing a more functional programming style.\n *\n * @example\n * ```\n * // Normal\n * const onEnterPressNormal = Event.filter(\n * Event.map(onKeyPress.event, e => new StandardKeyboardEvent(e)),\n * e.keyCode === KeyCode.Enter\n * ).event;\n *\n * // Using chain\n * const onEnterPressChain = Event.chain(onKeyPress.event, $ => $\n * .map(e => new StandardKeyboardEvent(e))\n * .filter(e => e.keyCode === KeyCode.Enter)\n * );\n * ```\n */\n function chain(event, sythensize) {\n const fn = (listener, thisArgs, disposables) => {\n const cs = sythensize(new ChainableSynthesis());\n return event(function (value) {\n const result = cs.evaluate(value);\n if (result !== HaltChainable) {\n listener.call(thisArgs, result);\n }\n }, undefined, disposables);\n };\n return fn;\n }\n Event.chain = chain;\n const HaltChainable = Symbol('HaltChainable');\n class ChainableSynthesis {\n constructor() {\n this.steps = [];\n }\n map(fn) {\n this.steps.push(fn);\n return this;\n }\n forEach(fn) {\n this.steps.push(v => {\n fn(v);\n return v;\n });\n return this;\n }\n filter(fn) {\n this.steps.push(v => fn(v) ? v : HaltChainable);\n return this;\n }\n reduce(merge, initial) {\n let last = initial;\n this.steps.push(v => {\n last = merge(last, v);\n return last;\n });\n return this;\n }\n latch(equals = (a, b) => a === b) {\n let firstCall = true;\n let cache;\n this.steps.push(value => {\n const shouldEmit = firstCall || !equals(value, cache);\n firstCall = false;\n cache = value;\n return shouldEmit ? value : HaltChainable;\n });\n return this;\n }\n evaluate(value) {\n for (const step of this.steps) {\n value = step(value);\n if (value === HaltChainable) {\n break;\n }\n }\n return value;\n }\n }\n /**\n * Creates an {@link Event} from a node event emitter.\n */\n function fromNodeEventEmitter(emitter, eventName, map = id => id) {\n const fn = (...args) => result.fire(map(...args));\n const onFirstListenerAdd = () => emitter.on(eventName, fn);\n const onLastListenerRemove = () => emitter.removeListener(eventName, fn);\n const result = new Emitter({ onWillAddFirstListener: onFirstListenerAdd, onDidRemoveLastListener: onLastListenerRemove });\n return result.event;\n }\n Event.fromNodeEventEmitter = fromNodeEventEmitter;\n /**\n * Creates an {@link Event} from a DOM event emitter.\n */\n function fromDOMEventEmitter(emitter, eventName, map = id => id) {\n const fn = (...args) => result.fire(map(...args));\n const onFirstListenerAdd = () => emitter.addEventListener(eventName, fn);\n const onLastListenerRemove = () => emitter.removeEventListener(eventName, fn);\n const result = new Emitter({ onWillAddFirstListener: onFirstListenerAdd, onDidRemoveLastListener: onLastListenerRemove });\n return result.event;\n }\n Event.fromDOMEventEmitter = fromDOMEventEmitter;\n /**\n * Creates a promise out of an event, using the {@link Event.once} helper.\n */\n function toPromise(event) {\n return new Promise(resolve => once(event)(resolve));\n }\n Event.toPromise = toPromise;\n /**\n * Creates an event out of a promise that fires once when the promise is\n * resolved with the result of the promise or `undefined`.\n */\n function fromPromise(promise) {\n const result = new Emitter();\n promise.then(res => {\n result.fire(res);\n }, () => {\n result.fire(undefined);\n }).finally(() => {\n result.dispose();\n });\n return result.event;\n }\n Event.fromPromise = fromPromise;\n function runAndSubscribe(event, handler, initial) {\n handler(initial);\n return event(e => handler(e));\n }\n Event.runAndSubscribe = runAndSubscribe;\n /**\n * Adds a listener to an event and calls the listener immediately with undefined as the event object. A new\n * {@link DisposableStore} is passed to the listener which is disposed when the returned disposable is disposed.\n */\n function runAndSubscribeWithStore(event, handler) {\n let store = null;\n function run(e) {\n store === null || store === void 0 ? void 0 : store.dispose();\n store = new _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.DisposableStore();\n handler(e, store);\n }\n run(undefined);\n const disposable = event(e => run(e));\n return (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.toDisposable)(() => {\n disposable.dispose();\n store === null || store === void 0 ? void 0 : store.dispose();\n });\n }\n Event.runAndSubscribeWithStore = runAndSubscribeWithStore;\n class EmitterObserver {\n constructor(_observable, store) {\n this._observable = _observable;\n this._counter = 0;\n this._hasChanged = false;\n const options = {\n onWillAddFirstListener: () => {\n _observable.addObserver(this);\n },\n onDidRemoveLastListener: () => {\n _observable.removeObserver(this);\n }\n };\n if (!store) {\n _addLeakageTraceLogic(options);\n }\n this.emitter = new Emitter(options);\n if (store) {\n store.add(this.emitter);\n }\n }\n beginUpdate(_observable) {\n // assert(_observable === this.obs);\n this._counter++;\n }\n handlePossibleChange(_observable) {\n // assert(_observable === this.obs);\n }\n handleChange(_observable, _change) {\n // assert(_observable === this.obs);\n this._hasChanged = true;\n }\n endUpdate(_observable) {\n // assert(_observable === this.obs);\n this._counter--;\n if (this._counter === 0) {\n this._observable.reportChanges();\n if (this._hasChanged) {\n this._hasChanged = false;\n this.emitter.fire(this._observable.get());\n }\n }\n }\n }\n /**\n * Creates an event emitter that is fired when the observable changes.\n * Each listeners subscribes to the emitter.\n */\n function fromObservable(obs, store) {\n const observer = new EmitterObserver(obs, store);\n return observer.emitter.event;\n }\n Event.fromObservable = fromObservable;\n /**\n * Each listener is attached to the observable directly.\n */\n function fromObservableLight(observable) {\n return (listener, thisArgs, disposables) => {\n let count = 0;\n let didChange = false;\n const observer = {\n beginUpdate() {\n count++;\n },\n endUpdate() {\n count--;\n if (count === 0) {\n observable.reportChanges();\n if (didChange) {\n didChange = false;\n listener.call(thisArgs);\n }\n }\n },\n handlePossibleChange() {\n // noop\n },\n handleChange() {\n didChange = true;\n }\n };\n observable.addObserver(observer);\n observable.reportChanges();\n const disposable = {\n dispose() {\n observable.removeObserver(observer);\n }\n };\n if (disposables instanceof _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.DisposableStore) {\n disposables.add(disposable);\n }\n else if (Array.isArray(disposables)) {\n disposables.push(disposable);\n }\n return disposable;\n };\n }\n Event.fromObservableLight = fromObservableLight;\n})(Event || (Event = {}));\nclass EventProfiling {\n constructor(name) {\n this.listenerCount = 0;\n this.invocationCount = 0;\n this.elapsedOverall = 0;\n this.durations = [];\n this.name = `${name}_${EventProfiling._idPool++}`;\n EventProfiling.all.add(this);\n }\n start(listenerCount) {\n this._stopWatch = new _stopwatch_js__WEBPACK_IMPORTED_MODULE_4__.StopWatch();\n this.listenerCount = listenerCount;\n }\n stop() {\n if (this._stopWatch) {\n const elapsed = this._stopWatch.elapsed();\n this.durations.push(elapsed);\n this.elapsedOverall += elapsed;\n this.invocationCount += 1;\n this._stopWatch = undefined;\n }\n }\n}\nEventProfiling.all = new Set();\nEventProfiling._idPool = 0;\nlet _globalLeakWarningThreshold = -1;\nclass LeakageMonitor {\n constructor(threshold, name = Math.random().toString(18).slice(2, 5)) {\n this.threshold = threshold;\n this.name = name;\n this._warnCountdown = 0;\n }\n dispose() {\n var _a;\n (_a = this._stacks) === null || _a === void 0 ? void 0 : _a.clear();\n }\n check(stack, listenerCount) {\n const threshold = this.threshold;\n if (threshold <= 0 || listenerCount < threshold) {\n return undefined;\n }\n if (!this._stacks) {\n this._stacks = new Map();\n }\n const count = (this._stacks.get(stack.value) || 0);\n this._stacks.set(stack.value, count + 1);\n this._warnCountdown -= 1;\n if (this._warnCountdown <= 0) {\n // only warn on first exceed and then every time the limit\n // is exceeded by 50% again\n this._warnCountdown = threshold * 0.5;\n // find most frequent listener and print warning\n let topStack;\n let topCount = 0;\n for (const [stack, count] of this._stacks) {\n if (!topStack || topCount < count) {\n topStack = stack;\n topCount = count;\n }\n }\n console.warn(`[${this.name}] potential listener LEAK detected, having ${listenerCount} listeners already. MOST frequent listener (${topCount}):`);\n console.warn(topStack);\n }\n return () => {\n const count = (this._stacks.get(stack.value) || 0);\n this._stacks.set(stack.value, count - 1);\n };\n }\n}\nclass Stacktrace {\n static create() {\n var _a;\n return new Stacktrace((_a = new Error().stack) !== null && _a !== void 0 ? _a : '');\n }\n constructor(value) {\n this.value = value;\n }\n print() {\n console.warn(this.value.split('\\n').slice(2).join('\\n'));\n }\n}\nclass UniqueContainer {\n constructor(value) {\n this.value = value;\n }\n}\nconst compactionThreshold = 2;\nconst forEachListener = (listeners, fn) => {\n if (listeners instanceof UniqueContainer) {\n fn(listeners);\n }\n else {\n for (let i = 0; i < listeners.length; i++) {\n const l = listeners[i];\n if (l) {\n fn(l);\n }\n }\n }\n};\n/**\n * The Emitter can be used to expose an Event to the public\n * to fire it from the insides.\n * Sample:\n class Document {\n\n private readonly _onDidChange = new Emitter<(value:string)=>any>();\n\n public onDidChange = this._onDidChange.event;\n\n // getter-style\n // get onDidChange(): Event<(value:string)=>any> {\n // \treturn this._onDidChange.event;\n // }\n\n private _doIt() {\n //...\n this._onDidChange.fire(value);\n }\n }\n */\nclass Emitter {\n constructor(options) {\n var _a, _b, _c, _d, _e;\n this._size = 0;\n this._options = options;\n this._leakageMon = _globalLeakWarningThreshold > 0 || ((_a = this._options) === null || _a === void 0 ? void 0 : _a.leakWarningThreshold) ? new LeakageMonitor((_c = (_b = this._options) === null || _b === void 0 ? void 0 : _b.leakWarningThreshold) !== null && _c !== void 0 ? _c : _globalLeakWarningThreshold) : undefined;\n this._perfMon = ((_d = this._options) === null || _d === void 0 ? void 0 : _d._profName) ? new EventProfiling(this._options._profName) : undefined;\n this._deliveryQueue = (_e = this._options) === null || _e === void 0 ? void 0 : _e.deliveryQueue;\n }\n dispose() {\n var _a, _b, _c, _d;\n if (!this._disposed) {\n this._disposed = true;\n // It is bad to have listeners at the time of disposing an emitter, it is worst to have listeners keep the emitter\n // alive via the reference that's embedded in their disposables. Therefore we loop over all remaining listeners and\n // unset their subscriptions/disposables. Looping and blaming remaining listeners is done on next tick because the\n // the following programming pattern is very popular:\n //\n // const someModel = this._disposables.add(new ModelObject()); // (1) create and register model\n // this._disposables.add(someModel.onDidChange(() => { ... }); // (2) subscribe and register model-event listener\n // ...later...\n // this._disposables.dispose(); disposes (1) then (2): don't warn after (1) but after the \"overall dispose\" is done\n if (((_a = this._deliveryQueue) === null || _a === void 0 ? void 0 : _a.current) === this) {\n this._deliveryQueue.reset();\n }\n if (this._listeners) {\n if (_enableDisposeWithListenerWarning) {\n const listeners = this._listeners;\n queueMicrotask(() => {\n forEachListener(listeners, l => { var _a; return (_a = l.stack) === null || _a === void 0 ? void 0 : _a.print(); });\n });\n }\n this._listeners = undefined;\n this._size = 0;\n }\n (_c = (_b = this._options) === null || _b === void 0 ? void 0 : _b.onDidRemoveLastListener) === null || _c === void 0 ? void 0 : _c.call(_b);\n (_d = this._leakageMon) === null || _d === void 0 ? void 0 : _d.dispose();\n }\n }\n /**\n * For the public to allow to subscribe\n * to events from this Emitter\n */\n get event() {\n var _a;\n (_a = this._event) !== null && _a !== void 0 ? _a : (this._event = (callback, thisArgs, disposables) => {\n var _a, _b, _c, _d, _e;\n if (this._leakageMon && this._size > this._leakageMon.threshold * 3) {\n console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`);\n return _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n }\n if (this._disposed) {\n // todo: should we warn if a listener is added to a disposed emitter? This happens often\n return _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n }\n if (thisArgs) {\n callback = callback.bind(thisArgs);\n }\n const contained = new UniqueContainer(callback);\n let removeMonitor;\n let stack;\n if (this._leakageMon && this._size >= Math.ceil(this._leakageMon.threshold * 0.2)) {\n // check and record this emitter for potential leakage\n contained.stack = Stacktrace.create();\n removeMonitor = this._leakageMon.check(contained.stack, this._size + 1);\n }\n if (_enableDisposeWithListenerWarning) {\n contained.stack = stack !== null && stack !== void 0 ? stack : Stacktrace.create();\n }\n if (!this._listeners) {\n (_b = (_a = this._options) === null || _a === void 0 ? void 0 : _a.onWillAddFirstListener) === null || _b === void 0 ? void 0 : _b.call(_a, this);\n this._listeners = contained;\n (_d = (_c = this._options) === null || _c === void 0 ? void 0 : _c.onDidAddFirstListener) === null || _d === void 0 ? void 0 : _d.call(_c, this);\n }\n else if (this._listeners instanceof UniqueContainer) {\n (_e = this._deliveryQueue) !== null && _e !== void 0 ? _e : (this._deliveryQueue = new EventDeliveryQueuePrivate());\n this._listeners = [this._listeners, contained];\n }\n else {\n this._listeners.push(contained);\n }\n this._size++;\n const result = (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.toDisposable)(() => { removeMonitor === null || removeMonitor === void 0 ? void 0 : removeMonitor(); this._removeListener(contained); });\n if (disposables instanceof _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.DisposableStore) {\n disposables.add(result);\n }\n else if (Array.isArray(disposables)) {\n disposables.push(result);\n }\n return result;\n });\n return this._event;\n }\n _removeListener(listener) {\n var _a, _b, _c, _d;\n (_b = (_a = this._options) === null || _a === void 0 ? void 0 : _a.onWillRemoveListener) === null || _b === void 0 ? void 0 : _b.call(_a, this);\n if (!this._listeners) {\n return; // expected if a listener gets disposed\n }\n if (this._size === 1) {\n this._listeners = undefined;\n (_d = (_c = this._options) === null || _c === void 0 ? void 0 : _c.onDidRemoveLastListener) === null || _d === void 0 ? void 0 : _d.call(_c, this);\n this._size = 0;\n return;\n }\n // size > 1 which requires that listeners be a list:\n const listeners = this._listeners;\n const index = listeners.indexOf(listener);\n if (index === -1) {\n console.log('disposed?', this._disposed);\n console.log('size?', this._size);\n console.log('arr?', JSON.stringify(this._listeners));\n throw new Error('Attempted to dispose unknown listener');\n }\n this._size--;\n listeners[index] = undefined;\n const adjustDeliveryQueue = this._deliveryQueue.current === this;\n if (this._size * compactionThreshold <= listeners.length) {\n let n = 0;\n for (let i = 0; i < listeners.length; i++) {\n if (listeners[i]) {\n listeners[n++] = listeners[i];\n }\n else if (adjustDeliveryQueue) {\n this._deliveryQueue.end--;\n if (n < this._deliveryQueue.i) {\n this._deliveryQueue.i--;\n }\n }\n }\n listeners.length = n;\n }\n }\n _deliver(listener, value) {\n var _a;\n if (!listener) {\n return;\n }\n const errorHandler = ((_a = this._options) === null || _a === void 0 ? void 0 : _a.onListenerError) || _errors_js__WEBPACK_IMPORTED_MODULE_0__.onUnexpectedError;\n if (!errorHandler) {\n listener.value(value);\n return;\n }\n try {\n listener.value(value);\n }\n catch (e) {\n errorHandler(e);\n }\n }\n /** Delivers items in the queue. Assumes the queue is ready to go. */\n _deliverQueue(dq) {\n const listeners = dq.current._listeners;\n while (dq.i < dq.end) {\n // important: dq.i is incremented before calling deliver() because it might reenter deliverQueue()\n this._deliver(listeners[dq.i++], dq.value);\n }\n dq.reset();\n }\n /**\n * To be kept private to fire an event to\n * subscribers\n */\n fire(event) {\n var _a, _b, _c, _d;\n if ((_a = this._deliveryQueue) === null || _a === void 0 ? void 0 : _a.current) {\n this._deliverQueue(this._deliveryQueue);\n (_b = this._perfMon) === null || _b === void 0 ? void 0 : _b.stop(); // last fire() will have starting perfmon, stop it before starting the next dispatch\n }\n (_c = this._perfMon) === null || _c === void 0 ? void 0 : _c.start(this._size);\n if (!this._listeners) {\n // no-op\n }\n else if (this._listeners instanceof UniqueContainer) {\n this._deliver(this._listeners, event);\n }\n else {\n const dq = this._deliveryQueue;\n dq.enqueue(this, event, this._listeners.length);\n this._deliverQueue(dq);\n }\n (_d = this._perfMon) === null || _d === void 0 ? void 0 : _d.stop();\n }\n hasListeners() {\n return this._size > 0;\n }\n}\nconst createEventDeliveryQueue = () => new EventDeliveryQueuePrivate();\nclass EventDeliveryQueuePrivate {\n constructor() {\n /**\n * Index in current's listener list.\n */\n this.i = -1;\n /**\n * The last index in the listener's list to deliver.\n */\n this.end = 0;\n }\n enqueue(emitter, value, end) {\n this.i = 0;\n this.end = end;\n this.current = emitter;\n this.value = value;\n }\n reset() {\n this.i = this.end; // force any current emission loop to stop, mainly for during dispose\n this.current = undefined;\n this.value = undefined;\n }\n}\nclass PauseableEmitter extends Emitter {\n constructor(options) {\n super(options);\n this._isPaused = 0;\n this._eventQueue = new _linkedList_js__WEBPACK_IMPORTED_MODULE_3__.LinkedList();\n this._mergeFn = options === null || options === void 0 ? void 0 : options.merge;\n }\n pause() {\n this._isPaused++;\n }\n resume() {\n if (this._isPaused !== 0 && --this._isPaused === 0) {\n if (this._mergeFn) {\n // use the merge function to create a single composite\n // event. make a copy in case firing pauses this emitter\n if (this._eventQueue.size > 0) {\n const events = Array.from(this._eventQueue);\n this._eventQueue.clear();\n super.fire(this._mergeFn(events));\n }\n }\n else {\n // no merging, fire each event individually and test\n // that this emitter isn't paused halfway through\n while (!this._isPaused && this._eventQueue.size !== 0) {\n super.fire(this._eventQueue.shift());\n }\n }\n }\n }\n fire(event) {\n if (this._size) {\n if (this._isPaused !== 0) {\n this._eventQueue.push(event);\n }\n else {\n super.fire(event);\n }\n }\n }\n}\nclass DebounceEmitter extends PauseableEmitter {\n constructor(options) {\n var _a;\n super(options);\n this._delay = (_a = options.delay) !== null && _a !== void 0 ? _a : 100;\n }\n fire(event) {\n if (!this._handle) {\n this.pause();\n this._handle = setTimeout(() => {\n this._handle = undefined;\n this.resume();\n }, this._delay);\n }\n super.fire(event);\n }\n}\n/**\n * An emitter which queue all events and then process them at the\n * end of the event loop.\n */\nclass MicrotaskEmitter extends Emitter {\n constructor(options) {\n super(options);\n this._queuedEvents = [];\n this._mergeFn = options === null || options === void 0 ? void 0 : options.merge;\n }\n fire(event) {\n if (!this.hasListeners()) {\n return;\n }\n this._queuedEvents.push(event);\n if (this._queuedEvents.length === 1) {\n queueMicrotask(() => {\n if (this._mergeFn) {\n super.fire(this._mergeFn(this._queuedEvents));\n }\n else {\n this._queuedEvents.forEach(e => super.fire(e));\n }\n this._queuedEvents = [];\n });\n }\n }\n}\n/**\n * An event emitter that multiplexes many events into a single event.\n *\n * @example Listen to the `onData` event of all `Thing`s, dynamically adding and removing `Thing`s\n * to the multiplexer as needed.\n *\n * ```typescript\n * const anythingDataMultiplexer = new EventMultiplexer<{ data: string }>();\n *\n * const thingListeners = DisposableMap();\n *\n * thingService.onDidAddThing(thing => {\n * thingListeners.set(thing, anythingDataMultiplexer.add(thing.onData);\n * });\n * thingService.onDidRemoveThing(thing => {\n * thingListeners.deleteAndDispose(thing);\n * });\n *\n * anythingDataMultiplexer.event(e => {\n * console.log('Something fired data ' + e.data)\n * });\n * ```\n */\nclass EventMultiplexer {\n constructor() {\n this.hasListeners = false;\n this.events = [];\n this.emitter = new Emitter({\n onWillAddFirstListener: () => this.onFirstListenerAdd(),\n onDidRemoveLastListener: () => this.onLastListenerRemove()\n });\n }\n get event() {\n return this.emitter.event;\n }\n add(event) {\n const e = { event: event, listener: null };\n this.events.push(e);\n if (this.hasListeners) {\n this.hook(e);\n }\n const dispose = () => {\n if (this.hasListeners) {\n this.unhook(e);\n }\n const idx = this.events.indexOf(e);\n this.events.splice(idx, 1);\n };\n return (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.toDisposable)((0,_functional_js__WEBPACK_IMPORTED_MODULE_1__.createSingleCallFunction)(dispose));\n }\n onFirstListenerAdd() {\n this.hasListeners = true;\n this.events.forEach(e => this.hook(e));\n }\n onLastListenerRemove() {\n this.hasListeners = false;\n this.events.forEach(e => this.unhook(e));\n }\n hook(e) {\n e.listener = e.event(r => this.emitter.fire(r));\n }\n unhook(e) {\n if (e.listener) {\n e.listener.dispose();\n }\n e.listener = null;\n }\n dispose() {\n this.emitter.dispose();\n }\n}\n/**\n * The EventBufferer is useful in situations in which you want\n * to delay firing your events during some code.\n * You can wrap that code and be sure that the event will not\n * be fired during that wrap.\n *\n * ```\n * const emitter: Emitter;\n * const delayer = new EventDelayer();\n * const delayedEvent = delayer.wrapEvent(emitter.event);\n *\n * delayedEvent(console.log);\n *\n * delayer.bufferEvents(() => {\n * emitter.fire(); // event will not be fired yet\n * });\n *\n * // event will only be fired at this point\n * ```\n */\nclass EventBufferer {\n constructor() {\n this.buffers = [];\n }\n wrapEvent(event) {\n return (listener, thisArgs, disposables) => {\n return event(i => {\n const buffer = this.buffers[this.buffers.length - 1];\n if (buffer) {\n buffer.push(() => listener.call(thisArgs, i));\n }\n else {\n listener.call(thisArgs, i);\n }\n }, undefined, disposables);\n };\n }\n bufferEvents(fn) {\n const buffer = [];\n this.buffers.push(buffer);\n const r = fn();\n this.buffers.pop();\n buffer.forEach(flush => flush());\n return r;\n }\n}\n/**\n * A Relay is an event forwarder which functions as a replugabble event pipe.\n * Once created, you can connect an input event to it and it will simply forward\n * events from that input event through its own `event` property. The `input`\n * can be changed at any point in time.\n */\nclass Relay {\n constructor() {\n this.listening = false;\n this.inputEvent = Event.None;\n this.inputEventListener = _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n this.emitter = new Emitter({\n onDidAddFirstListener: () => {\n this.listening = true;\n this.inputEventListener = this.inputEvent(this.emitter.fire, this.emitter);\n },\n onDidRemoveLastListener: () => {\n this.listening = false;\n this.inputEventListener.dispose();\n }\n });\n this.event = this.emitter.event;\n }\n set input(event) {\n this.inputEvent = event;\n if (this.listening) {\n this.inputEventListener.dispose();\n this.inputEventListener = event(this.emitter.fire, this.emitter);\n }\n }\n dispose() {\n this.inputEventListener.dispose();\n this.emitter.dispose();\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/event.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/extpath.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/extpath.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getRoot: () => (/* binding */ getRoot),\n/* harmony export */ hasDriveLetter: () => (/* binding */ hasDriveLetter),\n/* harmony export */ isEqualOrParent: () => (/* binding */ isEqualOrParent),\n/* harmony export */ isPathSeparator: () => (/* binding */ isPathSeparator),\n/* harmony export */ isWindowsDriveLetter: () => (/* binding */ isWindowsDriveLetter),\n/* harmony export */ toPosixPath: () => (/* binding */ toPosixPath),\n/* harmony export */ toSlashes: () => (/* binding */ toSlashes)\n/* harmony export */ });\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\nfunction isPathSeparator(code) {\n return code === 47 /* CharCode.Slash */ || code === 92 /* CharCode.Backslash */;\n}\n/**\n * Takes a Windows OS path and changes backward slashes to forward slashes.\n * This should only be done for OS paths from Windows (or user provided paths potentially from Windows).\n * Using it on a Linux or MaxOS path might change it.\n */\nfunction toSlashes(osPath) {\n return osPath.replace(/[\\\\/]/g, _path_js__WEBPACK_IMPORTED_MODULE_0__.posix.sep);\n}\n/**\n * Takes a Windows OS path (using backward or forward slashes) and turns it into a posix path:\n * - turns backward slashes into forward slashes\n * - makes it absolute if it starts with a drive letter\n * This should only be done for OS paths from Windows (or user provided paths potentially from Windows).\n * Using it on a Linux or MaxOS path might change it.\n */\nfunction toPosixPath(osPath) {\n if (osPath.indexOf('/') === -1) {\n osPath = toSlashes(osPath);\n }\n if (/^[a-zA-Z]:(\\/|$)/.test(osPath)) { // starts with a drive letter\n osPath = '/' + osPath;\n }\n return osPath;\n}\n/**\n * Computes the _root_ this path, like `getRoot('c:\\files') === c:\\`,\n * `getRoot('files:///files/path') === files:///`,\n * or `getRoot('\\\\server\\shares\\path') === \\\\server\\shares\\`\n */\nfunction getRoot(path, sep = _path_js__WEBPACK_IMPORTED_MODULE_0__.posix.sep) {\n if (!path) {\n return '';\n }\n const len = path.length;\n const firstLetter = path.charCodeAt(0);\n if (isPathSeparator(firstLetter)) {\n if (isPathSeparator(path.charCodeAt(1))) {\n // UNC candidate \\\\localhost\\shares\\ddd\n // ^^^^^^^^^^^^^^^^^^^\n if (!isPathSeparator(path.charCodeAt(2))) {\n let pos = 3;\n const start = pos;\n for (; pos < len; pos++) {\n if (isPathSeparator(path.charCodeAt(pos))) {\n break;\n }\n }\n if (start !== pos && !isPathSeparator(path.charCodeAt(pos + 1))) {\n pos += 1;\n for (; pos < len; pos++) {\n if (isPathSeparator(path.charCodeAt(pos))) {\n return path.slice(0, pos + 1) // consume this separator\n .replace(/[\\\\/]/g, sep);\n }\n }\n }\n }\n }\n // /user/far\n // ^\n return sep;\n }\n else if (isWindowsDriveLetter(firstLetter)) {\n // check for windows drive letter c:\\ or c:\n if (path.charCodeAt(1) === 58 /* CharCode.Colon */) {\n if (isPathSeparator(path.charCodeAt(2))) {\n // C:\\fff\n // ^^^\n return path.slice(0, 2) + sep;\n }\n else {\n // C:\n // ^^\n return path.slice(0, 2);\n }\n }\n }\n // check for URI\n // scheme://authority/path\n // ^^^^^^^^^^^^^^^^^^^\n let pos = path.indexOf('://');\n if (pos !== -1) {\n pos += 3; // 3 -> \"://\".length\n for (; pos < len; pos++) {\n if (isPathSeparator(path.charCodeAt(pos))) {\n return path.slice(0, pos + 1); // consume this separator\n }\n }\n }\n return '';\n}\n/**\n * @deprecated please use `IUriIdentityService.extUri.isEqualOrParent` instead. If\n * you are in a context without services, consider to pass down the `extUri` from the\n * outside, or use `extUriBiasedIgnorePathCase` if you know what you are doing.\n */\nfunction isEqualOrParent(base, parentCandidate, ignoreCase, separator = _path_js__WEBPACK_IMPORTED_MODULE_0__.sep) {\n if (base === parentCandidate) {\n return true;\n }\n if (!base || !parentCandidate) {\n return false;\n }\n if (parentCandidate.length > base.length) {\n return false;\n }\n if (ignoreCase) {\n const beginsWith = (0,_strings_js__WEBPACK_IMPORTED_MODULE_2__.startsWithIgnoreCase)(base, parentCandidate);\n if (!beginsWith) {\n return false;\n }\n if (parentCandidate.length === base.length) {\n return true; // same path, different casing\n }\n let sepOffset = parentCandidate.length;\n if (parentCandidate.charAt(parentCandidate.length - 1) === separator) {\n sepOffset--; // adjust the expected sep offset in case our candidate already ends in separator character\n }\n return base.charAt(sepOffset) === separator;\n }\n if (parentCandidate.charAt(parentCandidate.length - 1) !== separator) {\n parentCandidate += separator;\n }\n return base.indexOf(parentCandidate) === 0;\n}\nfunction isWindowsDriveLetter(char0) {\n return char0 >= 65 /* CharCode.A */ && char0 <= 90 /* CharCode.Z */ || char0 >= 97 /* CharCode.a */ && char0 <= 122 /* CharCode.z */;\n}\nfunction hasDriveLetter(path, isWindowsOS = _platform_js__WEBPACK_IMPORTED_MODULE_1__.isWindows) {\n if (isWindowsOS) {\n return isWindowsDriveLetter(path.charCodeAt(0)) && path.charCodeAt(1) === 58 /* CharCode.Colon */;\n }\n return false;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/extpath.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/filters.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/filters.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FuzzyScore: () => (/* binding */ FuzzyScore),\n/* harmony export */ FuzzyScoreOptions: () => (/* binding */ FuzzyScoreOptions),\n/* harmony export */ anyScore: () => (/* binding */ anyScore),\n/* harmony export */ createMatches: () => (/* binding */ createMatches),\n/* harmony export */ fuzzyScore: () => (/* binding */ fuzzyScore),\n/* harmony export */ fuzzyScoreGracefulAggressive: () => (/* binding */ fuzzyScoreGracefulAggressive),\n/* harmony export */ isPatternInWord: () => (/* binding */ isPatternInWord),\n/* harmony export */ isUpper: () => (/* binding */ isUpper),\n/* harmony export */ matchesCamelCase: () => (/* binding */ matchesCamelCase),\n/* harmony export */ matchesContiguousSubString: () => (/* binding */ matchesContiguousSubString),\n/* harmony export */ matchesFuzzy: () => (/* binding */ matchesFuzzy),\n/* harmony export */ matchesFuzzy2: () => (/* binding */ matchesFuzzy2),\n/* harmony export */ matchesPrefix: () => (/* binding */ matchesPrefix),\n/* harmony export */ matchesStrictPrefix: () => (/* binding */ matchesStrictPrefix),\n/* harmony export */ matchesSubString: () => (/* binding */ matchesSubString),\n/* harmony export */ matchesWords: () => (/* binding */ matchesWords),\n/* harmony export */ or: () => (/* binding */ or)\n/* harmony export */ });\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./map.js */ \"./node_modules/monaco-editor/esm/vs/base/common/map.js\");\n/* harmony import */ var _naturalLanguage_korean_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./naturalLanguage/korean.js */ \"./node_modules/monaco-editor/esm/vs/base/common/naturalLanguage/korean.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n// Combined filters\n/**\n * @returns A filter which combines the provided set\n * of filters with an or. The *first* filters that\n * matches defined the return value of the returned\n * filter.\n */\nfunction or(...filter) {\n return function (word, wordToMatchAgainst) {\n for (let i = 0, len = filter.length; i < len; i++) {\n const match = filter[i](word, wordToMatchAgainst);\n if (match) {\n return match;\n }\n }\n return null;\n };\n}\n// Prefix\nconst matchesStrictPrefix = _matchesPrefix.bind(undefined, false);\nconst matchesPrefix = _matchesPrefix.bind(undefined, true);\nfunction _matchesPrefix(ignoreCase, word, wordToMatchAgainst) {\n if (!wordToMatchAgainst || wordToMatchAgainst.length < word.length) {\n return null;\n }\n let matches;\n if (ignoreCase) {\n matches = _strings_js__WEBPACK_IMPORTED_MODULE_2__.startsWithIgnoreCase(wordToMatchAgainst, word);\n }\n else {\n matches = wordToMatchAgainst.indexOf(word) === 0;\n }\n if (!matches) {\n return null;\n }\n return word.length > 0 ? [{ start: 0, end: word.length }] : [];\n}\n// Contiguous Substring\nfunction matchesContiguousSubString(word, wordToMatchAgainst) {\n const index = wordToMatchAgainst.toLowerCase().indexOf(word.toLowerCase());\n if (index === -1) {\n return null;\n }\n return [{ start: index, end: index + word.length }];\n}\n// Substring\nfunction matchesSubString(word, wordToMatchAgainst) {\n return _matchesSubString(word.toLowerCase(), wordToMatchAgainst.toLowerCase(), 0, 0);\n}\nfunction _matchesSubString(word, wordToMatchAgainst, i, j) {\n if (i === word.length) {\n return [];\n }\n else if (j === wordToMatchAgainst.length) {\n return null;\n }\n else {\n if (word[i] === wordToMatchAgainst[j]) {\n let result = null;\n if (result = _matchesSubString(word, wordToMatchAgainst, i + 1, j + 1)) {\n return join({ start: j, end: j + 1 }, result);\n }\n return null;\n }\n return _matchesSubString(word, wordToMatchAgainst, i, j + 1);\n }\n}\n// CamelCase\nfunction isLower(code) {\n return 97 /* CharCode.a */ <= code && code <= 122 /* CharCode.z */;\n}\nfunction isUpper(code) {\n return 65 /* CharCode.A */ <= code && code <= 90 /* CharCode.Z */;\n}\nfunction isNumber(code) {\n return 48 /* CharCode.Digit0 */ <= code && code <= 57 /* CharCode.Digit9 */;\n}\nfunction isWhitespace(code) {\n return (code === 32 /* CharCode.Space */\n || code === 9 /* CharCode.Tab */\n || code === 10 /* CharCode.LineFeed */\n || code === 13 /* CharCode.CarriageReturn */);\n}\nconst wordSeparators = new Set();\n// These are chosen as natural word separators based on writen text.\n// It is a subset of the word separators used by the monaco editor.\n'()[]{}<>`\\'\"-/;:,.?!'\n .split('')\n .forEach(s => wordSeparators.add(s.charCodeAt(0)));\nfunction isWordSeparator(code) {\n return isWhitespace(code) || wordSeparators.has(code);\n}\nfunction charactersMatch(codeA, codeB) {\n return (codeA === codeB) || (isWordSeparator(codeA) && isWordSeparator(codeB));\n}\nconst alternateCharsCache = new Map();\n/**\n * Gets alternative codes to the character code passed in. This comes in the\n * form of an array of character codes, all of which must match _in order_ to\n * successfully match.\n *\n * @param code The character code to check.\n */\nfunction getAlternateCodes(code) {\n if (alternateCharsCache.has(code)) {\n return alternateCharsCache.get(code);\n }\n // NOTE: This function is written in such a way that it can be extended in\n // the future, but right now the return type takes into account it's only\n // supported by a single \"alt codes provider\".\n // `ArrayLike>` is a more appropriate type if changed.\n let result;\n const codes = (0,_naturalLanguage_korean_js__WEBPACK_IMPORTED_MODULE_1__.getKoreanAltChars)(code);\n if (codes) {\n result = codes;\n }\n alternateCharsCache.set(code, result);\n return result;\n}\nfunction isAlphanumeric(code) {\n return isLower(code) || isUpper(code) || isNumber(code);\n}\nfunction join(head, tail) {\n if (tail.length === 0) {\n tail = [head];\n }\n else if (head.end === tail[0].start) {\n tail[0].start = head.start;\n }\n else {\n tail.unshift(head);\n }\n return tail;\n}\nfunction nextAnchor(camelCaseWord, start) {\n for (let i = start; i < camelCaseWord.length; i++) {\n const c = camelCaseWord.charCodeAt(i);\n if (isUpper(c) || isNumber(c) || (i > 0 && !isAlphanumeric(camelCaseWord.charCodeAt(i - 1)))) {\n return i;\n }\n }\n return camelCaseWord.length;\n}\nfunction _matchesCamelCase(word, camelCaseWord, i, j) {\n if (i === word.length) {\n return [];\n }\n else if (j === camelCaseWord.length) {\n return null;\n }\n else if (word[i] !== camelCaseWord[j].toLowerCase()) {\n return null;\n }\n else {\n let result = null;\n let nextUpperIndex = j + 1;\n result = _matchesCamelCase(word, camelCaseWord, i + 1, j + 1);\n while (!result && (nextUpperIndex = nextAnchor(camelCaseWord, nextUpperIndex)) < camelCaseWord.length) {\n result = _matchesCamelCase(word, camelCaseWord, i + 1, nextUpperIndex);\n nextUpperIndex++;\n }\n return result === null ? null : join({ start: j, end: j + 1 }, result);\n }\n}\n// Heuristic to avoid computing camel case matcher for words that don't\n// look like camelCaseWords.\nfunction analyzeCamelCaseWord(word) {\n let upper = 0, lower = 0, alpha = 0, numeric = 0, code = 0;\n for (let i = 0; i < word.length; i++) {\n code = word.charCodeAt(i);\n if (isUpper(code)) {\n upper++;\n }\n if (isLower(code)) {\n lower++;\n }\n if (isAlphanumeric(code)) {\n alpha++;\n }\n if (isNumber(code)) {\n numeric++;\n }\n }\n const upperPercent = upper / word.length;\n const lowerPercent = lower / word.length;\n const alphaPercent = alpha / word.length;\n const numericPercent = numeric / word.length;\n return { upperPercent, lowerPercent, alphaPercent, numericPercent };\n}\nfunction isUpperCaseWord(analysis) {\n const { upperPercent, lowerPercent } = analysis;\n return lowerPercent === 0 && upperPercent > 0.6;\n}\nfunction isCamelCaseWord(analysis) {\n const { upperPercent, lowerPercent, alphaPercent, numericPercent } = analysis;\n return lowerPercent > 0.2 && upperPercent < 0.8 && alphaPercent > 0.6 && numericPercent < 0.2;\n}\n// Heuristic to avoid computing camel case matcher for words that don't\n// look like camel case patterns.\nfunction isCamelCasePattern(word) {\n let upper = 0, lower = 0, code = 0, whitespace = 0;\n for (let i = 0; i < word.length; i++) {\n code = word.charCodeAt(i);\n if (isUpper(code)) {\n upper++;\n }\n if (isLower(code)) {\n lower++;\n }\n if (isWhitespace(code)) {\n whitespace++;\n }\n }\n if ((upper === 0 || lower === 0) && whitespace === 0) {\n return word.length <= 30;\n }\n else {\n return upper <= 5;\n }\n}\nfunction matchesCamelCase(word, camelCaseWord) {\n if (!camelCaseWord) {\n return null;\n }\n camelCaseWord = camelCaseWord.trim();\n if (camelCaseWord.length === 0) {\n return null;\n }\n if (!isCamelCasePattern(word)) {\n return null;\n }\n if (camelCaseWord.length > 60) {\n return null;\n }\n const analysis = analyzeCamelCaseWord(camelCaseWord);\n if (!isCamelCaseWord(analysis)) {\n if (!isUpperCaseWord(analysis)) {\n return null;\n }\n camelCaseWord = camelCaseWord.toLowerCase();\n }\n let result = null;\n let i = 0;\n word = word.toLowerCase();\n while (i < camelCaseWord.length && (result = _matchesCamelCase(word, camelCaseWord, 0, i)) === null) {\n i = nextAnchor(camelCaseWord, i + 1);\n }\n return result;\n}\n// Matches beginning of words supporting non-ASCII languages\n// If `contiguous` is true then matches word with beginnings of the words in the target. E.g. \"pul\" will match \"Git: Pull\"\n// Otherwise also matches sub string of the word with beginnings of the words in the target. E.g. \"gp\" or \"g p\" will match \"Git: Pull\"\n// Useful in cases where the target is words (e.g. command labels)\nfunction matchesWords(word, target, contiguous = false) {\n if (!target || target.length === 0) {\n return null;\n }\n let result = null;\n let targetIndex = 0;\n word = word.toLowerCase();\n target = target.toLowerCase();\n while (targetIndex < target.length) {\n result = _matchesWords(word, target, 0, targetIndex, contiguous);\n if (result !== null) {\n break;\n }\n targetIndex = nextWord(target, targetIndex + 1);\n }\n return result;\n}\nfunction _matchesWords(word, target, wordIndex, targetIndex, contiguous) {\n let targetIndexOffset = 0;\n if (wordIndex === word.length) {\n return [];\n }\n else if (targetIndex === target.length) {\n return null;\n }\n else if (!charactersMatch(word.charCodeAt(wordIndex), target.charCodeAt(targetIndex))) {\n // Verify alternate characters before exiting\n const altChars = getAlternateCodes(word.charCodeAt(wordIndex));\n if (!altChars) {\n return null;\n }\n for (let k = 0; k < altChars.length; k++) {\n if (!charactersMatch(altChars[k], target.charCodeAt(targetIndex + k))) {\n return null;\n }\n }\n targetIndexOffset += altChars.length - 1;\n }\n let result = null;\n let nextWordIndex = targetIndex + targetIndexOffset + 1;\n result = _matchesWords(word, target, wordIndex + 1, nextWordIndex, contiguous);\n if (!contiguous) {\n while (!result && (nextWordIndex = nextWord(target, nextWordIndex)) < target.length) {\n result = _matchesWords(word, target, wordIndex + 1, nextWordIndex, contiguous);\n nextWordIndex++;\n }\n }\n if (!result) {\n return null;\n }\n // If the characters don't exactly match, then they must be word separators (see charactersMatch(...)).\n // We don't want to include this in the matches but we don't want to throw the target out all together so we return `result`.\n if (word.charCodeAt(wordIndex) !== target.charCodeAt(targetIndex)) {\n // Verify alternate characters before exiting\n const altChars = getAlternateCodes(word.charCodeAt(wordIndex));\n if (!altChars) {\n return result;\n }\n for (let k = 0; k < altChars.length; k++) {\n if (altChars[k] !== target.charCodeAt(targetIndex + k)) {\n return result;\n }\n }\n }\n return join({ start: targetIndex, end: targetIndex + targetIndexOffset + 1 }, result);\n}\nfunction nextWord(word, start) {\n for (let i = start; i < word.length; i++) {\n if (isWordSeparator(word.charCodeAt(i)) ||\n (i > 0 && isWordSeparator(word.charCodeAt(i - 1)))) {\n return i;\n }\n }\n return word.length;\n}\n// Fuzzy\nconst fuzzyContiguousFilter = or(matchesPrefix, matchesCamelCase, matchesContiguousSubString);\nconst fuzzySeparateFilter = or(matchesPrefix, matchesCamelCase, matchesSubString);\nconst fuzzyRegExpCache = new _map_js__WEBPACK_IMPORTED_MODULE_0__.LRUCache(10000); // bounded to 10000 elements\nfunction matchesFuzzy(word, wordToMatchAgainst, enableSeparateSubstringMatching = false) {\n if (typeof word !== 'string' || typeof wordToMatchAgainst !== 'string') {\n return null; // return early for invalid input\n }\n // Form RegExp for wildcard matches\n let regexp = fuzzyRegExpCache.get(word);\n if (!regexp) {\n regexp = new RegExp(_strings_js__WEBPACK_IMPORTED_MODULE_2__.convertSimple2RegExpPattern(word), 'i');\n fuzzyRegExpCache.set(word, regexp);\n }\n // RegExp Filter\n const match = regexp.exec(wordToMatchAgainst);\n if (match) {\n return [{ start: match.index, end: match.index + match[0].length }];\n }\n // Default Filter\n return enableSeparateSubstringMatching ? fuzzySeparateFilter(word, wordToMatchAgainst) : fuzzyContiguousFilter(word, wordToMatchAgainst);\n}\n/**\n * Match pattern against word in a fuzzy way. As in IntelliSense and faster and more\n * powerful than `matchesFuzzy`\n */\nfunction matchesFuzzy2(pattern, word) {\n const score = fuzzyScore(pattern, pattern.toLowerCase(), 0, word, word.toLowerCase(), 0, { firstMatchCanBeWeak: true, boostFullMatch: true });\n return score ? createMatches(score) : null;\n}\nfunction anyScore(pattern, lowPattern, patternPos, word, lowWord, wordPos) {\n const max = Math.min(13, pattern.length);\n for (; patternPos < max; patternPos++) {\n const result = fuzzyScore(pattern, lowPattern, patternPos, word, lowWord, wordPos, { firstMatchCanBeWeak: true, boostFullMatch: true });\n if (result) {\n return result;\n }\n }\n return [0, wordPos];\n}\n//#region --- fuzzyScore ---\nfunction createMatches(score) {\n if (typeof score === 'undefined') {\n return [];\n }\n const res = [];\n const wordPos = score[1];\n for (let i = score.length - 1; i > 1; i--) {\n const pos = score[i] + wordPos;\n const last = res[res.length - 1];\n if (last && last.end === pos) {\n last.end = pos + 1;\n }\n else {\n res.push({ start: pos, end: pos + 1 });\n }\n }\n return res;\n}\nconst _maxLen = 128;\nfunction initTable() {\n const table = [];\n const row = [];\n for (let i = 0; i <= _maxLen; i++) {\n row[i] = 0;\n }\n for (let i = 0; i <= _maxLen; i++) {\n table.push(row.slice(0));\n }\n return table;\n}\nfunction initArr(maxLen) {\n const row = [];\n for (let i = 0; i <= maxLen; i++) {\n row[i] = 0;\n }\n return row;\n}\nconst _minWordMatchPos = initArr(2 * _maxLen); // min word position for a certain pattern position\nconst _maxWordMatchPos = initArr(2 * _maxLen); // max word position for a certain pattern position\nconst _diag = initTable(); // the length of a contiguous diagonal match\nconst _table = initTable();\nconst _arrows = initTable();\nconst _debug = false;\nfunction printTable(table, pattern, patternLen, word, wordLen) {\n function pad(s, n, pad = ' ') {\n while (s.length < n) {\n s = pad + s;\n }\n return s;\n }\n let ret = ` | |${word.split('').map(c => pad(c, 3)).join('|')}\\n`;\n for (let i = 0; i <= patternLen; i++) {\n if (i === 0) {\n ret += ' |';\n }\n else {\n ret += `${pattern[i - 1]}|`;\n }\n ret += table[i].slice(0, wordLen + 1).map(n => pad(n.toString(), 3)).join('|') + '\\n';\n }\n return ret;\n}\nfunction printTables(pattern, patternStart, word, wordStart) {\n pattern = pattern.substr(patternStart);\n word = word.substr(wordStart);\n console.log(printTable(_table, pattern, pattern.length, word, word.length));\n console.log(printTable(_arrows, pattern, pattern.length, word, word.length));\n console.log(printTable(_diag, pattern, pattern.length, word, word.length));\n}\nfunction isSeparatorAtPos(value, index) {\n if (index < 0 || index >= value.length) {\n return false;\n }\n const code = value.codePointAt(index);\n switch (code) {\n case 95 /* CharCode.Underline */:\n case 45 /* CharCode.Dash */:\n case 46 /* CharCode.Period */:\n case 32 /* CharCode.Space */:\n case 47 /* CharCode.Slash */:\n case 92 /* CharCode.Backslash */:\n case 39 /* CharCode.SingleQuote */:\n case 34 /* CharCode.DoubleQuote */:\n case 58 /* CharCode.Colon */:\n case 36 /* CharCode.DollarSign */:\n case 60 /* CharCode.LessThan */:\n case 62 /* CharCode.GreaterThan */:\n case 40 /* CharCode.OpenParen */:\n case 41 /* CharCode.CloseParen */:\n case 91 /* CharCode.OpenSquareBracket */:\n case 93 /* CharCode.CloseSquareBracket */:\n case 123 /* CharCode.OpenCurlyBrace */:\n case 125 /* CharCode.CloseCurlyBrace */:\n return true;\n case undefined:\n return false;\n default:\n if (_strings_js__WEBPACK_IMPORTED_MODULE_2__.isEmojiImprecise(code)) {\n return true;\n }\n return false;\n }\n}\nfunction isWhitespaceAtPos(value, index) {\n if (index < 0 || index >= value.length) {\n return false;\n }\n const code = value.charCodeAt(index);\n switch (code) {\n case 32 /* CharCode.Space */:\n case 9 /* CharCode.Tab */:\n return true;\n default:\n return false;\n }\n}\nfunction isUpperCaseAtPos(pos, word, wordLow) {\n return word[pos] !== wordLow[pos];\n}\nfunction isPatternInWord(patternLow, patternPos, patternLen, wordLow, wordPos, wordLen, fillMinWordPosArr = false) {\n while (patternPos < patternLen && wordPos < wordLen) {\n if (patternLow[patternPos] === wordLow[wordPos]) {\n if (fillMinWordPosArr) {\n // Remember the min word position for each pattern position\n _minWordMatchPos[patternPos] = wordPos;\n }\n patternPos += 1;\n }\n wordPos += 1;\n }\n return patternPos === patternLen; // pattern must be exhausted\n}\nvar FuzzyScore;\n(function (FuzzyScore) {\n /**\n * No matches and value `-100`\n */\n FuzzyScore.Default = ([-100, 0]);\n function isDefault(score) {\n return !score || (score.length === 2 && score[0] === -100 && score[1] === 0);\n }\n FuzzyScore.isDefault = isDefault;\n})(FuzzyScore || (FuzzyScore = {}));\nclass FuzzyScoreOptions {\n constructor(firstMatchCanBeWeak, boostFullMatch) {\n this.firstMatchCanBeWeak = firstMatchCanBeWeak;\n this.boostFullMatch = boostFullMatch;\n }\n}\nFuzzyScoreOptions.default = { boostFullMatch: true, firstMatchCanBeWeak: false };\nfunction fuzzyScore(pattern, patternLow, patternStart, word, wordLow, wordStart, options = FuzzyScoreOptions.default) {\n const patternLen = pattern.length > _maxLen ? _maxLen : pattern.length;\n const wordLen = word.length > _maxLen ? _maxLen : word.length;\n if (patternStart >= patternLen || wordStart >= wordLen || (patternLen - patternStart) > (wordLen - wordStart)) {\n return undefined;\n }\n // Run a simple check if the characters of pattern occur\n // (in order) at all in word. If that isn't the case we\n // stop because no match will be possible\n if (!isPatternInWord(patternLow, patternStart, patternLen, wordLow, wordStart, wordLen, true)) {\n return undefined;\n }\n // Find the max matching word position for each pattern position\n // NOTE: the min matching word position was filled in above, in the `isPatternInWord` call\n _fillInMaxWordMatchPos(patternLen, wordLen, patternStart, wordStart, patternLow, wordLow);\n let row = 1;\n let column = 1;\n let patternPos = patternStart;\n let wordPos = wordStart;\n const hasStrongFirstMatch = [false];\n // There will be a match, fill in tables\n for (row = 1, patternPos = patternStart; patternPos < patternLen; row++, patternPos++) {\n // Reduce search space to possible matching word positions and to possible access from next row\n const minWordMatchPos = _minWordMatchPos[patternPos];\n const maxWordMatchPos = _maxWordMatchPos[patternPos];\n const nextMaxWordMatchPos = (patternPos + 1 < patternLen ? _maxWordMatchPos[patternPos + 1] : wordLen);\n for (column = minWordMatchPos - wordStart + 1, wordPos = minWordMatchPos; wordPos < nextMaxWordMatchPos; column++, wordPos++) {\n let score = Number.MIN_SAFE_INTEGER;\n let canComeDiag = false;\n if (wordPos <= maxWordMatchPos) {\n score = _doScore(pattern, patternLow, patternPos, patternStart, word, wordLow, wordPos, wordLen, wordStart, _diag[row - 1][column - 1] === 0, hasStrongFirstMatch);\n }\n let diagScore = 0;\n if (score !== Number.MAX_SAFE_INTEGER) {\n canComeDiag = true;\n diagScore = score + _table[row - 1][column - 1];\n }\n const canComeLeft = wordPos > minWordMatchPos;\n const leftScore = canComeLeft ? _table[row][column - 1] + (_diag[row][column - 1] > 0 ? -5 : 0) : 0; // penalty for a gap start\n const canComeLeftLeft = wordPos > minWordMatchPos + 1 && _diag[row][column - 1] > 0;\n const leftLeftScore = canComeLeftLeft ? _table[row][column - 2] + (_diag[row][column - 2] > 0 ? -5 : 0) : 0; // penalty for a gap start\n if (canComeLeftLeft && (!canComeLeft || leftLeftScore >= leftScore) && (!canComeDiag || leftLeftScore >= diagScore)) {\n // always prefer choosing left left to jump over a diagonal because that means a match is earlier in the word\n _table[row][column] = leftLeftScore;\n _arrows[row][column] = 3 /* Arrow.LeftLeft */;\n _diag[row][column] = 0;\n }\n else if (canComeLeft && (!canComeDiag || leftScore >= diagScore)) {\n // always prefer choosing left since that means a match is earlier in the word\n _table[row][column] = leftScore;\n _arrows[row][column] = 2 /* Arrow.Left */;\n _diag[row][column] = 0;\n }\n else if (canComeDiag) {\n _table[row][column] = diagScore;\n _arrows[row][column] = 1 /* Arrow.Diag */;\n _diag[row][column] = _diag[row - 1][column - 1] + 1;\n }\n else {\n throw new Error(`not possible`);\n }\n }\n }\n if (_debug) {\n printTables(pattern, patternStart, word, wordStart);\n }\n if (!hasStrongFirstMatch[0] && !options.firstMatchCanBeWeak) {\n return undefined;\n }\n row--;\n column--;\n const result = [_table[row][column], wordStart];\n let backwardsDiagLength = 0;\n let maxMatchColumn = 0;\n while (row >= 1) {\n // Find the column where we go diagonally up\n let diagColumn = column;\n do {\n const arrow = _arrows[row][diagColumn];\n if (arrow === 3 /* Arrow.LeftLeft */) {\n diagColumn = diagColumn - 2;\n }\n else if (arrow === 2 /* Arrow.Left */) {\n diagColumn = diagColumn - 1;\n }\n else {\n // found the diagonal\n break;\n }\n } while (diagColumn >= 1);\n // Overturn the \"forwards\" decision if keeping the \"backwards\" diagonal would give a better match\n if (backwardsDiagLength > 1 // only if we would have a contiguous match of 3 characters\n && patternLow[patternStart + row - 1] === wordLow[wordStart + column - 1] // only if we can do a contiguous match diagonally\n && !isUpperCaseAtPos(diagColumn + wordStart - 1, word, wordLow) // only if the forwards chose diagonal is not an uppercase\n && backwardsDiagLength + 1 > _diag[row][diagColumn] // only if our contiguous match would be longer than the \"forwards\" contiguous match\n ) {\n diagColumn = column;\n }\n if (diagColumn === column) {\n // this is a contiguous match\n backwardsDiagLength++;\n }\n else {\n backwardsDiagLength = 1;\n }\n if (!maxMatchColumn) {\n // remember the last matched column\n maxMatchColumn = diagColumn;\n }\n row--;\n column = diagColumn - 1;\n result.push(column);\n }\n if (wordLen === patternLen && options.boostFullMatch) {\n // the word matches the pattern with all characters!\n // giving the score a total match boost (to come up ahead other words)\n result[0] += 2;\n }\n // Add 1 penalty for each skipped character in the word\n const skippedCharsCount = maxMatchColumn - patternLen;\n result[0] -= skippedCharsCount;\n return result;\n}\nfunction _fillInMaxWordMatchPos(patternLen, wordLen, patternStart, wordStart, patternLow, wordLow) {\n let patternPos = patternLen - 1;\n let wordPos = wordLen - 1;\n while (patternPos >= patternStart && wordPos >= wordStart) {\n if (patternLow[patternPos] === wordLow[wordPos]) {\n _maxWordMatchPos[patternPos] = wordPos;\n patternPos--;\n }\n wordPos--;\n }\n}\nfunction _doScore(pattern, patternLow, patternPos, patternStart, word, wordLow, wordPos, wordLen, wordStart, newMatchStart, outFirstMatchStrong) {\n if (patternLow[patternPos] !== wordLow[wordPos]) {\n return Number.MIN_SAFE_INTEGER;\n }\n let score = 1;\n let isGapLocation = false;\n if (wordPos === (patternPos - patternStart)) {\n // common prefix: `foobar <-> foobaz`\n // ^^^^^\n score = pattern[patternPos] === word[wordPos] ? 7 : 5;\n }\n else if (isUpperCaseAtPos(wordPos, word, wordLow) && (wordPos === 0 || !isUpperCaseAtPos(wordPos - 1, word, wordLow))) {\n // hitting upper-case: `foo <-> forOthers`\n // ^^ ^\n score = pattern[patternPos] === word[wordPos] ? 7 : 5;\n isGapLocation = true;\n }\n else if (isSeparatorAtPos(wordLow, wordPos) && (wordPos === 0 || !isSeparatorAtPos(wordLow, wordPos - 1))) {\n // hitting a separator: `. <-> foo.bar`\n // ^\n score = 5;\n }\n else if (isSeparatorAtPos(wordLow, wordPos - 1) || isWhitespaceAtPos(wordLow, wordPos - 1)) {\n // post separator: `foo <-> bar_foo`\n // ^^^\n score = 5;\n isGapLocation = true;\n }\n if (score > 1 && patternPos === patternStart) {\n outFirstMatchStrong[0] = true;\n }\n if (!isGapLocation) {\n isGapLocation = isUpperCaseAtPos(wordPos, word, wordLow) || isSeparatorAtPos(wordLow, wordPos - 1) || isWhitespaceAtPos(wordLow, wordPos - 1);\n }\n //\n if (patternPos === patternStart) { // first character in pattern\n if (wordPos > wordStart) {\n // the first pattern character would match a word character that is not at the word start\n // so introduce a penalty to account for the gap preceding this match\n score -= isGapLocation ? 3 : 5;\n }\n }\n else {\n if (newMatchStart) {\n // this would be the beginning of a new match (i.e. there would be a gap before this location)\n score += isGapLocation ? 2 : 0;\n }\n else {\n // this is part of a contiguous match, so give it a slight bonus, but do so only if it would not be a preferred gap location\n score += isGapLocation ? 0 : 1;\n }\n }\n if (wordPos + 1 === wordLen) {\n // we always penalize gaps, but this gives unfair advantages to a match that would match the last character in the word\n // so pretend there is a gap after the last character in the word to normalize things\n score -= isGapLocation ? 3 : 5;\n }\n return score;\n}\n//#endregion\n//#region --- graceful ---\nfunction fuzzyScoreGracefulAggressive(pattern, lowPattern, patternPos, word, lowWord, wordPos, options) {\n return fuzzyScoreWithPermutations(pattern, lowPattern, patternPos, word, lowWord, wordPos, true, options);\n}\nfunction fuzzyScoreWithPermutations(pattern, lowPattern, patternPos, word, lowWord, wordPos, aggressive, options) {\n let top = fuzzyScore(pattern, lowPattern, patternPos, word, lowWord, wordPos, options);\n if (top && !aggressive) {\n // when using the original pattern yield a result we`\n // return it unless we are aggressive and try to find\n // a better alignment, e.g. `cno` -> `^co^ns^ole` or `^c^o^nsole`.\n return top;\n }\n if (pattern.length >= 3) {\n // When the pattern is long enough then try a few (max 7)\n // permutations of the pattern to find a better match. The\n // permutations only swap neighbouring characters, e.g\n // `cnoso` becomes `conso`, `cnsoo`, `cnoos`.\n const tries = Math.min(7, pattern.length - 1);\n for (let movingPatternPos = patternPos + 1; movingPatternPos < tries; movingPatternPos++) {\n const newPattern = nextTypoPermutation(pattern, movingPatternPos);\n if (newPattern) {\n const candidate = fuzzyScore(newPattern, newPattern.toLowerCase(), patternPos, word, lowWord, wordPos, options);\n if (candidate) {\n candidate[0] -= 3; // permutation penalty\n if (!top || candidate[0] > top[0]) {\n top = candidate;\n }\n }\n }\n }\n }\n return top;\n}\nfunction nextTypoPermutation(pattern, patternPos) {\n if (patternPos + 1 >= pattern.length) {\n return undefined;\n }\n const swap1 = pattern[patternPos];\n const swap2 = pattern[patternPos + 1];\n if (swap1 === swap2) {\n return undefined;\n }\n return pattern.slice(0, patternPos)\n + swap2\n + swap1\n + pattern.slice(patternPos + 2);\n}\n//#endregion\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/filters.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/functional.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/functional.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createSingleCallFunction: () => (/* binding */ createSingleCallFunction)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/**\n * Given a function, returns a function that is only calling that function once.\n */\nfunction createSingleCallFunction(fn, fnDidRunCallback) {\n const _this = this;\n let didCall = false;\n let result;\n return function () {\n if (didCall) {\n return result;\n }\n didCall = true;\n if (fnDidRunCallback) {\n try {\n result = fn.apply(_this, arguments);\n }\n finally {\n fnDidRunCallback();\n }\n }\n else {\n result = fn.apply(_this, arguments);\n }\n return result;\n };\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/functional.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/fuzzyScorer.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/fuzzyScorer.js ***!
+ \**********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ pieceToQuery: () => (/* binding */ pieceToQuery),\n/* harmony export */ prepareQuery: () => (/* binding */ prepareQuery),\n/* harmony export */ scoreFuzzy2: () => (/* binding */ scoreFuzzy2)\n/* harmony export */ });\n/* harmony import */ var _filters_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filters.js */ \"./node_modules/monaco-editor/esm/vs/base/common/filters.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n\n\n\n\nconst NO_SCORE2 = [undefined, []];\nfunction scoreFuzzy2(target, query, patternStart = 0, wordStart = 0) {\n // Score: multiple inputs\n const preparedQuery = query;\n if (preparedQuery.values && preparedQuery.values.length > 1) {\n return doScoreFuzzy2Multiple(target, preparedQuery.values, patternStart, wordStart);\n }\n // Score: single input\n return doScoreFuzzy2Single(target, query, patternStart, wordStart);\n}\nfunction doScoreFuzzy2Multiple(target, query, patternStart, wordStart) {\n let totalScore = 0;\n const totalMatches = [];\n for (const queryPiece of query) {\n const [score, matches] = doScoreFuzzy2Single(target, queryPiece, patternStart, wordStart);\n if (typeof score !== 'number') {\n // if a single query value does not match, return with\n // no score entirely, we require all queries to match\n return NO_SCORE2;\n }\n totalScore += score;\n totalMatches.push(...matches);\n }\n // if we have a score, ensure that the positions are\n // sorted in ascending order and distinct\n return [totalScore, normalizeMatches(totalMatches)];\n}\nfunction doScoreFuzzy2Single(target, query, patternStart, wordStart) {\n const score = (0,_filters_js__WEBPACK_IMPORTED_MODULE_0__.fuzzyScore)(query.original, query.originalLowercase, patternStart, target, target.toLowerCase(), wordStart, { firstMatchCanBeWeak: true, boostFullMatch: true });\n if (!score) {\n return NO_SCORE2;\n }\n return [score[0], (0,_filters_js__WEBPACK_IMPORTED_MODULE_0__.createMatches)(score)];\n}\nconst NO_ITEM_SCORE = Object.freeze({ score: 0 });\nfunction normalizeMatches(matches) {\n // sort matches by start to be able to normalize\n const sortedMatches = matches.sort((matchA, matchB) => {\n return matchA.start - matchB.start;\n });\n // merge matches that overlap\n const normalizedMatches = [];\n let currentMatch = undefined;\n for (const match of sortedMatches) {\n // if we have no current match or the matches\n // do not overlap, we take it as is and remember\n // it for future merging\n if (!currentMatch || !matchOverlaps(currentMatch, match)) {\n currentMatch = match;\n normalizedMatches.push(match);\n }\n // otherwise we merge the matches\n else {\n currentMatch.start = Math.min(currentMatch.start, match.start);\n currentMatch.end = Math.max(currentMatch.end, match.end);\n }\n }\n return normalizedMatches;\n}\nfunction matchOverlaps(matchA, matchB) {\n if (matchA.end < matchB.start) {\n return false; // A ends before B starts\n }\n if (matchB.end < matchA.start) {\n return false; // B ends before A starts\n }\n return true;\n}\n/*\n * If a query is wrapped in quotes, the user does not want to\n * use fuzzy search for this query.\n */\nfunction queryExpectsExactMatch(query) {\n return query.startsWith('\"') && query.endsWith('\"');\n}\n/**\n * Helper function to prepare a search value for scoring by removing unwanted characters\n * and allowing to score on multiple pieces separated by whitespace character.\n */\nconst MULTIPLE_QUERY_VALUES_SEPARATOR = ' ';\nfunction prepareQuery(original) {\n if (typeof original !== 'string') {\n original = '';\n }\n const originalLowercase = original.toLowerCase();\n const { pathNormalized, normalized, normalizedLowercase } = normalizeQuery(original);\n const containsPathSeparator = pathNormalized.indexOf(_path_js__WEBPACK_IMPORTED_MODULE_1__.sep) >= 0;\n const expectExactMatch = queryExpectsExactMatch(original);\n let values = undefined;\n const originalSplit = original.split(MULTIPLE_QUERY_VALUES_SEPARATOR);\n if (originalSplit.length > 1) {\n for (const originalPiece of originalSplit) {\n const expectExactMatchPiece = queryExpectsExactMatch(originalPiece);\n const { pathNormalized: pathNormalizedPiece, normalized: normalizedPiece, normalizedLowercase: normalizedLowercasePiece } = normalizeQuery(originalPiece);\n if (normalizedPiece) {\n if (!values) {\n values = [];\n }\n values.push({\n original: originalPiece,\n originalLowercase: originalPiece.toLowerCase(),\n pathNormalized: pathNormalizedPiece,\n normalized: normalizedPiece,\n normalizedLowercase: normalizedLowercasePiece,\n expectContiguousMatch: expectExactMatchPiece\n });\n }\n }\n }\n return { original, originalLowercase, pathNormalized, normalized, normalizedLowercase, values, containsPathSeparator, expectContiguousMatch: expectExactMatch };\n}\nfunction normalizeQuery(original) {\n let pathNormalized;\n if (_platform_js__WEBPACK_IMPORTED_MODULE_2__.isWindows) {\n pathNormalized = original.replace(/\\//g, _path_js__WEBPACK_IMPORTED_MODULE_1__.sep); // Help Windows users to search for paths when using slash\n }\n else {\n pathNormalized = original.replace(/\\\\/g, _path_js__WEBPACK_IMPORTED_MODULE_1__.sep); // Help macOS/Linux users to search for paths when using backslash\n }\n // we remove quotes here because quotes are used for exact match search\n const normalized = (0,_strings_js__WEBPACK_IMPORTED_MODULE_3__.stripWildcards)(pathNormalized).replace(/\\s|\"/g, '');\n return {\n pathNormalized,\n normalized,\n normalizedLowercase: normalized.toLowerCase()\n };\n}\nfunction pieceToQuery(arg1) {\n if (Array.isArray(arg1)) {\n return prepareQuery(arg1.map(piece => piece.original).join(MULTIPLE_QUERY_VALUES_SEPARATOR));\n }\n return prepareQuery(arg1.original);\n}\n//#endregion\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/fuzzyScorer.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/glob.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/glob.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GLOBSTAR: () => (/* binding */ GLOBSTAR),\n/* harmony export */ GLOB_SPLIT: () => (/* binding */ GLOB_SPLIT),\n/* harmony export */ isRelativePattern: () => (/* binding */ isRelativePattern),\n/* harmony export */ match: () => (/* binding */ match),\n/* harmony export */ parse: () => (/* binding */ parse),\n/* harmony export */ splitGlobAware: () => (/* binding */ splitGlobAware)\n/* harmony export */ });\n/* harmony import */ var _async_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _extpath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./extpath.js */ \"./node_modules/monaco-editor/esm/vs/base/common/extpath.js\");\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map.js */ \"./node_modules/monaco-editor/esm/vs/base/common/map.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n\n\n\n\n\n\nconst GLOBSTAR = '**';\nconst GLOB_SPLIT = '/';\nconst PATH_REGEX = '[/\\\\\\\\]'; // any slash or backslash\nconst NO_PATH_REGEX = '[^/\\\\\\\\]'; // any non-slash and non-backslash\nconst ALL_FORWARD_SLASHES = /\\//g;\nfunction starsToRegExp(starCount, isLastPattern) {\n switch (starCount) {\n case 0:\n return '';\n case 1:\n return `${NO_PATH_REGEX}*?`; // 1 star matches any number of characters except path separator (/ and \\) - non greedy (?)\n default:\n // Matches: (Path Sep OR Path Val followed by Path Sep) 0-many times except when it's the last pattern\n // in which case also matches (Path Sep followed by Path Val)\n // Group is non capturing because we don't need to capture at all (?:...)\n // Overall we use non-greedy matching because it could be that we match too much\n return `(?:${PATH_REGEX}|${NO_PATH_REGEX}+${PATH_REGEX}${isLastPattern ? `|${PATH_REGEX}${NO_PATH_REGEX}+` : ''})*?`;\n }\n}\nfunction splitGlobAware(pattern, splitChar) {\n if (!pattern) {\n return [];\n }\n const segments = [];\n let inBraces = false;\n let inBrackets = false;\n let curVal = '';\n for (const char of pattern) {\n switch (char) {\n case splitChar:\n if (!inBraces && !inBrackets) {\n segments.push(curVal);\n curVal = '';\n continue;\n }\n break;\n case '{':\n inBraces = true;\n break;\n case '}':\n inBraces = false;\n break;\n case '[':\n inBrackets = true;\n break;\n case ']':\n inBrackets = false;\n break;\n }\n curVal += char;\n }\n // Tail\n if (curVal) {\n segments.push(curVal);\n }\n return segments;\n}\nfunction parseRegExp(pattern) {\n if (!pattern) {\n return '';\n }\n let regEx = '';\n // Split up into segments for each slash found\n const segments = splitGlobAware(pattern, GLOB_SPLIT);\n // Special case where we only have globstars\n if (segments.every(segment => segment === GLOBSTAR)) {\n regEx = '.*';\n }\n // Build regex over segments\n else {\n let previousSegmentWasGlobStar = false;\n segments.forEach((segment, index) => {\n // Treat globstar specially\n if (segment === GLOBSTAR) {\n // if we have more than one globstar after another, just ignore it\n if (previousSegmentWasGlobStar) {\n return;\n }\n regEx += starsToRegExp(2, index === segments.length - 1);\n }\n // Anything else, not globstar\n else {\n // States\n let inBraces = false;\n let braceVal = '';\n let inBrackets = false;\n let bracketVal = '';\n for (const char of segment) {\n // Support brace expansion\n if (char !== '}' && inBraces) {\n braceVal += char;\n continue;\n }\n // Support brackets\n if (inBrackets && (char !== ']' || !bracketVal) /* ] is literally only allowed as first character in brackets to match it */) {\n let res;\n // range operator\n if (char === '-') {\n res = char;\n }\n // negation operator (only valid on first index in bracket)\n else if ((char === '^' || char === '!') && !bracketVal) {\n res = '^';\n }\n // glob split matching is not allowed within character ranges\n // see http://man7.org/linux/man-pages/man7/glob.7.html\n else if (char === GLOB_SPLIT) {\n res = '';\n }\n // anything else gets escaped\n else {\n res = (0,_strings_js__WEBPACK_IMPORTED_MODULE_5__.escapeRegExpCharacters)(char);\n }\n bracketVal += res;\n continue;\n }\n switch (char) {\n case '{':\n inBraces = true;\n continue;\n case '[':\n inBrackets = true;\n continue;\n case '}': {\n const choices = splitGlobAware(braceVal, ',');\n // Converts {foo,bar} => [foo|bar]\n const braceRegExp = `(?:${choices.map(choice => parseRegExp(choice)).join('|')})`;\n regEx += braceRegExp;\n inBraces = false;\n braceVal = '';\n break;\n }\n case ']': {\n regEx += ('[' + bracketVal + ']');\n inBrackets = false;\n bracketVal = '';\n break;\n }\n case '?':\n regEx += NO_PATH_REGEX; // 1 ? matches any single character except path separator (/ and \\)\n continue;\n case '*':\n regEx += starsToRegExp(1);\n continue;\n default:\n regEx += (0,_strings_js__WEBPACK_IMPORTED_MODULE_5__.escapeRegExpCharacters)(char);\n }\n }\n // Tail: Add the slash we had split on if there is more to\n // come and the remaining pattern is not a globstar\n // For example if pattern: some/**/*.js we want the \"/\" after\n // some to be included in the RegEx to prevent a folder called\n // \"something\" to match as well.\n if (index < segments.length - 1 && // more segments to come after this\n (segments[index + 1] !== GLOBSTAR || // next segment is not **, or...\n index + 2 < segments.length // ...next segment is ** but there is more segments after that\n )) {\n regEx += PATH_REGEX;\n }\n }\n // update globstar state\n previousSegmentWasGlobStar = (segment === GLOBSTAR);\n });\n }\n return regEx;\n}\n// regexes to check for trivial glob patterns that just check for String#endsWith\nconst T1 = /^\\*\\*\\/\\*\\.[\\w\\.-]+$/; // **/*.something\nconst T2 = /^\\*\\*\\/([\\w\\.-]+)\\/?$/; // **/something\nconst T3 = /^{\\*\\*\\/\\*?[\\w\\.-]+\\/?(,\\*\\*\\/\\*?[\\w\\.-]+\\/?)*}$/; // {**/*.something,**/*.else} or {**/package.json,**/project.json}\nconst T3_2 = /^{\\*\\*\\/\\*?[\\w\\.-]+(\\/(\\*\\*)?)?(,\\*\\*\\/\\*?[\\w\\.-]+(\\/(\\*\\*)?)?)*}$/; // Like T3, with optional trailing /**\nconst T4 = /^\\*\\*((\\/[\\w\\.-]+)+)\\/?$/; // **/something/else\nconst T5 = /^([\\w\\.-]+(\\/[\\w\\.-]+)*)\\/?$/; // something/else\nconst CACHE = new _map_js__WEBPACK_IMPORTED_MODULE_2__.LRUCache(10000); // bounded to 10000 elements\nconst FALSE = function () {\n return false;\n};\nconst NULL = function () {\n return null;\n};\nfunction parsePattern(arg1, options) {\n if (!arg1) {\n return NULL;\n }\n // Handle relative patterns\n let pattern;\n if (typeof arg1 !== 'string') {\n pattern = arg1.pattern;\n }\n else {\n pattern = arg1;\n }\n // Whitespace trimming\n pattern = pattern.trim();\n // Check cache\n const patternKey = `${pattern}_${!!options.trimForExclusions}`;\n let parsedPattern = CACHE.get(patternKey);\n if (parsedPattern) {\n return wrapRelativePattern(parsedPattern, arg1);\n }\n // Check for Trivials\n let match;\n if (T1.test(pattern)) {\n parsedPattern = trivia1(pattern.substr(4), pattern); // common pattern: **/*.txt just need endsWith check\n }\n else if (match = T2.exec(trimForExclusions(pattern, options))) { // common pattern: **/some.txt just need basename check\n parsedPattern = trivia2(match[1], pattern);\n }\n else if ((options.trimForExclusions ? T3_2 : T3).test(pattern)) { // repetition of common patterns (see above) {**/*.txt,**/*.png}\n parsedPattern = trivia3(pattern, options);\n }\n else if (match = T4.exec(trimForExclusions(pattern, options))) { // common pattern: **/something/else just need endsWith check\n parsedPattern = trivia4and5(match[1].substr(1), pattern, true);\n }\n else if (match = T5.exec(trimForExclusions(pattern, options))) { // common pattern: something/else just need equals check\n parsedPattern = trivia4and5(match[1], pattern, false);\n }\n // Otherwise convert to pattern\n else {\n parsedPattern = toRegExp(pattern);\n }\n // Cache\n CACHE.set(patternKey, parsedPattern);\n return wrapRelativePattern(parsedPattern, arg1);\n}\nfunction wrapRelativePattern(parsedPattern, arg2) {\n if (typeof arg2 === 'string') {\n return parsedPattern;\n }\n const wrappedPattern = function (path, basename) {\n if (!(0,_extpath_js__WEBPACK_IMPORTED_MODULE_1__.isEqualOrParent)(path, arg2.base, !_platform_js__WEBPACK_IMPORTED_MODULE_4__.isLinux)) {\n // skip glob matching if `base` is not a parent of `path`\n return null;\n }\n // Given we have checked `base` being a parent of `path`,\n // we can now remove the `base` portion of the `path`\n // and only match on the remaining path components\n // For that we try to extract the portion of the `path`\n // that comes after the `base` portion. We have to account\n // for the fact that `base` might end in a path separator\n // (https://github.com/microsoft/vscode/issues/162498)\n return parsedPattern((0,_strings_js__WEBPACK_IMPORTED_MODULE_5__.ltrim)(path.substr(arg2.base.length), _path_js__WEBPACK_IMPORTED_MODULE_3__.sep), basename);\n };\n // Make sure to preserve associated metadata\n wrappedPattern.allBasenames = parsedPattern.allBasenames;\n wrappedPattern.allPaths = parsedPattern.allPaths;\n wrappedPattern.basenames = parsedPattern.basenames;\n wrappedPattern.patterns = parsedPattern.patterns;\n return wrappedPattern;\n}\nfunction trimForExclusions(pattern, options) {\n return options.trimForExclusions && pattern.endsWith('/**') ? pattern.substr(0, pattern.length - 2) : pattern; // dropping **, tailing / is dropped later\n}\n// common pattern: **/*.txt just need endsWith check\nfunction trivia1(base, pattern) {\n return function (path, basename) {\n return typeof path === 'string' && path.endsWith(base) ? pattern : null;\n };\n}\n// common pattern: **/some.txt just need basename check\nfunction trivia2(base, pattern) {\n const slashBase = `/${base}`;\n const backslashBase = `\\\\${base}`;\n const parsedPattern = function (path, basename) {\n if (typeof path !== 'string') {\n return null;\n }\n if (basename) {\n return basename === base ? pattern : null;\n }\n return path === base || path.endsWith(slashBase) || path.endsWith(backslashBase) ? pattern : null;\n };\n const basenames = [base];\n parsedPattern.basenames = basenames;\n parsedPattern.patterns = [pattern];\n parsedPattern.allBasenames = basenames;\n return parsedPattern;\n}\n// repetition of common patterns (see above) {**/*.txt,**/*.png}\nfunction trivia3(pattern, options) {\n const parsedPatterns = aggregateBasenameMatches(pattern.slice(1, -1)\n .split(',')\n .map(pattern => parsePattern(pattern, options))\n .filter(pattern => pattern !== NULL), pattern);\n const patternsLength = parsedPatterns.length;\n if (!patternsLength) {\n return NULL;\n }\n if (patternsLength === 1) {\n return parsedPatterns[0];\n }\n const parsedPattern = function (path, basename) {\n for (let i = 0, n = parsedPatterns.length; i < n; i++) {\n if (parsedPatterns[i](path, basename)) {\n return pattern;\n }\n }\n return null;\n };\n const withBasenames = parsedPatterns.find(pattern => !!pattern.allBasenames);\n if (withBasenames) {\n parsedPattern.allBasenames = withBasenames.allBasenames;\n }\n const allPaths = parsedPatterns.reduce((all, current) => current.allPaths ? all.concat(current.allPaths) : all, []);\n if (allPaths.length) {\n parsedPattern.allPaths = allPaths;\n }\n return parsedPattern;\n}\n// common patterns: **/something/else just need endsWith check, something/else just needs and equals check\nfunction trivia4and5(targetPath, pattern, matchPathEnds) {\n const usingPosixSep = _path_js__WEBPACK_IMPORTED_MODULE_3__.sep === _path_js__WEBPACK_IMPORTED_MODULE_3__.posix.sep;\n const nativePath = usingPosixSep ? targetPath : targetPath.replace(ALL_FORWARD_SLASHES, _path_js__WEBPACK_IMPORTED_MODULE_3__.sep);\n const nativePathEnd = _path_js__WEBPACK_IMPORTED_MODULE_3__.sep + nativePath;\n const targetPathEnd = _path_js__WEBPACK_IMPORTED_MODULE_3__.posix.sep + targetPath;\n let parsedPattern;\n if (matchPathEnds) {\n parsedPattern = function (path, basename) {\n return typeof path === 'string' && ((path === nativePath || path.endsWith(nativePathEnd)) || !usingPosixSep && (path === targetPath || path.endsWith(targetPathEnd))) ? pattern : null;\n };\n }\n else {\n parsedPattern = function (path, basename) {\n return typeof path === 'string' && (path === nativePath || (!usingPosixSep && path === targetPath)) ? pattern : null;\n };\n }\n parsedPattern.allPaths = [(matchPathEnds ? '*/' : './') + targetPath];\n return parsedPattern;\n}\nfunction toRegExp(pattern) {\n try {\n const regExp = new RegExp(`^${parseRegExp(pattern)}$`);\n return function (path) {\n regExp.lastIndex = 0; // reset RegExp to its initial state to reuse it!\n return typeof path === 'string' && regExp.test(path) ? pattern : null;\n };\n }\n catch (error) {\n return NULL;\n }\n}\nfunction match(arg1, path, hasSibling) {\n if (!arg1 || typeof path !== 'string') {\n return false;\n }\n return parse(arg1)(path, undefined, hasSibling);\n}\nfunction parse(arg1, options = {}) {\n if (!arg1) {\n return FALSE;\n }\n // Glob with String\n if (typeof arg1 === 'string' || isRelativePattern(arg1)) {\n const parsedPattern = parsePattern(arg1, options);\n if (parsedPattern === NULL) {\n return FALSE;\n }\n const resultPattern = function (path, basename) {\n return !!parsedPattern(path, basename);\n };\n if (parsedPattern.allBasenames) {\n resultPattern.allBasenames = parsedPattern.allBasenames;\n }\n if (parsedPattern.allPaths) {\n resultPattern.allPaths = parsedPattern.allPaths;\n }\n return resultPattern;\n }\n // Glob with Expression\n return parsedExpression(arg1, options);\n}\nfunction isRelativePattern(obj) {\n const rp = obj;\n if (!rp) {\n return false;\n }\n return typeof rp.base === 'string' && typeof rp.pattern === 'string';\n}\nfunction parsedExpression(expression, options) {\n const parsedPatterns = aggregateBasenameMatches(Object.getOwnPropertyNames(expression)\n .map(pattern => parseExpressionPattern(pattern, expression[pattern], options))\n .filter(pattern => pattern !== NULL));\n const patternsLength = parsedPatterns.length;\n if (!patternsLength) {\n return NULL;\n }\n if (!parsedPatterns.some(parsedPattern => !!parsedPattern.requiresSiblings)) {\n if (patternsLength === 1) {\n return parsedPatterns[0];\n }\n const resultExpression = function (path, basename) {\n let resultPromises = undefined;\n for (let i = 0, n = parsedPatterns.length; i < n; i++) {\n const result = parsedPatterns[i](path, basename);\n if (typeof result === 'string') {\n return result; // immediately return as soon as the first expression matches\n }\n // If the result is a promise, we have to keep it for\n // later processing and await the result properly.\n if ((0,_async_js__WEBPACK_IMPORTED_MODULE_0__.isThenable)(result)) {\n if (!resultPromises) {\n resultPromises = [];\n }\n resultPromises.push(result);\n }\n }\n // With result promises, we have to loop over each and\n // await the result before we can return any result.\n if (resultPromises) {\n return (async () => {\n for (const resultPromise of resultPromises) {\n const result = await resultPromise;\n if (typeof result === 'string') {\n return result;\n }\n }\n return null;\n })();\n }\n return null;\n };\n const withBasenames = parsedPatterns.find(pattern => !!pattern.allBasenames);\n if (withBasenames) {\n resultExpression.allBasenames = withBasenames.allBasenames;\n }\n const allPaths = parsedPatterns.reduce((all, current) => current.allPaths ? all.concat(current.allPaths) : all, []);\n if (allPaths.length) {\n resultExpression.allPaths = allPaths;\n }\n return resultExpression;\n }\n const resultExpression = function (path, base, hasSibling) {\n let name = undefined;\n let resultPromises = undefined;\n for (let i = 0, n = parsedPatterns.length; i < n; i++) {\n // Pattern matches path\n const parsedPattern = parsedPatterns[i];\n if (parsedPattern.requiresSiblings && hasSibling) {\n if (!base) {\n base = (0,_path_js__WEBPACK_IMPORTED_MODULE_3__.basename)(path);\n }\n if (!name) {\n name = base.substr(0, base.length - (0,_path_js__WEBPACK_IMPORTED_MODULE_3__.extname)(path).length);\n }\n }\n const result = parsedPattern(path, base, name, hasSibling);\n if (typeof result === 'string') {\n return result; // immediately return as soon as the first expression matches\n }\n // If the result is a promise, we have to keep it for\n // later processing and await the result properly.\n if ((0,_async_js__WEBPACK_IMPORTED_MODULE_0__.isThenable)(result)) {\n if (!resultPromises) {\n resultPromises = [];\n }\n resultPromises.push(result);\n }\n }\n // With result promises, we have to loop over each and\n // await the result before we can return any result.\n if (resultPromises) {\n return (async () => {\n for (const resultPromise of resultPromises) {\n const result = await resultPromise;\n if (typeof result === 'string') {\n return result;\n }\n }\n return null;\n })();\n }\n return null;\n };\n const withBasenames = parsedPatterns.find(pattern => !!pattern.allBasenames);\n if (withBasenames) {\n resultExpression.allBasenames = withBasenames.allBasenames;\n }\n const allPaths = parsedPatterns.reduce((all, current) => current.allPaths ? all.concat(current.allPaths) : all, []);\n if (allPaths.length) {\n resultExpression.allPaths = allPaths;\n }\n return resultExpression;\n}\nfunction parseExpressionPattern(pattern, value, options) {\n if (value === false) {\n return NULL; // pattern is disabled\n }\n const parsedPattern = parsePattern(pattern, options);\n if (parsedPattern === NULL) {\n return NULL;\n }\n // Expression Pattern is \n if (typeof value === 'boolean') {\n return parsedPattern;\n }\n // Expression Pattern is \n if (value) {\n const when = value.when;\n if (typeof when === 'string') {\n const result = (path, basename, name, hasSibling) => {\n if (!hasSibling || !parsedPattern(path, basename)) {\n return null;\n }\n const clausePattern = when.replace('$(basename)', () => name);\n const matched = hasSibling(clausePattern);\n return (0,_async_js__WEBPACK_IMPORTED_MODULE_0__.isThenable)(matched) ?\n matched.then(match => match ? pattern : null) :\n matched ? pattern : null;\n };\n result.requiresSiblings = true;\n return result;\n }\n }\n // Expression is anything\n return parsedPattern;\n}\nfunction aggregateBasenameMatches(parsedPatterns, result) {\n const basenamePatterns = parsedPatterns.filter(parsedPattern => !!parsedPattern.basenames);\n if (basenamePatterns.length < 2) {\n return parsedPatterns;\n }\n const basenames = basenamePatterns.reduce((all, current) => {\n const basenames = current.basenames;\n return basenames ? all.concat(basenames) : all;\n }, []);\n let patterns;\n if (result) {\n patterns = [];\n for (let i = 0, n = basenames.length; i < n; i++) {\n patterns.push(result);\n }\n }\n else {\n patterns = basenamePatterns.reduce((all, current) => {\n const patterns = current.patterns;\n return patterns ? all.concat(patterns) : all;\n }, []);\n }\n const aggregate = function (path, basename) {\n if (typeof path !== 'string') {\n return null;\n }\n if (!basename) {\n let i;\n for (i = path.length; i > 0; i--) {\n const ch = path.charCodeAt(i - 1);\n if (ch === 47 /* CharCode.Slash */ || ch === 92 /* CharCode.Backslash */) {\n break;\n }\n }\n basename = path.substr(i);\n }\n const index = basenames.indexOf(basename);\n return index !== -1 ? patterns[index] : null;\n };\n aggregate.basenames = basenames;\n aggregate.patterns = patterns;\n aggregate.allBasenames = basenames;\n const aggregatedPatterns = parsedPatterns.filter(parsedPattern => !parsedPattern.basenames);\n aggregatedPatterns.push(aggregate);\n return aggregatedPatterns;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/glob.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/hash.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/hash.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StringSHA1: () => (/* binding */ StringSHA1),\n/* harmony export */ doHash: () => (/* binding */ doHash),\n/* harmony export */ hash: () => (/* binding */ hash),\n/* harmony export */ numberHash: () => (/* binding */ numberHash),\n/* harmony export */ stringHash: () => (/* binding */ stringHash),\n/* harmony export */ toHexString: () => (/* binding */ toHexString)\n/* harmony export */ });\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/**\n * Return a hash value for an object.\n */\nfunction hash(obj) {\n return doHash(obj, 0);\n}\nfunction doHash(obj, hashVal) {\n switch (typeof obj) {\n case 'object':\n if (obj === null) {\n return numberHash(349, hashVal);\n }\n else if (Array.isArray(obj)) {\n return arrayHash(obj, hashVal);\n }\n return objectHash(obj, hashVal);\n case 'string':\n return stringHash(obj, hashVal);\n case 'boolean':\n return booleanHash(obj, hashVal);\n case 'number':\n return numberHash(obj, hashVal);\n case 'undefined':\n return numberHash(937, hashVal);\n default:\n return numberHash(617, hashVal);\n }\n}\nfunction numberHash(val, initialHashVal) {\n return (((initialHashVal << 5) - initialHashVal) + val) | 0; // hashVal * 31 + ch, keep as int32\n}\nfunction booleanHash(b, initialHashVal) {\n return numberHash(b ? 433 : 863, initialHashVal);\n}\nfunction stringHash(s, hashVal) {\n hashVal = numberHash(149417, hashVal);\n for (let i = 0, length = s.length; i < length; i++) {\n hashVal = numberHash(s.charCodeAt(i), hashVal);\n }\n return hashVal;\n}\nfunction arrayHash(arr, initialHashVal) {\n initialHashVal = numberHash(104579, initialHashVal);\n return arr.reduce((hashVal, item) => doHash(item, hashVal), initialHashVal);\n}\nfunction objectHash(obj, initialHashVal) {\n initialHashVal = numberHash(181387, initialHashVal);\n return Object.keys(obj).sort().reduce((hashVal, key) => {\n hashVal = stringHash(key, hashVal);\n return doHash(obj[key], hashVal);\n }, initialHashVal);\n}\nfunction leftRotate(value, bits, totalBits = 32) {\n // delta + bits = totalBits\n const delta = totalBits - bits;\n // All ones, expect `delta` zeros aligned to the right\n const mask = ~((1 << delta) - 1);\n // Join (value left-shifted `bits` bits) with (masked value right-shifted `delta` bits)\n return ((value << bits) | ((mask & value) >>> delta)) >>> 0;\n}\nfunction fill(dest, index = 0, count = dest.byteLength, value = 0) {\n for (let i = 0; i < count; i++) {\n dest[index + i] = value;\n }\n}\nfunction leftPad(value, length, char = '0') {\n while (value.length < length) {\n value = char + value;\n }\n return value;\n}\nfunction toHexString(bufferOrValue, bitsize = 32) {\n if (bufferOrValue instanceof ArrayBuffer) {\n return Array.from(new Uint8Array(bufferOrValue)).map(b => b.toString(16).padStart(2, '0')).join('');\n }\n return leftPad((bufferOrValue >>> 0).toString(16), bitsize / 4);\n}\n/**\n * A SHA1 implementation that works with strings and does not allocate.\n */\nclass StringSHA1 {\n constructor() {\n this._h0 = 0x67452301;\n this._h1 = 0xEFCDAB89;\n this._h2 = 0x98BADCFE;\n this._h3 = 0x10325476;\n this._h4 = 0xC3D2E1F0;\n this._buff = new Uint8Array(64 /* SHA1Constant.BLOCK_SIZE */ + 3 /* to fit any utf-8 */);\n this._buffDV = new DataView(this._buff.buffer);\n this._buffLen = 0;\n this._totalLen = 0;\n this._leftoverHighSurrogate = 0;\n this._finished = false;\n }\n update(str) {\n const strLen = str.length;\n if (strLen === 0) {\n return;\n }\n const buff = this._buff;\n let buffLen = this._buffLen;\n let leftoverHighSurrogate = this._leftoverHighSurrogate;\n let charCode;\n let offset;\n if (leftoverHighSurrogate !== 0) {\n charCode = leftoverHighSurrogate;\n offset = -1;\n leftoverHighSurrogate = 0;\n }\n else {\n charCode = str.charCodeAt(0);\n offset = 0;\n }\n while (true) {\n let codePoint = charCode;\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.isHighSurrogate(charCode)) {\n if (offset + 1 < strLen) {\n const nextCharCode = str.charCodeAt(offset + 1);\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.isLowSurrogate(nextCharCode)) {\n offset++;\n codePoint = _strings_js__WEBPACK_IMPORTED_MODULE_0__.computeCodePoint(charCode, nextCharCode);\n }\n else {\n // illegal => unicode replacement character\n codePoint = 65533 /* SHA1Constant.UNICODE_REPLACEMENT */;\n }\n }\n else {\n // last character is a surrogate pair\n leftoverHighSurrogate = charCode;\n break;\n }\n }\n else if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.isLowSurrogate(charCode)) {\n // illegal => unicode replacement character\n codePoint = 65533 /* SHA1Constant.UNICODE_REPLACEMENT */;\n }\n buffLen = this._push(buff, buffLen, codePoint);\n offset++;\n if (offset < strLen) {\n charCode = str.charCodeAt(offset);\n }\n else {\n break;\n }\n }\n this._buffLen = buffLen;\n this._leftoverHighSurrogate = leftoverHighSurrogate;\n }\n _push(buff, buffLen, codePoint) {\n if (codePoint < 0x0080) {\n buff[buffLen++] = codePoint;\n }\n else if (codePoint < 0x0800) {\n buff[buffLen++] = 0b11000000 | ((codePoint & 0b00000000000000000000011111000000) >>> 6);\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else if (codePoint < 0x10000) {\n buff[buffLen++] = 0b11100000 | ((codePoint & 0b00000000000000001111000000000000) >>> 12);\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else {\n buff[buffLen++] = 0b11110000 | ((codePoint & 0b00000000000111000000000000000000) >>> 18);\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000111111000000000000) >>> 12);\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n if (buffLen >= 64 /* SHA1Constant.BLOCK_SIZE */) {\n this._step();\n buffLen -= 64 /* SHA1Constant.BLOCK_SIZE */;\n this._totalLen += 64 /* SHA1Constant.BLOCK_SIZE */;\n // take last 3 in case of UTF8 overflow\n buff[0] = buff[64 /* SHA1Constant.BLOCK_SIZE */ + 0];\n buff[1] = buff[64 /* SHA1Constant.BLOCK_SIZE */ + 1];\n buff[2] = buff[64 /* SHA1Constant.BLOCK_SIZE */ + 2];\n }\n return buffLen;\n }\n digest() {\n if (!this._finished) {\n this._finished = true;\n if (this._leftoverHighSurrogate) {\n // illegal => unicode replacement character\n this._leftoverHighSurrogate = 0;\n this._buffLen = this._push(this._buff, this._buffLen, 65533 /* SHA1Constant.UNICODE_REPLACEMENT */);\n }\n this._totalLen += this._buffLen;\n this._wrapUp();\n }\n return toHexString(this._h0) + toHexString(this._h1) + toHexString(this._h2) + toHexString(this._h3) + toHexString(this._h4);\n }\n _wrapUp() {\n this._buff[this._buffLen++] = 0x80;\n fill(this._buff, this._buffLen);\n if (this._buffLen > 56) {\n this._step();\n fill(this._buff);\n }\n // this will fit because the mantissa can cover up to 52 bits\n const ml = 8 * this._totalLen;\n this._buffDV.setUint32(56, Math.floor(ml / 4294967296), false);\n this._buffDV.setUint32(60, ml % 4294967296, false);\n this._step();\n }\n _step() {\n const bigBlock32 = StringSHA1._bigBlock32;\n const data = this._buffDV;\n for (let j = 0; j < 64 /* 16*4 */; j += 4) {\n bigBlock32.setUint32(j, data.getUint32(j, false), false);\n }\n for (let j = 64; j < 320 /* 80*4 */; j += 4) {\n bigBlock32.setUint32(j, leftRotate((bigBlock32.getUint32(j - 12, false) ^ bigBlock32.getUint32(j - 32, false) ^ bigBlock32.getUint32(j - 56, false) ^ bigBlock32.getUint32(j - 64, false)), 1), false);\n }\n let a = this._h0;\n let b = this._h1;\n let c = this._h2;\n let d = this._h3;\n let e = this._h4;\n let f, k;\n let temp;\n for (let j = 0; j < 80; j++) {\n if (j < 20) {\n f = (b & c) | ((~b) & d);\n k = 0x5A827999;\n }\n else if (j < 40) {\n f = b ^ c ^ d;\n k = 0x6ED9EBA1;\n }\n else if (j < 60) {\n f = (b & c) | (b & d) | (c & d);\n k = 0x8F1BBCDC;\n }\n else {\n f = b ^ c ^ d;\n k = 0xCA62C1D6;\n }\n temp = (leftRotate(a, 5) + f + e + k + bigBlock32.getUint32(j * 4, false)) & 0xffffffff;\n e = d;\n d = c;\n c = leftRotate(b, 30);\n b = a;\n a = temp;\n }\n this._h0 = (this._h0 + a) & 0xffffffff;\n this._h1 = (this._h1 + b) & 0xffffffff;\n this._h2 = (this._h2 + c) & 0xffffffff;\n this._h3 = (this._h3 + d) & 0xffffffff;\n this._h4 = (this._h4 + e) & 0xffffffff;\n }\n}\nStringSHA1._bigBlock32 = new DataView(new ArrayBuffer(320)); // 80 * 4 = 320\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/hash.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/history.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/history.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HistoryNavigator: () => (/* binding */ HistoryNavigator)\n/* harmony export */ });\n/* harmony import */ var _navigator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./navigator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/navigator.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nclass HistoryNavigator {\n constructor(history = [], limit = 10) {\n this._initialize(history);\n this._limit = limit;\n this._onChange();\n }\n getHistory() {\n return this._elements;\n }\n add(t) {\n this._history.delete(t);\n this._history.add(t);\n this._onChange();\n }\n next() {\n // This will navigate past the end of the last element, and in that case the input should be cleared\n return this._navigator.next();\n }\n previous() {\n if (this._currentPosition() !== 0) {\n return this._navigator.previous();\n }\n return null;\n }\n current() {\n return this._navigator.current();\n }\n first() {\n return this._navigator.first();\n }\n last() {\n return this._navigator.last();\n }\n isLast() {\n return this._currentPosition() >= this._elements.length - 1;\n }\n isNowhere() {\n return this._navigator.current() === null;\n }\n has(t) {\n return this._history.has(t);\n }\n _onChange() {\n this._reduceToLimit();\n const elements = this._elements;\n this._navigator = new _navigator_js__WEBPACK_IMPORTED_MODULE_0__.ArrayNavigator(elements, 0, elements.length, elements.length);\n }\n _reduceToLimit() {\n const data = this._elements;\n if (data.length > this._limit) {\n this._initialize(data.slice(data.length - this._limit));\n }\n }\n _currentPosition() {\n const currentElement = this._navigator.current();\n if (!currentElement) {\n return -1;\n }\n return this._elements.indexOf(currentElement);\n }\n _initialize(history) {\n this._history = new Set();\n for (const entry of history) {\n this._history.add(entry);\n }\n }\n get _elements() {\n const elements = [];\n this._history.forEach(e => elements.push(e));\n return elements;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/history.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/hotReload.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/hotReload.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isHotReloadEnabled: () => (/* binding */ isHotReloadEnabled),\n/* harmony export */ registerHotReloadHandler: () => (/* binding */ registerHotReloadHandler)\n/* harmony export */ });\n/* harmony import */ var _process_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./process.js */ \"./node_modules/monaco-editor/esm/vs/base/common/process.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nfunction isHotReloadEnabled() {\n return _process_js__WEBPACK_IMPORTED_MODULE_0__.env && !!_process_js__WEBPACK_IMPORTED_MODULE_0__.env['VSCODE_DEV'];\n}\nfunction registerHotReloadHandler(handler) {\n if (!isHotReloadEnabled()) {\n return { dispose() { } };\n }\n else {\n const handlers = registerGlobalHotReloadHandler();\n handlers.add(handler);\n return {\n dispose() { handlers.delete(handler); }\n };\n }\n}\nfunction registerGlobalHotReloadHandler() {\n if (!hotReloadHandlers) {\n hotReloadHandlers = new Set();\n }\n const g = globalThis;\n if (!g.$hotReload_applyNewExports) {\n g.$hotReload_applyNewExports = oldExports => {\n for (const h of hotReloadHandlers) {\n const result = h(oldExports);\n if (result) {\n return result;\n }\n }\n return undefined;\n };\n }\n return hotReloadHandlers;\n}\nlet hotReloadHandlers = undefined;\nif (isHotReloadEnabled()) {\n // This code does not run in production.\n registerHotReloadHandler(({ oldExports, newSrc }) => {\n // Don't match its own source code\n if (newSrc.indexOf('/* ' + 'hot-reload:patch-prototype-methods */') === -1) {\n return undefined;\n }\n return newExports => {\n var _a, _b;\n for (const key in newExports) {\n const exportedItem = newExports[key];\n console.log(`[hot-reload] Patching prototype methods of '${key}'`, { exportedItem });\n if (typeof exportedItem === 'function' && exportedItem.prototype) {\n const oldExportedItem = oldExports[key];\n if (oldExportedItem) {\n for (const prop of Object.getOwnPropertyNames(exportedItem.prototype)) {\n const descriptor = Object.getOwnPropertyDescriptor(exportedItem.prototype, prop);\n const oldDescriptor = Object.getOwnPropertyDescriptor(oldExportedItem.prototype, prop);\n if (((_a = descriptor === null || descriptor === void 0 ? void 0 : descriptor.value) === null || _a === void 0 ? void 0 : _a.toString()) !== ((_b = oldDescriptor === null || oldDescriptor === void 0 ? void 0 : oldDescriptor.value) === null || _b === void 0 ? void 0 : _b.toString())) {\n console.log(`[hot-reload] Patching prototype method '${key}.${prop}'`);\n }\n Object.defineProperty(oldExportedItem.prototype, prop, descriptor);\n }\n newExports[key] = oldExportedItem;\n }\n }\n }\n return true;\n };\n });\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/hotReload.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/htmlContent.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/htmlContent.js ***!
+ \**********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MarkdownString: () => (/* binding */ MarkdownString),\n/* harmony export */ escapeDoubleQuotes: () => (/* binding */ escapeDoubleQuotes),\n/* harmony export */ escapeMarkdownSyntaxTokens: () => (/* binding */ escapeMarkdownSyntaxTokens),\n/* harmony export */ isEmptyMarkdownString: () => (/* binding */ isEmptyMarkdownString),\n/* harmony export */ isMarkdownString: () => (/* binding */ isMarkdownString),\n/* harmony export */ markdownStringEqual: () => (/* binding */ markdownStringEqual),\n/* harmony export */ parseHrefAndDimensions: () => (/* binding */ parseHrefAndDimensions),\n/* harmony export */ removeMarkdownEscapes: () => (/* binding */ removeMarkdownEscapes)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _iconLabels_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js\");\n/* harmony import */ var _resources_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./resources.js */ \"./node_modules/monaco-editor/esm/vs/base/common/resources.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\nclass MarkdownString {\n constructor(value = '', isTrustedOrOptions = false) {\n var _a, _b, _c;\n this.value = value;\n if (typeof this.value !== 'string') {\n throw (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.illegalArgument)('value');\n }\n if (typeof isTrustedOrOptions === 'boolean') {\n this.isTrusted = isTrustedOrOptions;\n this.supportThemeIcons = false;\n this.supportHtml = false;\n }\n else {\n this.isTrusted = (_a = isTrustedOrOptions.isTrusted) !== null && _a !== void 0 ? _a : undefined;\n this.supportThemeIcons = (_b = isTrustedOrOptions.supportThemeIcons) !== null && _b !== void 0 ? _b : false;\n this.supportHtml = (_c = isTrustedOrOptions.supportHtml) !== null && _c !== void 0 ? _c : false;\n }\n }\n appendText(value, newlineStyle = 0 /* MarkdownStringTextNewlineStyle.Paragraph */) {\n this.value += escapeMarkdownSyntaxTokens(this.supportThemeIcons ? (0,_iconLabels_js__WEBPACK_IMPORTED_MODULE_1__.escapeIcons)(value) : value) // CodeQL [SM02383] The Markdown is fully sanitized after being rendered.\n .replace(/([ \\t]+)/g, (_match, g1) => ' '.repeat(g1.length)) // CodeQL [SM02383] The Markdown is fully sanitized after being rendered.\n .replace(/\\>/gm, '\\\\>') // CodeQL [SM02383] The Markdown is fully sanitized after being rendered.\n .replace(/\\n/g, newlineStyle === 1 /* MarkdownStringTextNewlineStyle.Break */ ? '\\\\\\n' : '\\n\\n'); // CodeQL [SM02383] The Markdown is fully sanitized after being rendered.\n return this;\n }\n appendMarkdown(value) {\n this.value += value;\n return this;\n }\n appendCodeblock(langId, code) {\n this.value += '\\n```';\n this.value += langId;\n this.value += '\\n';\n this.value += code;\n this.value += '\\n```\\n';\n return this;\n }\n appendLink(target, label, title) {\n this.value += '[';\n this.value += this._escape(label, ']');\n this.value += '](';\n this.value += this._escape(String(target), ')');\n if (title) {\n this.value += ` \"${this._escape(this._escape(title, '\"'), ')')}\"`;\n }\n this.value += ')';\n return this;\n }\n _escape(value, ch) {\n const r = new RegExp((0,_strings_js__WEBPACK_IMPORTED_MODULE_3__.escapeRegExpCharacters)(ch), 'g');\n return value.replace(r, (match, offset) => {\n if (value.charAt(offset - 1) !== '\\\\') {\n return `\\\\${match}`;\n }\n else {\n return match;\n }\n });\n }\n}\nfunction isEmptyMarkdownString(oneOrMany) {\n if (isMarkdownString(oneOrMany)) {\n return !oneOrMany.value;\n }\n else if (Array.isArray(oneOrMany)) {\n return oneOrMany.every(isEmptyMarkdownString);\n }\n else {\n return true;\n }\n}\nfunction isMarkdownString(thing) {\n if (thing instanceof MarkdownString) {\n return true;\n }\n else if (thing && typeof thing === 'object') {\n return typeof thing.value === 'string'\n && (typeof thing.isTrusted === 'boolean' || typeof thing.isTrusted === 'object' || thing.isTrusted === undefined)\n && (typeof thing.supportThemeIcons === 'boolean' || thing.supportThemeIcons === undefined);\n }\n return false;\n}\nfunction markdownStringEqual(a, b) {\n if (a === b) {\n return true;\n }\n else if (!a || !b) {\n return false;\n }\n else {\n return a.value === b.value\n && a.isTrusted === b.isTrusted\n && a.supportThemeIcons === b.supportThemeIcons\n && a.supportHtml === b.supportHtml\n && (a.baseUri === b.baseUri || !!a.baseUri && !!b.baseUri && (0,_resources_js__WEBPACK_IMPORTED_MODULE_2__.isEqual)(_uri_js__WEBPACK_IMPORTED_MODULE_4__.URI.from(a.baseUri), _uri_js__WEBPACK_IMPORTED_MODULE_4__.URI.from(b.baseUri)));\n }\n}\nfunction escapeMarkdownSyntaxTokens(text) {\n // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\n return text.replace(/[\\\\`*_{}[\\]()#+\\-!~]/g, '\\\\$&'); // CodeQL [SM02383] Backslash is escaped in the character class\n}\nfunction escapeDoubleQuotes(input) {\n return input.replace(/\"/g, '"');\n}\nfunction removeMarkdownEscapes(text) {\n if (!text) {\n return text;\n }\n return text.replace(/\\\\([\\\\`*_{}[\\]()#+\\-.!~])/g, '$1');\n}\nfunction parseHrefAndDimensions(href) {\n const dimensions = [];\n const splitted = href.split('|').map(s => s.trim());\n href = splitted[0];\n const parameters = splitted[1];\n if (parameters) {\n const heightFromParams = /height=(\\d+)/.exec(parameters);\n const widthFromParams = /width=(\\d+)/.exec(parameters);\n const height = heightFromParams ? heightFromParams[1] : '';\n const width = widthFromParams ? widthFromParams[1] : '';\n const widthIsFinite = isFinite(parseInt(width));\n const heightIsFinite = isFinite(parseInt(height));\n if (widthIsFinite) {\n dimensions.push(`width=\"${width}\"`);\n }\n if (heightIsFinite) {\n dimensions.push(`height=\"${height}\"`);\n }\n }\n return { href, dimensions };\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/htmlContent.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ escapeIcons: () => (/* binding */ escapeIcons),\n/* harmony export */ getCodiconAriaLabel: () => (/* binding */ getCodiconAriaLabel),\n/* harmony export */ markdownEscapeEscapedIcons: () => (/* binding */ markdownEscapeEscapedIcons),\n/* harmony export */ matchesFuzzyIconAware: () => (/* binding */ matchesFuzzyIconAware),\n/* harmony export */ parseLabelWithIcons: () => (/* binding */ parseLabelWithIcons),\n/* harmony export */ stripIcons: () => (/* binding */ stripIcons)\n/* harmony export */ });\n/* harmony import */ var _filters_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filters.js */ \"./node_modules/monaco-editor/esm/vs/base/common/filters.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _themables_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\nconst iconStartMarker = '$(';\nconst iconsRegex = new RegExp(`\\\\$\\\\(${_themables_js__WEBPACK_IMPORTED_MODULE_2__.ThemeIcon.iconNameExpression}(?:${_themables_js__WEBPACK_IMPORTED_MODULE_2__.ThemeIcon.iconModifierExpression})?\\\\)`, 'g'); // no capturing groups\nconst escapeIconsRegex = new RegExp(`(\\\\\\\\)?${iconsRegex.source}`, 'g');\nfunction escapeIcons(text) {\n return text.replace(escapeIconsRegex, (match, escaped) => escaped ? match : `\\\\${match}`);\n}\nconst markdownEscapedIconsRegex = new RegExp(`\\\\\\\\${iconsRegex.source}`, 'g');\nfunction markdownEscapeEscapedIcons(text) {\n // Need to add an extra \\ for escaping in markdown\n return text.replace(markdownEscapedIconsRegex, match => `\\\\${match}`);\n}\nconst stripIconsRegex = new RegExp(`(\\\\s)?(\\\\\\\\)?${iconsRegex.source}(\\\\s)?`, 'g');\n/**\n * Takes a label with icons (`$(iconId)xyz`) and strips the icons out (`xyz`)\n */\nfunction stripIcons(text) {\n if (text.indexOf(iconStartMarker) === -1) {\n return text;\n }\n return text.replace(stripIconsRegex, (match, preWhitespace, escaped, postWhitespace) => escaped ? match : preWhitespace || postWhitespace || '');\n}\n/**\n * Takes a label with icons (`$(iconId)xyz`), removes the icon syntax adds whitespace so that screen readers can read the text better.\n */\nfunction getCodiconAriaLabel(text) {\n if (!text) {\n return '';\n }\n return text.replace(/\\$\\((.*?)\\)/g, (_match, codiconName) => ` ${codiconName} `).trim();\n}\nconst _parseIconsRegex = new RegExp(`\\\\$\\\\(${_themables_js__WEBPACK_IMPORTED_MODULE_2__.ThemeIcon.iconNameCharacter}+\\\\)`, 'g');\n/**\n * Takes a label with icons (`abc $(iconId)xyz`) and returns the text (`abc xyz`) and the offsets of the icons (`[3]`)\n */\nfunction parseLabelWithIcons(input) {\n _parseIconsRegex.lastIndex = 0;\n let text = '';\n const iconOffsets = [];\n let iconsOffset = 0;\n while (true) {\n const pos = _parseIconsRegex.lastIndex;\n const match = _parseIconsRegex.exec(input);\n const chars = input.substring(pos, match === null || match === void 0 ? void 0 : match.index);\n if (chars.length > 0) {\n text += chars;\n for (let i = 0; i < chars.length; i++) {\n iconOffsets.push(iconsOffset);\n }\n }\n if (!match) {\n break;\n }\n iconsOffset += match[0].length;\n }\n return { text, iconOffsets };\n}\nfunction matchesFuzzyIconAware(query, target, enableSeparateSubstringMatching = false) {\n const { text, iconOffsets } = target;\n // Return early if there are no icon markers in the word to match against\n if (!iconOffsets || iconOffsets.length === 0) {\n return (0,_filters_js__WEBPACK_IMPORTED_MODULE_0__.matchesFuzzy)(query, text, enableSeparateSubstringMatching);\n }\n // Trim the word to match against because it could have leading\n // whitespace now if the word started with an icon\n const wordToMatchAgainstWithoutIconsTrimmed = (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__.ltrim)(text, ' ');\n const leadingWhitespaceOffset = text.length - wordToMatchAgainstWithoutIconsTrimmed.length;\n // match on value without icon\n const matches = (0,_filters_js__WEBPACK_IMPORTED_MODULE_0__.matchesFuzzy)(query, wordToMatchAgainstWithoutIconsTrimmed, enableSeparateSubstringMatching);\n // Map matches back to offsets with icon and trimming\n if (matches) {\n for (const match of matches) {\n const iconOffset = iconOffsets[match.start + leadingWhitespaceOffset] /* icon offsets at index */ + leadingWhitespaceOffset /* overall leading whitespace offset */;\n match.start += iconOffset;\n match.end += iconOffset;\n }\n }\n return matches;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/idGenerator.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/idGenerator.js ***!
+ \**********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IdGenerator: () => (/* binding */ IdGenerator),\n/* harmony export */ defaultGenerator: () => (/* binding */ defaultGenerator)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nclass IdGenerator {\n constructor(prefix) {\n this._prefix = prefix;\n this._lastId = 0;\n }\n nextId() {\n return this._prefix + (++this._lastId);\n }\n}\nconst defaultGenerator = new IdGenerator('id#');\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/idGenerator.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/ime.js":
+/*!**************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/ime.js ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IME: () => (/* binding */ IME),\n/* harmony export */ IMEImpl: () => (/* binding */ IMEImpl)\n/* harmony export */ });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nclass IMEImpl {\n constructor() {\n this._onDidChange = new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter();\n this.onDidChange = this._onDidChange.event;\n this._enabled = true;\n }\n get enabled() {\n return this._enabled;\n }\n /**\n * Enable IME\n */\n enable() {\n this._enabled = true;\n this._onDidChange.fire();\n }\n /**\n * Disable IME\n */\n disable() {\n this._enabled = false;\n this._onDidChange.fire();\n }\n}\nconst IME = new IMEImpl();\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/ime.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/iterator.js":
+/*!*******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/iterator.js ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Iterable: () => (/* binding */ Iterable)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar Iterable;\n(function (Iterable) {\n function is(thing) {\n return thing && typeof thing === 'object' && typeof thing[Symbol.iterator] === 'function';\n }\n Iterable.is = is;\n const _empty = Object.freeze([]);\n function empty() {\n return _empty;\n }\n Iterable.empty = empty;\n function* single(element) {\n yield element;\n }\n Iterable.single = single;\n function wrap(iterableOrElement) {\n if (is(iterableOrElement)) {\n return iterableOrElement;\n }\n else {\n return single(iterableOrElement);\n }\n }\n Iterable.wrap = wrap;\n function from(iterable) {\n return iterable || _empty;\n }\n Iterable.from = from;\n function* reverse(array) {\n for (let i = array.length - 1; i >= 0; i--) {\n yield array[i];\n }\n }\n Iterable.reverse = reverse;\n function isEmpty(iterable) {\n return !iterable || iterable[Symbol.iterator]().next().done === true;\n }\n Iterable.isEmpty = isEmpty;\n function first(iterable) {\n return iterable[Symbol.iterator]().next().value;\n }\n Iterable.first = first;\n function some(iterable, predicate) {\n for (const element of iterable) {\n if (predicate(element)) {\n return true;\n }\n }\n return false;\n }\n Iterable.some = some;\n function find(iterable, predicate) {\n for (const element of iterable) {\n if (predicate(element)) {\n return element;\n }\n }\n return undefined;\n }\n Iterable.find = find;\n function* filter(iterable, predicate) {\n for (const element of iterable) {\n if (predicate(element)) {\n yield element;\n }\n }\n }\n Iterable.filter = filter;\n function* map(iterable, fn) {\n let index = 0;\n for (const element of iterable) {\n yield fn(element, index++);\n }\n }\n Iterable.map = map;\n function* concat(...iterables) {\n for (const iterable of iterables) {\n yield* iterable;\n }\n }\n Iterable.concat = concat;\n function reduce(iterable, reducer, initialValue) {\n let value = initialValue;\n for (const element of iterable) {\n value = reducer(value, element);\n }\n return value;\n }\n Iterable.reduce = reduce;\n /**\n * Returns an iterable slice of the array, with the same semantics as `array.slice()`.\n */\n function* slice(arr, from, to = arr.length) {\n if (from < 0) {\n from += arr.length;\n }\n if (to < 0) {\n to += arr.length;\n }\n else if (to > arr.length) {\n to = arr.length;\n }\n for (; from < to; from++) {\n yield arr[from];\n }\n }\n Iterable.slice = slice;\n /**\n * Consumes `atMost` elements from iterable and returns the consumed elements,\n * and an iterable for the rest of the elements.\n */\n function consume(iterable, atMost = Number.POSITIVE_INFINITY) {\n const consumed = [];\n if (atMost === 0) {\n return [consumed, iterable];\n }\n const iterator = iterable[Symbol.iterator]();\n for (let i = 0; i < atMost; i++) {\n const next = iterator.next();\n if (next.done) {\n return [consumed, Iterable.empty()];\n }\n consumed.push(next.value);\n }\n return [consumed, { [Symbol.iterator]() { return iterator; } }];\n }\n Iterable.consume = consume;\n})(Iterable || (Iterable = {}));\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/iterator.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/keyCodes.js":
+/*!*******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/keyCodes.js ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EVENT_KEY_CODE_MAP: () => (/* binding */ EVENT_KEY_CODE_MAP),\n/* harmony export */ IMMUTABLE_CODE_TO_KEY_CODE: () => (/* binding */ IMMUTABLE_CODE_TO_KEY_CODE),\n/* harmony export */ IMMUTABLE_KEY_CODE_TO_CODE: () => (/* binding */ IMMUTABLE_KEY_CODE_TO_CODE),\n/* harmony export */ KeyChord: () => (/* binding */ KeyChord),\n/* harmony export */ KeyCodeUtils: () => (/* binding */ KeyCodeUtils),\n/* harmony export */ NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE: () => (/* binding */ NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nclass KeyCodeStrMap {\n constructor() {\n this._keyCodeToStr = [];\n this._strToKeyCode = Object.create(null);\n }\n define(keyCode, str) {\n this._keyCodeToStr[keyCode] = str;\n this._strToKeyCode[str.toLowerCase()] = keyCode;\n }\n keyCodeToStr(keyCode) {\n return this._keyCodeToStr[keyCode];\n }\n strToKeyCode(str) {\n return this._strToKeyCode[str.toLowerCase()] || 0 /* KeyCode.Unknown */;\n }\n}\nconst uiMap = new KeyCodeStrMap();\nconst userSettingsUSMap = new KeyCodeStrMap();\nconst userSettingsGeneralMap = new KeyCodeStrMap();\nconst EVENT_KEY_CODE_MAP = new Array(230);\nconst NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE = {};\nconst scanCodeIntToStr = [];\nconst scanCodeStrToInt = Object.create(null);\nconst scanCodeLowerCaseStrToInt = Object.create(null);\n/**\n * -1 if a ScanCode => KeyCode mapping depends on kb layout.\n */\nconst IMMUTABLE_CODE_TO_KEY_CODE = [];\n/**\n * -1 if a KeyCode => ScanCode mapping depends on kb layout.\n */\nconst IMMUTABLE_KEY_CODE_TO_CODE = [];\nfor (let i = 0; i <= 193 /* ScanCode.MAX_VALUE */; i++) {\n IMMUTABLE_CODE_TO_KEY_CODE[i] = -1 /* KeyCode.DependsOnKbLayout */;\n}\nfor (let i = 0; i <= 132 /* KeyCode.MAX_VALUE */; i++) {\n IMMUTABLE_KEY_CODE_TO_CODE[i] = -1 /* ScanCode.DependsOnKbLayout */;\n}\n(function () {\n // See https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx\n // See https://github.com/microsoft/node-native-keymap/blob/88c0b0e5/deps/chromium/keyboard_codes_win.h\n const empty = '';\n const mappings = [\n // immutable, scanCode, scanCodeStr, keyCode, keyCodeStr, eventKeyCode, vkey, usUserSettingsLabel, generalUserSettingsLabel\n [1, 0 /* ScanCode.None */, 'None', 0 /* KeyCode.Unknown */, 'unknown', 0, 'VK_UNKNOWN', empty, empty],\n [1, 1 /* ScanCode.Hyper */, 'Hyper', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 2 /* ScanCode.Super */, 'Super', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 3 /* ScanCode.Fn */, 'Fn', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 4 /* ScanCode.FnLock */, 'FnLock', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 5 /* ScanCode.Suspend */, 'Suspend', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 6 /* ScanCode.Resume */, 'Resume', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 7 /* ScanCode.Turbo */, 'Turbo', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 8 /* ScanCode.Sleep */, 'Sleep', 0 /* KeyCode.Unknown */, empty, 0, 'VK_SLEEP', empty, empty],\n [1, 9 /* ScanCode.WakeUp */, 'WakeUp', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [0, 10 /* ScanCode.KeyA */, 'KeyA', 31 /* KeyCode.KeyA */, 'A', 65, 'VK_A', empty, empty],\n [0, 11 /* ScanCode.KeyB */, 'KeyB', 32 /* KeyCode.KeyB */, 'B', 66, 'VK_B', empty, empty],\n [0, 12 /* ScanCode.KeyC */, 'KeyC', 33 /* KeyCode.KeyC */, 'C', 67, 'VK_C', empty, empty],\n [0, 13 /* ScanCode.KeyD */, 'KeyD', 34 /* KeyCode.KeyD */, 'D', 68, 'VK_D', empty, empty],\n [0, 14 /* ScanCode.KeyE */, 'KeyE', 35 /* KeyCode.KeyE */, 'E', 69, 'VK_E', empty, empty],\n [0, 15 /* ScanCode.KeyF */, 'KeyF', 36 /* KeyCode.KeyF */, 'F', 70, 'VK_F', empty, empty],\n [0, 16 /* ScanCode.KeyG */, 'KeyG', 37 /* KeyCode.KeyG */, 'G', 71, 'VK_G', empty, empty],\n [0, 17 /* ScanCode.KeyH */, 'KeyH', 38 /* KeyCode.KeyH */, 'H', 72, 'VK_H', empty, empty],\n [0, 18 /* ScanCode.KeyI */, 'KeyI', 39 /* KeyCode.KeyI */, 'I', 73, 'VK_I', empty, empty],\n [0, 19 /* ScanCode.KeyJ */, 'KeyJ', 40 /* KeyCode.KeyJ */, 'J', 74, 'VK_J', empty, empty],\n [0, 20 /* ScanCode.KeyK */, 'KeyK', 41 /* KeyCode.KeyK */, 'K', 75, 'VK_K', empty, empty],\n [0, 21 /* ScanCode.KeyL */, 'KeyL', 42 /* KeyCode.KeyL */, 'L', 76, 'VK_L', empty, empty],\n [0, 22 /* ScanCode.KeyM */, 'KeyM', 43 /* KeyCode.KeyM */, 'M', 77, 'VK_M', empty, empty],\n [0, 23 /* ScanCode.KeyN */, 'KeyN', 44 /* KeyCode.KeyN */, 'N', 78, 'VK_N', empty, empty],\n [0, 24 /* ScanCode.KeyO */, 'KeyO', 45 /* KeyCode.KeyO */, 'O', 79, 'VK_O', empty, empty],\n [0, 25 /* ScanCode.KeyP */, 'KeyP', 46 /* KeyCode.KeyP */, 'P', 80, 'VK_P', empty, empty],\n [0, 26 /* ScanCode.KeyQ */, 'KeyQ', 47 /* KeyCode.KeyQ */, 'Q', 81, 'VK_Q', empty, empty],\n [0, 27 /* ScanCode.KeyR */, 'KeyR', 48 /* KeyCode.KeyR */, 'R', 82, 'VK_R', empty, empty],\n [0, 28 /* ScanCode.KeyS */, 'KeyS', 49 /* KeyCode.KeyS */, 'S', 83, 'VK_S', empty, empty],\n [0, 29 /* ScanCode.KeyT */, 'KeyT', 50 /* KeyCode.KeyT */, 'T', 84, 'VK_T', empty, empty],\n [0, 30 /* ScanCode.KeyU */, 'KeyU', 51 /* KeyCode.KeyU */, 'U', 85, 'VK_U', empty, empty],\n [0, 31 /* ScanCode.KeyV */, 'KeyV', 52 /* KeyCode.KeyV */, 'V', 86, 'VK_V', empty, empty],\n [0, 32 /* ScanCode.KeyW */, 'KeyW', 53 /* KeyCode.KeyW */, 'W', 87, 'VK_W', empty, empty],\n [0, 33 /* ScanCode.KeyX */, 'KeyX', 54 /* KeyCode.KeyX */, 'X', 88, 'VK_X', empty, empty],\n [0, 34 /* ScanCode.KeyY */, 'KeyY', 55 /* KeyCode.KeyY */, 'Y', 89, 'VK_Y', empty, empty],\n [0, 35 /* ScanCode.KeyZ */, 'KeyZ', 56 /* KeyCode.KeyZ */, 'Z', 90, 'VK_Z', empty, empty],\n [0, 36 /* ScanCode.Digit1 */, 'Digit1', 22 /* KeyCode.Digit1 */, '1', 49, 'VK_1', empty, empty],\n [0, 37 /* ScanCode.Digit2 */, 'Digit2', 23 /* KeyCode.Digit2 */, '2', 50, 'VK_2', empty, empty],\n [0, 38 /* ScanCode.Digit3 */, 'Digit3', 24 /* KeyCode.Digit3 */, '3', 51, 'VK_3', empty, empty],\n [0, 39 /* ScanCode.Digit4 */, 'Digit4', 25 /* KeyCode.Digit4 */, '4', 52, 'VK_4', empty, empty],\n [0, 40 /* ScanCode.Digit5 */, 'Digit5', 26 /* KeyCode.Digit5 */, '5', 53, 'VK_5', empty, empty],\n [0, 41 /* ScanCode.Digit6 */, 'Digit6', 27 /* KeyCode.Digit6 */, '6', 54, 'VK_6', empty, empty],\n [0, 42 /* ScanCode.Digit7 */, 'Digit7', 28 /* KeyCode.Digit7 */, '7', 55, 'VK_7', empty, empty],\n [0, 43 /* ScanCode.Digit8 */, 'Digit8', 29 /* KeyCode.Digit8 */, '8', 56, 'VK_8', empty, empty],\n [0, 44 /* ScanCode.Digit9 */, 'Digit9', 30 /* KeyCode.Digit9 */, '9', 57, 'VK_9', empty, empty],\n [0, 45 /* ScanCode.Digit0 */, 'Digit0', 21 /* KeyCode.Digit0 */, '0', 48, 'VK_0', empty, empty],\n [1, 46 /* ScanCode.Enter */, 'Enter', 3 /* KeyCode.Enter */, 'Enter', 13, 'VK_RETURN', empty, empty],\n [1, 47 /* ScanCode.Escape */, 'Escape', 9 /* KeyCode.Escape */, 'Escape', 27, 'VK_ESCAPE', empty, empty],\n [1, 48 /* ScanCode.Backspace */, 'Backspace', 1 /* KeyCode.Backspace */, 'Backspace', 8, 'VK_BACK', empty, empty],\n [1, 49 /* ScanCode.Tab */, 'Tab', 2 /* KeyCode.Tab */, 'Tab', 9, 'VK_TAB', empty, empty],\n [1, 50 /* ScanCode.Space */, 'Space', 10 /* KeyCode.Space */, 'Space', 32, 'VK_SPACE', empty, empty],\n [0, 51 /* ScanCode.Minus */, 'Minus', 88 /* KeyCode.Minus */, '-', 189, 'VK_OEM_MINUS', '-', 'OEM_MINUS'],\n [0, 52 /* ScanCode.Equal */, 'Equal', 86 /* KeyCode.Equal */, '=', 187, 'VK_OEM_PLUS', '=', 'OEM_PLUS'],\n [0, 53 /* ScanCode.BracketLeft */, 'BracketLeft', 92 /* KeyCode.BracketLeft */, '[', 219, 'VK_OEM_4', '[', 'OEM_4'],\n [0, 54 /* ScanCode.BracketRight */, 'BracketRight', 94 /* KeyCode.BracketRight */, ']', 221, 'VK_OEM_6', ']', 'OEM_6'],\n [0, 55 /* ScanCode.Backslash */, 'Backslash', 93 /* KeyCode.Backslash */, '\\\\', 220, 'VK_OEM_5', '\\\\', 'OEM_5'],\n [0, 56 /* ScanCode.IntlHash */, 'IntlHash', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty], // has been dropped from the w3c spec\n [0, 57 /* ScanCode.Semicolon */, 'Semicolon', 85 /* KeyCode.Semicolon */, ';', 186, 'VK_OEM_1', ';', 'OEM_1'],\n [0, 58 /* ScanCode.Quote */, 'Quote', 95 /* KeyCode.Quote */, '\\'', 222, 'VK_OEM_7', '\\'', 'OEM_7'],\n [0, 59 /* ScanCode.Backquote */, 'Backquote', 91 /* KeyCode.Backquote */, '`', 192, 'VK_OEM_3', '`', 'OEM_3'],\n [0, 60 /* ScanCode.Comma */, 'Comma', 87 /* KeyCode.Comma */, ',', 188, 'VK_OEM_COMMA', ',', 'OEM_COMMA'],\n [0, 61 /* ScanCode.Period */, 'Period', 89 /* KeyCode.Period */, '.', 190, 'VK_OEM_PERIOD', '.', 'OEM_PERIOD'],\n [0, 62 /* ScanCode.Slash */, 'Slash', 90 /* KeyCode.Slash */, '/', 191, 'VK_OEM_2', '/', 'OEM_2'],\n [1, 63 /* ScanCode.CapsLock */, 'CapsLock', 8 /* KeyCode.CapsLock */, 'CapsLock', 20, 'VK_CAPITAL', empty, empty],\n [1, 64 /* ScanCode.F1 */, 'F1', 59 /* KeyCode.F1 */, 'F1', 112, 'VK_F1', empty, empty],\n [1, 65 /* ScanCode.F2 */, 'F2', 60 /* KeyCode.F2 */, 'F2', 113, 'VK_F2', empty, empty],\n [1, 66 /* ScanCode.F3 */, 'F3', 61 /* KeyCode.F3 */, 'F3', 114, 'VK_F3', empty, empty],\n [1, 67 /* ScanCode.F4 */, 'F4', 62 /* KeyCode.F4 */, 'F4', 115, 'VK_F4', empty, empty],\n [1, 68 /* ScanCode.F5 */, 'F5', 63 /* KeyCode.F5 */, 'F5', 116, 'VK_F5', empty, empty],\n [1, 69 /* ScanCode.F6 */, 'F6', 64 /* KeyCode.F6 */, 'F6', 117, 'VK_F6', empty, empty],\n [1, 70 /* ScanCode.F7 */, 'F7', 65 /* KeyCode.F7 */, 'F7', 118, 'VK_F7', empty, empty],\n [1, 71 /* ScanCode.F8 */, 'F8', 66 /* KeyCode.F8 */, 'F8', 119, 'VK_F8', empty, empty],\n [1, 72 /* ScanCode.F9 */, 'F9', 67 /* KeyCode.F9 */, 'F9', 120, 'VK_F9', empty, empty],\n [1, 73 /* ScanCode.F10 */, 'F10', 68 /* KeyCode.F10 */, 'F10', 121, 'VK_F10', empty, empty],\n [1, 74 /* ScanCode.F11 */, 'F11', 69 /* KeyCode.F11 */, 'F11', 122, 'VK_F11', empty, empty],\n [1, 75 /* ScanCode.F12 */, 'F12', 70 /* KeyCode.F12 */, 'F12', 123, 'VK_F12', empty, empty],\n [1, 76 /* ScanCode.PrintScreen */, 'PrintScreen', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 77 /* ScanCode.ScrollLock */, 'ScrollLock', 84 /* KeyCode.ScrollLock */, 'ScrollLock', 145, 'VK_SCROLL', empty, empty],\n [1, 78 /* ScanCode.Pause */, 'Pause', 7 /* KeyCode.PauseBreak */, 'PauseBreak', 19, 'VK_PAUSE', empty, empty],\n [1, 79 /* ScanCode.Insert */, 'Insert', 19 /* KeyCode.Insert */, 'Insert', 45, 'VK_INSERT', empty, empty],\n [1, 80 /* ScanCode.Home */, 'Home', 14 /* KeyCode.Home */, 'Home', 36, 'VK_HOME', empty, empty],\n [1, 81 /* ScanCode.PageUp */, 'PageUp', 11 /* KeyCode.PageUp */, 'PageUp', 33, 'VK_PRIOR', empty, empty],\n [1, 82 /* ScanCode.Delete */, 'Delete', 20 /* KeyCode.Delete */, 'Delete', 46, 'VK_DELETE', empty, empty],\n [1, 83 /* ScanCode.End */, 'End', 13 /* KeyCode.End */, 'End', 35, 'VK_END', empty, empty],\n [1, 84 /* ScanCode.PageDown */, 'PageDown', 12 /* KeyCode.PageDown */, 'PageDown', 34, 'VK_NEXT', empty, empty],\n [1, 85 /* ScanCode.ArrowRight */, 'ArrowRight', 17 /* KeyCode.RightArrow */, 'RightArrow', 39, 'VK_RIGHT', 'Right', empty],\n [1, 86 /* ScanCode.ArrowLeft */, 'ArrowLeft', 15 /* KeyCode.LeftArrow */, 'LeftArrow', 37, 'VK_LEFT', 'Left', empty],\n [1, 87 /* ScanCode.ArrowDown */, 'ArrowDown', 18 /* KeyCode.DownArrow */, 'DownArrow', 40, 'VK_DOWN', 'Down', empty],\n [1, 88 /* ScanCode.ArrowUp */, 'ArrowUp', 16 /* KeyCode.UpArrow */, 'UpArrow', 38, 'VK_UP', 'Up', empty],\n [1, 89 /* ScanCode.NumLock */, 'NumLock', 83 /* KeyCode.NumLock */, 'NumLock', 144, 'VK_NUMLOCK', empty, empty],\n [1, 90 /* ScanCode.NumpadDivide */, 'NumpadDivide', 113 /* KeyCode.NumpadDivide */, 'NumPad_Divide', 111, 'VK_DIVIDE', empty, empty],\n [1, 91 /* ScanCode.NumpadMultiply */, 'NumpadMultiply', 108 /* KeyCode.NumpadMultiply */, 'NumPad_Multiply', 106, 'VK_MULTIPLY', empty, empty],\n [1, 92 /* ScanCode.NumpadSubtract */, 'NumpadSubtract', 111 /* KeyCode.NumpadSubtract */, 'NumPad_Subtract', 109, 'VK_SUBTRACT', empty, empty],\n [1, 93 /* ScanCode.NumpadAdd */, 'NumpadAdd', 109 /* KeyCode.NumpadAdd */, 'NumPad_Add', 107, 'VK_ADD', empty, empty],\n [1, 94 /* ScanCode.NumpadEnter */, 'NumpadEnter', 3 /* KeyCode.Enter */, empty, 0, empty, empty, empty],\n [1, 95 /* ScanCode.Numpad1 */, 'Numpad1', 99 /* KeyCode.Numpad1 */, 'NumPad1', 97, 'VK_NUMPAD1', empty, empty],\n [1, 96 /* ScanCode.Numpad2 */, 'Numpad2', 100 /* KeyCode.Numpad2 */, 'NumPad2', 98, 'VK_NUMPAD2', empty, empty],\n [1, 97 /* ScanCode.Numpad3 */, 'Numpad3', 101 /* KeyCode.Numpad3 */, 'NumPad3', 99, 'VK_NUMPAD3', empty, empty],\n [1, 98 /* ScanCode.Numpad4 */, 'Numpad4', 102 /* KeyCode.Numpad4 */, 'NumPad4', 100, 'VK_NUMPAD4', empty, empty],\n [1, 99 /* ScanCode.Numpad5 */, 'Numpad5', 103 /* KeyCode.Numpad5 */, 'NumPad5', 101, 'VK_NUMPAD5', empty, empty],\n [1, 100 /* ScanCode.Numpad6 */, 'Numpad6', 104 /* KeyCode.Numpad6 */, 'NumPad6', 102, 'VK_NUMPAD6', empty, empty],\n [1, 101 /* ScanCode.Numpad7 */, 'Numpad7', 105 /* KeyCode.Numpad7 */, 'NumPad7', 103, 'VK_NUMPAD7', empty, empty],\n [1, 102 /* ScanCode.Numpad8 */, 'Numpad8', 106 /* KeyCode.Numpad8 */, 'NumPad8', 104, 'VK_NUMPAD8', empty, empty],\n [1, 103 /* ScanCode.Numpad9 */, 'Numpad9', 107 /* KeyCode.Numpad9 */, 'NumPad9', 105, 'VK_NUMPAD9', empty, empty],\n [1, 104 /* ScanCode.Numpad0 */, 'Numpad0', 98 /* KeyCode.Numpad0 */, 'NumPad0', 96, 'VK_NUMPAD0', empty, empty],\n [1, 105 /* ScanCode.NumpadDecimal */, 'NumpadDecimal', 112 /* KeyCode.NumpadDecimal */, 'NumPad_Decimal', 110, 'VK_DECIMAL', empty, empty],\n [0, 106 /* ScanCode.IntlBackslash */, 'IntlBackslash', 97 /* KeyCode.IntlBackslash */, 'OEM_102', 226, 'VK_OEM_102', empty, empty],\n [1, 107 /* ScanCode.ContextMenu */, 'ContextMenu', 58 /* KeyCode.ContextMenu */, 'ContextMenu', 93, empty, empty, empty],\n [1, 108 /* ScanCode.Power */, 'Power', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 109 /* ScanCode.NumpadEqual */, 'NumpadEqual', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 110 /* ScanCode.F13 */, 'F13', 71 /* KeyCode.F13 */, 'F13', 124, 'VK_F13', empty, empty],\n [1, 111 /* ScanCode.F14 */, 'F14', 72 /* KeyCode.F14 */, 'F14', 125, 'VK_F14', empty, empty],\n [1, 112 /* ScanCode.F15 */, 'F15', 73 /* KeyCode.F15 */, 'F15', 126, 'VK_F15', empty, empty],\n [1, 113 /* ScanCode.F16 */, 'F16', 74 /* KeyCode.F16 */, 'F16', 127, 'VK_F16', empty, empty],\n [1, 114 /* ScanCode.F17 */, 'F17', 75 /* KeyCode.F17 */, 'F17', 128, 'VK_F17', empty, empty],\n [1, 115 /* ScanCode.F18 */, 'F18', 76 /* KeyCode.F18 */, 'F18', 129, 'VK_F18', empty, empty],\n [1, 116 /* ScanCode.F19 */, 'F19', 77 /* KeyCode.F19 */, 'F19', 130, 'VK_F19', empty, empty],\n [1, 117 /* ScanCode.F20 */, 'F20', 78 /* KeyCode.F20 */, 'F20', 131, 'VK_F20', empty, empty],\n [1, 118 /* ScanCode.F21 */, 'F21', 79 /* KeyCode.F21 */, 'F21', 132, 'VK_F21', empty, empty],\n [1, 119 /* ScanCode.F22 */, 'F22', 80 /* KeyCode.F22 */, 'F22', 133, 'VK_F22', empty, empty],\n [1, 120 /* ScanCode.F23 */, 'F23', 81 /* KeyCode.F23 */, 'F23', 134, 'VK_F23', empty, empty],\n [1, 121 /* ScanCode.F24 */, 'F24', 82 /* KeyCode.F24 */, 'F24', 135, 'VK_F24', empty, empty],\n [1, 122 /* ScanCode.Open */, 'Open', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 123 /* ScanCode.Help */, 'Help', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 124 /* ScanCode.Select */, 'Select', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 125 /* ScanCode.Again */, 'Again', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 126 /* ScanCode.Undo */, 'Undo', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 127 /* ScanCode.Cut */, 'Cut', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 128 /* ScanCode.Copy */, 'Copy', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 129 /* ScanCode.Paste */, 'Paste', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 130 /* ScanCode.Find */, 'Find', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 131 /* ScanCode.AudioVolumeMute */, 'AudioVolumeMute', 117 /* KeyCode.AudioVolumeMute */, 'AudioVolumeMute', 173, 'VK_VOLUME_MUTE', empty, empty],\n [1, 132 /* ScanCode.AudioVolumeUp */, 'AudioVolumeUp', 118 /* KeyCode.AudioVolumeUp */, 'AudioVolumeUp', 175, 'VK_VOLUME_UP', empty, empty],\n [1, 133 /* ScanCode.AudioVolumeDown */, 'AudioVolumeDown', 119 /* KeyCode.AudioVolumeDown */, 'AudioVolumeDown', 174, 'VK_VOLUME_DOWN', empty, empty],\n [1, 134 /* ScanCode.NumpadComma */, 'NumpadComma', 110 /* KeyCode.NUMPAD_SEPARATOR */, 'NumPad_Separator', 108, 'VK_SEPARATOR', empty, empty],\n [0, 135 /* ScanCode.IntlRo */, 'IntlRo', 115 /* KeyCode.ABNT_C1 */, 'ABNT_C1', 193, 'VK_ABNT_C1', empty, empty],\n [1, 136 /* ScanCode.KanaMode */, 'KanaMode', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [0, 137 /* ScanCode.IntlYen */, 'IntlYen', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 138 /* ScanCode.Convert */, 'Convert', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 139 /* ScanCode.NonConvert */, 'NonConvert', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 140 /* ScanCode.Lang1 */, 'Lang1', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 141 /* ScanCode.Lang2 */, 'Lang2', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 142 /* ScanCode.Lang3 */, 'Lang3', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 143 /* ScanCode.Lang4 */, 'Lang4', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 144 /* ScanCode.Lang5 */, 'Lang5', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 145 /* ScanCode.Abort */, 'Abort', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 146 /* ScanCode.Props */, 'Props', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 147 /* ScanCode.NumpadParenLeft */, 'NumpadParenLeft', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 148 /* ScanCode.NumpadParenRight */, 'NumpadParenRight', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 149 /* ScanCode.NumpadBackspace */, 'NumpadBackspace', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 150 /* ScanCode.NumpadMemoryStore */, 'NumpadMemoryStore', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 151 /* ScanCode.NumpadMemoryRecall */, 'NumpadMemoryRecall', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 152 /* ScanCode.NumpadMemoryClear */, 'NumpadMemoryClear', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 153 /* ScanCode.NumpadMemoryAdd */, 'NumpadMemoryAdd', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 154 /* ScanCode.NumpadMemorySubtract */, 'NumpadMemorySubtract', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 155 /* ScanCode.NumpadClear */, 'NumpadClear', 131 /* KeyCode.Clear */, 'Clear', 12, 'VK_CLEAR', empty, empty],\n [1, 156 /* ScanCode.NumpadClearEntry */, 'NumpadClearEntry', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 0 /* ScanCode.None */, empty, 5 /* KeyCode.Ctrl */, 'Ctrl', 17, 'VK_CONTROL', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 4 /* KeyCode.Shift */, 'Shift', 16, 'VK_SHIFT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 6 /* KeyCode.Alt */, 'Alt', 18, 'VK_MENU', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 57 /* KeyCode.Meta */, 'Meta', 91, 'VK_COMMAND', empty, empty],\n [1, 157 /* ScanCode.ControlLeft */, 'ControlLeft', 5 /* KeyCode.Ctrl */, empty, 0, 'VK_LCONTROL', empty, empty],\n [1, 158 /* ScanCode.ShiftLeft */, 'ShiftLeft', 4 /* KeyCode.Shift */, empty, 0, 'VK_LSHIFT', empty, empty],\n [1, 159 /* ScanCode.AltLeft */, 'AltLeft', 6 /* KeyCode.Alt */, empty, 0, 'VK_LMENU', empty, empty],\n [1, 160 /* ScanCode.MetaLeft */, 'MetaLeft', 57 /* KeyCode.Meta */, empty, 0, 'VK_LWIN', empty, empty],\n [1, 161 /* ScanCode.ControlRight */, 'ControlRight', 5 /* KeyCode.Ctrl */, empty, 0, 'VK_RCONTROL', empty, empty],\n [1, 162 /* ScanCode.ShiftRight */, 'ShiftRight', 4 /* KeyCode.Shift */, empty, 0, 'VK_RSHIFT', empty, empty],\n [1, 163 /* ScanCode.AltRight */, 'AltRight', 6 /* KeyCode.Alt */, empty, 0, 'VK_RMENU', empty, empty],\n [1, 164 /* ScanCode.MetaRight */, 'MetaRight', 57 /* KeyCode.Meta */, empty, 0, 'VK_RWIN', empty, empty],\n [1, 165 /* ScanCode.BrightnessUp */, 'BrightnessUp', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 166 /* ScanCode.BrightnessDown */, 'BrightnessDown', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 167 /* ScanCode.MediaPlay */, 'MediaPlay', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 168 /* ScanCode.MediaRecord */, 'MediaRecord', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 169 /* ScanCode.MediaFastForward */, 'MediaFastForward', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 170 /* ScanCode.MediaRewind */, 'MediaRewind', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 171 /* ScanCode.MediaTrackNext */, 'MediaTrackNext', 124 /* KeyCode.MediaTrackNext */, 'MediaTrackNext', 176, 'VK_MEDIA_NEXT_TRACK', empty, empty],\n [1, 172 /* ScanCode.MediaTrackPrevious */, 'MediaTrackPrevious', 125 /* KeyCode.MediaTrackPrevious */, 'MediaTrackPrevious', 177, 'VK_MEDIA_PREV_TRACK', empty, empty],\n [1, 173 /* ScanCode.MediaStop */, 'MediaStop', 126 /* KeyCode.MediaStop */, 'MediaStop', 178, 'VK_MEDIA_STOP', empty, empty],\n [1, 174 /* ScanCode.Eject */, 'Eject', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 175 /* ScanCode.MediaPlayPause */, 'MediaPlayPause', 127 /* KeyCode.MediaPlayPause */, 'MediaPlayPause', 179, 'VK_MEDIA_PLAY_PAUSE', empty, empty],\n [1, 176 /* ScanCode.MediaSelect */, 'MediaSelect', 128 /* KeyCode.LaunchMediaPlayer */, 'LaunchMediaPlayer', 181, 'VK_MEDIA_LAUNCH_MEDIA_SELECT', empty, empty],\n [1, 177 /* ScanCode.LaunchMail */, 'LaunchMail', 129 /* KeyCode.LaunchMail */, 'LaunchMail', 180, 'VK_MEDIA_LAUNCH_MAIL', empty, empty],\n [1, 178 /* ScanCode.LaunchApp2 */, 'LaunchApp2', 130 /* KeyCode.LaunchApp2 */, 'LaunchApp2', 183, 'VK_MEDIA_LAUNCH_APP2', empty, empty],\n [1, 179 /* ScanCode.LaunchApp1 */, 'LaunchApp1', 0 /* KeyCode.Unknown */, empty, 0, 'VK_MEDIA_LAUNCH_APP1', empty, empty],\n [1, 180 /* ScanCode.SelectTask */, 'SelectTask', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 181 /* ScanCode.LaunchScreenSaver */, 'LaunchScreenSaver', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 182 /* ScanCode.BrowserSearch */, 'BrowserSearch', 120 /* KeyCode.BrowserSearch */, 'BrowserSearch', 170, 'VK_BROWSER_SEARCH', empty, empty],\n [1, 183 /* ScanCode.BrowserHome */, 'BrowserHome', 121 /* KeyCode.BrowserHome */, 'BrowserHome', 172, 'VK_BROWSER_HOME', empty, empty],\n [1, 184 /* ScanCode.BrowserBack */, 'BrowserBack', 122 /* KeyCode.BrowserBack */, 'BrowserBack', 166, 'VK_BROWSER_BACK', empty, empty],\n [1, 185 /* ScanCode.BrowserForward */, 'BrowserForward', 123 /* KeyCode.BrowserForward */, 'BrowserForward', 167, 'VK_BROWSER_FORWARD', empty, empty],\n [1, 186 /* ScanCode.BrowserStop */, 'BrowserStop', 0 /* KeyCode.Unknown */, empty, 0, 'VK_BROWSER_STOP', empty, empty],\n [1, 187 /* ScanCode.BrowserRefresh */, 'BrowserRefresh', 0 /* KeyCode.Unknown */, empty, 0, 'VK_BROWSER_REFRESH', empty, empty],\n [1, 188 /* ScanCode.BrowserFavorites */, 'BrowserFavorites', 0 /* KeyCode.Unknown */, empty, 0, 'VK_BROWSER_FAVORITES', empty, empty],\n [1, 189 /* ScanCode.ZoomToggle */, 'ZoomToggle', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 190 /* ScanCode.MailReply */, 'MailReply', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 191 /* ScanCode.MailForward */, 'MailForward', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 192 /* ScanCode.MailSend */, 'MailSend', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n // See https://lists.w3.org/Archives/Public/www-dom/2010JulSep/att-0182/keyCode-spec.html\n // If an Input Method Editor is processing key input and the event is keydown, return 229.\n [1, 0 /* ScanCode.None */, empty, 114 /* KeyCode.KEY_IN_COMPOSITION */, 'KeyInComposition', 229, empty, empty, empty],\n [1, 0 /* ScanCode.None */, empty, 116 /* KeyCode.ABNT_C2 */, 'ABNT_C2', 194, 'VK_ABNT_C2', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 96 /* KeyCode.OEM_8 */, 'OEM_8', 223, 'VK_OEM_8', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_KANA', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_HANGUL', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_JUNJA', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_FINAL', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_HANJA', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_KANJI', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_CONVERT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_NONCONVERT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_ACCEPT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_MODECHANGE', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_SELECT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_PRINT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_EXECUTE', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_SNAPSHOT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_HELP', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_APPS', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_PROCESSKEY', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_PACKET', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_DBE_SBCSCHAR', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_DBE_DBCSCHAR', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_ATTN', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_CRSEL', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_EXSEL', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_EREOF', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_PLAY', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_ZOOM', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_NONAME', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_PA1', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_OEM_CLEAR', empty, empty],\n ];\n const seenKeyCode = [];\n const seenScanCode = [];\n for (const mapping of mappings) {\n const [immutable, scanCode, scanCodeStr, keyCode, keyCodeStr, eventKeyCode, vkey, usUserSettingsLabel, generalUserSettingsLabel] = mapping;\n if (!seenScanCode[scanCode]) {\n seenScanCode[scanCode] = true;\n scanCodeIntToStr[scanCode] = scanCodeStr;\n scanCodeStrToInt[scanCodeStr] = scanCode;\n scanCodeLowerCaseStrToInt[scanCodeStr.toLowerCase()] = scanCode;\n if (immutable) {\n IMMUTABLE_CODE_TO_KEY_CODE[scanCode] = keyCode;\n if ((keyCode !== 0 /* KeyCode.Unknown */)\n && (keyCode !== 3 /* KeyCode.Enter */)\n && (keyCode !== 5 /* KeyCode.Ctrl */)\n && (keyCode !== 4 /* KeyCode.Shift */)\n && (keyCode !== 6 /* KeyCode.Alt */)\n && (keyCode !== 57 /* KeyCode.Meta */)) {\n IMMUTABLE_KEY_CODE_TO_CODE[keyCode] = scanCode;\n }\n }\n }\n if (!seenKeyCode[keyCode]) {\n seenKeyCode[keyCode] = true;\n if (!keyCodeStr) {\n throw new Error(`String representation missing for key code ${keyCode} around scan code ${scanCodeStr}`);\n }\n uiMap.define(keyCode, keyCodeStr);\n userSettingsUSMap.define(keyCode, usUserSettingsLabel || keyCodeStr);\n userSettingsGeneralMap.define(keyCode, generalUserSettingsLabel || usUserSettingsLabel || keyCodeStr);\n }\n if (eventKeyCode) {\n EVENT_KEY_CODE_MAP[eventKeyCode] = keyCode;\n }\n if (vkey) {\n NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE[vkey] = keyCode;\n }\n }\n // Manually added due to the exclusion above (due to duplication with NumpadEnter)\n IMMUTABLE_KEY_CODE_TO_CODE[3 /* KeyCode.Enter */] = 46 /* ScanCode.Enter */;\n})();\nvar KeyCodeUtils;\n(function (KeyCodeUtils) {\n function toString(keyCode) {\n return uiMap.keyCodeToStr(keyCode);\n }\n KeyCodeUtils.toString = toString;\n function fromString(key) {\n return uiMap.strToKeyCode(key);\n }\n KeyCodeUtils.fromString = fromString;\n function toUserSettingsUS(keyCode) {\n return userSettingsUSMap.keyCodeToStr(keyCode);\n }\n KeyCodeUtils.toUserSettingsUS = toUserSettingsUS;\n function toUserSettingsGeneral(keyCode) {\n return userSettingsGeneralMap.keyCodeToStr(keyCode);\n }\n KeyCodeUtils.toUserSettingsGeneral = toUserSettingsGeneral;\n function fromUserSettings(key) {\n return userSettingsUSMap.strToKeyCode(key) || userSettingsGeneralMap.strToKeyCode(key);\n }\n KeyCodeUtils.fromUserSettings = fromUserSettings;\n function toElectronAccelerator(keyCode) {\n if (keyCode >= 98 /* KeyCode.Numpad0 */ && keyCode <= 113 /* KeyCode.NumpadDivide */) {\n // [Electron Accelerators] Electron is able to parse numpad keys, but unfortunately it\n // renders them just as regular keys in menus. For example, num0 is rendered as \"0\",\n // numdiv is rendered as \"/\", numsub is rendered as \"-\".\n //\n // This can lead to incredible confusion, as it makes numpad based keybindings indistinguishable\n // from keybindings based on regular keys.\n //\n // We therefore need to fall back to custom rendering for numpad keys.\n return null;\n }\n switch (keyCode) {\n case 16 /* KeyCode.UpArrow */:\n return 'Up';\n case 18 /* KeyCode.DownArrow */:\n return 'Down';\n case 15 /* KeyCode.LeftArrow */:\n return 'Left';\n case 17 /* KeyCode.RightArrow */:\n return 'Right';\n }\n return uiMap.keyCodeToStr(keyCode);\n }\n KeyCodeUtils.toElectronAccelerator = toElectronAccelerator;\n})(KeyCodeUtils || (KeyCodeUtils = {}));\nfunction KeyChord(firstPart, secondPart) {\n const chordPart = ((secondPart & 0x0000FFFF) << 16) >>> 0;\n return (firstPart | chordPart) >>> 0;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/keyCodes.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js":
+/*!***************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js ***!
+ \***************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AriaLabelProvider: () => (/* binding */ AriaLabelProvider),\n/* harmony export */ ElectronAcceleratorLabelProvider: () => (/* binding */ ElectronAcceleratorLabelProvider),\n/* harmony export */ ModifierLabelProvider: () => (/* binding */ ModifierLabelProvider),\n/* harmony export */ UILabelProvider: () => (/* binding */ UILabelProvider),\n/* harmony export */ UserSettingsLabelProvider: () => (/* binding */ UserSettingsLabelProvider)\n/* harmony export */ });\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nclass ModifierLabelProvider {\n constructor(mac, windows, linux = windows) {\n this.modifierLabels = [null]; // index 0 will never me accessed.\n this.modifierLabels[2 /* OperatingSystem.Macintosh */] = mac;\n this.modifierLabels[1 /* OperatingSystem.Windows */] = windows;\n this.modifierLabels[3 /* OperatingSystem.Linux */] = linux;\n }\n toLabel(OS, chords, keyLabelProvider) {\n if (chords.length === 0) {\n return null;\n }\n const result = [];\n for (let i = 0, len = chords.length; i < len; i++) {\n const chord = chords[i];\n const keyLabel = keyLabelProvider(chord);\n if (keyLabel === null) {\n // this keybinding cannot be expressed...\n return null;\n }\n result[i] = _simpleAsString(chord, keyLabel, this.modifierLabels[OS]);\n }\n return result.join(' ');\n }\n}\n/**\n * A label provider that prints modifiers in a suitable format for displaying in the UI.\n */\nconst UILabelProvider = new ModifierLabelProvider({\n ctrlKey: '\\u2303',\n shiftKey: '⇧',\n altKey: '⌥',\n metaKey: '⌘',\n separator: '',\n}, {\n ctrlKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey', comment: ['This is the short form for the Control key on the keyboard'] }, \"Ctrl\"),\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey', comment: ['This is the short form for the Shift key on the keyboard'] }, \"Shift\"),\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'altKey', comment: ['This is the short form for the Alt key on the keyboard'] }, \"Alt\"),\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'windowsKey', comment: ['This is the short form for the Windows key on the keyboard'] }, \"Windows\"),\n separator: '+',\n}, {\n ctrlKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey', comment: ['This is the short form for the Control key on the keyboard'] }, \"Ctrl\"),\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey', comment: ['This is the short form for the Shift key on the keyboard'] }, \"Shift\"),\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'altKey', comment: ['This is the short form for the Alt key on the keyboard'] }, \"Alt\"),\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'superKey', comment: ['This is the short form for the Super key on the keyboard'] }, \"Super\"),\n separator: '+',\n});\n/**\n * A label provider that prints modifiers in a suitable format for ARIA.\n */\nconst AriaLabelProvider = new ModifierLabelProvider({\n ctrlKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey.long', comment: ['This is the long form for the Control key on the keyboard'] }, \"Control\"),\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey.long', comment: ['This is the long form for the Shift key on the keyboard'] }, \"Shift\"),\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'optKey.long', comment: ['This is the long form for the Alt/Option key on the keyboard'] }, \"Option\"),\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'cmdKey.long', comment: ['This is the long form for the Command key on the keyboard'] }, \"Command\"),\n separator: '+',\n}, {\n ctrlKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey.long', comment: ['This is the long form for the Control key on the keyboard'] }, \"Control\"),\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey.long', comment: ['This is the long form for the Shift key on the keyboard'] }, \"Shift\"),\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'altKey.long', comment: ['This is the long form for the Alt key on the keyboard'] }, \"Alt\"),\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'windowsKey.long', comment: ['This is the long form for the Windows key on the keyboard'] }, \"Windows\"),\n separator: '+',\n}, {\n ctrlKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey.long', comment: ['This is the long form for the Control key on the keyboard'] }, \"Control\"),\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey.long', comment: ['This is the long form for the Shift key on the keyboard'] }, \"Shift\"),\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'altKey.long', comment: ['This is the long form for the Alt key on the keyboard'] }, \"Alt\"),\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'superKey.long', comment: ['This is the long form for the Super key on the keyboard'] }, \"Super\"),\n separator: '+',\n});\n/**\n * A label provider that prints modifiers in a suitable format for Electron Accelerators.\n * See https://github.com/electron/electron/blob/master/docs/api/accelerator.md\n */\nconst ElectronAcceleratorLabelProvider = new ModifierLabelProvider({\n ctrlKey: 'Ctrl',\n shiftKey: 'Shift',\n altKey: 'Alt',\n metaKey: 'Cmd',\n separator: '+',\n}, {\n ctrlKey: 'Ctrl',\n shiftKey: 'Shift',\n altKey: 'Alt',\n metaKey: 'Super',\n separator: '+',\n});\n/**\n * A label provider that prints modifiers in a suitable format for user settings.\n */\nconst UserSettingsLabelProvider = new ModifierLabelProvider({\n ctrlKey: 'ctrl',\n shiftKey: 'shift',\n altKey: 'alt',\n metaKey: 'cmd',\n separator: '+',\n}, {\n ctrlKey: 'ctrl',\n shiftKey: 'shift',\n altKey: 'alt',\n metaKey: 'win',\n separator: '+',\n}, {\n ctrlKey: 'ctrl',\n shiftKey: 'shift',\n altKey: 'alt',\n metaKey: 'meta',\n separator: '+',\n});\nfunction _simpleAsString(modifiers, key, labels) {\n if (key === null) {\n return '';\n }\n const result = [];\n // translate modifier keys: Ctrl-Shift-Alt-Meta\n if (modifiers.ctrlKey) {\n result.push(labels.ctrlKey);\n }\n if (modifiers.shiftKey) {\n result.push(labels.shiftKey);\n }\n if (modifiers.altKey) {\n result.push(labels.altKey);\n }\n if (modifiers.metaKey) {\n result.push(labels.metaKey);\n }\n // the actual key\n if (key !== '') {\n result.push(key);\n }\n return result.join(labels.separator);\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/keybindings.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/keybindings.js ***!
+ \**********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ KeyCodeChord: () => (/* binding */ KeyCodeChord),\n/* harmony export */ Keybinding: () => (/* binding */ Keybinding),\n/* harmony export */ ResolvedChord: () => (/* binding */ ResolvedChord),\n/* harmony export */ ResolvedKeybinding: () => (/* binding */ ResolvedKeybinding),\n/* harmony export */ ScanCodeChord: () => (/* binding */ ScanCodeChord),\n/* harmony export */ createSimpleKeybinding: () => (/* binding */ createSimpleKeybinding),\n/* harmony export */ decodeKeybinding: () => (/* binding */ decodeKeybinding)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nfunction decodeKeybinding(keybinding, OS) {\n if (typeof keybinding === 'number') {\n if (keybinding === 0) {\n return null;\n }\n const firstChord = (keybinding & 0x0000FFFF) >>> 0;\n const secondChord = (keybinding & 0xFFFF0000) >>> 16;\n if (secondChord !== 0) {\n return new Keybinding([\n createSimpleKeybinding(firstChord, OS),\n createSimpleKeybinding(secondChord, OS)\n ]);\n }\n return new Keybinding([createSimpleKeybinding(firstChord, OS)]);\n }\n else {\n const chords = [];\n for (let i = 0; i < keybinding.length; i++) {\n chords.push(createSimpleKeybinding(keybinding[i], OS));\n }\n return new Keybinding(chords);\n }\n}\nfunction createSimpleKeybinding(keybinding, OS) {\n const ctrlCmd = (keybinding & 2048 /* BinaryKeybindingsMask.CtrlCmd */ ? true : false);\n const winCtrl = (keybinding & 256 /* BinaryKeybindingsMask.WinCtrl */ ? true : false);\n const ctrlKey = (OS === 2 /* OperatingSystem.Macintosh */ ? winCtrl : ctrlCmd);\n const shiftKey = (keybinding & 1024 /* BinaryKeybindingsMask.Shift */ ? true : false);\n const altKey = (keybinding & 512 /* BinaryKeybindingsMask.Alt */ ? true : false);\n const metaKey = (OS === 2 /* OperatingSystem.Macintosh */ ? ctrlCmd : winCtrl);\n const keyCode = (keybinding & 255 /* BinaryKeybindingsMask.KeyCode */);\n return new KeyCodeChord(ctrlKey, shiftKey, altKey, metaKey, keyCode);\n}\n/**\n * Represents a chord which uses the `keyCode` field of keyboard events.\n * A chord is a combination of keys pressed simultaneously.\n */\nclass KeyCodeChord {\n constructor(ctrlKey, shiftKey, altKey, metaKey, keyCode) {\n this.ctrlKey = ctrlKey;\n this.shiftKey = shiftKey;\n this.altKey = altKey;\n this.metaKey = metaKey;\n this.keyCode = keyCode;\n }\n equals(other) {\n return (other instanceof KeyCodeChord\n && this.ctrlKey === other.ctrlKey\n && this.shiftKey === other.shiftKey\n && this.altKey === other.altKey\n && this.metaKey === other.metaKey\n && this.keyCode === other.keyCode);\n }\n isModifierKey() {\n return (this.keyCode === 0 /* KeyCode.Unknown */\n || this.keyCode === 5 /* KeyCode.Ctrl */\n || this.keyCode === 57 /* KeyCode.Meta */\n || this.keyCode === 6 /* KeyCode.Alt */\n || this.keyCode === 4 /* KeyCode.Shift */);\n }\n /**\n * Does this keybinding refer to the key code of a modifier and it also has the modifier flag?\n */\n isDuplicateModifierCase() {\n return ((this.ctrlKey && this.keyCode === 5 /* KeyCode.Ctrl */)\n || (this.shiftKey && this.keyCode === 4 /* KeyCode.Shift */)\n || (this.altKey && this.keyCode === 6 /* KeyCode.Alt */)\n || (this.metaKey && this.keyCode === 57 /* KeyCode.Meta */));\n }\n}\n/**\n * Represents a chord which uses the `code` field of keyboard events.\n * A chord is a combination of keys pressed simultaneously.\n */\nclass ScanCodeChord {\n constructor(ctrlKey, shiftKey, altKey, metaKey, scanCode) {\n this.ctrlKey = ctrlKey;\n this.shiftKey = shiftKey;\n this.altKey = altKey;\n this.metaKey = metaKey;\n this.scanCode = scanCode;\n }\n /**\n * Does this keybinding refer to the key code of a modifier and it also has the modifier flag?\n */\n isDuplicateModifierCase() {\n return ((this.ctrlKey && (this.scanCode === 157 /* ScanCode.ControlLeft */ || this.scanCode === 161 /* ScanCode.ControlRight */))\n || (this.shiftKey && (this.scanCode === 158 /* ScanCode.ShiftLeft */ || this.scanCode === 162 /* ScanCode.ShiftRight */))\n || (this.altKey && (this.scanCode === 159 /* ScanCode.AltLeft */ || this.scanCode === 163 /* ScanCode.AltRight */))\n || (this.metaKey && (this.scanCode === 160 /* ScanCode.MetaLeft */ || this.scanCode === 164 /* ScanCode.MetaRight */)));\n }\n}\n/**\n * A keybinding is a sequence of chords.\n */\nclass Keybinding {\n constructor(chords) {\n if (chords.length === 0) {\n throw (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.illegalArgument)(`chords`);\n }\n this.chords = chords;\n }\n}\nclass ResolvedChord {\n constructor(ctrlKey, shiftKey, altKey, metaKey, keyLabel, keyAriaLabel) {\n this.ctrlKey = ctrlKey;\n this.shiftKey = shiftKey;\n this.altKey = altKey;\n this.metaKey = metaKey;\n this.keyLabel = keyLabel;\n this.keyAriaLabel = keyAriaLabel;\n }\n}\n/**\n * A resolved keybinding. Consists of one or multiple chords.\n */\nclass ResolvedKeybinding {\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/keybindings.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/labels.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/labels.js ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ normalizeDriveLetter: () => (/* binding */ normalizeDriveLetter)\n/* harmony export */ });\n/* harmony import */ var _extpath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./extpath.js */ \"./node_modules/monaco-editor/esm/vs/base/common/extpath.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n\n\nfunction normalizeDriveLetter(path, isWindowsOS = _platform_js__WEBPACK_IMPORTED_MODULE_1__.isWindows) {\n if ((0,_extpath_js__WEBPACK_IMPORTED_MODULE_0__.hasDriveLetter)(path, isWindowsOS)) {\n return path.charAt(0).toUpperCase() + path.slice(1);\n }\n return path;\n}\nlet normalizedUserHomeCached = Object.create(null);\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/labels.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/lazy.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/lazy.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Lazy: () => (/* binding */ Lazy)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nclass Lazy {\n constructor(executor) {\n this.executor = executor;\n this._didRun = false;\n }\n /**\n * Get the wrapped value.\n *\n * This will force evaluation of the lazy value if it has not been resolved yet. Lazy values are only\n * resolved once. `getValue` will re-throw exceptions that are hit while resolving the value\n */\n get value() {\n if (!this._didRun) {\n try {\n this._value = this.executor();\n }\n catch (err) {\n this._error = err;\n }\n finally {\n this._didRun = true;\n }\n }\n if (this._error) {\n throw this._error;\n }\n return this._value;\n }\n /**\n * Get the wrapped value without forcing evaluation.\n */\n get rawValue() { return this._value; }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/lazy.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Disposable: () => (/* binding */ Disposable),\n/* harmony export */ DisposableMap: () => (/* binding */ DisposableMap),\n/* harmony export */ DisposableStore: () => (/* binding */ DisposableStore),\n/* harmony export */ ImmortalReference: () => (/* binding */ ImmortalReference),\n/* harmony export */ MutableDisposable: () => (/* binding */ MutableDisposable),\n/* harmony export */ RefCountedDisposable: () => (/* binding */ RefCountedDisposable),\n/* harmony export */ combinedDisposable: () => (/* binding */ combinedDisposable),\n/* harmony export */ dispose: () => (/* binding */ dispose),\n/* harmony export */ isDisposable: () => (/* binding */ isDisposable),\n/* harmony export */ markAsDisposed: () => (/* binding */ markAsDisposed),\n/* harmony export */ markAsSingleton: () => (/* binding */ markAsSingleton),\n/* harmony export */ setDisposableTracker: () => (/* binding */ setDisposableTracker),\n/* harmony export */ toDisposable: () => (/* binding */ toDisposable),\n/* harmony export */ trackDisposable: () => (/* binding */ trackDisposable)\n/* harmony export */ });\n/* harmony import */ var _functional_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./functional.js */ \"./node_modules/monaco-editor/esm/vs/base/common/functional.js\");\n/* harmony import */ var _iterator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n\n\n// #region Disposable Tracking\n/**\n * Enables logging of potentially leaked disposables.\n *\n * A disposable is considered leaked if it is not disposed or not registered as the child of\n * another disposable. This tracking is very simple an only works for classes that either\n * extend Disposable or use a DisposableStore. This means there are a lot of false positives.\n */\nconst TRACK_DISPOSABLES = false;\nlet disposableTracker = null;\nfunction setDisposableTracker(tracker) {\n disposableTracker = tracker;\n}\nif (TRACK_DISPOSABLES) {\n const __is_disposable_tracked__ = '__is_disposable_tracked__';\n setDisposableTracker(new class {\n trackDisposable(x) {\n const stack = new Error('Potentially leaked disposable').stack;\n setTimeout(() => {\n if (!x[__is_disposable_tracked__]) {\n console.log(stack);\n }\n }, 3000);\n }\n setParent(child, parent) {\n if (child && child !== Disposable.None) {\n try {\n child[__is_disposable_tracked__] = true;\n }\n catch (_a) {\n // noop\n }\n }\n }\n markAsDisposed(disposable) {\n if (disposable && disposable !== Disposable.None) {\n try {\n disposable[__is_disposable_tracked__] = true;\n }\n catch (_a) {\n // noop\n }\n }\n }\n markAsSingleton(disposable) { }\n });\n}\nfunction trackDisposable(x) {\n disposableTracker === null || disposableTracker === void 0 ? void 0 : disposableTracker.trackDisposable(x);\n return x;\n}\nfunction markAsDisposed(disposable) {\n disposableTracker === null || disposableTracker === void 0 ? void 0 : disposableTracker.markAsDisposed(disposable);\n}\nfunction setParentOfDisposable(child, parent) {\n disposableTracker === null || disposableTracker === void 0 ? void 0 : disposableTracker.setParent(child, parent);\n}\nfunction setParentOfDisposables(children, parent) {\n if (!disposableTracker) {\n return;\n }\n for (const child of children) {\n disposableTracker.setParent(child, parent);\n }\n}\n/**\n * Indicates that the given object is a singleton which does not need to be disposed.\n*/\nfunction markAsSingleton(singleton) {\n disposableTracker === null || disposableTracker === void 0 ? void 0 : disposableTracker.markAsSingleton(singleton);\n return singleton;\n}\n/**\n * Check if `thing` is {@link IDisposable disposable}.\n */\nfunction isDisposable(thing) {\n return typeof thing.dispose === 'function' && thing.dispose.length === 0;\n}\nfunction dispose(arg) {\n if (_iterator_js__WEBPACK_IMPORTED_MODULE_1__.Iterable.is(arg)) {\n const errors = [];\n for (const d of arg) {\n if (d) {\n try {\n d.dispose();\n }\n catch (e) {\n errors.push(e);\n }\n }\n }\n if (errors.length === 1) {\n throw errors[0];\n }\n else if (errors.length > 1) {\n throw new AggregateError(errors, 'Encountered errors while disposing of store');\n }\n return Array.isArray(arg) ? [] : arg;\n }\n else if (arg) {\n arg.dispose();\n return arg;\n }\n}\n/**\n * Combine multiple disposable values into a single {@link IDisposable}.\n */\nfunction combinedDisposable(...disposables) {\n const parent = toDisposable(() => dispose(disposables));\n setParentOfDisposables(disposables, parent);\n return parent;\n}\n/**\n * Turn a function that implements dispose into an {@link IDisposable}.\n *\n * @param fn Clean up function, guaranteed to be called only **once**.\n */\nfunction toDisposable(fn) {\n const self = trackDisposable({\n dispose: (0,_functional_js__WEBPACK_IMPORTED_MODULE_0__.createSingleCallFunction)(() => {\n markAsDisposed(self);\n fn();\n })\n });\n return self;\n}\n/**\n * Manages a collection of disposable values.\n *\n * This is the preferred way to manage multiple disposables. A `DisposableStore` is safer to work with than an\n * `IDisposable[]` as it considers edge cases, such as registering the same value multiple times or adding an item to a\n * store that has already been disposed of.\n */\nclass DisposableStore {\n constructor() {\n this._toDispose = new Set();\n this._isDisposed = false;\n trackDisposable(this);\n }\n /**\n * Dispose of all registered disposables and mark this object as disposed.\n *\n * Any future disposables added to this object will be disposed of on `add`.\n */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n markAsDisposed(this);\n this._isDisposed = true;\n this.clear();\n }\n /**\n * @return `true` if this object has been disposed of.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of all registered disposables but do not mark this object as disposed.\n */\n clear() {\n if (this._toDispose.size === 0) {\n return;\n }\n try {\n dispose(this._toDispose);\n }\n finally {\n this._toDispose.clear();\n }\n }\n /**\n * Add a new {@link IDisposable disposable} to the collection.\n */\n add(o) {\n if (!o) {\n return o;\n }\n if (o === this) {\n throw new Error('Cannot register a disposable on itself!');\n }\n setParentOfDisposable(o, this);\n if (this._isDisposed) {\n if (!DisposableStore.DISABLE_DISPOSED_WARNING) {\n console.warn(new Error('Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!').stack);\n }\n }\n else {\n this._toDispose.add(o);\n }\n return o;\n }\n /**\n * Deletes the value from the store, but does not dispose it.\n */\n deleteAndLeak(o) {\n if (!o) {\n return;\n }\n if (this._toDispose.has(o)) {\n this._toDispose.delete(o);\n setParentOfDisposable(o, null);\n }\n }\n}\nDisposableStore.DISABLE_DISPOSED_WARNING = false;\n/**\n * Abstract base class for a {@link IDisposable disposable} object.\n *\n * Subclasses can {@linkcode _register} disposables that will be automatically cleaned up when this object is disposed of.\n */\nclass Disposable {\n constructor() {\n this._store = new DisposableStore();\n trackDisposable(this);\n setParentOfDisposable(this._store, this);\n }\n dispose() {\n markAsDisposed(this);\n this._store.dispose();\n }\n /**\n * Adds `o` to the collection of disposables managed by this object.\n */\n _register(o) {\n if (o === this) {\n throw new Error('Cannot register a disposable on itself!');\n }\n return this._store.add(o);\n }\n}\n/**\n * A disposable that does nothing when it is disposed of.\n *\n * TODO: This should not be a static property.\n */\nDisposable.None = Object.freeze({ dispose() { } });\n/**\n * Manages the lifecycle of a disposable value that may be changed.\n *\n * This ensures that when the disposable value is changed, the previously held disposable is disposed of. You can\n * also register a `MutableDisposable` on a `Disposable` to ensure it is automatically cleaned up.\n */\nclass MutableDisposable {\n constructor() {\n this._isDisposed = false;\n trackDisposable(this);\n }\n get value() {\n return this._isDisposed ? undefined : this._value;\n }\n set value(value) {\n var _a;\n if (this._isDisposed || value === this._value) {\n return;\n }\n (_a = this._value) === null || _a === void 0 ? void 0 : _a.dispose();\n if (value) {\n setParentOfDisposable(value, this);\n }\n this._value = value;\n }\n /**\n * Resets the stored value and disposed of the previously stored value.\n */\n clear() {\n this.value = undefined;\n }\n dispose() {\n var _a;\n this._isDisposed = true;\n markAsDisposed(this);\n (_a = this._value) === null || _a === void 0 ? void 0 : _a.dispose();\n this._value = undefined;\n }\n}\nclass RefCountedDisposable {\n constructor(_disposable) {\n this._disposable = _disposable;\n this._counter = 1;\n }\n acquire() {\n this._counter++;\n return this;\n }\n release() {\n if (--this._counter === 0) {\n this._disposable.dispose();\n }\n return this;\n }\n}\nclass ImmortalReference {\n constructor(object) {\n this.object = object;\n }\n dispose() { }\n}\n/**\n * A map the manages the lifecycle of the values that it stores.\n */\nclass DisposableMap {\n constructor() {\n this._store = new Map();\n this._isDisposed = false;\n trackDisposable(this);\n }\n /**\n * Disposes of all stored values and mark this object as disposed.\n *\n * Trying to use this object after it has been disposed of is an error.\n */\n dispose() {\n markAsDisposed(this);\n this._isDisposed = true;\n this.clearAndDisposeAll();\n }\n /**\n * Disposes of all stored values and clear the map, but DO NOT mark this object as disposed.\n */\n clearAndDisposeAll() {\n if (!this._store.size) {\n return;\n }\n try {\n dispose(this._store.values());\n }\n finally {\n this._store.clear();\n }\n }\n get(key) {\n return this._store.get(key);\n }\n set(key, value, skipDisposeOnOverwrite = false) {\n var _a;\n if (this._isDisposed) {\n console.warn(new Error('Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!').stack);\n }\n if (!skipDisposeOnOverwrite) {\n (_a = this._store.get(key)) === null || _a === void 0 ? void 0 : _a.dispose();\n }\n this._store.set(key, value);\n }\n /**\n * Delete the value stored for `key` from this map and also dispose of it.\n */\n deleteAndDispose(key) {\n var _a;\n (_a = this._store.get(key)) === null || _a === void 0 ? void 0 : _a.dispose();\n this._store.delete(key);\n }\n [Symbol.iterator]() {\n return this._store[Symbol.iterator]();\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/linkedList.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/linkedList.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LinkedList: () => (/* binding */ LinkedList)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nclass Node {\n constructor(element) {\n this.element = element;\n this.next = Node.Undefined;\n this.prev = Node.Undefined;\n }\n}\nNode.Undefined = new Node(undefined);\nclass LinkedList {\n constructor() {\n this._first = Node.Undefined;\n this._last = Node.Undefined;\n this._size = 0;\n }\n get size() {\n return this._size;\n }\n isEmpty() {\n return this._first === Node.Undefined;\n }\n clear() {\n let node = this._first;\n while (node !== Node.Undefined) {\n const next = node.next;\n node.prev = Node.Undefined;\n node.next = Node.Undefined;\n node = next;\n }\n this._first = Node.Undefined;\n this._last = Node.Undefined;\n this._size = 0;\n }\n unshift(element) {\n return this._insert(element, false);\n }\n push(element) {\n return this._insert(element, true);\n }\n _insert(element, atTheEnd) {\n const newNode = new Node(element);\n if (this._first === Node.Undefined) {\n this._first = newNode;\n this._last = newNode;\n }\n else if (atTheEnd) {\n // push\n const oldLast = this._last;\n this._last = newNode;\n newNode.prev = oldLast;\n oldLast.next = newNode;\n }\n else {\n // unshift\n const oldFirst = this._first;\n this._first = newNode;\n newNode.next = oldFirst;\n oldFirst.prev = newNode;\n }\n this._size += 1;\n let didRemove = false;\n return () => {\n if (!didRemove) {\n didRemove = true;\n this._remove(newNode);\n }\n };\n }\n shift() {\n if (this._first === Node.Undefined) {\n return undefined;\n }\n else {\n const res = this._first.element;\n this._remove(this._first);\n return res;\n }\n }\n pop() {\n if (this._last === Node.Undefined) {\n return undefined;\n }\n else {\n const res = this._last.element;\n this._remove(this._last);\n return res;\n }\n }\n _remove(node) {\n if (node.prev !== Node.Undefined && node.next !== Node.Undefined) {\n // middle\n const anchor = node.prev;\n anchor.next = node.next;\n node.next.prev = anchor;\n }\n else if (node.prev === Node.Undefined && node.next === Node.Undefined) {\n // only node\n this._first = Node.Undefined;\n this._last = Node.Undefined;\n }\n else if (node.next === Node.Undefined) {\n // last\n this._last = this._last.prev;\n this._last.next = Node.Undefined;\n }\n else if (node.prev === Node.Undefined) {\n // first\n this._first = this._first.next;\n this._first.prev = Node.Undefined;\n }\n // done\n this._size -= 1;\n }\n *[Symbol.iterator]() {\n let node = this._first;\n while (node !== Node.Undefined) {\n yield node.element;\n node = node.next;\n }\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/linkedList.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/linkedText.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/linkedText.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LinkedText: () => (/* binding */ LinkedText),\n/* harmony export */ parseLinkedText: () => (/* binding */ parseLinkedText)\n/* harmony export */ });\n/* harmony import */ var _decorators_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\nclass LinkedText {\n constructor(nodes) {\n this.nodes = nodes;\n }\n toString() {\n return this.nodes.map(node => typeof node === 'string' ? node : node.label).join('');\n }\n}\n__decorate([\n _decorators_js__WEBPACK_IMPORTED_MODULE_0__.memoize\n], LinkedText.prototype, \"toString\", null);\nconst LINK_REGEX = /\\[([^\\]]+)\\]\\(((?:https?:\\/\\/|command:|file:)[^\\)\\s]+)(?: ([\"'])(.+?)(\\3))?\\)/gi;\nfunction parseLinkedText(text) {\n const result = [];\n let index = 0;\n let match;\n while (match = LINK_REGEX.exec(text)) {\n if (match.index - index > 0) {\n result.push(text.substring(index, match.index));\n }\n const [, label, href, , title] = match;\n if (title) {\n result.push({ label, href, title });\n }\n else {\n result.push({ label, href });\n }\n index = match.index + match[0].length;\n }\n if (index < text.length) {\n result.push(text.substring(index));\n }\n return new LinkedText(result);\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/linkedText.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/map.js":
+/*!**************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/map.js ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BidirectionalMap: () => (/* binding */ BidirectionalMap),\n/* harmony export */ LRUCache: () => (/* binding */ LRUCache),\n/* harmony export */ LinkedMap: () => (/* binding */ LinkedMap),\n/* harmony export */ ResourceMap: () => (/* binding */ ResourceMap),\n/* harmony export */ SetMap: () => (/* binding */ SetMap)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar _a, _b;\nclass ResourceMapEntry {\n constructor(uri, value) {\n this.uri = uri;\n this.value = value;\n }\n}\nfunction isEntries(arg) {\n return Array.isArray(arg);\n}\nclass ResourceMap {\n constructor(arg, toKey) {\n this[_a] = 'ResourceMap';\n if (arg instanceof ResourceMap) {\n this.map = new Map(arg.map);\n this.toKey = toKey !== null && toKey !== void 0 ? toKey : ResourceMap.defaultToKey;\n }\n else if (isEntries(arg)) {\n this.map = new Map();\n this.toKey = toKey !== null && toKey !== void 0 ? toKey : ResourceMap.defaultToKey;\n for (const [resource, value] of arg) {\n this.set(resource, value);\n }\n }\n else {\n this.map = new Map();\n this.toKey = arg !== null && arg !== void 0 ? arg : ResourceMap.defaultToKey;\n }\n }\n set(resource, value) {\n this.map.set(this.toKey(resource), new ResourceMapEntry(resource, value));\n return this;\n }\n get(resource) {\n var _c;\n return (_c = this.map.get(this.toKey(resource))) === null || _c === void 0 ? void 0 : _c.value;\n }\n has(resource) {\n return this.map.has(this.toKey(resource));\n }\n get size() {\n return this.map.size;\n }\n clear() {\n this.map.clear();\n }\n delete(resource) {\n return this.map.delete(this.toKey(resource));\n }\n forEach(clb, thisArg) {\n if (typeof thisArg !== 'undefined') {\n clb = clb.bind(thisArg);\n }\n for (const [_, entry] of this.map) {\n clb(entry.value, entry.uri, this);\n }\n }\n *values() {\n for (const entry of this.map.values()) {\n yield entry.value;\n }\n }\n *keys() {\n for (const entry of this.map.values()) {\n yield entry.uri;\n }\n }\n *entries() {\n for (const entry of this.map.values()) {\n yield [entry.uri, entry.value];\n }\n }\n *[(_a = Symbol.toStringTag, Symbol.iterator)]() {\n for (const [, entry] of this.map) {\n yield [entry.uri, entry.value];\n }\n }\n}\nResourceMap.defaultToKey = (resource) => resource.toString();\nclass LinkedMap {\n constructor() {\n this[_b] = 'LinkedMap';\n this._map = new Map();\n this._head = undefined;\n this._tail = undefined;\n this._size = 0;\n this._state = 0;\n }\n clear() {\n this._map.clear();\n this._head = undefined;\n this._tail = undefined;\n this._size = 0;\n this._state++;\n }\n isEmpty() {\n return !this._head && !this._tail;\n }\n get size() {\n return this._size;\n }\n get first() {\n var _c;\n return (_c = this._head) === null || _c === void 0 ? void 0 : _c.value;\n }\n get last() {\n var _c;\n return (_c = this._tail) === null || _c === void 0 ? void 0 : _c.value;\n }\n has(key) {\n return this._map.has(key);\n }\n get(key, touch = 0 /* Touch.None */) {\n const item = this._map.get(key);\n if (!item) {\n return undefined;\n }\n if (touch !== 0 /* Touch.None */) {\n this.touch(item, touch);\n }\n return item.value;\n }\n set(key, value, touch = 0 /* Touch.None */) {\n let item = this._map.get(key);\n if (item) {\n item.value = value;\n if (touch !== 0 /* Touch.None */) {\n this.touch(item, touch);\n }\n }\n else {\n item = { key, value, next: undefined, previous: undefined };\n switch (touch) {\n case 0 /* Touch.None */:\n this.addItemLast(item);\n break;\n case 1 /* Touch.AsOld */:\n this.addItemFirst(item);\n break;\n case 2 /* Touch.AsNew */:\n this.addItemLast(item);\n break;\n default:\n this.addItemLast(item);\n break;\n }\n this._map.set(key, item);\n this._size++;\n }\n return this;\n }\n delete(key) {\n return !!this.remove(key);\n }\n remove(key) {\n const item = this._map.get(key);\n if (!item) {\n return undefined;\n }\n this._map.delete(key);\n this.removeItem(item);\n this._size--;\n return item.value;\n }\n shift() {\n if (!this._head && !this._tail) {\n return undefined;\n }\n if (!this._head || !this._tail) {\n throw new Error('Invalid list');\n }\n const item = this._head;\n this._map.delete(item.key);\n this.removeItem(item);\n this._size--;\n return item.value;\n }\n forEach(callbackfn, thisArg) {\n const state = this._state;\n let current = this._head;\n while (current) {\n if (thisArg) {\n callbackfn.bind(thisArg)(current.value, current.key, this);\n }\n else {\n callbackfn(current.value, current.key, this);\n }\n if (this._state !== state) {\n throw new Error(`LinkedMap got modified during iteration.`);\n }\n current = current.next;\n }\n }\n keys() {\n const map = this;\n const state = this._state;\n let current = this._head;\n const iterator = {\n [Symbol.iterator]() {\n return iterator;\n },\n next() {\n if (map._state !== state) {\n throw new Error(`LinkedMap got modified during iteration.`);\n }\n if (current) {\n const result = { value: current.key, done: false };\n current = current.next;\n return result;\n }\n else {\n return { value: undefined, done: true };\n }\n }\n };\n return iterator;\n }\n values() {\n const map = this;\n const state = this._state;\n let current = this._head;\n const iterator = {\n [Symbol.iterator]() {\n return iterator;\n },\n next() {\n if (map._state !== state) {\n throw new Error(`LinkedMap got modified during iteration.`);\n }\n if (current) {\n const result = { value: current.value, done: false };\n current = current.next;\n return result;\n }\n else {\n return { value: undefined, done: true };\n }\n }\n };\n return iterator;\n }\n entries() {\n const map = this;\n const state = this._state;\n let current = this._head;\n const iterator = {\n [Symbol.iterator]() {\n return iterator;\n },\n next() {\n if (map._state !== state) {\n throw new Error(`LinkedMap got modified during iteration.`);\n }\n if (current) {\n const result = { value: [current.key, current.value], done: false };\n current = current.next;\n return result;\n }\n else {\n return { value: undefined, done: true };\n }\n }\n };\n return iterator;\n }\n [(_b = Symbol.toStringTag, Symbol.iterator)]() {\n return this.entries();\n }\n trimOld(newSize) {\n if (newSize >= this.size) {\n return;\n }\n if (newSize === 0) {\n this.clear();\n return;\n }\n let current = this._head;\n let currentSize = this.size;\n while (current && currentSize > newSize) {\n this._map.delete(current.key);\n current = current.next;\n currentSize--;\n }\n this._head = current;\n this._size = currentSize;\n if (current) {\n current.previous = undefined;\n }\n this._state++;\n }\n addItemFirst(item) {\n // First time Insert\n if (!this._head && !this._tail) {\n this._tail = item;\n }\n else if (!this._head) {\n throw new Error('Invalid list');\n }\n else {\n item.next = this._head;\n this._head.previous = item;\n }\n this._head = item;\n this._state++;\n }\n addItemLast(item) {\n // First time Insert\n if (!this._head && !this._tail) {\n this._head = item;\n }\n else if (!this._tail) {\n throw new Error('Invalid list');\n }\n else {\n item.previous = this._tail;\n this._tail.next = item;\n }\n this._tail = item;\n this._state++;\n }\n removeItem(item) {\n if (item === this._head && item === this._tail) {\n this._head = undefined;\n this._tail = undefined;\n }\n else if (item === this._head) {\n // This can only happen if size === 1 which is handled\n // by the case above.\n if (!item.next) {\n throw new Error('Invalid list');\n }\n item.next.previous = undefined;\n this._head = item.next;\n }\n else if (item === this._tail) {\n // This can only happen if size === 1 which is handled\n // by the case above.\n if (!item.previous) {\n throw new Error('Invalid list');\n }\n item.previous.next = undefined;\n this._tail = item.previous;\n }\n else {\n const next = item.next;\n const previous = item.previous;\n if (!next || !previous) {\n throw new Error('Invalid list');\n }\n next.previous = previous;\n previous.next = next;\n }\n item.next = undefined;\n item.previous = undefined;\n this._state++;\n }\n touch(item, touch) {\n if (!this._head || !this._tail) {\n throw new Error('Invalid list');\n }\n if ((touch !== 1 /* Touch.AsOld */ && touch !== 2 /* Touch.AsNew */)) {\n return;\n }\n if (touch === 1 /* Touch.AsOld */) {\n if (item === this._head) {\n return;\n }\n const next = item.next;\n const previous = item.previous;\n // Unlink the item\n if (item === this._tail) {\n // previous must be defined since item was not head but is tail\n // So there are more than on item in the map\n previous.next = undefined;\n this._tail = previous;\n }\n else {\n // Both next and previous are not undefined since item was neither head nor tail.\n next.previous = previous;\n previous.next = next;\n }\n // Insert the node at head\n item.previous = undefined;\n item.next = this._head;\n this._head.previous = item;\n this._head = item;\n this._state++;\n }\n else if (touch === 2 /* Touch.AsNew */) {\n if (item === this._tail) {\n return;\n }\n const next = item.next;\n const previous = item.previous;\n // Unlink the item.\n if (item === this._head) {\n // next must be defined since item was not tail but is head\n // So there are more than on item in the map\n next.previous = undefined;\n this._head = next;\n }\n else {\n // Both next and previous are not undefined since item was neither head nor tail.\n next.previous = previous;\n previous.next = next;\n }\n item.next = undefined;\n item.previous = this._tail;\n this._tail.next = item;\n this._tail = item;\n this._state++;\n }\n }\n toJSON() {\n const data = [];\n this.forEach((value, key) => {\n data.push([key, value]);\n });\n return data;\n }\n fromJSON(data) {\n this.clear();\n for (const [key, value] of data) {\n this.set(key, value);\n }\n }\n}\nclass LRUCache extends LinkedMap {\n constructor(limit, ratio = 1) {\n super();\n this._limit = limit;\n this._ratio = Math.min(Math.max(0, ratio), 1);\n }\n get limit() {\n return this._limit;\n }\n set limit(limit) {\n this._limit = limit;\n this.checkTrim();\n }\n get(key, touch = 2 /* Touch.AsNew */) {\n return super.get(key, touch);\n }\n peek(key) {\n return super.get(key, 0 /* Touch.None */);\n }\n set(key, value) {\n super.set(key, value, 2 /* Touch.AsNew */);\n this.checkTrim();\n return this;\n }\n checkTrim() {\n if (this.size > this._limit) {\n this.trimOld(Math.round(this._limit * this._ratio));\n }\n }\n}\n/**\n * A map that allows access both by keys and values.\n * **NOTE**: values need to be unique.\n */\nclass BidirectionalMap {\n constructor(entries) {\n this._m1 = new Map();\n this._m2 = new Map();\n if (entries) {\n for (const [key, value] of entries) {\n this.set(key, value);\n }\n }\n }\n clear() {\n this._m1.clear();\n this._m2.clear();\n }\n set(key, value) {\n this._m1.set(key, value);\n this._m2.set(value, key);\n }\n get(key) {\n return this._m1.get(key);\n }\n getKey(value) {\n return this._m2.get(value);\n }\n delete(key) {\n const value = this._m1.get(key);\n if (value === undefined) {\n return false;\n }\n this._m1.delete(key);\n this._m2.delete(value);\n return true;\n }\n keys() {\n return this._m1.keys();\n }\n values() {\n return this._m1.values();\n }\n}\nclass SetMap {\n constructor() {\n this.map = new Map();\n }\n add(key, value) {\n let values = this.map.get(key);\n if (!values) {\n values = new Set();\n this.map.set(key, values);\n }\n values.add(value);\n }\n delete(key, value) {\n const values = this.map.get(key);\n if (!values) {\n return;\n }\n values.delete(value);\n if (values.size === 0) {\n this.map.delete(key);\n }\n }\n forEach(key, fn) {\n const values = this.map.get(key);\n if (!values) {\n return;\n }\n values.forEach(fn);\n }\n get(key) {\n const values = this.map.get(key);\n if (!values) {\n return new Set();\n }\n return values;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/map.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/marked/marked.js":
+/*!************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/marked/marked.js ***!
+ \************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Lexer: () => (/* binding */ Lexer),\n/* harmony export */ Parser: () => (/* binding */ Parser),\n/* harmony export */ Renderer: () => (/* binding */ Renderer),\n/* harmony export */ Slugger: () => (/* binding */ Slugger),\n/* harmony export */ TextRenderer: () => (/* binding */ TextRenderer),\n/* harmony export */ Tokenizer: () => (/* binding */ Tokenizer),\n/* harmony export */ getDefaults: () => (/* binding */ getDefaults),\n/* harmony export */ lexer: () => (/* binding */ lexer),\n/* harmony export */ marked: () => (/* binding */ marked),\n/* harmony export */ options: () => (/* binding */ options),\n/* harmony export */ parse: () => (/* binding */ parse),\n/* harmony export */ parseInline: () => (/* binding */ parseInline),\n/* harmony export */ parser: () => (/* binding */ parser),\n/* harmony export */ setOptions: () => (/* binding */ setOptions),\n/* harmony export */ use: () => (/* binding */ use),\n/* harmony export */ walkTokens: () => (/* binding */ walkTokens)\n/* harmony export */ });\n/**\n * marked - a markdown parser\n * Copyright (c) 2011-2022, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n// ESM-uncomment-begin\nlet __marked_exports = {};\n(function() {\n function define(deps, factory) {\n factory(__marked_exports);\n }\n define.amd = true;\n// ESM-uncomment-end\n\n (function (global, factory) {\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n typeof exports === 'object' && \"object\" !== 'undefined' ? factory(exports) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.marked = {}));\n})(this, (function (exports) { 'use strict';\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function getDefaults() {\n return {\n async: false,\n baseUrl: null,\n breaks: false,\n extensions: null,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n }\n exports.defaults = getDefaults();\n function changeDefaults(newDefaults) {\n exports.defaults = newDefaults;\n }\n\n /**\n * Helpers\n */\n var escapeTest = /[&<>\"']/;\n var escapeReplace = /[&<>\"']/g;\n var escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\n var escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n var escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n var getEscapeReplacement = function getEscapeReplacement(ch) {\n return escapeReplacements[ch];\n };\n\n function escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n }\n var unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n /**\n * @param {string} html\n */\n\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, function (_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n }\n\n return '';\n });\n }\n var caret = /(^|[^\\[])\\^/g;\n /**\n * @param {string | RegExp} regex\n * @param {string} opt\n */\n\n function edit(regex, opt) {\n regex = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n var obj = {\n replace: function replace(name, val) {\n val = val.source || val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: function getRegex() {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n }\n var nonWordAndColonTest = /[^\\w:]/g;\n var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n /**\n * @param {boolean} sanitize\n * @param {string} base\n * @param {string} href\n */\n\n function cleanUrl(sanitize, base, href) {\n if (sanitize) {\n var prot;\n\n try {\n prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase();\n } catch (e) {\n return null;\n }\n\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n\n return href;\n }\n var baseUrls = {};\n var justDomain = /^[^:]+:\\/*[^/]*$/;\n var protocol = /^([^:]+:)[\\s\\S]*$/;\n var domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\n /**\n * @param {string} base\n * @param {string} href\n */\n\n function resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (justDomain.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n\n base = baseUrls[' ' + base];\n var relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n }\n var noopTest = {\n exec: function noopTest() {}\n };\n function merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n }\n function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n\n while (--curr >= 0 && str[curr] === '\\\\') {\n escaped = !escaped;\n }\n\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/);\n var i = 0; // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n\n if (!cells[0].trim()) {\n cells.shift();\n }\n\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) {\n cells.push('');\n }\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n\n return cells;\n }\n /**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param {string} str\n * @param {string} c\n * @param {boolean} invert Remove suffix of non-c chars instead. Default falsey.\n */\n\n function rtrim(str, c, invert) {\n var l = str.length;\n\n if (l === 0) {\n return '';\n } // Length of suffix matching the invert condition.\n\n\n var suffLen = 0; // Step left until we fail to match the invert condition.\n\n while (suffLen < l) {\n var currChar = str.charAt(l - suffLen - 1);\n\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.slice(0, l - suffLen);\n }\n function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n\n var l = str.length;\n var level = 0,\n i = 0;\n\n for (; i < l; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n\n if (level < 0) {\n return i;\n }\n }\n }\n\n return -1;\n }\n function checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n } // copied from https://stackoverflow.com/a/5450113/806777\n\n /**\n * @param {string} pattern\n * @param {number} count\n */\n\n function repeatString(pattern, count) {\n if (count < 1) {\n return '';\n }\n\n var result = '';\n\n while (count > 1) {\n if (count & 1) {\n result += pattern;\n }\n\n count >>= 1;\n pattern += pattern;\n }\n\n return result + pattern;\n }\n\n function outputLink(cap, link, raw, lexer) {\n var href = link.href;\n var title = link.title ? escape(link.title) : null;\n var text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n var token = {\n type: 'link',\n raw: raw,\n href: href,\n title: title,\n text: text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n\n return {\n type: 'image',\n raw: raw,\n href: href,\n title: title,\n text: escape(text)\n };\n }\n\n function indentCodeCompensation(raw, text) {\n var matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n var indentToCode = matchIndentToCode[1];\n return text.split('\\n').map(function (node) {\n var matchIndentInNode = node.match(/^\\s+/);\n\n if (matchIndentInNode === null) {\n return node;\n }\n\n var indentInNode = matchIndentInNode[0];\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n }).join('\\n');\n }\n /**\n * Tokenizer\n */\n\n\n var Tokenizer = /*#__PURE__*/function () {\n function Tokenizer(options) {\n this.options = options || exports.defaults;\n }\n\n var _proto = Tokenizer.prototype;\n\n _proto.space = function space(src) {\n var cap = this.rules.block.newline.exec(src);\n\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n };\n\n _proto.code = function code(src) {\n var cap = this.rules.block.code.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic ? rtrim(text, '\\n') : text\n };\n }\n };\n\n _proto.fences = function fences(src) {\n var cap = this.rules.block.fences.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw: raw,\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: text\n };\n }\n };\n\n _proto.heading = function heading(src) {\n var cap = this.rules.block.heading.exec(src);\n\n if (cap) {\n var text = cap[2].trim(); // remove trailing #s\n\n if (/#$/.test(text)) {\n var trimmed = rtrim(text, '#');\n\n if (this.options.pedantic) {\n text = trimmed.trim();\n } else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text: text,\n tokens: this.lexer.inline(text)\n };\n }\n };\n\n _proto.hr = function hr(src) {\n var cap = this.rules.block.hr.exec(src);\n\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n };\n\n _proto.blockquote = function blockquote(src) {\n var cap = this.rules.block.blockquote.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ *>[ \\t]?/gm, '');\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens: this.lexer.blockTokens(text, []),\n text: text\n };\n }\n };\n\n _proto.list = function list(src) {\n var cap = this.rules.block.list.exec(src);\n\n if (cap) {\n var raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, line, nextLine, rawLine, itemContents, endEarly;\n var bull = cap[1].trim();\n var isordered = bull.length > 1;\n var list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? \"\\\\d{1,9}\\\\\" + bull.slice(-1) : \"\\\\\" + bull;\n\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n } // Get next list item\n\n\n var itemRegex = new RegExp(\"^( {0,3}\" + bull + \")((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))\"); // Check if current bullet point can start a new List Item\n\n while (src) {\n endEarly = false;\n\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n\n if (this.rules.block.hr.test(src)) {\n // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n\n raw = cap[0];\n src = src.substring(raw.length);\n line = cap[2].split('\\n', 1)[0];\n nextLine = src.split('\\n', 1)[0];\n\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimLeft();\n } else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n\n blankLine = false;\n\n if (!line && /^ *$/.test(nextLine)) {\n // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n\n if (!endEarly) {\n var nextBulletRegex = new RegExp(\"^ {0,\" + Math.min(3, indent - 1) + \"}(?:[*+-]|\\\\d{1,9}[.)])((?: [^\\\\n]*)?(?:\\\\n|$))\");\n var hrRegex = new RegExp(\"^ {0,\" + Math.min(3, indent - 1) + \"}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)\");\n var fencesBeginRegex = new RegExp(\"^ {0,\" + Math.min(3, indent - 1) + \"}(?:```|~~~)\");\n var headingBeginRegex = new RegExp(\"^ {0,\" + Math.min(3, indent - 1) + \"}#\"); // Check if following lines should be included in List Item\n\n while (src) {\n rawLine = src.split('\\n', 1)[0];\n line = rawLine; // Re-align to follow commonmark nesting rules\n\n if (this.options.pedantic) {\n line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n } // End list item if found code fences\n\n\n if (fencesBeginRegex.test(line)) {\n break;\n } // End list item if found start of new heading\n\n\n if (headingBeginRegex.test(line)) {\n break;\n } // End list item if found start of new bullet\n\n\n if (nextBulletRegex.test(line)) {\n break;\n } // Horizontal rule found\n\n\n if (hrRegex.test(src)) {\n break;\n }\n\n if (line.search(/[^ ]/) >= indent || !line.trim()) {\n // Dedent if possible\n itemContents += '\\n' + line.slice(indent);\n } else if (!blankLine) {\n // Until blank line, item doesn't need indentation\n itemContents += '\\n' + line;\n } else {\n // Otherwise, improper indentation ends this item\n break;\n }\n\n if (!blankLine && !line.trim()) {\n // Check if current line is blank\n blankLine = true;\n }\n\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n }\n }\n\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n } else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n } // Check for task list items\n\n\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n\n list.items.push({\n type: 'list_item',\n raw: raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents\n });\n list.raw += raw;\n } // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n\n\n list.items[list.items.length - 1].raw = raw.trimRight();\n list.items[list.items.length - 1].text = itemContents.trimRight();\n list.raw = list.raw.trimRight();\n var l = list.items.length; // Item child tokens handled here at end because we needed to have the final item to trim it first\n\n for (i = 0; i < l; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n var spacers = list.items[i].tokens.filter(function (t) {\n return t.type === 'space';\n });\n var hasMultipleLineBreaks = spacers.every(function (t) {\n var chars = t.raw.split('');\n var lineBreaks = 0;\n\n for (var _iterator = _createForOfIteratorHelperLoose(chars), _step; !(_step = _iterator()).done;) {\n var _char = _step.value;\n\n if (_char === '\\n') {\n lineBreaks += 1;\n }\n\n if (lineBreaks > 1) {\n return true;\n }\n }\n\n return false;\n });\n\n if (!list.loose && spacers.length && hasMultipleLineBreaks) {\n // Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item\n list.loose = true;\n list.items[i].loose = true;\n }\n }\n\n return list;\n }\n };\n\n _proto.html = function html(src) {\n var cap = this.rules.block.html.exec(src);\n\n if (cap) {\n var token = {\n type: 'html',\n raw: cap[0],\n pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n };\n\n if (this.options.sanitize) {\n var text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);\n token.type = 'paragraph';\n token.text = text;\n token.tokens = this.lexer.inline(text);\n }\n\n return token;\n }\n };\n\n _proto.def = function def(src) {\n var cap = this.rules.block.def.exec(src);\n\n if (cap) {\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n var tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n return {\n type: 'def',\n tag: tag,\n raw: cap[0],\n href: cap[2],\n title: cap[3]\n };\n }\n };\n\n _proto.table = function table(src) {\n var cap = this.rules.block.table.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells(cap[1]).map(function (c) {\n return {\n text: c\n };\n }),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n rows: cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n item.raw = cap[0];\n var l = item.align.length;\n var i, j, k, row;\n\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.rows.length;\n\n for (i = 0; i < l; i++) {\n item.rows[i] = splitCells(item.rows[i], item.header.length).map(function (c) {\n return {\n text: c\n };\n });\n } // parse child tokens inside headers and cells\n // header child tokens\n\n\n l = item.header.length;\n\n for (j = 0; j < l; j++) {\n item.header[j].tokens = this.lexer.inline(item.header[j].text);\n } // cell child tokens\n\n\n l = item.rows.length;\n\n for (j = 0; j < l; j++) {\n row = item.rows[j];\n\n for (k = 0; k < row.length; k++) {\n row[k].tokens = this.lexer.inline(row[k].text);\n }\n }\n\n return item;\n }\n }\n };\n\n _proto.lheading = function lheading(src) {\n var cap = this.rules.block.lheading.exec(src);\n\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n };\n\n _proto.paragraph = function paragraph(src) {\n var cap = this.rules.block.paragraph.exec(src);\n\n if (cap) {\n var text = cap[1].charAt(cap[1].length - 1) === '\\n' ? cap[1].slice(0, -1) : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text: text,\n tokens: this.lexer.inline(text)\n };\n }\n };\n\n _proto.text = function text(src) {\n var cap = this.rules.block.text.exec(src);\n\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n };\n\n _proto.escape = function escape$1(src) {\n var cap = this.rules.inline.escape.exec(src);\n\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape(cap[1])\n };\n }\n };\n\n _proto.tag = function tag(src) {\n var cap = this.rules.inline.tag.exec(src);\n\n if (cap) {\n if (!this.lexer.state.inLink && /^/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n } else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n\n return {\n type: this.options.sanitize ? 'text' : 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0]\n };\n }\n };\n\n _proto.link = function link(src) {\n var cap = this.rules.inline.link.exec(src);\n\n if (cap) {\n var trimmedUrl = cap[2].trim();\n\n if (!this.options.pedantic && /^$/.test(trimmedUrl)) {\n return;\n } // ending angle bracket cannot be escaped\n\n\n var rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n } else {\n // find closing parenthesis\n var lastParenIndex = findClosingBracket(cap[2], '()');\n\n if (lastParenIndex > -1) {\n var start = cap[0].indexOf('!') === 0 ? 5 : 4;\n var linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n\n var href = cap[2];\n var title = '';\n\n if (this.options.pedantic) {\n // split pedantic href and title\n var link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim();\n\n if (/^$/.test(trimmedUrl)) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n } else {\n href = href.slice(1, -1);\n }\n }\n\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0], this.lexer);\n }\n };\n\n _proto.reflink = function reflink(src, links) {\n var cap;\n\n if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {\n var link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n\n if (!link || !link.href) {\n var text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text: text\n };\n }\n\n return outputLink(cap, link, cap[0], this.lexer);\n }\n };\n\n _proto.emStrong = function emStrong(src, maskedSrc, prevChar) {\n if (prevChar === void 0) {\n prevChar = '';\n }\n\n var match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match) return; // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n\n if (match[3] && prevChar.match(/(?:[0-9A-Za-z\\xAA\\xB2\\xB3\\xB5\\xB9\\xBA\\xBC-\\xBE\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u0660-\\u0669\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0966-\\u096F\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09F9\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AE6-\\u0AEF\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B6F\\u0B71-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0BE6-\\u0BF2\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D58-\\u0D61\\u0D66-\\u0D78\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DE6-\\u0DEF\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F20-\\u0F33\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F-\\u1049\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1090-\\u1099\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1369-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B50-\\u1B59\\u1B83-\\u1BA0\\u1BAE-\\u1BE5\\u1C00-\\u1C23\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2070\\u2071\\u2074-\\u2079\\u207F-\\u2089\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2150-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2CFD\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3192-\\u3195\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA830-\\uA835\\uA840-\\uA873\\uA882-\\uA8B3\\uA8D0-\\uA8D9\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA900-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF-\\uA9D9\\uA9E0-\\uA9E4\\uA9E6-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD07-\\uDD33\\uDD40-\\uDD78\\uDD8A\\uDD8B\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE1-\\uDEFB\\uDF00-\\uDF23\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC58-\\uDC76\\uDC79-\\uDC9E\\uDCA7-\\uDCAF\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDCFB-\\uDD1B\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBC-\\uDDCF\\uDDD2-\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE40-\\uDE48\\uDE60-\\uDE7E\\uDE80-\\uDE9F\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDEEB-\\uDEEF\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF58-\\uDF72\\uDF78-\\uDF91\\uDFA9-\\uDFAF]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDCFA-\\uDD23\\uDD30-\\uDD39\\uDE60-\\uDE7E\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF27\\uDF30-\\uDF45\\uDF51-\\uDF54\\uDF70-\\uDF81\\uDFB0-\\uDFCB\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC52-\\uDC6F\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD03-\\uDD26\\uDD36-\\uDD3F\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDD0-\\uDDDA\\uDDDC\\uDDE1-\\uDDF4\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDEF0-\\uDEF9\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC50-\\uDC59\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEAA\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF30-\\uDF3B\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCF2\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC50-\\uDC6C\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF2\\uDFB0\\uDFC0-\\uDFD4]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDE70-\\uDEBE\\uDEC0-\\uDEC9\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF5B-\\uDF61\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE96\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD834[\\uDEE0-\\uDEF3\\uDF60-\\uDF78]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD837[\\uDF00-\\uDF1E]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB\\uDEF0-\\uDEF9]|\\uD839[\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDCC7-\\uDCCF\\uDD00-\\uDD43\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDC71-\\uDCAB\\uDCAD-\\uDCAF\\uDCB1-\\uDCB4\\uDD01-\\uDD2D\\uDD2F-\\uDD3D\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83C[\\uDD00-\\uDD0C]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF38\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])/)) return;\n var nextChar = match[1] || match[2] || '';\n\n if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) {\n var lLength = match[0].length - 1;\n var rDelim,\n rLength,\n delimTotal = lLength,\n midDelimTotal = 0;\n var endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0; // Clip maskedSrc to same section of string as src (move to lexer?)\n\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim) continue; // skip single * in __abc*abc__\n\n rLength = rDelim.length;\n\n if (match[3] || match[4]) {\n // found another Left Delim\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) {\n // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n\n delimTotal -= rLength;\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal); // Create `em` if smallest delimiter has odd char count. *a***\n\n if (Math.min(lLength, rLength) % 2) {\n var _text = src.slice(1, lLength + match.index + rLength);\n\n return {\n type: 'em',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: _text,\n tokens: this.lexer.inlineTokens(_text)\n };\n } // Create 'strong' if smallest delimiter has even char count. **a***\n\n\n var text = src.slice(2, lLength + match.index + rLength - 1);\n return {\n type: 'strong',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n };\n\n _proto.codespan = function codespan(src) {\n var cap = this.rules.inline.code.exec(src);\n\n if (cap) {\n var text = cap[2].replace(/\\n/g, ' ');\n var hasNonSpaceChars = /[^ ]/.test(text);\n var hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n\n text = escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.br = function br(src) {\n var cap = this.rules.inline.br.exec(src);\n\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n };\n\n _proto.del = function del(src) {\n var cap = this.rules.inline.del.exec(src);\n\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n };\n\n _proto.autolink = function autolink(src, mangle) {\n var cap = this.rules.inline.autolink.exec(src);\n\n if (cap) {\n var text, href;\n\n if (cap[2] === '@') {\n text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]);\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.url = function url(src, mangle) {\n var cap;\n\n if (cap = this.rules.inline.url.exec(src)) {\n var text, href;\n\n if (cap[2] === '@') {\n text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n var prevCapZero;\n\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n\n text = escape(cap[0]);\n\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.inlineText = function inlineText(src, smartypants) {\n var cap = this.rules.inline.text.exec(src);\n\n if (cap) {\n var text;\n\n if (this.lexer.state.inRawBlock) {\n text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0];\n } else {\n text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);\n }\n\n return {\n type: 'text',\n raw: cap[0],\n text: text\n };\n }\n };\n\n return Tokenizer;\n }();\n\n /**\n * Block-Level Grammar\n */\n\n var block = {\n newline: /^(?: *(?:\\n|$))+/,\n code: /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,\n hr: /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|\\\\n*|$)' // (4)\n + '|\\\\n*|$)' // (5)\n + '|?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *(?:\\n *)?([^\\s>]+)>?(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/,\n table: noopTest,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,\n text: /^[^\\n]+/\n };\n block._label = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\n block._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\n block.def = edit(block.def).replace('label', block._label).replace('title', block._title).getRegex();\n block.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n block.listItemStart = edit(/^( *)(bull) */).replace('bull', block.bullet).getRegex();\n block.list = edit(block.list).replace(/bull/g, block.bullet).replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))').replace('def', '\\\\n+(?=' + block.def.source + ')').getRegex();\n block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';\n block._comment = /|$)/;\n block.html = edit(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\n block.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('|table', '').replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n block.blockquote = edit(block.blockquote).replace('paragraph', block.paragraph).getRegex();\n /**\n * Normal Block Grammar\n */\n\n block.normal = merge({}, block);\n /**\n * GFM Block Grammar\n */\n\n block.gfm = merge({}, block.normal, {\n table: '^ *([^\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' {0,3}(?:\\\\| *)?(:?-+:? *(?:\\\\| *:?-+:? *)*)(?:\\\\| *)?' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n\n });\n block.gfm.table = edit(block.gfm.table).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n block.gfm.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('table', block.gfm.table) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\n block.pedantic = merge({}, block.normal, {\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)' + '|<(tag)[\\\\s\\\\S]+?\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))').replace('comment', block._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b').getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest,\n // fences not supported\n paragraph: edit(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()\n });\n /**\n * Inline-Level Grammar\n */\n\n var inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest,\n tag: '^comment' + '|^[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^',\n // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(ref)\\]/,\n nolink: /^!?\\[(ref)\\](?:\\[\\])?/,\n reflinkSearch: 'reflink|nolink(?!\\\\()',\n emStrong: {\n lDelim: /^(?:\\*+(?:([punct_])|[^\\s*]))|^_+(?:([punct*])|([^\\s_]))/,\n // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.\n // () Skip orphan inside strong () Consume to delim (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a\n rDelimAst: /^[^_*]*?\\_\\_[^_*]*?\\*[^_*]*?(?=\\_\\_)|[^*]+(?=[^*])|[punct_](\\*+)(?=[\\s]|$)|[^punct*_\\s](\\*+)(?=[punct_\\s]|$)|[punct_\\s](\\*+)(?=[^punct*_\\s])|[\\s](\\*+)(?=[punct_])|[punct_](\\*+)(?=[punct_])|[^punct*_\\s](\\*+)(?=[^punct*_\\s])/,\n rDelimUnd: /^[^_*]*?\\*\\*[^_*]*?\\_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|[punct*](\\_+)(?=[\\s]|$)|[^punct*_\\s](\\_+)(?=[punct*\\s]|$)|[punct*\\s](\\_+)(?=[^punct*_\\s])|[\\s](\\_+)(?=[punct*])|[punct*](\\_+)(?=[punct*])/ // ^- Not allowed for _\n\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\?@\\\\[\\\\]`^{|}~';\n inline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, \n\n inline.blockSkip = /\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>/g;\n inline.escapedEmSt = /\\\\\\*|\\\\_/g;\n inline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex();\n inline.emStrong.lDelim = edit(inline.emStrong.lDelim).replace(/punct/g, inline._punctuation).getRegex();\n inline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'g').replace(/punct/g, inline._punctuation).getRegex();\n inline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'g').replace(/punct/g, inline._punctuation).getRegex();\n inline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\n inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\n inline.autolink = edit(inline.autolink).replace('scheme', inline._scheme).replace('email', inline._email).getRegex();\n inline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n inline.tag = edit(inline.tag).replace('comment', inline._comment).replace('attribute', inline._attribute).getRegex();\n inline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n inline._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\n inline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n inline.link = edit(inline.link).replace('label', inline._label).replace('href', inline._href).replace('title', inline._title).getRegex();\n inline.reflink = edit(inline.reflink).replace('label', inline._label).replace('ref', block._label).getRegex();\n inline.nolink = edit(inline.nolink).replace('ref', block._label).getRegex();\n inline.reflinkSearch = edit(inline.reflinkSearch, 'g').replace('reflink', inline.reflink).replace('nolink', inline.nolink).getRegex();\n /**\n * Normal Inline Grammar\n */\n\n inline.normal = merge({}, inline);\n /**\n * Pedantic Inline Grammar\n */\n\n inline.pedantic = merge({}, inline.normal, {\n strong: {\n start: /^__|\\*\\*/,\n middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n endAst: /\\*\\*(?!\\*)/g,\n endUnd: /__(?!_)/g\n },\n em: {\n start: /^_|\\*/,\n middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n endAst: /\\*(?!\\*)/g,\n endUnd: /_(?!_)/g\n },\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/).replace('label', inline._label).getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace('label', inline._label).getRegex()\n });\n /**\n * GFM Inline Grammar\n */\n\n inline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\ 0.5) {\n ch = 'x' + ch.toString(16);\n }\n\n out += '' + ch + ';';\n }\n\n return out;\n }\n /**\n * Block Lexer\n */\n\n\n var Lexer = /*#__PURE__*/function () {\n function Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || exports.defaults;\n this.options.tokenizer = this.options.tokenizer || new Tokenizer();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true\n };\n var rules = {\n block: block.normal,\n inline: inline.normal\n };\n\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n } else if (this.options.gfm) {\n rules.block = block.gfm;\n\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n } else {\n rules.inline = inline.gfm;\n }\n }\n\n this.tokenizer.rules = rules;\n }\n /**\n * Expose Rules\n */\n\n\n /**\n * Static Lex Method\n */\n Lexer.lex = function lex(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n }\n /**\n * Static Lex Inline Method\n */\n ;\n\n Lexer.lexInline = function lexInline(src, options) {\n var lexer = new Lexer(options);\n return lexer.inlineTokens(src);\n }\n /**\n * Preprocessing\n */\n ;\n\n var _proto = Lexer.prototype;\n\n _proto.lex = function lex(src) {\n src = src.replace(/\\r\\n|\\r/g, '\\n');\n this.blockTokens(src, this.tokens);\n var next;\n\n while (next = this.inlineQueue.shift()) {\n this.inlineTokens(next.src, next.tokens);\n }\n\n return this.tokens;\n }\n /**\n * Lexing\n */\n ;\n\n _proto.blockTokens = function blockTokens(src, tokens) {\n var _this = this;\n\n if (tokens === void 0) {\n tokens = [];\n }\n\n if (this.options.pedantic) {\n src = src.replace(/\\t/g, ' ').replace(/^ +$/gm, '');\n } else {\n src = src.replace(/^( *)(\\t+)/gm, function (_, leading, tabs) {\n return leading + ' '.repeat(tabs.length);\n });\n }\n\n var token, lastToken, cutSrc, lastParagraphClipped;\n\n while (src) {\n if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some(function (extTokenizer) {\n if (token = extTokenizer.call({\n lexer: _this\n }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n\n return false;\n })) {\n continue;\n } // newline\n\n\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n } else {\n tokens.push(token);\n }\n\n continue;\n } // code\n\n\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph.\n\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // fences\n\n\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // heading\n\n\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // hr\n\n\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // blockquote\n\n\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // list\n\n\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // html\n\n\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // def\n\n\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n\n continue;\n } // table (gfm)\n\n\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // lheading\n\n\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n\n\n cutSrc = src;\n\n if (this.options.extensions && this.options.extensions.startBlock) {\n (function () {\n var startIndex = Infinity;\n var tempSrc = src.slice(1);\n var tempStart = void 0;\n\n _this.options.extensions.startBlock.forEach(function (getStartIndex) {\n tempStart = getStartIndex.call({\n lexer: this\n }, tempSrc);\n\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n })();\n }\n\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n\n lastParagraphClipped = cutSrc.length !== src.length;\n src = src.substring(token.raw.length);\n continue;\n } // text\n\n\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n this.state.top = true;\n return tokens;\n };\n\n _proto.inline = function inline(src, tokens) {\n if (tokens === void 0) {\n tokens = [];\n }\n\n this.inlineQueue.push({\n src: src,\n tokens: tokens\n });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n ;\n\n _proto.inlineTokens = function inlineTokens(src, tokens) {\n var _this2 = this;\n\n if (tokens === void 0) {\n tokens = [];\n }\n\n var token, lastToken, cutSrc; // String with links masked to avoid interference with em and strong\n\n var maskedSrc = src;\n var match;\n var keepPrevChar, prevChar; // Mask out reflinks\n\n if (this.tokens.links) {\n var links = Object.keys(this.tokens.links);\n\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n } // Mask out other blocks\n\n\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n } // Mask out escaped em & strong delimiters\n\n\n while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);\n }\n\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n\n keepPrevChar = false; // extensions\n\n if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some(function (extTokenizer) {\n if (token = extTokenizer.call({\n lexer: _this2\n }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n\n return false;\n })) {\n continue;\n } // escape\n\n\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // tag\n\n\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // link\n\n\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // reflink, nolink\n\n\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // em & strong\n\n\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // code\n\n\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // br\n\n\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // del (gfm)\n\n\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // autolink\n\n\n if (token = this.tokenizer.autolink(src, mangle)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // url (gfm)\n\n\n if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n\n\n cutSrc = src;\n\n if (this.options.extensions && this.options.extensions.startInline) {\n (function () {\n var startIndex = Infinity;\n var tempSrc = src.slice(1);\n var tempStart = void 0;\n\n _this2.options.extensions.startInline.forEach(function (getStartIndex) {\n tempStart = getStartIndex.call({\n lexer: this\n }, tempSrc);\n\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n })();\n }\n\n if (token = this.tokenizer.inlineText(cutSrc, smartypants)) {\n src = src.substring(token.raw.length);\n\n if (token.raw.slice(-1) !== '_') {\n // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n };\n\n _createClass(Lexer, null, [{\n key: \"rules\",\n get: function get() {\n return {\n block: block,\n inline: inline\n };\n }\n }]);\n\n return Lexer;\n }();\n\n /**\n * Renderer\n */\n\n var Renderer = /*#__PURE__*/function () {\n function Renderer(options) {\n this.options = options || exports.defaults;\n }\n\n var _proto = Renderer.prototype;\n\n _proto.code = function code(_code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n\n if (this.options.highlight) {\n var out = this.options.highlight(_code, lang);\n\n if (out != null && out !== _code) {\n escaped = true;\n _code = out;\n }\n }\n\n _code = _code.replace(/\\n$/, '') + '\\n';\n\n if (!lang) {\n return '' + (escaped ? _code : escape(_code, true)) + '
\\n';\n }\n\n return '' + (escaped ? _code : escape(_code, true)) + '
\\n';\n }\n /**\n * @param {string} quote\n */\n ;\n\n _proto.blockquote = function blockquote(quote) {\n return \"\\n\" + quote + \"
\\n\";\n };\n\n _proto.html = function html(_html) {\n return _html;\n }\n /**\n * @param {string} text\n * @param {string} level\n * @param {string} raw\n * @param {any} slugger\n */\n ;\n\n _proto.heading = function heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n var id = this.options.headerPrefix + slugger.slug(raw);\n return \"\" + text + \"\\n\";\n } // ignore IDs\n\n\n return \"\" + text + \"\\n\";\n };\n\n _proto.hr = function hr() {\n return this.options.xhtml ? '
\\n' : '
\\n';\n };\n\n _proto.list = function list(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = ordered && start !== 1 ? ' start=\"' + start + '\"' : '';\n return '<' + type + startatt + '>\\n' + body + '' + type + '>\\n';\n }\n /**\n * @param {string} text\n */\n ;\n\n _proto.listitem = function listitem(text) {\n return \"\" + text + \"\\n\";\n };\n\n _proto.checkbox = function checkbox(checked) {\n return ' ';\n }\n /**\n * @param {string} text\n */\n ;\n\n _proto.paragraph = function paragraph(text) {\n return \"\" + text + \"
\\n\";\n }\n /**\n * @param {string} header\n * @param {string} body\n */\n ;\n\n _proto.table = function table(header, body) {\n if (body) body = \"\" + body + \"\";\n return '\\n' + '\\n' + header + '\\n' + body + '
\\n';\n }\n /**\n * @param {string} content\n */\n ;\n\n _proto.tablerow = function tablerow(content) {\n return \"\\n\" + content + \"
\\n\";\n };\n\n _proto.tablecell = function tablecell(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align ? \"<\" + type + \" align=\\\"\" + flags.align + \"\\\">\" : \"<\" + type + \">\";\n return tag + content + (\"\" + type + \">\\n\");\n }\n /**\n * span level renderer\n * @param {string} text\n */\n ;\n\n _proto.strong = function strong(text) {\n return \"\" + text + \"\";\n }\n /**\n * @param {string} text\n */\n ;\n\n _proto.em = function em(text) {\n return \"\" + text + \"\";\n }\n /**\n * @param {string} text\n */\n ;\n\n _proto.codespan = function codespan(text) {\n return \"\" + text + \"\";\n };\n\n _proto.br = function br() {\n return this.options.xhtml ? '
' : '
';\n }\n /**\n * @param {string} text\n */\n ;\n\n _proto.del = function del(text) {\n return \"\" + text + \"\";\n }\n /**\n * @param {string} href\n * @param {string} title\n * @param {string} text\n */\n ;\n\n _proto.link = function link(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = '' + text + '';\n return out;\n }\n /**\n * @param {string} href\n * @param {string} title\n * @param {string} text\n */\n ;\n\n _proto.image = function image(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = \"
' : '>';\n return out;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n return Renderer;\n }();\n\n /**\n * TextRenderer\n * returns only the textual part of the token\n */\n var TextRenderer = /*#__PURE__*/function () {\n function TextRenderer() {}\n\n var _proto = TextRenderer.prototype;\n\n // no need for block level renderers\n _proto.strong = function strong(text) {\n return text;\n };\n\n _proto.em = function em(text) {\n return text;\n };\n\n _proto.codespan = function codespan(text) {\n return text;\n };\n\n _proto.del = function del(text) {\n return text;\n };\n\n _proto.html = function html(text) {\n return text;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n _proto.link = function link(href, title, text) {\n return '' + text;\n };\n\n _proto.image = function image(href, title, text) {\n return '' + text;\n };\n\n _proto.br = function br() {\n return '';\n };\n\n return TextRenderer;\n }();\n\n /**\n * Slugger generates header id\n */\n var Slugger = /*#__PURE__*/function () {\n function Slugger() {\n this.seen = {};\n }\n /**\n * @param {string} value\n */\n\n\n var _proto = Slugger.prototype;\n\n _proto.serialize = function serialize(value) {\n return value.toLowerCase().trim() // remove html tags\n .replace(/<[!\\/a-z].*?>/ig, '') // remove unwanted chars\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '').replace(/\\s/g, '-');\n }\n /**\n * Finds the next safe (unique) slug to use\n * @param {string} originalSlug\n * @param {boolean} isDryRun\n */\n ;\n\n _proto.getNextSafeSlug = function getNextSafeSlug(originalSlug, isDryRun) {\n var slug = originalSlug;\n var occurenceAccumulator = 0;\n\n if (this.seen.hasOwnProperty(slug)) {\n occurenceAccumulator = this.seen[originalSlug];\n\n do {\n occurenceAccumulator++;\n slug = originalSlug + '-' + occurenceAccumulator;\n } while (this.seen.hasOwnProperty(slug));\n }\n\n if (!isDryRun) {\n this.seen[originalSlug] = occurenceAccumulator;\n this.seen[slug] = 0;\n }\n\n return slug;\n }\n /**\n * Convert string to unique id\n * @param {object} [options]\n * @param {boolean} [options.dryrun] Generates the next unique slug without\n * updating the internal accumulator.\n */\n ;\n\n _proto.slug = function slug(value, options) {\n if (options === void 0) {\n options = {};\n }\n\n var slug = this.serialize(value);\n return this.getNextSafeSlug(slug, options.dryrun);\n };\n\n return Slugger;\n }();\n\n /**\n * Parsing & Compiling\n */\n\n var Parser = /*#__PURE__*/function () {\n function Parser(options) {\n this.options = options || exports.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new TextRenderer();\n this.slugger = new Slugger();\n }\n /**\n * Static Parse Method\n */\n\n\n Parser.parse = function parse(tokens, options) {\n var parser = new Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Static Parse Inline Method\n */\n ;\n\n Parser.parseInline = function parseInline(tokens, options) {\n var parser = new Parser(options);\n return parser.parseInline(tokens);\n }\n /**\n * Parse Loop\n */\n ;\n\n var _proto = Parser.prototype;\n\n _proto.parse = function parse(tokens, top) {\n if (top === void 0) {\n top = true;\n }\n\n var out = '',\n i,\n j,\n k,\n l2,\n l3,\n row,\n cell,\n header,\n body,\n token,\n ordered,\n start,\n loose,\n itemBody,\n item,\n checked,\n task,\n checkbox,\n ret;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i]; // Run any renderer extensions\n\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({\n parser: this\n }, token);\n\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n\n switch (token.type) {\n case 'space':\n {\n continue;\n }\n\n case 'hr':\n {\n out += this.renderer.hr();\n continue;\n }\n\n case 'heading':\n {\n out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape(this.parseInline(token.tokens, this.textRenderer)), this.slugger);\n continue;\n }\n\n case 'code':\n {\n out += this.renderer.code(token.text, token.lang, token.escaped);\n continue;\n }\n\n case 'table':\n {\n header = ''; // header\n\n cell = '';\n l2 = token.header.length;\n\n for (j = 0; j < l2; j++) {\n cell += this.renderer.tablecell(this.parseInline(token.header[j].tokens), {\n header: true,\n align: token.align[j]\n });\n }\n\n header += this.renderer.tablerow(cell);\n body = '';\n l2 = token.rows.length;\n\n for (j = 0; j < l2; j++) {\n row = token.rows[j];\n cell = '';\n l3 = row.length;\n\n for (k = 0; k < l3; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k].tokens), {\n header: false,\n align: token.align[k]\n });\n }\n\n body += this.renderer.tablerow(cell);\n }\n\n out += this.renderer.table(header, body);\n continue;\n }\n\n case 'blockquote':\n {\n body = this.parse(token.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n\n case 'list':\n {\n ordered = token.ordered;\n start = token.start;\n loose = token.loose;\n l2 = token.items.length;\n body = '';\n\n for (j = 0; j < l2; j++) {\n item = token.items[j];\n checked = item.checked;\n task = item.task;\n itemBody = '';\n\n if (item.task) {\n checkbox = this.renderer.checkbox(checked);\n\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n } else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox\n });\n }\n } else {\n itemBody += checkbox;\n }\n }\n\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, checked);\n }\n\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n\n case 'html':\n {\n // TODO parse inline content if parameter markdown=1\n out += this.renderer.html(token.text);\n continue;\n }\n\n case 'paragraph':\n {\n out += this.renderer.paragraph(this.parseInline(token.tokens));\n continue;\n }\n\n case 'text':\n {\n body = token.tokens ? this.parseInline(token.tokens) : token.text;\n\n while (i + 1 < l && tokens[i + 1].type === 'text') {\n token = tokens[++i];\n body += '\\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);\n }\n\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n ;\n\n _proto.parseInline = function parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n var out = '',\n i,\n token,\n ret;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i]; // Run any renderer extensions\n\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({\n parser: this\n }, token);\n\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n\n switch (token.type) {\n case 'escape':\n {\n out += renderer.text(token.text);\n break;\n }\n\n case 'html':\n {\n out += renderer.html(token.text);\n break;\n }\n\n case 'link':\n {\n out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'image':\n {\n out += renderer.image(token.href, token.title, token.text);\n break;\n }\n\n case 'strong':\n {\n out += renderer.strong(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'em':\n {\n out += renderer.em(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'codespan':\n {\n out += renderer.codespan(token.text);\n break;\n }\n\n case 'br':\n {\n out += renderer.br();\n break;\n }\n\n case 'del':\n {\n out += renderer.del(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'text':\n {\n out += renderer.text(token.text);\n break;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n };\n\n return Parser;\n }();\n\n /**\n * Marked\n */\n\n function marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (typeof opt === 'function') {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n if (callback) {\n var highlight = opt.highlight;\n var tokens;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n var done = function done(err) {\n var out;\n\n if (!err) {\n try {\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n }\n\n opt.highlight = highlight;\n return err ? callback(err) : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n if (!tokens.length) return done();\n var pending = 0;\n marked.walkTokens(tokens, function (token) {\n if (token.type === 'code') {\n pending++;\n setTimeout(function () {\n highlight(token.text, token.lang, function (err, code) {\n if (err) {\n return done(err);\n }\n\n if (code != null && code !== token.text) {\n token.text = code;\n token.escaped = true;\n }\n\n pending--;\n\n if (pending === 0) {\n done();\n }\n });\n }, 0);\n }\n });\n\n if (pending === 0) {\n done();\n }\n\n return;\n }\n\n function onError(e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return 'An error occurred:
' + escape(e.message + '', true) + '
';\n }\n\n throw e;\n }\n\n try {\n var _tokens = Lexer.lex(src, opt);\n\n if (opt.walkTokens) {\n if (opt.async) {\n return Promise.all(marked.walkTokens(_tokens, opt.walkTokens)).then(function () {\n return Parser.parse(_tokens, opt);\n })[\"catch\"](onError);\n }\n\n marked.walkTokens(_tokens, opt.walkTokens);\n }\n\n return Parser.parse(_tokens, opt);\n } catch (e) {\n onError(e);\n }\n }\n /**\n * Options\n */\n\n marked.options = marked.setOptions = function (opt) {\n merge(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n };\n\n marked.getDefaults = getDefaults;\n marked.defaults = exports.defaults;\n /**\n * Use Extension\n */\n\n marked.use = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var opts = merge.apply(void 0, [{}].concat(args));\n var extensions = marked.defaults.extensions || {\n renderers: {},\n childTokens: {}\n };\n var hasExtensions;\n args.forEach(function (pack) {\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n hasExtensions = true;\n pack.extensions.forEach(function (ext) {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n\n if (ext.renderer) {\n // Renderer extensions\n var prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;\n\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var ret = ext.renderer.apply(this, args);\n\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n\n return ret;\n };\n } else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n\n if (ext.tokenizer) {\n // Tokenizer Extensions\n if (!ext.level || ext.level !== 'block' && ext.level !== 'inline') {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n\n if (extensions[ext.level]) {\n extensions[ext.level].unshift(ext.tokenizer);\n } else {\n extensions[ext.level] = [ext.tokenizer];\n }\n\n if (ext.start) {\n // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n } else {\n extensions.startBlock = [ext.start];\n }\n } else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n } else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n\n if (ext.childTokens) {\n // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n } // ==-- Parse \"overwrite\" extensions --== //\n\n\n if (pack.renderer) {\n (function () {\n var renderer = marked.defaults.renderer || new Renderer();\n\n var _loop = function _loop(prop) {\n var prevRenderer = renderer[prop]; // Replace renderer with func to run extension, but fall back if false\n\n renderer[prop] = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var ret = pack.renderer[prop].apply(renderer, args);\n\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in pack.renderer) {\n _loop(prop);\n }\n\n opts.renderer = renderer;\n })();\n }\n\n if (pack.tokenizer) {\n (function () {\n var tokenizer = marked.defaults.tokenizer || new Tokenizer();\n\n var _loop2 = function _loop2(prop) {\n var prevTokenizer = tokenizer[prop]; // Replace tokenizer with func to run extension, but fall back if false\n\n tokenizer[prop] = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n var ret = pack.tokenizer[prop].apply(tokenizer, args);\n\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in pack.tokenizer) {\n _loop2(prop);\n }\n\n opts.tokenizer = tokenizer;\n })();\n } // ==-- Parse WalkTokens extensions --== //\n\n\n if (pack.walkTokens) {\n var _walkTokens = marked.defaults.walkTokens;\n\n opts.walkTokens = function (token) {\n var values = [];\n values.push(pack.walkTokens.call(this, token));\n\n if (_walkTokens) {\n values = values.concat(_walkTokens.call(this, token));\n }\n\n return values;\n };\n }\n\n if (hasExtensions) {\n opts.extensions = extensions;\n }\n\n marked.setOptions(opts);\n });\n };\n /**\n * Run callback for every token\n */\n\n\n marked.walkTokens = function (tokens, callback) {\n var values = [];\n\n var _loop3 = function _loop3() {\n var token = _step.value;\n values = values.concat(callback.call(marked, token));\n\n switch (token.type) {\n case 'table':\n {\n for (var _iterator2 = _createForOfIteratorHelperLoose(token.header), _step2; !(_step2 = _iterator2()).done;) {\n var cell = _step2.value;\n values = values.concat(marked.walkTokens(cell.tokens, callback));\n }\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(token.rows), _step3; !(_step3 = _iterator3()).done;) {\n var row = _step3.value;\n\n for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) {\n var _cell = _step4.value;\n values = values.concat(marked.walkTokens(_cell.tokens, callback));\n }\n }\n\n break;\n }\n\n case 'list':\n {\n values = values.concat(marked.walkTokens(token.items, callback));\n break;\n }\n\n default:\n {\n if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) {\n // Walk any extensions\n marked.defaults.extensions.childTokens[token.type].forEach(function (childTokens) {\n values = values.concat(marked.walkTokens(token[childTokens], callback));\n });\n } else if (token.tokens) {\n values = values.concat(marked.walkTokens(token.tokens, callback));\n }\n }\n }\n };\n\n for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {\n _loop3();\n }\n\n return values;\n };\n /**\n * Parse Inline\n * @param {string} src\n */\n\n\n marked.parseInline = function (src, opt) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked.parseInline(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n try {\n var tokens = Lexer.lexInline(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n\n return Parser.parseInline(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return 'An error occurred:
' + escape(e.message + '', true) + '
';\n }\n\n throw e;\n }\n };\n /**\n * Expose\n */\n\n\n marked.Parser = Parser;\n marked.parser = Parser.parse;\n marked.Renderer = Renderer;\n marked.TextRenderer = TextRenderer;\n marked.Lexer = Lexer;\n marked.lexer = Lexer.lex;\n marked.Tokenizer = Tokenizer;\n marked.Slugger = Slugger;\n marked.parse = marked;\n var options = marked.options;\n var setOptions = marked.setOptions;\n var use = marked.use;\n var walkTokens = marked.walkTokens;\n var parseInline = marked.parseInline;\n var parse = marked;\n var parser = Parser.parse;\n var lexer = Lexer.lex;\n\n exports.Lexer = Lexer;\n exports.Parser = Parser;\n exports.Renderer = Renderer;\n exports.Slugger = Slugger;\n exports.TextRenderer = TextRenderer;\n exports.Tokenizer = Tokenizer;\n exports.getDefaults = getDefaults;\n exports.lexer = lexer;\n exports.marked = marked;\n exports.options = options;\n exports.parse = parse;\n exports.parseInline = parseInline;\n exports.parser = parser;\n exports.setOptions = setOptions;\n exports.use = use;\n exports.walkTokens = walkTokens;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n\n// ESM-uncomment-begin\n})();\nvar Lexer = (__marked_exports.Lexer || exports.Lexer);\nvar Parser = (__marked_exports.Parser || exports.Parser);\nvar Renderer = (__marked_exports.Renderer || exports.Renderer);\nvar Slugger = (__marked_exports.Slugger || exports.Slugger);\nvar TextRenderer = (__marked_exports.TextRenderer || exports.TextRenderer);\nvar Tokenizer = (__marked_exports.Tokenizer || exports.Tokenizer);\nvar getDefaults = (__marked_exports.getDefaults || exports.getDefaults);\nvar lexer = (__marked_exports.lexer || exports.lexer);\nvar marked = (__marked_exports.marked || exports.marked);\nvar options = (__marked_exports.options || exports.options);\nvar parse = (__marked_exports.parse || exports.parse);\nvar parseInline = (__marked_exports.parseInline || exports.parseInline);\nvar parser = (__marked_exports.parser || exports.parser);\nvar setOptions = (__marked_exports.setOptions || exports.setOptions);\nvar use = (__marked_exports.use || exports.use);\nvar walkTokens = (__marked_exports.walkTokens || exports.walkTokens);\n// ESM-uncomment-end\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/marked/marked.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/marshalling.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/marshalling.js ***!
+ \**********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parse: () => (/* binding */ parse),\n/* harmony export */ revive: () => (/* binding */ revive),\n/* harmony export */ stringify: () => (/* binding */ stringify)\n/* harmony export */ });\n/* harmony import */ var _buffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./buffer.js */ \"./node_modules/monaco-editor/esm/vs/base/common/buffer.js\");\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\nfunction stringify(obj) {\n return JSON.stringify(obj, replacer);\n}\nfunction parse(text) {\n let data = JSON.parse(text);\n data = revive(data);\n return data;\n}\nfunction replacer(key, value) {\n // URI is done via toJSON-member\n if (value instanceof RegExp) {\n return {\n $mid: 2 /* MarshalledId.Regexp */,\n source: value.source,\n flags: value.flags,\n };\n }\n return value;\n}\nfunction revive(obj, depth = 0) {\n if (!obj || depth > 200) {\n return obj;\n }\n if (typeof obj === 'object') {\n switch (obj.$mid) {\n case 1 /* MarshalledId.Uri */: return _uri_js__WEBPACK_IMPORTED_MODULE_1__.URI.revive(obj);\n case 2 /* MarshalledId.Regexp */: return new RegExp(obj.source, obj.flags);\n case 17 /* MarshalledId.Date */: return new Date(obj.source);\n }\n if (obj instanceof _buffer_js__WEBPACK_IMPORTED_MODULE_0__.VSBuffer\n || obj instanceof Uint8Array) {\n return obj;\n }\n if (Array.isArray(obj)) {\n for (let i = 0; i < obj.length; ++i) {\n obj[i] = revive(obj[i], depth + 1);\n }\n }\n else {\n // walk object\n for (const key in obj) {\n if (Object.hasOwnProperty.call(obj, key)) {\n obj[key] = revive(obj[key], depth + 1);\n }\n }\n }\n }\n return obj;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/marshalling.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/mime.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/mime.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Mimes: () => (/* binding */ Mimes)\n/* harmony export */ });\nconst Mimes = Object.freeze({\n text: 'text/plain',\n binary: 'application/octet-stream',\n unknown: 'application/unknown',\n markdown: 'text/markdown',\n latex: 'text/latex',\n uriList: 'text/uri-list',\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/mime.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/naturalLanguage/korean.js":
+/*!*********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/naturalLanguage/korean.js ***!
+ \*********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getKoreanAltChars: () => (/* binding */ getKoreanAltChars)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n// allow-any-unicode-comment-file\n/**\n * Gets alternative Korean characters for the character code. This will return the ascii\n * character code(s) that a Hangul character may have been input with using a qwerty layout.\n *\n * This only aims to cover modern (not archaic) Hangul syllables.\n *\n * @param code The character code to get alternate characters for\n */\nfunction getKoreanAltChars(code) {\n const result = disassembleKorean(code);\n if (result && result.length > 0) {\n return new Uint32Array(result);\n }\n return undefined;\n}\nlet codeBufferLength = 0;\nconst codeBuffer = new Uint32Array(10);\nfunction disassembleKorean(code) {\n codeBufferLength = 0;\n // Initial consonants (초성)\n getCodesFromArray(code, modernConsonants, 4352 /* HangulRangeStartCode.InitialConsonant */);\n if (codeBufferLength > 0) {\n return codeBuffer.subarray(0, codeBufferLength);\n }\n // Vowels (중성)\n getCodesFromArray(code, modernVowels, 4449 /* HangulRangeStartCode.Vowel */);\n if (codeBufferLength > 0) {\n return codeBuffer.subarray(0, codeBufferLength);\n }\n // Final consonants (종성)\n getCodesFromArray(code, modernFinalConsonants, 4520 /* HangulRangeStartCode.FinalConsonant */);\n if (codeBufferLength > 0) {\n return codeBuffer.subarray(0, codeBufferLength);\n }\n // Hangul Compatibility Jamo\n getCodesFromArray(code, compatibilityJamo, 12593 /* HangulRangeStartCode.CompatibilityJamo */);\n if (codeBufferLength) {\n return codeBuffer.subarray(0, codeBufferLength);\n }\n // Hangul Syllables\n if (code >= 0xAC00 && code <= 0xD7A3) {\n const hangulIndex = code - 0xAC00;\n const vowelAndFinalConsonantProduct = hangulIndex % 588;\n // 0-based starting at 0x1100\n const initialConsonantIndex = Math.floor(hangulIndex / 588);\n // 0-based starting at 0x1161\n const vowelIndex = Math.floor(vowelAndFinalConsonantProduct / 28);\n // 0-based starting at 0x11A8\n // Subtract 1 as the standard algorithm uses the 0 index to represent no\n // final consonant\n const finalConsonantIndex = vowelAndFinalConsonantProduct % 28 - 1;\n if (initialConsonantIndex < modernConsonants.length) {\n getCodesFromArray(initialConsonantIndex, modernConsonants, 0);\n }\n else if (4352 /* HangulRangeStartCode.InitialConsonant */ + initialConsonantIndex - 12593 /* HangulRangeStartCode.CompatibilityJamo */ < compatibilityJamo.length) {\n getCodesFromArray(4352 /* HangulRangeStartCode.InitialConsonant */ + initialConsonantIndex, compatibilityJamo, 12593 /* HangulRangeStartCode.CompatibilityJamo */);\n }\n if (vowelIndex < modernVowels.length) {\n getCodesFromArray(vowelIndex, modernVowels, 0);\n }\n else if (4449 /* HangulRangeStartCode.Vowel */ + vowelIndex - 12593 /* HangulRangeStartCode.CompatibilityJamo */ < compatibilityJamo.length) {\n getCodesFromArray(4449 /* HangulRangeStartCode.Vowel */ + vowelIndex - 12593 /* HangulRangeStartCode.CompatibilityJamo */, compatibilityJamo, 12593 /* HangulRangeStartCode.CompatibilityJamo */);\n }\n if (finalConsonantIndex >= 0) {\n if (finalConsonantIndex < modernFinalConsonants.length) {\n getCodesFromArray(finalConsonantIndex, modernFinalConsonants, 0);\n }\n else if (4520 /* HangulRangeStartCode.FinalConsonant */ + finalConsonantIndex - 12593 /* HangulRangeStartCode.CompatibilityJamo */ < compatibilityJamo.length) {\n getCodesFromArray(4520 /* HangulRangeStartCode.FinalConsonant */ + finalConsonantIndex - 12593 /* HangulRangeStartCode.CompatibilityJamo */, compatibilityJamo, 12593 /* HangulRangeStartCode.CompatibilityJamo */);\n }\n }\n if (codeBufferLength > 0) {\n return codeBuffer.subarray(0, codeBufferLength);\n }\n }\n return undefined;\n}\nfunction getCodesFromArray(code, array, arrayStartIndex) {\n // Verify the code is within the array's range\n if (code >= arrayStartIndex && code < arrayStartIndex + array.length) {\n addCodesToBuffer(array[code - arrayStartIndex]);\n }\n}\nfunction addCodesToBuffer(codes) {\n // NUL is ignored, this is used for archaic characters to avoid using a Map\n // for the data\n if (codes === 0 /* AsciiCode.NUL */) {\n return;\n }\n // Number stored in format: OptionalThirdCode << 16 | OptionalSecondCode << 8 | Code\n codeBuffer[codeBufferLength++] = codes & 0xFF;\n if (codes >> 8) {\n codeBuffer[codeBufferLength++] = (codes >> 8) & 0xFF;\n }\n if (codes >> 16) {\n codeBuffer[codeBufferLength++] = (codes >> 16) & 0xFF;\n }\n}\n/**\n * Hangul Jamo - Modern consonants #1\n *\n * Range U+1100..U+1112\n *\n * | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |\n * |--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n * | U+110x | ᄀ | ᄁ | ᄂ | ᄃ | ᄄ | ᄅ | ᄆ | ᄇ | ᄈ | ᄉ | ᄊ | ᄋ | ᄌ | ᄍ | ᄎ | ᄏ |\n * | U+111x | ᄐ | ᄑ | ᄒ |\n */\nconst modernConsonants = new Uint8Array([\n 114 /* AsciiCode.r */, // ㄱ\n 82 /* AsciiCode.R */, // ㄲ\n 115 /* AsciiCode.s */, // ㄴ\n 101 /* AsciiCode.e */, // ㄷ\n 69 /* AsciiCode.E */, // ㄸ\n 102 /* AsciiCode.f */, // ㄹ\n 97 /* AsciiCode.a */, // ㅁ\n 113 /* AsciiCode.q */, // ㅂ\n 81 /* AsciiCode.Q */, // ㅃ\n 116 /* AsciiCode.t */, // ㅅ\n 84 /* AsciiCode.T */, // ㅆ\n 100 /* AsciiCode.d */, // ㅇ\n 119 /* AsciiCode.w */, // ㅈ\n 87 /* AsciiCode.W */, // ㅉ\n 99 /* AsciiCode.c */, // ㅊ\n 122 /* AsciiCode.z */, // ㅋ\n 120 /* AsciiCode.x */, // ㅌ\n 118 /* AsciiCode.v */, // ㅍ\n 103 /* AsciiCode.g */, // ㅎ\n]);\n/**\n * Hangul Jamo - Modern Vowels\n *\n * Range U+1161..U+1175\n *\n * | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |\n * |--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n * | U+116x | | ᅡ | ᅢ | ᅣ | ᅤ | ᅥ | ᅦ | ᅧ | ᅨ | ᅩ | ᅪ | ᅫ | ᅬ | ᅭ | ᅮ | ᅯ |\n * | U+117x | ᅰ | ᅱ | ᅲ | ᅳ | ᅴ | ᅵ |\n */\nconst modernVowels = new Uint16Array([\n 107 /* AsciiCode.k */, // -> ㅏ\n 111 /* AsciiCode.o */, // -> ㅐ\n 105 /* AsciiCode.i */, // -> ㅑ\n 79 /* AsciiCode.O */, // -> ㅒ\n 106 /* AsciiCode.j */, // -> ㅓ\n 112 /* AsciiCode.p */, // -> ㅔ\n 117 /* AsciiCode.u */, // -> ㅕ\n 80 /* AsciiCode.P */, // -> ㅖ\n 104 /* AsciiCode.h */, // -> ㅗ\n 27496 /* AsciiCodeCombo.hk */, // -> ㅘ\n 28520 /* AsciiCodeCombo.ho */, // -> ㅙ\n 27752 /* AsciiCodeCombo.hl */, // -> ㅚ\n 121 /* AsciiCode.y */, // -> ㅛ\n 110 /* AsciiCode.n */, // -> ㅜ\n 27246 /* AsciiCodeCombo.nj */, // -> ㅝ\n 28782 /* AsciiCodeCombo.np */, // -> ㅞ\n 27758 /* AsciiCodeCombo.nl */, // -> ㅟ\n 98 /* AsciiCode.b */, // -> ㅠ\n 109 /* AsciiCode.m */, // -> ㅡ\n 27757 /* AsciiCodeCombo.ml */, // -> ㅢ\n 108 /* AsciiCode.l */, // -> ㅣ\n]);\n/**\n * Hangul Jamo - Modern Consonants #2\n *\n * Range U+11A8..U+11C2\n *\n * | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |\n * |--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n * | U+11Ax | | | | | | | | | ᆨ | ᆩ | ᆪ | ᆫ | ᆬ | ᆭ | ᆮ | ᆯ |\n * | U+11Bx | ᆰ | ᆱ | ᆲ | ᆳ | ᆴ | ᆵ | ᆶ | ᆷ | ᆸ | ᆹ | ᆺ | ᆻ | ᆼ | ᆽ | ᆾ | ᆿ |\n * | U+11Cx | ᇀ | ᇁ | ᇂ |\n */\nconst modernFinalConsonants = new Uint16Array([\n 114 /* AsciiCode.r */, // ㄱ\n 82 /* AsciiCode.R */, // ㄲ\n 29810 /* AsciiCodeCombo.rt */, // ㄳ\n 115 /* AsciiCode.s */, // ㄴ\n 30579 /* AsciiCodeCombo.sw */, // ㄵ\n 26483 /* AsciiCodeCombo.sg */, // ㄶ\n 101 /* AsciiCode.e */, // ㄷ\n 102 /* AsciiCode.f */, // ㄹ\n 29286 /* AsciiCodeCombo.fr */, // ㄺ\n 24934 /* AsciiCodeCombo.fa */, // ㄻ\n 29030 /* AsciiCodeCombo.fq */, // ㄼ\n 29798 /* AsciiCodeCombo.ft */, // ㄽ\n 30822 /* AsciiCodeCombo.fx */, // ㄾ\n 30310 /* AsciiCodeCombo.fv */, // ㄿ\n 26470 /* AsciiCodeCombo.fg */, // ㅀ\n 97 /* AsciiCode.a */, // ㅁ\n 113 /* AsciiCode.q */, // ㅂ\n 29809 /* AsciiCodeCombo.qt */, // ㅄ\n 116 /* AsciiCode.t */, // ㅅ\n 84 /* AsciiCode.T */, // ㅆ\n 100 /* AsciiCode.d */, // ㅇ\n 119 /* AsciiCode.w */, // ㅈ\n 99 /* AsciiCode.c */, // ㅊ\n 122 /* AsciiCode.z */, // ㅋ\n 120 /* AsciiCode.x */, // ㅌ\n 118 /* AsciiCode.v */, // ㅍ\n 103 /* AsciiCode.g */, // ㅎ\n]);\n/**\n * Hangul Compatibility Jamo\n *\n * Range U+3131..U+318F\n *\n * This includes range includes archaic jamo which we don't consider, these are\n * given the NUL character code in order to be ignored.\n *\n * | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |\n * |--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n * | U+313x | | ㄱ | ㄲ | ㄳ | ㄴ | ㄵ | ㄶ | ㄷ | ㄸ | ㄹ | ㄺ | ㄻ | ㄼ | ㄽ | ㄾ | ㄿ |\n * | U+314x | ㅀ | ㅁ | ㅂ | ㅃ | ㅄ | ㅅ | ㅆ | ㅇ | ㅈ | ㅉ | ㅊ | ㅋ | ㅌ | ㅍ | ㅎ | ㅏ |\n * | U+315x | ㅐ | ㅑ | ㅒ | ㅓ | ㅔ | ㅕ | ㅖ | ㅗ | ㅘ | ㅙ | ㅚ | ㅛ | ㅜ | ㅝ | ㅞ | ㅟ |\n * | U+316x | ㅠ | ㅡ | ㅢ | ㅣ | HF | ㅥ | ㅦ | ㅧ | ㅨ | ㅩ | ㅪ | ㅫ | ㅬ | ㅭ | ㅮ | ㅯ |\n * | U+317x | ㅰ | ㅱ | ㅲ | ㅳ | ㅴ | ㅵ | ㅶ | ㅷ | ㅸ | ㅹ | ㅺ | ㅻ | ㅼ | ㅽ | ㅾ | ㅿ |\n * | U+318x | ㆀ | ㆁ | ㆂ | ㆃ | ㆄ | ㆅ | ㆆ | ㆇ | ㆈ | ㆉ | ㆊ | ㆋ | ㆌ | ㆍ | ㆎ |\n */\nconst compatibilityJamo = new Uint16Array([\n 114 /* AsciiCode.r */, // ㄱ\n 82 /* AsciiCode.R */, // ㄲ\n 29810 /* AsciiCodeCombo.rt */, // ㄳ\n 115 /* AsciiCode.s */, // ㄴ\n 30579 /* AsciiCodeCombo.sw */, // ㄵ\n 26483 /* AsciiCodeCombo.sg */, // ㄶ\n 101 /* AsciiCode.e */, // ㄷ\n 69 /* AsciiCode.E */, // ㄸ\n 102 /* AsciiCode.f */, // ㄹ\n 29286 /* AsciiCodeCombo.fr */, // ㄺ\n 24934 /* AsciiCodeCombo.fa */, // ㄻ\n 29030 /* AsciiCodeCombo.fq */, // ㄼ\n 29798 /* AsciiCodeCombo.ft */, // ㄽ\n 30822 /* AsciiCodeCombo.fx */, // ㄾ\n 30310 /* AsciiCodeCombo.fv */, // ㄿ\n 26470 /* AsciiCodeCombo.fg */, // ㅀ\n 97 /* AsciiCode.a */, // ㅁ\n 113 /* AsciiCode.q */, // ㅂ\n 81 /* AsciiCode.Q */, // ㅃ\n 29809 /* AsciiCodeCombo.qt */, // ㅄ\n 116 /* AsciiCode.t */, // ㅅ\n 84 /* AsciiCode.T */, // ㅆ\n 100 /* AsciiCode.d */, // ㅇ\n 119 /* AsciiCode.w */, // ㅈ\n 87 /* AsciiCode.W */, // ㅉ\n 99 /* AsciiCode.c */, // ㅊ\n 122 /* AsciiCode.z */, // ㅋ\n 120 /* AsciiCode.x */, // ㅌ\n 118 /* AsciiCode.v */, // ㅍ\n 103 /* AsciiCode.g */, // ㅎ\n 107 /* AsciiCode.k */, // ㅏ\n 111 /* AsciiCode.o */, // ㅐ\n 105 /* AsciiCode.i */, // ㅑ\n 79 /* AsciiCode.O */, // ㅒ\n 106 /* AsciiCode.j */, // ㅓ\n 112 /* AsciiCode.p */, // ㅔ\n 117 /* AsciiCode.u */, // ㅕ\n 80 /* AsciiCode.P */, // ㅖ\n 104 /* AsciiCode.h */, // ㅗ\n 27496 /* AsciiCodeCombo.hk */, // ㅘ\n 28520 /* AsciiCodeCombo.ho */, // ㅙ\n 27752 /* AsciiCodeCombo.hl */, // ㅚ\n 121 /* AsciiCode.y */, // ㅛ\n 110 /* AsciiCode.n */, // ㅜ\n 27246 /* AsciiCodeCombo.nj */, // ㅝ\n 28782 /* AsciiCodeCombo.np */, // ㅞ\n 27758 /* AsciiCodeCombo.nl */, // ㅟ\n 98 /* AsciiCode.b */, // ㅠ\n 109 /* AsciiCode.m */, // ㅡ\n 27757 /* AsciiCodeCombo.ml */, // ㅢ\n 108 /* AsciiCode.l */, // ㅣ\n // HF: Hangul Filler (everything after this is archaic)\n // ㅥ\n // ㅦ\n // ㅧ\n // ㅨ\n // ㅩ\n // ㅪ\n // ㅫ\n // ㅬ\n // ㅮ\n // ㅯ\n // ㅰ\n // ㅱ\n // ㅲ\n // ㅳ\n // ㅴ\n // ㅵ\n // ㅶ\n // ㅷ\n // ㅸ\n // ㅹ\n // ㅺ\n // ㅻ\n // ㅼ\n // ㅽ\n // ㅾ\n // ㅿ\n // ㆀ\n // ㆁ\n // ㆂ\n // ㆃ\n // ㆄ\n // ㆅ\n // ㆆ\n // ㆇ\n // ㆈ\n // ㆉ\n // ㆊ\n // ㆋ\n // ㆌ\n // ㆍ\n // ㆎ\n]);\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/naturalLanguage/korean.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/navigator.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/navigator.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ArrayNavigator: () => (/* binding */ ArrayNavigator)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nclass ArrayNavigator {\n constructor(items, start = 0, end = items.length, index = start - 1) {\n this.items = items;\n this.start = start;\n this.end = end;\n this.index = index;\n }\n current() {\n if (this.index === this.start - 1 || this.index === this.end) {\n return null;\n }\n return this.items[this.index];\n }\n next() {\n this.index = Math.min(this.index + 1, this.end);\n return this.current();\n }\n previous() {\n this.index = Math.max(this.index - 1, this.start - 1);\n return this.current();\n }\n first() {\n this.index = this.start;\n return this.current();\n }\n last() {\n this.index = this.end - 1;\n return this.current();\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/navigator.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/network.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/network.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ COI: () => (/* binding */ COI),\n/* harmony export */ FileAccess: () => (/* binding */ FileAccess),\n/* harmony export */ RemoteAuthorities: () => (/* binding */ RemoteAuthorities),\n/* harmony export */ Schemas: () => (/* binding */ Schemas),\n/* harmony export */ VSCODE_AUTHORITY: () => (/* binding */ VSCODE_AUTHORITY),\n/* harmony export */ connectionTokenQueryName: () => (/* binding */ connectionTokenQueryName),\n/* harmony export */ matchesScheme: () => (/* binding */ matchesScheme),\n/* harmony export */ matchesSomeScheme: () => (/* binding */ matchesSomeScheme)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\nvar Schemas;\n(function (Schemas) {\n /**\n * A schema that is used for models that exist in memory\n * only and that have no correspondence on a server or such.\n */\n Schemas.inMemory = 'inmemory';\n /**\n * A schema that is used for setting files\n */\n Schemas.vscode = 'vscode';\n /**\n * A schema that is used for internal private files\n */\n Schemas.internal = 'private';\n /**\n * A walk-through document.\n */\n Schemas.walkThrough = 'walkThrough';\n /**\n * An embedded code snippet.\n */\n Schemas.walkThroughSnippet = 'walkThroughSnippet';\n Schemas.http = 'http';\n Schemas.https = 'https';\n Schemas.file = 'file';\n Schemas.mailto = 'mailto';\n Schemas.untitled = 'untitled';\n Schemas.data = 'data';\n Schemas.command = 'command';\n Schemas.vscodeRemote = 'vscode-remote';\n Schemas.vscodeRemoteResource = 'vscode-remote-resource';\n Schemas.vscodeManagedRemoteResource = 'vscode-managed-remote-resource';\n Schemas.vscodeUserData = 'vscode-userdata';\n Schemas.vscodeCustomEditor = 'vscode-custom-editor';\n Schemas.vscodeNotebookCell = 'vscode-notebook-cell';\n Schemas.vscodeNotebookCellMetadata = 'vscode-notebook-cell-metadata';\n Schemas.vscodeNotebookCellOutput = 'vscode-notebook-cell-output';\n Schemas.vscodeInteractiveInput = 'vscode-interactive-input';\n Schemas.vscodeSettings = 'vscode-settings';\n Schemas.vscodeWorkspaceTrust = 'vscode-workspace-trust';\n Schemas.vscodeTerminal = 'vscode-terminal';\n Schemas.vscodeChatSesssion = 'vscode-chat-editor';\n /**\n * Scheme used internally for webviews that aren't linked to a resource (i.e. not custom editors)\n */\n Schemas.webviewPanel = 'webview-panel';\n /**\n * Scheme used for loading the wrapper html and script in webviews.\n */\n Schemas.vscodeWebview = 'vscode-webview';\n /**\n * Scheme used for extension pages\n */\n Schemas.extension = 'extension';\n /**\n * Scheme used as a replacement of `file` scheme to load\n * files with our custom protocol handler (desktop only).\n */\n Schemas.vscodeFileResource = 'vscode-file';\n /**\n * Scheme used for temporary resources\n */\n Schemas.tmp = 'tmp';\n /**\n * Scheme used vs live share\n */\n Schemas.vsls = 'vsls';\n /**\n * Scheme used for the Source Control commit input's text document\n */\n Schemas.vscodeSourceControl = 'vscode-scm';\n})(Schemas || (Schemas = {}));\nfunction matchesScheme(target, scheme) {\n if (_uri_js__WEBPACK_IMPORTED_MODULE_3__.URI.isUri(target)) {\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_2__.equalsIgnoreCase)(target.scheme, scheme);\n }\n else {\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_2__.startsWithIgnoreCase)(target, scheme + ':');\n }\n}\nfunction matchesSomeScheme(target, ...schemes) {\n return schemes.some(scheme => matchesScheme(target, scheme));\n}\nconst connectionTokenQueryName = 'tkn';\nclass RemoteAuthoritiesImpl {\n constructor() {\n this._hosts = Object.create(null);\n this._ports = Object.create(null);\n this._connectionTokens = Object.create(null);\n this._preferredWebSchema = 'http';\n this._delegate = null;\n this._remoteResourcesPath = `/${Schemas.vscodeRemoteResource}`;\n }\n setPreferredWebSchema(schema) {\n this._preferredWebSchema = schema;\n }\n rewrite(uri) {\n if (this._delegate) {\n try {\n return this._delegate(uri);\n }\n catch (err) {\n _errors_js__WEBPACK_IMPORTED_MODULE_0__.onUnexpectedError(err);\n return uri;\n }\n }\n const authority = uri.authority;\n let host = this._hosts[authority];\n if (host && host.indexOf(':') !== -1 && host.indexOf('[') === -1) {\n host = `[${host}]`;\n }\n const port = this._ports[authority];\n const connectionToken = this._connectionTokens[authority];\n let query = `path=${encodeURIComponent(uri.path)}`;\n if (typeof connectionToken === 'string') {\n query += `&${connectionTokenQueryName}=${encodeURIComponent(connectionToken)}`;\n }\n return _uri_js__WEBPACK_IMPORTED_MODULE_3__.URI.from({\n scheme: _platform_js__WEBPACK_IMPORTED_MODULE_1__.isWeb ? this._preferredWebSchema : Schemas.vscodeRemoteResource,\n authority: `${host}:${port}`,\n path: this._remoteResourcesPath,\n query\n });\n }\n}\nconst RemoteAuthorities = new RemoteAuthoritiesImpl();\nconst VSCODE_AUTHORITY = 'vscode-app';\nclass FileAccessImpl {\n /**\n * Returns a URI to use in contexts where the browser is responsible\n * for loading (e.g. fetch()) or when used within the DOM.\n *\n * **Note:** use `dom.ts#asCSSUrl` whenever the URL is to be used in CSS context.\n */\n uriToBrowserUri(uri) {\n // Handle remote URIs via `RemoteAuthorities`\n if (uri.scheme === Schemas.vscodeRemote) {\n return RemoteAuthorities.rewrite(uri);\n }\n // Convert to `vscode-file` resource..\n if (\n // ...only ever for `file` resources\n uri.scheme === Schemas.file &&\n (\n // ...and we run in native environments\n _platform_js__WEBPACK_IMPORTED_MODULE_1__.isNative ||\n // ...or web worker extensions on desktop\n (_platform_js__WEBPACK_IMPORTED_MODULE_1__.webWorkerOrigin === `${Schemas.vscodeFileResource}://${FileAccessImpl.FALLBACK_AUTHORITY}`))) {\n return uri.with({\n scheme: Schemas.vscodeFileResource,\n // We need to provide an authority here so that it can serve\n // as origin for network and loading matters in chromium.\n // If the URI is not coming with an authority already, we\n // add our own\n authority: uri.authority || FileAccessImpl.FALLBACK_AUTHORITY,\n query: null,\n fragment: null\n });\n }\n return uri;\n }\n}\nFileAccessImpl.FALLBACK_AUTHORITY = VSCODE_AUTHORITY;\nconst FileAccess = new FileAccessImpl();\nvar COI;\n(function (COI) {\n const coiHeaders = new Map([\n ['1', { 'Cross-Origin-Opener-Policy': 'same-origin' }],\n ['2', { 'Cross-Origin-Embedder-Policy': 'require-corp' }],\n ['3', { 'Cross-Origin-Opener-Policy': 'same-origin', 'Cross-Origin-Embedder-Policy': 'require-corp' }],\n ]);\n COI.CoopAndCoep = Object.freeze(coiHeaders.get('3'));\n const coiSearchParamName = 'vscode-coi';\n /**\n * Extract desired headers from `vscode-coi` invocation\n */\n function getHeadersFromQuery(url) {\n let params;\n if (typeof url === 'string') {\n params = new URL(url).searchParams;\n }\n else if (url instanceof URL) {\n params = url.searchParams;\n }\n else if (_uri_js__WEBPACK_IMPORTED_MODULE_3__.URI.isUri(url)) {\n params = new URL(url.toString(true)).searchParams;\n }\n const value = params === null || params === void 0 ? void 0 : params.get(coiSearchParamName);\n if (!value) {\n return undefined;\n }\n return coiHeaders.get(value);\n }\n COI.getHeadersFromQuery = getHeadersFromQuery;\n /**\n * Add the `vscode-coi` query attribute based on wanting `COOP` and `COEP`. Will be a noop when `crossOriginIsolated`\n * isn't enabled the current context\n */\n function addSearchParam(urlOrSearch, coop, coep) {\n if (!globalThis.crossOriginIsolated) {\n // depends on the current context being COI\n return;\n }\n const value = coop && coep ? '3' : coep ? '2' : '1';\n if (urlOrSearch instanceof URLSearchParams) {\n urlOrSearch.set(coiSearchParamName, value);\n }\n else {\n urlOrSearch[coiSearchParamName] = value;\n }\n }\n COI.addSearchParam = addSearchParam;\n})(COI || (COI = {}));\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/network.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/numbers.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/numbers.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MovingAverage: () => (/* binding */ MovingAverage),\n/* harmony export */ SlidingWindowAverage: () => (/* binding */ SlidingWindowAverage),\n/* harmony export */ clamp: () => (/* binding */ clamp)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\nclass MovingAverage {\n constructor() {\n this._n = 1;\n this._val = 0;\n }\n update(value) {\n this._val = this._val + (value - this._val) / this._n;\n this._n += 1;\n return this._val;\n }\n get value() {\n return this._val;\n }\n}\nclass SlidingWindowAverage {\n constructor(size) {\n this._n = 0;\n this._val = 0;\n this._values = [];\n this._index = 0;\n this._sum = 0;\n this._values = new Array(size);\n this._values.fill(0, 0, size);\n }\n update(value) {\n const oldValue = this._values[this._index];\n this._values[this._index] = value;\n this._index = (this._index + 1) % this._values.length;\n this._sum -= oldValue;\n this._sum += value;\n if (this._n < this._values.length) {\n this._n += 1;\n }\n this._val = this._sum / this._n;\n return this._val;\n }\n get value() {\n return this._val;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/numbers.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/objects.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/objects.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cloneAndChange: () => (/* binding */ cloneAndChange),\n/* harmony export */ createProxyObject: () => (/* binding */ createProxyObject),\n/* harmony export */ deepClone: () => (/* binding */ deepClone),\n/* harmony export */ deepFreeze: () => (/* binding */ deepFreeze),\n/* harmony export */ equals: () => (/* binding */ equals),\n/* harmony export */ getAllMethodNames: () => (/* binding */ getAllMethodNames),\n/* harmony export */ getAllPropertyNames: () => (/* binding */ getAllPropertyNames),\n/* harmony export */ mixin: () => (/* binding */ mixin)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nfunction deepClone(obj) {\n if (!obj || typeof obj !== 'object') {\n return obj;\n }\n if (obj instanceof RegExp) {\n return obj;\n }\n const result = Array.isArray(obj) ? [] : {};\n Object.entries(obj).forEach(([key, value]) => {\n result[key] = value && typeof value === 'object' ? deepClone(value) : value;\n });\n return result;\n}\nfunction deepFreeze(obj) {\n if (!obj || typeof obj !== 'object') {\n return obj;\n }\n const stack = [obj];\n while (stack.length > 0) {\n const obj = stack.shift();\n Object.freeze(obj);\n for (const key in obj) {\n if (_hasOwnProperty.call(obj, key)) {\n const prop = obj[key];\n if (typeof prop === 'object' && !Object.isFrozen(prop) && !(0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTypedArray)(prop)) {\n stack.push(prop);\n }\n }\n }\n }\n return obj;\n}\nconst _hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction cloneAndChange(obj, changer) {\n return _cloneAndChange(obj, changer, new Set());\n}\nfunction _cloneAndChange(obj, changer, seen) {\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isUndefinedOrNull)(obj)) {\n return obj;\n }\n const changed = changer(obj);\n if (typeof changed !== 'undefined') {\n return changed;\n }\n if (Array.isArray(obj)) {\n const r1 = [];\n for (const e of obj) {\n r1.push(_cloneAndChange(e, changer, seen));\n }\n return r1;\n }\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(obj)) {\n if (seen.has(obj)) {\n throw new Error('Cannot clone recursive data-structure');\n }\n seen.add(obj);\n const r2 = {};\n for (const i2 in obj) {\n if (_hasOwnProperty.call(obj, i2)) {\n r2[i2] = _cloneAndChange(obj[i2], changer, seen);\n }\n }\n seen.delete(obj);\n return r2;\n }\n return obj;\n}\n/**\n * Copies all properties of source into destination. The optional parameter \"overwrite\" allows to control\n * if existing properties on the destination should be overwritten or not. Defaults to true (overwrite).\n */\nfunction mixin(destination, source, overwrite = true) {\n if (!(0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(destination)) {\n return source;\n }\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(source)) {\n Object.keys(source).forEach(key => {\n if (key in destination) {\n if (overwrite) {\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(destination[key]) && (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(source[key])) {\n mixin(destination[key], source[key], overwrite);\n }\n else {\n destination[key] = source[key];\n }\n }\n }\n else {\n destination[key] = source[key];\n }\n });\n }\n return destination;\n}\nfunction equals(one, other) {\n if (one === other) {\n return true;\n }\n if (one === null || one === undefined || other === null || other === undefined) {\n return false;\n }\n if (typeof one !== typeof other) {\n return false;\n }\n if (typeof one !== 'object') {\n return false;\n }\n if ((Array.isArray(one)) !== (Array.isArray(other))) {\n return false;\n }\n let i;\n let key;\n if (Array.isArray(one)) {\n if (one.length !== other.length) {\n return false;\n }\n for (i = 0; i < one.length; i++) {\n if (!equals(one[i], other[i])) {\n return false;\n }\n }\n }\n else {\n const oneKeys = [];\n for (key in one) {\n oneKeys.push(key);\n }\n oneKeys.sort();\n const otherKeys = [];\n for (key in other) {\n otherKeys.push(key);\n }\n otherKeys.sort();\n if (!equals(oneKeys, otherKeys)) {\n return false;\n }\n for (i = 0; i < oneKeys.length; i++) {\n if (!equals(one[oneKeys[i]], other[oneKeys[i]])) {\n return false;\n }\n }\n }\n return true;\n}\nfunction getAllPropertyNames(obj) {\n let res = [];\n while (Object.prototype !== obj) {\n res = res.concat(Object.getOwnPropertyNames(obj));\n obj = Object.getPrototypeOf(obj);\n }\n return res;\n}\nfunction getAllMethodNames(obj) {\n const methods = [];\n for (const prop of getAllPropertyNames(obj)) {\n if (typeof obj[prop] === 'function') {\n methods.push(prop);\n }\n }\n return methods;\n}\nfunction createProxyObject(methodNames, invoke) {\n const createProxyMethod = (method) => {\n return function () {\n const args = Array.prototype.slice.call(arguments, 0);\n return invoke(method, args);\n };\n };\n const result = {};\n for (const methodName of methodNames) {\n result[methodName] = createProxyMethod(methodName);\n }\n return result;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/objects.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/observable.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/observable.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ autorun: () => (/* reexport safe */ _observableInternal_autorun_js__WEBPACK_IMPORTED_MODULE_2__.autorun),\n/* harmony export */ autorunHandleChanges: () => (/* reexport safe */ _observableInternal_autorun_js__WEBPACK_IMPORTED_MODULE_2__.autorunHandleChanges),\n/* harmony export */ autorunOpts: () => (/* reexport safe */ _observableInternal_autorun_js__WEBPACK_IMPORTED_MODULE_2__.autorunOpts),\n/* harmony export */ autorunWithStore: () => (/* reexport safe */ _observableInternal_autorun_js__WEBPACK_IMPORTED_MODULE_2__.autorunWithStore),\n/* harmony export */ constObservable: () => (/* reexport safe */ _observableInternal_utils_js__WEBPACK_IMPORTED_MODULE_3__.constObservable),\n/* harmony export */ derived: () => (/* reexport safe */ _observableInternal_derived_js__WEBPACK_IMPORTED_MODULE_1__.derived),\n/* harmony export */ derivedHandleChanges: () => (/* reexport safe */ _observableInternal_derived_js__WEBPACK_IMPORTED_MODULE_1__.derivedHandleChanges),\n/* harmony export */ derivedObservableWithCache: () => (/* reexport safe */ _observableInternal_utils_js__WEBPACK_IMPORTED_MODULE_3__.derivedObservableWithCache),\n/* harmony export */ derivedOpts: () => (/* reexport safe */ _observableInternal_derived_js__WEBPACK_IMPORTED_MODULE_1__.derivedOpts),\n/* harmony export */ derivedWithStore: () => (/* reexport safe */ _observableInternal_derived_js__WEBPACK_IMPORTED_MODULE_1__.derivedWithStore),\n/* harmony export */ disposableObservableValue: () => (/* reexport safe */ _observableInternal_base_js__WEBPACK_IMPORTED_MODULE_0__.disposableObservableValue),\n/* harmony export */ observableFromEvent: () => (/* reexport safe */ _observableInternal_utils_js__WEBPACK_IMPORTED_MODULE_3__.observableFromEvent),\n/* harmony export */ observableSignal: () => (/* reexport safe */ _observableInternal_utils_js__WEBPACK_IMPORTED_MODULE_3__.observableSignal),\n/* harmony export */ observableSignalFromEvent: () => (/* reexport safe */ _observableInternal_utils_js__WEBPACK_IMPORTED_MODULE_3__.observableSignalFromEvent),\n/* harmony export */ observableValue: () => (/* reexport safe */ _observableInternal_base_js__WEBPACK_IMPORTED_MODULE_0__.observableValue),\n/* harmony export */ recomputeInitiallyAndOnChange: () => (/* reexport safe */ _observableInternal_utils_js__WEBPACK_IMPORTED_MODULE_3__.recomputeInitiallyAndOnChange),\n/* harmony export */ subtransaction: () => (/* reexport safe */ _observableInternal_base_js__WEBPACK_IMPORTED_MODULE_0__.subtransaction),\n/* harmony export */ transaction: () => (/* reexport safe */ _observableInternal_base_js__WEBPACK_IMPORTED_MODULE_0__.transaction),\n/* harmony export */ waitForState: () => (/* reexport safe */ _observableInternal_utils_js__WEBPACK_IMPORTED_MODULE_3__.waitForState)\n/* harmony export */ });\n/* harmony import */ var _observableInternal_base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./observableInternal/base.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/base.js\");\n/* harmony import */ var _observableInternal_derived_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./observableInternal/derived.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/derived.js\");\n/* harmony import */ var _observableInternal_autorun_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./observableInternal/autorun.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/autorun.js\");\n/* harmony import */ var _observableInternal_utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./observableInternal/utils.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/utils.js\");\n/* harmony import */ var _observableInternal_logging_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./observableInternal/logging.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/logging.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n// This is a facade for the observable implementation. Only import from here!\n\n\n\n\n\nconst enableLogging = false;\nif (enableLogging) {\n (0,_observableInternal_logging_js__WEBPACK_IMPORTED_MODULE_4__.setLogger)(new _observableInternal_logging_js__WEBPACK_IMPORTED_MODULE_4__.ConsoleObservableLogger());\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/observable.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/observableInternal/autorun.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/observableInternal/autorun.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AutorunObserver: () => (/* binding */ AutorunObserver),\n/* harmony export */ autorun: () => (/* binding */ autorun),\n/* harmony export */ autorunHandleChanges: () => (/* binding */ autorunHandleChanges),\n/* harmony export */ autorunOpts: () => (/* binding */ autorunOpts),\n/* harmony export */ autorunWithStore: () => (/* binding */ autorunWithStore)\n/* harmony export */ });\n/* harmony import */ var _assert_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../assert.js */ \"./node_modules/monaco-editor/esm/vs/base/common/assert.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/base.js\");\n/* harmony import */ var _logging_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./logging.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/logging.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n/**\n * Runs immediately and whenever a transaction ends and an observed observable changed.\n * {@link fn} should start with a JS Doc using `@description` to name the autorun.\n */\nfunction autorun(fn) {\n return new AutorunObserver(undefined, fn, undefined, undefined);\n}\n/**\n * Runs immediately and whenever a transaction ends and an observed observable changed.\n * {@link fn} should start with a JS Doc using `@description` to name the autorun.\n */\nfunction autorunOpts(options, fn) {\n return new AutorunObserver(options.debugName, fn, undefined, undefined);\n}\n/**\n * Runs immediately and whenever a transaction ends and an observed observable changed.\n * {@link fn} should start with a JS Doc using `@description` to name the autorun.\n *\n * Use `createEmptyChangeSummary` to create a \"change summary\" that can collect the changes.\n * Use `handleChange` to add a reported change to the change summary.\n * The run function is given the last change summary.\n * The change summary is discarded after the run function was called.\n *\n * @see autorun\n */\nfunction autorunHandleChanges(options, fn) {\n return new AutorunObserver(options.debugName, fn, options.createEmptyChangeSummary, options.handleChange);\n}\n/**\n * @see autorun (but with a disposable store that is cleared before the next run or on dispose)\n */\nfunction autorunWithStore(fn) {\n const store = new _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\n const disposable = autorunOpts({\n debugName: () => (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.getFunctionName)(fn) || '(anonymous)',\n }, reader => {\n store.clear();\n fn(reader, store);\n });\n return (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => {\n disposable.dispose();\n store.dispose();\n });\n}\nclass AutorunObserver {\n get debugName() {\n if (typeof this._debugName === 'string') {\n return this._debugName;\n }\n if (typeof this._debugName === 'function') {\n const name = this._debugName();\n if (name !== undefined) {\n return name;\n }\n }\n const name = (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.getFunctionName)(this._runFn);\n if (name !== undefined) {\n return name;\n }\n return '(anonymous)';\n }\n constructor(_debugName, _runFn, createChangeSummary, _handleChange) {\n var _a, _b;\n this._debugName = _debugName;\n this._runFn = _runFn;\n this.createChangeSummary = createChangeSummary;\n this._handleChange = _handleChange;\n this.state = 2 /* AutorunState.stale */;\n this.updateCount = 0;\n this.disposed = false;\n this.dependencies = new Set();\n this.dependenciesToBeRemoved = new Set();\n this.changeSummary = (_a = this.createChangeSummary) === null || _a === void 0 ? void 0 : _a.call(this);\n (_b = (0,_logging_js__WEBPACK_IMPORTED_MODULE_3__.getLogger)()) === null || _b === void 0 ? void 0 : _b.handleAutorunCreated(this);\n this._runIfNeeded();\n (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.trackDisposable)(this);\n }\n dispose() {\n this.disposed = true;\n for (const o of this.dependencies) {\n o.removeObserver(this);\n }\n this.dependencies.clear();\n (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.markAsDisposed)(this);\n }\n _runIfNeeded() {\n var _a, _b, _c;\n if (this.state === 3 /* AutorunState.upToDate */) {\n return;\n }\n const emptySet = this.dependenciesToBeRemoved;\n this.dependenciesToBeRemoved = this.dependencies;\n this.dependencies = emptySet;\n this.state = 3 /* AutorunState.upToDate */;\n const isDisposed = this.disposed;\n try {\n if (!isDisposed) {\n (_a = (0,_logging_js__WEBPACK_IMPORTED_MODULE_3__.getLogger)()) === null || _a === void 0 ? void 0 : _a.handleAutorunTriggered(this);\n const changeSummary = this.changeSummary;\n this.changeSummary = (_b = this.createChangeSummary) === null || _b === void 0 ? void 0 : _b.call(this);\n this._runFn(this, changeSummary);\n }\n }\n finally {\n if (!isDisposed) {\n (_c = (0,_logging_js__WEBPACK_IMPORTED_MODULE_3__.getLogger)()) === null || _c === void 0 ? void 0 : _c.handleAutorunFinished(this);\n }\n // We don't want our observed observables to think that they are (not even temporarily) not being observed.\n // Thus, we only unsubscribe from observables that are definitely not read anymore.\n for (const o of this.dependenciesToBeRemoved) {\n o.removeObserver(this);\n }\n this.dependenciesToBeRemoved.clear();\n }\n }\n toString() {\n return `Autorun<${this.debugName}>`;\n }\n // IObserver implementation\n beginUpdate() {\n if (this.state === 3 /* AutorunState.upToDate */) {\n this.state = 1 /* AutorunState.dependenciesMightHaveChanged */;\n }\n this.updateCount++;\n }\n endUpdate() {\n if (this.updateCount === 1) {\n do {\n if (this.state === 1 /* AutorunState.dependenciesMightHaveChanged */) {\n this.state = 3 /* AutorunState.upToDate */;\n for (const d of this.dependencies) {\n d.reportChanges();\n if (this.state === 2 /* AutorunState.stale */) {\n // The other dependencies will refresh on demand\n break;\n }\n }\n }\n this._runIfNeeded();\n } while (this.state !== 3 /* AutorunState.upToDate */);\n }\n this.updateCount--;\n (0,_assert_js__WEBPACK_IMPORTED_MODULE_0__.assertFn)(() => this.updateCount >= 0);\n }\n handlePossibleChange(observable) {\n if (this.state === 3 /* AutorunState.upToDate */ && this.dependencies.has(observable) && !this.dependenciesToBeRemoved.has(observable)) {\n this.state = 1 /* AutorunState.dependenciesMightHaveChanged */;\n }\n }\n handleChange(observable, change) {\n if (this.dependencies.has(observable) && !this.dependenciesToBeRemoved.has(observable)) {\n const shouldReact = this._handleChange ? this._handleChange({\n changedObservable: observable,\n change,\n didChange: o => o === observable,\n }, this.changeSummary) : true;\n if (shouldReact) {\n this.state = 2 /* AutorunState.stale */;\n }\n }\n }\n // IReader implementation\n readObservable(observable) {\n // In case the run action disposes the autorun\n if (this.disposed) {\n return observable.get();\n }\n observable.addObserver(this);\n const value = observable.get();\n this.dependencies.add(observable);\n this.dependenciesToBeRemoved.delete(observable);\n return value;\n }\n}\n(function (autorun) {\n autorun.Observer = AutorunObserver;\n})(autorun || (autorun = {}));\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/observableInternal/autorun.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/observableInternal/base.js":
+/*!**********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/observableInternal/base.js ***!
+ \**********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BaseObservable: () => (/* binding */ BaseObservable),\n/* harmony export */ ConvenientObservable: () => (/* binding */ ConvenientObservable),\n/* harmony export */ DisposableObservableValue: () => (/* binding */ DisposableObservableValue),\n/* harmony export */ ObservableValue: () => (/* binding */ ObservableValue),\n/* harmony export */ TransactionImpl: () => (/* binding */ TransactionImpl),\n/* harmony export */ _setDerivedOpts: () => (/* binding */ _setDerivedOpts),\n/* harmony export */ _setRecomputeInitiallyAndOnChange: () => (/* binding */ _setRecomputeInitiallyAndOnChange),\n/* harmony export */ asyncTransaction: () => (/* binding */ asyncTransaction),\n/* harmony export */ disposableObservableValue: () => (/* binding */ disposableObservableValue),\n/* harmony export */ getDebugName: () => (/* binding */ getDebugName),\n/* harmony export */ getFunctionName: () => (/* binding */ getFunctionName),\n/* harmony export */ globalTransaction: () => (/* binding */ globalTransaction),\n/* harmony export */ observableValue: () => (/* binding */ observableValue),\n/* harmony export */ subtransaction: () => (/* binding */ subtransaction),\n/* harmony export */ transaction: () => (/* binding */ transaction)\n/* harmony export */ });\n/* harmony import */ var _logging_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logging.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/logging.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nlet _recomputeInitiallyAndOnChange;\nfunction _setRecomputeInitiallyAndOnChange(recomputeInitiallyAndOnChange) {\n _recomputeInitiallyAndOnChange = recomputeInitiallyAndOnChange;\n}\nlet _derived;\n/**\n * @internal\n * This is to allow splitting files.\n*/\nfunction _setDerivedOpts(derived) {\n _derived = derived;\n}\nclass ConvenientObservable {\n get TChange() { return null; }\n reportChanges() {\n this.get();\n }\n /** @sealed */\n read(reader) {\n if (reader) {\n return reader.readObservable(this);\n }\n else {\n return this.get();\n }\n }\n map(fnOrOwner, fnOrUndefined) {\n const owner = fnOrUndefined === undefined ? undefined : fnOrOwner;\n const fn = fnOrUndefined === undefined ? fnOrOwner : fnOrUndefined;\n return _derived({\n owner,\n debugName: () => {\n const name = getFunctionName(fn);\n if (name !== undefined) {\n return name;\n }\n // regexp to match `x => x.y` or `x => x?.y` where x and y can be arbitrary identifiers (uses backref):\n const regexp = /^\\s*\\(?\\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\\s*\\)?\\s*=>\\s*\\1(?:\\??)\\.([a-zA-Z_$][a-zA-Z_$0-9]*)\\s*$/;\n const match = regexp.exec(fn.toString());\n if (match) {\n return `${this.debugName}.${match[2]}`;\n }\n if (!owner) {\n return `${this.debugName} (mapped)`;\n }\n return undefined;\n },\n }, (reader) => fn(this.read(reader), reader));\n }\n recomputeInitiallyAndOnChange(store, handleValue) {\n store.add(_recomputeInitiallyAndOnChange(this, handleValue));\n return this;\n }\n}\nclass BaseObservable extends ConvenientObservable {\n constructor() {\n super(...arguments);\n this.observers = new Set();\n }\n addObserver(observer) {\n const len = this.observers.size;\n this.observers.add(observer);\n if (len === 0) {\n this.onFirstObserverAdded();\n }\n }\n removeObserver(observer) {\n const deleted = this.observers.delete(observer);\n if (deleted && this.observers.size === 0) {\n this.onLastObserverRemoved();\n }\n }\n onFirstObserverAdded() { }\n onLastObserverRemoved() { }\n}\n/**\n * Starts a transaction in which many observables can be changed at once.\n * {@link fn} should start with a JS Doc using `@description` to give the transaction a debug name.\n * Reaction run on demand or when the transaction ends.\n */\nfunction transaction(fn, getDebugName) {\n const tx = new TransactionImpl(fn, getDebugName);\n try {\n fn(tx);\n }\n finally {\n tx.finish();\n }\n}\nlet _globalTransaction = undefined;\nfunction globalTransaction(fn) {\n if (_globalTransaction) {\n fn(_globalTransaction);\n }\n else {\n const tx = new TransactionImpl(fn, undefined);\n _globalTransaction = tx;\n try {\n fn(tx);\n }\n finally {\n tx.finish(); // During finish, more actions might be added to the transaction.\n // Which is why we only clear the global transaction after finish.\n _globalTransaction = undefined;\n }\n }\n}\nasync function asyncTransaction(fn, getDebugName) {\n const tx = new TransactionImpl(fn, getDebugName);\n try {\n await fn(tx);\n }\n finally {\n tx.finish();\n }\n}\n/**\n * Allows to chain transactions.\n */\nfunction subtransaction(tx, fn, getDebugName) {\n if (!tx) {\n transaction(fn, getDebugName);\n }\n else {\n fn(tx);\n }\n}\nclass TransactionImpl {\n constructor(_fn, _getDebugName) {\n var _a;\n this._fn = _fn;\n this._getDebugName = _getDebugName;\n this.updatingObservers = [];\n (_a = (0,_logging_js__WEBPACK_IMPORTED_MODULE_0__.getLogger)()) === null || _a === void 0 ? void 0 : _a.handleBeginTransaction(this);\n }\n getDebugName() {\n if (this._getDebugName) {\n return this._getDebugName();\n }\n return getFunctionName(this._fn);\n }\n updateObserver(observer, observable) {\n // When this gets called while finish is active, they will still get considered\n this.updatingObservers.push({ observer, observable });\n observer.beginUpdate(observable);\n }\n finish() {\n var _a;\n const updatingObservers = this.updatingObservers;\n for (let i = 0; i < updatingObservers.length; i++) {\n const { observer, observable } = updatingObservers[i];\n observer.endUpdate(observable);\n }\n // Prevent anyone from updating observers from now on.\n this.updatingObservers = null;\n (_a = (0,_logging_js__WEBPACK_IMPORTED_MODULE_0__.getLogger)()) === null || _a === void 0 ? void 0 : _a.handleEndTransaction();\n }\n}\nconst countPerName = new Map();\nconst cachedDebugName = new WeakMap();\nfunction getDebugName(obj, debugNameFn, fn, owner, self) {\n var _a;\n const cached = cachedDebugName.get(obj);\n if (cached) {\n return cached;\n }\n const dbgName = computeDebugName(obj, debugNameFn, fn, owner, self);\n if (dbgName) {\n let count = (_a = countPerName.get(dbgName)) !== null && _a !== void 0 ? _a : 0;\n count++;\n countPerName.set(dbgName, count);\n const result = count === 1 ? dbgName : `${dbgName}#${count}`;\n cachedDebugName.set(obj, result);\n return result;\n }\n return undefined;\n}\nfunction computeDebugName(obj, debugNameFn, fn, owner, self) {\n const cached = cachedDebugName.get(obj);\n if (cached) {\n return cached;\n }\n const ownerStr = owner ? formatOwner(owner) + `.` : '';\n let result;\n if (debugNameFn !== undefined) {\n if (typeof debugNameFn === 'function') {\n result = debugNameFn();\n if (result !== undefined) {\n return ownerStr + result;\n }\n }\n else {\n return ownerStr + debugNameFn;\n }\n }\n if (fn !== undefined) {\n result = getFunctionName(fn);\n if (result !== undefined) {\n return ownerStr + result;\n }\n }\n if (owner !== undefined) {\n for (const key in owner) {\n if (owner[key] === self) {\n return ownerStr + key;\n }\n }\n }\n return undefined;\n}\nconst countPerClassName = new Map();\nconst ownerId = new WeakMap();\nfunction formatOwner(owner) {\n var _a;\n const id = ownerId.get(owner);\n if (id) {\n return id;\n }\n const className = getClassName(owner);\n let count = (_a = countPerClassName.get(className)) !== null && _a !== void 0 ? _a : 0;\n count++;\n countPerClassName.set(className, count);\n const result = count === 1 ? className : `${className}#${count}`;\n ownerId.set(owner, result);\n return result;\n}\nfunction getClassName(obj) {\n const ctor = obj.constructor;\n if (ctor) {\n return ctor.name;\n }\n return 'Object';\n}\nfunction getFunctionName(fn) {\n const fnSrc = fn.toString();\n // Pattern: /** @description ... */\n const regexp = /\\/\\*\\*\\s*@description\\s*([^*]*)\\*\\//;\n const match = regexp.exec(fnSrc);\n const result = match ? match[1] : undefined;\n return result === null || result === void 0 ? void 0 : result.trim();\n}\nfunction observableValue(nameOrOwner, initialValue) {\n if (typeof nameOrOwner === 'string') {\n return new ObservableValue(undefined, nameOrOwner, initialValue);\n }\n else {\n return new ObservableValue(nameOrOwner, undefined, initialValue);\n }\n}\nclass ObservableValue extends BaseObservable {\n get debugName() {\n var _a;\n return (_a = getDebugName(this, this._debugName, undefined, this._owner, this)) !== null && _a !== void 0 ? _a : 'ObservableValue';\n }\n constructor(_owner, _debugName, initialValue) {\n super();\n this._owner = _owner;\n this._debugName = _debugName;\n this._value = initialValue;\n }\n get() {\n return this._value;\n }\n set(value, tx, change) {\n var _a;\n if (this._value === value) {\n return;\n }\n let _tx;\n if (!tx) {\n tx = _tx = new TransactionImpl(() => { }, () => `Setting ${this.debugName}`);\n }\n try {\n const oldValue = this._value;\n this._setValue(value);\n (_a = (0,_logging_js__WEBPACK_IMPORTED_MODULE_0__.getLogger)()) === null || _a === void 0 ? void 0 : _a.handleObservableChanged(this, { oldValue, newValue: value, change, didChange: true, hadValue: true });\n for (const observer of this.observers) {\n tx.updateObserver(observer, this);\n observer.handleChange(this, change);\n }\n }\n finally {\n if (_tx) {\n _tx.finish();\n }\n }\n }\n toString() {\n return `${this.debugName}: ${this._value}`;\n }\n _setValue(newValue) {\n this._value = newValue;\n }\n}\n/**\n * A disposable observable. When disposed, its value is also disposed.\n * When a new value is set, the previous value is disposed.\n */\nfunction disposableObservableValue(nameOrOwner, initialValue) {\n if (typeof nameOrOwner === 'string') {\n return new DisposableObservableValue(undefined, nameOrOwner, initialValue);\n }\n else {\n return new DisposableObservableValue(nameOrOwner, undefined, initialValue);\n }\n}\nclass DisposableObservableValue extends ObservableValue {\n _setValue(newValue) {\n if (this._value === newValue) {\n return;\n }\n if (this._value) {\n this._value.dispose();\n }\n this._value = newValue;\n }\n dispose() {\n var _a;\n (_a = this._value) === null || _a === void 0 ? void 0 : _a.dispose();\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/observableInternal/base.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/observableInternal/derived.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/observableInternal/derived.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Derived: () => (/* binding */ Derived),\n/* harmony export */ derived: () => (/* binding */ derived),\n/* harmony export */ derivedDisposable: () => (/* binding */ derivedDisposable),\n/* harmony export */ derivedHandleChanges: () => (/* binding */ derivedHandleChanges),\n/* harmony export */ derivedOpts: () => (/* binding */ derivedOpts),\n/* harmony export */ derivedWithStore: () => (/* binding */ derivedWithStore)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/base.js\");\n/* harmony import */ var _logging_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./logging.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/logging.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\nconst defaultEqualityComparer = (a, b) => a === b;\nfunction derived(computeFnOrOwner, computeFn) {\n if (computeFn !== undefined) {\n return new Derived(computeFnOrOwner, undefined, computeFn, undefined, undefined, undefined, defaultEqualityComparer);\n }\n return new Derived(undefined, undefined, computeFnOrOwner, undefined, undefined, undefined, defaultEqualityComparer);\n}\nfunction derivedOpts(options, computeFn) {\n var _a;\n return new Derived(options.owner, options.debugName, computeFn, undefined, undefined, undefined, (_a = options.equalityComparer) !== null && _a !== void 0 ? _a : defaultEqualityComparer);\n}\n/**\n * Represents an observable that is derived from other observables.\n * The value is only recomputed when absolutely needed.\n *\n * {@link computeFn} should start with a JS Doc using `@description` to name the derived.\n *\n * Use `createEmptyChangeSummary` to create a \"change summary\" that can collect the changes.\n * Use `handleChange` to add a reported change to the change summary.\n * The compute function is given the last change summary.\n * The change summary is discarded after the compute function was called.\n *\n * @see derived\n */\nfunction derivedHandleChanges(options, computeFn) {\n var _a;\n return new Derived(options.owner, options.debugName, computeFn, options.createEmptyChangeSummary, options.handleChange, undefined, (_a = options.equalityComparer) !== null && _a !== void 0 ? _a : defaultEqualityComparer);\n}\nfunction derivedWithStore(computeFnOrOwner, computeFnOrUndefined) {\n let computeFn;\n let owner;\n if (computeFnOrUndefined === undefined) {\n computeFn = computeFnOrOwner;\n owner = undefined;\n }\n else {\n owner = computeFnOrOwner;\n computeFn = computeFnOrUndefined;\n }\n const store = new _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\n return new Derived(owner, (() => { var _a; return (_a = (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.getFunctionName)(computeFn)) !== null && _a !== void 0 ? _a : '(anonymous)'; }), r => {\n store.clear();\n return computeFn(r, store);\n }, undefined, undefined, () => store.dispose(), defaultEqualityComparer);\n}\nfunction derivedDisposable(computeFnOrOwner, computeFnOrUndefined) {\n let computeFn;\n let owner;\n if (computeFnOrUndefined === undefined) {\n computeFn = computeFnOrOwner;\n owner = undefined;\n }\n else {\n owner = computeFnOrOwner;\n computeFn = computeFnOrUndefined;\n }\n const store = new _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\n return new Derived(owner, (() => { var _a; return (_a = (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.getFunctionName)(computeFn)) !== null && _a !== void 0 ? _a : '(anonymous)'; }), r => {\n store.clear();\n const result = computeFn(r);\n if (result) {\n store.add(result);\n }\n return result;\n }, undefined, undefined, () => store.dispose(), defaultEqualityComparer);\n}\n(0,_base_js__WEBPACK_IMPORTED_MODULE_2__._setDerivedOpts)(derivedOpts);\nclass Derived extends _base_js__WEBPACK_IMPORTED_MODULE_2__.BaseObservable {\n get debugName() {\n var _a;\n return (_a = (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.getDebugName)(this, this._debugName, this._computeFn, this._owner, this)) !== null && _a !== void 0 ? _a : '(anonymous)';\n }\n constructor(_owner, _debugName, _computeFn, createChangeSummary, _handleChange, _handleLastObserverRemoved = undefined, _equalityComparator) {\n var _a, _b;\n super();\n this._owner = _owner;\n this._debugName = _debugName;\n this._computeFn = _computeFn;\n this.createChangeSummary = createChangeSummary;\n this._handleChange = _handleChange;\n this._handleLastObserverRemoved = _handleLastObserverRemoved;\n this._equalityComparator = _equalityComparator;\n this.state = 0 /* DerivedState.initial */;\n this.value = undefined;\n this.updateCount = 0;\n this.dependencies = new Set();\n this.dependenciesToBeRemoved = new Set();\n this.changeSummary = undefined;\n this.changeSummary = (_a = this.createChangeSummary) === null || _a === void 0 ? void 0 : _a.call(this);\n (_b = (0,_logging_js__WEBPACK_IMPORTED_MODULE_3__.getLogger)()) === null || _b === void 0 ? void 0 : _b.handleDerivedCreated(this);\n }\n onLastObserverRemoved() {\n var _a;\n /**\n * We are not tracking changes anymore, thus we have to assume\n * that our cache is invalid.\n */\n this.state = 0 /* DerivedState.initial */;\n this.value = undefined;\n for (const d of this.dependencies) {\n d.removeObserver(this);\n }\n this.dependencies.clear();\n (_a = this._handleLastObserverRemoved) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n get() {\n var _a;\n if (this.observers.size === 0) {\n // Without observers, we don't know when to clean up stuff.\n // Thus, we don't cache anything to prevent memory leaks.\n const result = this._computeFn(this, (_a = this.createChangeSummary) === null || _a === void 0 ? void 0 : _a.call(this));\n // Clear new dependencies\n this.onLastObserverRemoved();\n return result;\n }\n else {\n do {\n // We might not get a notification for a dependency that changed while it is updating,\n // thus we also have to ask all our depedencies if they changed in this case.\n if (this.state === 1 /* DerivedState.dependenciesMightHaveChanged */) {\n for (const d of this.dependencies) {\n /** might call {@link handleChange} indirectly, which could make us stale */\n d.reportChanges();\n if (this.state === 2 /* DerivedState.stale */) {\n // The other dependencies will refresh on demand, so early break\n break;\n }\n }\n }\n // We called report changes of all dependencies.\n // If we are still not stale, we can assume to be up to date again.\n if (this.state === 1 /* DerivedState.dependenciesMightHaveChanged */) {\n this.state = 3 /* DerivedState.upToDate */;\n }\n this._recomputeIfNeeded();\n // In case recomputation changed one of our dependencies, we need to recompute again.\n } while (this.state !== 3 /* DerivedState.upToDate */);\n return this.value;\n }\n }\n _recomputeIfNeeded() {\n var _a, _b;\n if (this.state === 3 /* DerivedState.upToDate */) {\n return;\n }\n const emptySet = this.dependenciesToBeRemoved;\n this.dependenciesToBeRemoved = this.dependencies;\n this.dependencies = emptySet;\n const hadValue = this.state !== 0 /* DerivedState.initial */;\n const oldValue = this.value;\n this.state = 3 /* DerivedState.upToDate */;\n const changeSummary = this.changeSummary;\n this.changeSummary = (_a = this.createChangeSummary) === null || _a === void 0 ? void 0 : _a.call(this);\n try {\n /** might call {@link handleChange} indirectly, which could invalidate us */\n this.value = this._computeFn(this, changeSummary);\n }\n finally {\n // We don't want our observed observables to think that they are (not even temporarily) not being observed.\n // Thus, we only unsubscribe from observables that are definitely not read anymore.\n for (const o of this.dependenciesToBeRemoved) {\n o.removeObserver(this);\n }\n this.dependenciesToBeRemoved.clear();\n }\n const didChange = hadValue && !(this._equalityComparator(oldValue, this.value));\n (_b = (0,_logging_js__WEBPACK_IMPORTED_MODULE_3__.getLogger)()) === null || _b === void 0 ? void 0 : _b.handleDerivedRecomputed(this, {\n oldValue,\n newValue: this.value,\n change: undefined,\n didChange,\n hadValue,\n });\n if (didChange) {\n for (const r of this.observers) {\n r.handleChange(this, undefined);\n }\n }\n }\n toString() {\n return `LazyDerived<${this.debugName}>`;\n }\n // IObserver Implementation\n beginUpdate(_observable) {\n this.updateCount++;\n const propagateBeginUpdate = this.updateCount === 1;\n if (this.state === 3 /* DerivedState.upToDate */) {\n this.state = 1 /* DerivedState.dependenciesMightHaveChanged */;\n // If we propagate begin update, that will already signal a possible change.\n if (!propagateBeginUpdate) {\n for (const r of this.observers) {\n r.handlePossibleChange(this);\n }\n }\n }\n if (propagateBeginUpdate) {\n for (const r of this.observers) {\n r.beginUpdate(this); // This signals a possible change\n }\n }\n }\n endUpdate(_observable) {\n this.updateCount--;\n if (this.updateCount === 0) {\n // End update could change the observer list.\n const observers = [...this.observers];\n for (const r of observers) {\n r.endUpdate(this);\n }\n }\n if (this.updateCount < 0) {\n throw new _errors_js__WEBPACK_IMPORTED_MODULE_0__.BugIndicatingError();\n }\n }\n handlePossibleChange(observable) {\n // In all other states, observers already know that we might have changed.\n if (this.state === 3 /* DerivedState.upToDate */ && this.dependencies.has(observable) && !this.dependenciesToBeRemoved.has(observable)) {\n this.state = 1 /* DerivedState.dependenciesMightHaveChanged */;\n for (const r of this.observers) {\n r.handlePossibleChange(this);\n }\n }\n }\n handleChange(observable, change) {\n if (this.dependencies.has(observable) && !this.dependenciesToBeRemoved.has(observable)) {\n const shouldReact = this._handleChange ? this._handleChange({\n changedObservable: observable,\n change,\n didChange: o => o === observable,\n }, this.changeSummary) : true;\n const wasUpToDate = this.state === 3 /* DerivedState.upToDate */;\n if (shouldReact && (this.state === 1 /* DerivedState.dependenciesMightHaveChanged */ || wasUpToDate)) {\n this.state = 2 /* DerivedState.stale */;\n if (wasUpToDate) {\n for (const r of this.observers) {\n r.handlePossibleChange(this);\n }\n }\n }\n }\n }\n // IReader Implementation\n readObservable(observable) {\n // Subscribe before getting the value to enable caching\n observable.addObserver(this);\n /** This might call {@link handleChange} indirectly, which could invalidate us */\n const value = observable.get();\n // Which is why we only add the observable to the dependencies now.\n this.dependencies.add(observable);\n this.dependenciesToBeRemoved.delete(observable);\n return value;\n }\n addObserver(observer) {\n const shouldCallBeginUpdate = !this.observers.has(observer) && this.updateCount > 0;\n super.addObserver(observer);\n if (shouldCallBeginUpdate) {\n observer.beginUpdate(this);\n }\n }\n removeObserver(observer) {\n const shouldCallEndUpdate = this.observers.has(observer) && this.updateCount > 0;\n super.removeObserver(observer);\n if (shouldCallEndUpdate) {\n // Calling end update after removing the observer makes sure endUpdate cannot be called twice here.\n observer.endUpdate(this);\n }\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/observableInternal/derived.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/observableInternal/logging.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/observableInternal/logging.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConsoleObservableLogger: () => (/* binding */ ConsoleObservableLogger),\n/* harmony export */ getLogger: () => (/* binding */ getLogger),\n/* harmony export */ setLogger: () => (/* binding */ setLogger)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nlet globalObservableLogger;\nfunction setLogger(logger) {\n globalObservableLogger = logger;\n}\nfunction getLogger() {\n return globalObservableLogger;\n}\nclass ConsoleObservableLogger {\n constructor() {\n this.indentation = 0;\n this.changedObservablesSets = new WeakMap();\n }\n textToConsoleArgs(text) {\n return consoleTextToArgs([\n normalText(repeat('| ', this.indentation)),\n text,\n ]);\n }\n formatInfo(info) {\n if (!info.hadValue) {\n return [\n normalText(` `),\n styled(formatValue(info.newValue, 60), {\n color: 'green',\n }),\n normalText(` (initial)`),\n ];\n }\n return info.didChange\n ? [\n normalText(` `),\n styled(formatValue(info.oldValue, 70), {\n color: 'red',\n strikeThrough: true,\n }),\n normalText(` `),\n styled(formatValue(info.newValue, 60), {\n color: 'green',\n }),\n ]\n : [normalText(` (unchanged)`)];\n }\n handleObservableChanged(observable, info) {\n console.log(...this.textToConsoleArgs([\n formatKind('observable value changed'),\n styled(observable.debugName, { color: 'BlueViolet' }),\n ...this.formatInfo(info),\n ]));\n }\n formatChanges(changes) {\n if (changes.size === 0) {\n return undefined;\n }\n return styled(' (changed deps: ' +\n [...changes].map((o) => o.debugName).join(', ') +\n ')', { color: 'gray' });\n }\n handleDerivedCreated(derived) {\n const existingHandleChange = derived.handleChange;\n this.changedObservablesSets.set(derived, new Set());\n derived.handleChange = (observable, change) => {\n this.changedObservablesSets.get(derived).add(observable);\n return existingHandleChange.apply(derived, [observable, change]);\n };\n }\n handleDerivedRecomputed(derived, info) {\n const changedObservables = this.changedObservablesSets.get(derived);\n console.log(...this.textToConsoleArgs([\n formatKind('derived recomputed'),\n styled(derived.debugName, { color: 'BlueViolet' }),\n ...this.formatInfo(info),\n this.formatChanges(changedObservables),\n { data: [{ fn: derived._computeFn }] }\n ]));\n changedObservables.clear();\n }\n handleFromEventObservableTriggered(observable, info) {\n console.log(...this.textToConsoleArgs([\n formatKind('observable from event triggered'),\n styled(observable.debugName, { color: 'BlueViolet' }),\n ...this.formatInfo(info),\n { data: [{ fn: observable._getValue }] }\n ]));\n }\n handleAutorunCreated(autorun) {\n const existingHandleChange = autorun.handleChange;\n this.changedObservablesSets.set(autorun, new Set());\n autorun.handleChange = (observable, change) => {\n this.changedObservablesSets.get(autorun).add(observable);\n return existingHandleChange.apply(autorun, [observable, change]);\n };\n }\n handleAutorunTriggered(autorun) {\n const changedObservables = this.changedObservablesSets.get(autorun);\n console.log(...this.textToConsoleArgs([\n formatKind('autorun'),\n styled(autorun.debugName, { color: 'BlueViolet' }),\n this.formatChanges(changedObservables),\n { data: [{ fn: autorun._runFn }] }\n ]));\n changedObservables.clear();\n this.indentation++;\n }\n handleAutorunFinished(autorun) {\n this.indentation--;\n }\n handleBeginTransaction(transaction) {\n let transactionName = transaction.getDebugName();\n if (transactionName === undefined) {\n transactionName = '';\n }\n console.log(...this.textToConsoleArgs([\n formatKind('transaction'),\n styled(transactionName, { color: 'BlueViolet' }),\n { data: [{ fn: transaction._fn }] }\n ]));\n this.indentation++;\n }\n handleEndTransaction() {\n this.indentation--;\n }\n}\nfunction consoleTextToArgs(text) {\n const styles = new Array();\n const data = [];\n let firstArg = '';\n function process(t) {\n if ('length' in t) {\n for (const item of t) {\n if (item) {\n process(item);\n }\n }\n }\n else if ('text' in t) {\n firstArg += `%c${t.text}`;\n styles.push(t.style);\n if (t.data) {\n data.push(...t.data);\n }\n }\n else if ('data' in t) {\n data.push(...t.data);\n }\n }\n process(text);\n const result = [firstArg, ...styles];\n result.push(...data);\n return result;\n}\nfunction normalText(text) {\n return styled(text, { color: 'black' });\n}\nfunction formatKind(kind) {\n return styled(padStr(`${kind}: `, 10), { color: 'black', bold: true });\n}\nfunction styled(text, options = {\n color: 'black',\n}) {\n function objToCss(styleObj) {\n return Object.entries(styleObj).reduce((styleString, [propName, propValue]) => {\n return `${styleString}${propName}:${propValue};`;\n }, '');\n }\n const style = {\n color: options.color,\n };\n if (options.strikeThrough) {\n style['text-decoration'] = 'line-through';\n }\n if (options.bold) {\n style['font-weight'] = 'bold';\n }\n return {\n text,\n style: objToCss(style),\n };\n}\nfunction formatValue(value, availableLen) {\n switch (typeof value) {\n case 'number':\n return '' + value;\n case 'string':\n if (value.length + 2 <= availableLen) {\n return `\"${value}\"`;\n }\n return `\"${value.substr(0, availableLen - 7)}\"+...`;\n case 'boolean':\n return value ? 'true' : 'false';\n case 'undefined':\n return 'undefined';\n case 'object':\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return formatArray(value, availableLen);\n }\n return formatObject(value, availableLen);\n case 'symbol':\n return value.toString();\n case 'function':\n return `[[Function${value.name ? ' ' + value.name : ''}]]`;\n default:\n return '' + value;\n }\n}\nfunction formatArray(value, availableLen) {\n let result = '[ ';\n let first = true;\n for (const val of value) {\n if (!first) {\n result += ', ';\n }\n if (result.length - 5 > availableLen) {\n result += '...';\n break;\n }\n first = false;\n result += `${formatValue(val, availableLen - result.length)}`;\n }\n result += ' ]';\n return result;\n}\nfunction formatObject(value, availableLen) {\n let result = '{ ';\n let first = true;\n for (const [key, val] of Object.entries(value)) {\n if (!first) {\n result += ', ';\n }\n if (result.length - 5 > availableLen) {\n result += '...';\n break;\n }\n first = false;\n result += `${key}: ${formatValue(val, availableLen - result.length)}`;\n }\n result += ' }';\n return result;\n}\nfunction repeat(str, count) {\n let result = '';\n for (let i = 1; i <= count; i++) {\n result += str;\n }\n return result;\n}\nfunction padStr(str, length) {\n while (str.length < length) {\n str += ' ';\n }\n return str;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/observableInternal/logging.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/observableInternal/utils.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/observableInternal/utils.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FromEventObservable: () => (/* binding */ FromEventObservable),\n/* harmony export */ constObservable: () => (/* binding */ constObservable),\n/* harmony export */ derivedObservableWithCache: () => (/* binding */ derivedObservableWithCache),\n/* harmony export */ observableFromEvent: () => (/* binding */ observableFromEvent),\n/* harmony export */ observableSignal: () => (/* binding */ observableSignal),\n/* harmony export */ observableSignalFromEvent: () => (/* binding */ observableSignalFromEvent),\n/* harmony export */ recomputeInitiallyAndOnChange: () => (/* binding */ recomputeInitiallyAndOnChange),\n/* harmony export */ waitForState: () => (/* binding */ waitForState)\n/* harmony export */ });\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _autorun_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./autorun.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/autorun.js\");\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/base.js\");\n/* harmony import */ var _derived_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./derived.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/derived.js\");\n/* harmony import */ var _logging_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./logging.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableInternal/logging.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n/**\n * Represents an efficient observable whose value never changes.\n */\nfunction constObservable(value) {\n return new ConstObservable(value);\n}\nclass ConstObservable extends _base_js__WEBPACK_IMPORTED_MODULE_2__.ConvenientObservable {\n constructor(value) {\n super();\n this.value = value;\n }\n get debugName() {\n return this.toString();\n }\n get() {\n return this.value;\n }\n addObserver(observer) {\n // NO OP\n }\n removeObserver(observer) {\n // NO OP\n }\n toString() {\n return `Const: ${this.value}`;\n }\n}\nfunction waitForState(observable, predicate) {\n return new Promise(resolve => {\n let didRun = false;\n let shouldDispose = false;\n const stateObs = observable.map(state => ({ isFinished: predicate(state), state }));\n const d = (0,_autorun_js__WEBPACK_IMPORTED_MODULE_1__.autorun)(reader => {\n /** @description waitForState */\n const { isFinished, state } = stateObs.read(reader);\n if (isFinished) {\n if (!didRun) {\n shouldDispose = true;\n }\n else {\n d.dispose();\n }\n resolve(state);\n }\n });\n didRun = true;\n if (shouldDispose) {\n d.dispose();\n }\n });\n}\nfunction observableFromEvent(event, getValue) {\n return new FromEventObservable(event, getValue);\n}\nclass FromEventObservable extends _base_js__WEBPACK_IMPORTED_MODULE_2__.BaseObservable {\n constructor(event, _getValue) {\n super();\n this.event = event;\n this._getValue = _getValue;\n this.hasValue = false;\n this.handleEvent = (args) => {\n var _a;\n const newValue = this._getValue(args);\n const oldValue = this.value;\n const didChange = !this.hasValue || oldValue !== newValue;\n let didRunTransaction = false;\n if (didChange) {\n this.value = newValue;\n if (this.hasValue) {\n didRunTransaction = true;\n (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.subtransaction)(FromEventObservable.globalTransaction, (tx) => {\n var _a;\n (_a = (0,_logging_js__WEBPACK_IMPORTED_MODULE_4__.getLogger)()) === null || _a === void 0 ? void 0 : _a.handleFromEventObservableTriggered(this, { oldValue, newValue, change: undefined, didChange, hadValue: this.hasValue });\n for (const o of this.observers) {\n tx.updateObserver(o, this);\n o.handleChange(this, undefined);\n }\n }, () => {\n const name = this.getDebugName();\n return 'Event fired' + (name ? `: ${name}` : '');\n });\n }\n this.hasValue = true;\n }\n if (!didRunTransaction) {\n (_a = (0,_logging_js__WEBPACK_IMPORTED_MODULE_4__.getLogger)()) === null || _a === void 0 ? void 0 : _a.handleFromEventObservableTriggered(this, { oldValue, newValue, change: undefined, didChange, hadValue: this.hasValue });\n }\n };\n }\n getDebugName() {\n return (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.getFunctionName)(this._getValue);\n }\n get debugName() {\n const name = this.getDebugName();\n return 'From Event' + (name ? `: ${name}` : '');\n }\n onFirstObserverAdded() {\n this.subscription = this.event(this.handleEvent);\n }\n onLastObserverRemoved() {\n this.subscription.dispose();\n this.subscription = undefined;\n this.hasValue = false;\n this.value = undefined;\n }\n get() {\n if (this.subscription) {\n if (!this.hasValue) {\n this.handleEvent(undefined);\n }\n return this.value;\n }\n else {\n // no cache, as there are no subscribers to keep it updated\n return this._getValue(undefined);\n }\n }\n}\n(function (observableFromEvent) {\n observableFromEvent.Observer = FromEventObservable;\n function batchEventsGlobally(tx, fn) {\n let didSet = false;\n if (FromEventObservable.globalTransaction === undefined) {\n FromEventObservable.globalTransaction = tx;\n didSet = true;\n }\n try {\n fn();\n }\n finally {\n if (didSet) {\n FromEventObservable.globalTransaction = undefined;\n }\n }\n }\n observableFromEvent.batchEventsGlobally = batchEventsGlobally;\n})(observableFromEvent || (observableFromEvent = {}));\nfunction observableSignalFromEvent(debugName, event) {\n return new FromEventObservableSignal(debugName, event);\n}\nclass FromEventObservableSignal extends _base_js__WEBPACK_IMPORTED_MODULE_2__.BaseObservable {\n constructor(debugName, event) {\n super();\n this.debugName = debugName;\n this.event = event;\n this.handleEvent = () => {\n (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.transaction)((tx) => {\n for (const o of this.observers) {\n tx.updateObserver(o, this);\n o.handleChange(this, undefined);\n }\n }, () => this.debugName);\n };\n }\n onFirstObserverAdded() {\n this.subscription = this.event(this.handleEvent);\n }\n onLastObserverRemoved() {\n this.subscription.dispose();\n this.subscription = undefined;\n }\n get() {\n // NO OP\n }\n}\nfunction observableSignal(debugNameOrOwner) {\n if (typeof debugNameOrOwner === 'string') {\n return new ObservableSignal(debugNameOrOwner);\n }\n else {\n return new ObservableSignal(undefined, debugNameOrOwner);\n }\n}\nclass ObservableSignal extends _base_js__WEBPACK_IMPORTED_MODULE_2__.BaseObservable {\n get debugName() {\n var _a;\n return (_a = (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.getDebugName)(this, this._debugName, undefined, this._owner, this)) !== null && _a !== void 0 ? _a : 'Observable Signal';\n }\n constructor(_debugName, _owner) {\n super();\n this._debugName = _debugName;\n this._owner = _owner;\n }\n trigger(tx, change) {\n if (!tx) {\n (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.transaction)(tx => {\n this.trigger(tx, change);\n }, () => `Trigger signal ${this.debugName}`);\n return;\n }\n for (const o of this.observers) {\n tx.updateObserver(o, this);\n o.handleChange(this, change);\n }\n }\n get() {\n // NO OP\n }\n}\n/**\n * This converts the given observable into an autorun.\n */\nfunction recomputeInitiallyAndOnChange(observable, handleValue) {\n const o = new KeepAliveObserver(true, handleValue);\n observable.addObserver(o);\n if (handleValue) {\n handleValue(observable.get());\n }\n else {\n observable.reportChanges();\n }\n return (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_0__.toDisposable)(() => {\n observable.removeObserver(o);\n });\n}\n(0,_base_js__WEBPACK_IMPORTED_MODULE_2__._setRecomputeInitiallyAndOnChange)(recomputeInitiallyAndOnChange);\nclass KeepAliveObserver {\n constructor(_forceRecompute, _handleValue) {\n this._forceRecompute = _forceRecompute;\n this._handleValue = _handleValue;\n this._counter = 0;\n }\n beginUpdate(observable) {\n this._counter++;\n }\n endUpdate(observable) {\n this._counter--;\n if (this._counter === 0 && this._forceRecompute) {\n if (this._handleValue) {\n this._handleValue(observable.get());\n }\n else {\n observable.reportChanges();\n }\n }\n }\n handlePossibleChange(observable) {\n // NO OP\n }\n handleChange(observable, change) {\n // NO OP\n }\n}\nfunction derivedObservableWithCache(computeFn) {\n let lastValue = undefined;\n const observable = (0,_derived_js__WEBPACK_IMPORTED_MODULE_3__.derived)(reader => {\n lastValue = computeFn(reader, lastValue);\n return lastValue;\n });\n return observable;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/observableInternal/utils.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/path.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/path.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ basename: () => (/* binding */ basename),\n/* harmony export */ dirname: () => (/* binding */ dirname),\n/* harmony export */ extname: () => (/* binding */ extname),\n/* harmony export */ normalize: () => (/* binding */ normalize),\n/* harmony export */ posix: () => (/* binding */ posix),\n/* harmony export */ relative: () => (/* binding */ relative),\n/* harmony export */ resolve: () => (/* binding */ resolve),\n/* harmony export */ sep: () => (/* binding */ sep),\n/* harmony export */ win32: () => (/* binding */ win32)\n/* harmony export */ });\n/* harmony import */ var _process_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./process.js */ \"./node_modules/monaco-editor/esm/vs/base/common/process.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n// NOTE: VSCode's copy of nodejs path library to be usable in common (non-node) namespace\n// Copied from: https://github.com/nodejs/node/blob/v16.14.2/lib/path.js\n/**\n * Copyright Joyent, Inc. and other Node contributors.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to permit\n * persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nconst CHAR_UPPERCASE_A = 65; /* A */\nconst CHAR_LOWERCASE_A = 97; /* a */\nconst CHAR_UPPERCASE_Z = 90; /* Z */\nconst CHAR_LOWERCASE_Z = 122; /* z */\nconst CHAR_DOT = 46; /* . */\nconst CHAR_FORWARD_SLASH = 47; /* / */\nconst CHAR_BACKWARD_SLASH = 92; /* \\ */\nconst CHAR_COLON = 58; /* : */\nconst CHAR_QUESTION_MARK = 63; /* ? */\nclass ErrorInvalidArgType extends Error {\n constructor(name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n let determiner;\n if (typeof expected === 'string' && expected.indexOf('not ') === 0) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n }\n else {\n determiner = 'must be';\n }\n const type = name.indexOf('.') !== -1 ? 'property' : 'argument';\n let msg = `The \"${name}\" ${type} ${determiner} of type ${expected}`;\n msg += `. Received type ${typeof actual}`;\n super(msg);\n this.code = 'ERR_INVALID_ARG_TYPE';\n }\n}\nfunction validateObject(pathObject, name) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new ErrorInvalidArgType(name, 'Object', pathObject);\n }\n}\nfunction validateString(value, name) {\n if (typeof value !== 'string') {\n throw new ErrorInvalidArgType(name, 'string', value);\n }\n}\nconst platformIsWin32 = (_process_js__WEBPACK_IMPORTED_MODULE_0__.platform === 'win32');\nfunction isPathSeparator(code) {\n return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;\n}\nfunction isPosixPathSeparator(code) {\n return code === CHAR_FORWARD_SLASH;\n}\nfunction isWindowsDeviceRoot(code) {\n return (code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z) ||\n (code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z);\n}\n// Resolves . and .. elements in a path with directory names\nfunction normalizeString(path, allowAboveRoot, separator, isPathSeparator) {\n let res = '';\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n let code = 0;\n for (let i = 0; i <= path.length; ++i) {\n if (i < path.length) {\n code = path.charCodeAt(i);\n }\n else if (isPathSeparator(code)) {\n break;\n }\n else {\n code = CHAR_FORWARD_SLASH;\n }\n if (isPathSeparator(code)) {\n if (lastSlash === i - 1 || dots === 1) {\n // NOOP\n }\n else if (dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 ||\n res.charCodeAt(res.length - 1) !== CHAR_DOT ||\n res.charCodeAt(res.length - 2) !== CHAR_DOT) {\n if (res.length > 2) {\n const lastSlashIndex = res.lastIndexOf(separator);\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n }\n else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf(separator);\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n else if (res.length !== 0) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n res += res.length > 0 ? `${separator}..` : '..';\n lastSegmentLength = 2;\n }\n }\n else {\n if (res.length > 0) {\n res += `${separator}${path.slice(lastSlash + 1, i)}`;\n }\n else {\n res = path.slice(lastSlash + 1, i);\n }\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n }\n else if (code === CHAR_DOT && dots !== -1) {\n ++dots;\n }\n else {\n dots = -1;\n }\n }\n return res;\n}\nfunction _format(sep, pathObject) {\n validateObject(pathObject, 'pathObject');\n const dir = pathObject.dir || pathObject.root;\n const base = pathObject.base ||\n `${pathObject.name || ''}${pathObject.ext || ''}`;\n if (!dir) {\n return base;\n }\n return dir === pathObject.root ? `${dir}${base}` : `${dir}${sep}${base}`;\n}\nconst win32 = {\n // path.resolve([from ...], to)\n resolve(...pathSegments) {\n let resolvedDevice = '';\n let resolvedTail = '';\n let resolvedAbsolute = false;\n for (let i = pathSegments.length - 1; i >= -1; i--) {\n let path;\n if (i >= 0) {\n path = pathSegments[i];\n validateString(path, 'path');\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n }\n else if (resolvedDevice.length === 0) {\n path = _process_js__WEBPACK_IMPORTED_MODULE_0__.cwd();\n }\n else {\n // Windows has the concept of drive-specific current working\n // directories. If we've resolved a drive letter but not yet an\n // absolute path, get cwd for that drive, or the process cwd if\n // the drive cwd is not available. We're sure the device is not\n // a UNC path at this points, because UNC paths are always absolute.\n path = _process_js__WEBPACK_IMPORTED_MODULE_0__.env[`=${resolvedDevice}`] || _process_js__WEBPACK_IMPORTED_MODULE_0__.cwd();\n // Verify that a cwd was found and that it actually points\n // to our drive. If not, default to the drive's root.\n if (path === undefined ||\n (path.slice(0, 2).toLowerCase() !== resolvedDevice.toLowerCase() &&\n path.charCodeAt(2) === CHAR_BACKWARD_SLASH)) {\n path = `${resolvedDevice}\\\\`;\n }\n }\n const len = path.length;\n let rootEnd = 0;\n let device = '';\n let isAbsolute = false;\n const code = path.charCodeAt(0);\n // Try to match a root\n if (len === 1) {\n if (isPathSeparator(code)) {\n // `path` contains just a path separator\n rootEnd = 1;\n isAbsolute = true;\n }\n }\n else if (isPathSeparator(code)) {\n // Possible UNC root\n // If we started with a separator, we know we at least have an\n // absolute path of some kind (UNC or otherwise)\n isAbsolute = true;\n if (isPathSeparator(path.charCodeAt(1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n const firstPart = path.slice(last, j);\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len && isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j === len || j !== last) {\n // We matched a UNC root\n device = `\\\\\\\\${firstPart}\\\\${path.slice(last, j)}`;\n rootEnd = j;\n }\n }\n }\n }\n else {\n rootEnd = 1;\n }\n }\n else if (isWindowsDeviceRoot(code) &&\n path.charCodeAt(1) === CHAR_COLON) {\n // Possible device root\n device = path.slice(0, 2);\n rootEnd = 2;\n if (len > 2 && isPathSeparator(path.charCodeAt(2))) {\n // Treat separator following drive name as an absolute path\n // indicator\n isAbsolute = true;\n rootEnd = 3;\n }\n }\n if (device.length > 0) {\n if (resolvedDevice.length > 0) {\n if (device.toLowerCase() !== resolvedDevice.toLowerCase()) {\n // This path points to another device so it is not applicable\n continue;\n }\n }\n else {\n resolvedDevice = device;\n }\n }\n if (resolvedAbsolute) {\n if (resolvedDevice.length > 0) {\n break;\n }\n }\n else {\n resolvedTail = `${path.slice(rootEnd)}\\\\${resolvedTail}`;\n resolvedAbsolute = isAbsolute;\n if (isAbsolute && resolvedDevice.length > 0) {\n break;\n }\n }\n }\n // At this point the path should be resolved to a full absolute path,\n // but handle relative paths to be safe (might happen when process.cwd()\n // fails)\n // Normalize the tail path\n resolvedTail = normalizeString(resolvedTail, !resolvedAbsolute, '\\\\', isPathSeparator);\n return resolvedAbsolute ?\n `${resolvedDevice}\\\\${resolvedTail}` :\n `${resolvedDevice}${resolvedTail}` || '.';\n },\n normalize(path) {\n validateString(path, 'path');\n const len = path.length;\n if (len === 0) {\n return '.';\n }\n let rootEnd = 0;\n let device;\n let isAbsolute = false;\n const code = path.charCodeAt(0);\n // Try to match a root\n if (len === 1) {\n // `path` contains just a single char, exit early to avoid\n // unnecessary work\n return isPosixPathSeparator(code) ? '\\\\' : path;\n }\n if (isPathSeparator(code)) {\n // Possible UNC root\n // If we started with a separator, we know we at least have an absolute\n // path of some kind (UNC or otherwise)\n isAbsolute = true;\n if (isPathSeparator(path.charCodeAt(1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n const firstPart = path.slice(last, j);\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len && isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j === len) {\n // We matched a UNC root only\n // Return the normalized version of the UNC root since there\n // is nothing left to process\n return `\\\\\\\\${firstPart}\\\\${path.slice(last)}\\\\`;\n }\n if (j !== last) {\n // We matched a UNC root with leftovers\n device = `\\\\\\\\${firstPart}\\\\${path.slice(last, j)}`;\n rootEnd = j;\n }\n }\n }\n }\n else {\n rootEnd = 1;\n }\n }\n else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {\n // Possible device root\n device = path.slice(0, 2);\n rootEnd = 2;\n if (len > 2 && isPathSeparator(path.charCodeAt(2))) {\n // Treat separator following drive name as an absolute path\n // indicator\n isAbsolute = true;\n rootEnd = 3;\n }\n }\n let tail = rootEnd < len ?\n normalizeString(path.slice(rootEnd), !isAbsolute, '\\\\', isPathSeparator) :\n '';\n if (tail.length === 0 && !isAbsolute) {\n tail = '.';\n }\n if (tail.length > 0 && isPathSeparator(path.charCodeAt(len - 1))) {\n tail += '\\\\';\n }\n if (device === undefined) {\n return isAbsolute ? `\\\\${tail}` : tail;\n }\n return isAbsolute ? `${device}\\\\${tail}` : `${device}${tail}`;\n },\n isAbsolute(path) {\n validateString(path, 'path');\n const len = path.length;\n if (len === 0) {\n return false;\n }\n const code = path.charCodeAt(0);\n return isPathSeparator(code) ||\n // Possible device root\n (len > 2 &&\n isWindowsDeviceRoot(code) &&\n path.charCodeAt(1) === CHAR_COLON &&\n isPathSeparator(path.charCodeAt(2)));\n },\n join(...paths) {\n if (paths.length === 0) {\n return '.';\n }\n let joined;\n let firstPart;\n for (let i = 0; i < paths.length; ++i) {\n const arg = paths[i];\n validateString(arg, 'path');\n if (arg.length > 0) {\n if (joined === undefined) {\n joined = firstPart = arg;\n }\n else {\n joined += `\\\\${arg}`;\n }\n }\n }\n if (joined === undefined) {\n return '.';\n }\n // Make sure that the joined path doesn't start with two slashes, because\n // normalize() will mistake it for a UNC path then.\n //\n // This step is skipped when it is very clear that the user actually\n // intended to point at a UNC path. This is assumed when the first\n // non-empty string arguments starts with exactly two slashes followed by\n // at least one more non-slash character.\n //\n // Note that for normalize() to treat a path as a UNC path it needs to\n // have at least 2 components, so we don't filter for that here.\n // This means that the user can use join to construct UNC paths from\n // a server name and a share name; for example:\n // path.join('//server', 'share') -> '\\\\\\\\server\\\\share\\\\')\n let needsReplace = true;\n let slashCount = 0;\n if (typeof firstPart === 'string' && isPathSeparator(firstPart.charCodeAt(0))) {\n ++slashCount;\n const firstLen = firstPart.length;\n if (firstLen > 1 && isPathSeparator(firstPart.charCodeAt(1))) {\n ++slashCount;\n if (firstLen > 2) {\n if (isPathSeparator(firstPart.charCodeAt(2))) {\n ++slashCount;\n }\n else {\n // We matched a UNC path in the first part\n needsReplace = false;\n }\n }\n }\n }\n if (needsReplace) {\n // Find any more consecutive slashes we need to replace\n while (slashCount < joined.length &&\n isPathSeparator(joined.charCodeAt(slashCount))) {\n slashCount++;\n }\n // Replace the slashes if needed\n if (slashCount >= 2) {\n joined = `\\\\${joined.slice(slashCount)}`;\n }\n }\n return win32.normalize(joined);\n },\n // It will solve the relative path from `from` to `to`, for instance:\n // from = 'C:\\\\orandea\\\\test\\\\aaa'\n // to = 'C:\\\\orandea\\\\impl\\\\bbb'\n // The output of the function should be: '..\\\\..\\\\impl\\\\bbb'\n relative(from, to) {\n validateString(from, 'from');\n validateString(to, 'to');\n if (from === to) {\n return '';\n }\n const fromOrig = win32.resolve(from);\n const toOrig = win32.resolve(to);\n if (fromOrig === toOrig) {\n return '';\n }\n from = fromOrig.toLowerCase();\n to = toOrig.toLowerCase();\n if (from === to) {\n return '';\n }\n // Trim any leading backslashes\n let fromStart = 0;\n while (fromStart < from.length &&\n from.charCodeAt(fromStart) === CHAR_BACKWARD_SLASH) {\n fromStart++;\n }\n // Trim trailing backslashes (applicable to UNC paths only)\n let fromEnd = from.length;\n while (fromEnd - 1 > fromStart &&\n from.charCodeAt(fromEnd - 1) === CHAR_BACKWARD_SLASH) {\n fromEnd--;\n }\n const fromLen = fromEnd - fromStart;\n // Trim any leading backslashes\n let toStart = 0;\n while (toStart < to.length &&\n to.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) {\n toStart++;\n }\n // Trim trailing backslashes (applicable to UNC paths only)\n let toEnd = to.length;\n while (toEnd - 1 > toStart &&\n to.charCodeAt(toEnd - 1) === CHAR_BACKWARD_SLASH) {\n toEnd--;\n }\n const toLen = toEnd - toStart;\n // Compare paths to find the longest common path from root\n const length = fromLen < toLen ? fromLen : toLen;\n let lastCommonSep = -1;\n let i = 0;\n for (; i < length; i++) {\n const fromCode = from.charCodeAt(fromStart + i);\n if (fromCode !== to.charCodeAt(toStart + i)) {\n break;\n }\n else if (fromCode === CHAR_BACKWARD_SLASH) {\n lastCommonSep = i;\n }\n }\n // We found a mismatch before the first common path separator was seen, so\n // return the original `to`.\n if (i !== length) {\n if (lastCommonSep === -1) {\n return toOrig;\n }\n }\n else {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo\\\\bar\\\\baz'\n return toOrig.slice(toStart + i + 1);\n }\n if (i === 2) {\n // We get here if `from` is the device root.\n // For example: from='C:\\\\'; to='C:\\\\foo'\n return toOrig.slice(toStart + i);\n }\n }\n if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === CHAR_BACKWARD_SLASH) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo'\n lastCommonSep = i;\n }\n else if (i === 2) {\n // We get here if `to` is the device root.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\'\n lastCommonSep = 3;\n }\n }\n if (lastCommonSep === -1) {\n lastCommonSep = 0;\n }\n }\n let out = '';\n // Generate the relative path based on the path difference between `to` and\n // `from`\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) {\n out += out.length === 0 ? '..' : '\\\\..';\n }\n }\n toStart += lastCommonSep;\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0) {\n return `${out}${toOrig.slice(toStart, toEnd)}`;\n }\n if (toOrig.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) {\n ++toStart;\n }\n return toOrig.slice(toStart, toEnd);\n },\n toNamespacedPath(path) {\n // Note: this will *probably* throw somewhere.\n if (typeof path !== 'string' || path.length === 0) {\n return path;\n }\n const resolvedPath = win32.resolve(path);\n if (resolvedPath.length <= 2) {\n return path;\n }\n if (resolvedPath.charCodeAt(0) === CHAR_BACKWARD_SLASH) {\n // Possible UNC root\n if (resolvedPath.charCodeAt(1) === CHAR_BACKWARD_SLASH) {\n const code = resolvedPath.charCodeAt(2);\n if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) {\n // Matched non-long UNC root, convert the path to a long UNC path\n return `\\\\\\\\?\\\\UNC\\\\${resolvedPath.slice(2)}`;\n }\n }\n }\n else if (isWindowsDeviceRoot(resolvedPath.charCodeAt(0)) &&\n resolvedPath.charCodeAt(1) === CHAR_COLON &&\n resolvedPath.charCodeAt(2) === CHAR_BACKWARD_SLASH) {\n // Matched device root, convert the path to a long UNC path\n return `\\\\\\\\?\\\\${resolvedPath}`;\n }\n return path;\n },\n dirname(path) {\n validateString(path, 'path');\n const len = path.length;\n if (len === 0) {\n return '.';\n }\n let rootEnd = -1;\n let offset = 0;\n const code = path.charCodeAt(0);\n if (len === 1) {\n // `path` contains just a path separator, exit early to avoid\n // unnecessary work or a dot.\n return isPathSeparator(code) ? path : '.';\n }\n // Try to match a root\n if (isPathSeparator(code)) {\n // Possible UNC root\n rootEnd = offset = 1;\n if (isPathSeparator(path.charCodeAt(1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len && isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j === len) {\n // We matched a UNC root only\n return path;\n }\n if (j !== last) {\n // We matched a UNC root with leftovers\n // Offset by 1 to include the separator after the UNC root to\n // treat it as a \"normal root\" on top of a (UNC) root\n rootEnd = offset = j + 1;\n }\n }\n }\n }\n // Possible device root\n }\n else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {\n rootEnd = len > 2 && isPathSeparator(path.charCodeAt(2)) ? 3 : 2;\n offset = rootEnd;\n }\n let end = -1;\n let matchedSlash = true;\n for (let i = len - 1; i >= offset; --i) {\n if (isPathSeparator(path.charCodeAt(i))) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n }\n else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n if (end === -1) {\n if (rootEnd === -1) {\n return '.';\n }\n end = rootEnd;\n }\n return path.slice(0, end);\n },\n basename(path, ext) {\n if (ext !== undefined) {\n validateString(ext, 'ext');\n }\n validateString(path, 'path');\n let start = 0;\n let end = -1;\n let matchedSlash = true;\n let i;\n // Check for a drive letter prefix so as not to mistake the following\n // path separator as an extra separator at the end of the path that can be\n // disregarded\n if (path.length >= 2 &&\n isWindowsDeviceRoot(path.charCodeAt(0)) &&\n path.charCodeAt(1) === CHAR_COLON) {\n start = 2;\n }\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext === path) {\n return '';\n }\n let extIdx = ext.length - 1;\n let firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= start; --i) {\n const code = path.charCodeAt(i);\n if (isPathSeparator(code)) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n }\n else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = i;\n }\n }\n else {\n // Extension does not match, so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n if (start === end) {\n end = firstNonSlashEnd;\n }\n else if (end === -1) {\n end = path.length;\n }\n return path.slice(start, end);\n }\n for (i = path.length - 1; i >= start; --i) {\n if (isPathSeparator(path.charCodeAt(i))) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n }\n else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n if (end === -1) {\n return '';\n }\n return path.slice(start, end);\n },\n extname(path) {\n validateString(path, 'path');\n let start = 0;\n let startDot = -1;\n let startPart = 0;\n let end = -1;\n let matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n // Check for a drive letter prefix so as not to mistake the following\n // path separator as an extra separator at the end of the path that can be\n // disregarded\n if (path.length >= 2 &&\n path.charCodeAt(1) === CHAR_COLON &&\n isWindowsDeviceRoot(path.charCodeAt(0))) {\n start = startPart = 2;\n }\n for (let i = path.length - 1; i >= start; --i) {\n const code = path.charCodeAt(i);\n if (isPathSeparator(code)) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) {\n startDot = i;\n }\n else if (preDotState !== 1) {\n preDotState = 1;\n }\n }\n else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n if (startDot === -1 ||\n end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n return '';\n }\n return path.slice(startDot, end);\n },\n format: _format.bind(null, '\\\\'),\n parse(path) {\n validateString(path, 'path');\n const ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (path.length === 0) {\n return ret;\n }\n const len = path.length;\n let rootEnd = 0;\n let code = path.charCodeAt(0);\n if (len === 1) {\n if (isPathSeparator(code)) {\n // `path` contains just a path separator, exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path;\n return ret;\n }\n ret.base = ret.name = path;\n return ret;\n }\n // Try to match a root\n if (isPathSeparator(code)) {\n // Possible UNC root\n rootEnd = 1;\n if (isPathSeparator(path.charCodeAt(1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len && isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j === len) {\n // We matched a UNC root only\n rootEnd = j;\n }\n else if (j !== last) {\n // We matched a UNC root with leftovers\n rootEnd = j + 1;\n }\n }\n }\n }\n }\n else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {\n // Possible device root\n if (len <= 2) {\n // `path` contains just a drive root, exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path;\n return ret;\n }\n rootEnd = 2;\n if (isPathSeparator(path.charCodeAt(2))) {\n if (len === 3) {\n // `path` contains just a drive root, exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path;\n return ret;\n }\n rootEnd = 3;\n }\n }\n if (rootEnd > 0) {\n ret.root = path.slice(0, rootEnd);\n }\n let startDot = -1;\n let startPart = rootEnd;\n let end = -1;\n let matchedSlash = true;\n let i = path.length - 1;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n // Get non-dir info\n for (; i >= rootEnd; --i) {\n code = path.charCodeAt(i);\n if (isPathSeparator(code)) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) {\n startDot = i;\n }\n else if (preDotState !== 1) {\n preDotState = 1;\n }\n }\n else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n if (end !== -1) {\n if (startDot === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n ret.base = ret.name = path.slice(startPart, end);\n }\n else {\n ret.name = path.slice(startPart, startDot);\n ret.base = path.slice(startPart, end);\n ret.ext = path.slice(startDot, end);\n }\n }\n // If the directory is the root, use the entire root as the `dir` including\n // the trailing slash if any (`C:\\abc` -> `C:\\`). Otherwise, strip out the\n // trailing slash (`C:\\abc\\def` -> `C:\\abc`).\n if (startPart > 0 && startPart !== rootEnd) {\n ret.dir = path.slice(0, startPart - 1);\n }\n else {\n ret.dir = ret.root;\n }\n return ret;\n },\n sep: '\\\\',\n delimiter: ';',\n win32: null,\n posix: null\n};\nconst posixCwd = (() => {\n if (platformIsWin32) {\n // Converts Windows' backslash path separators to POSIX forward slashes\n // and truncates any drive indicator\n const regexp = /\\\\/g;\n return () => {\n const cwd = _process_js__WEBPACK_IMPORTED_MODULE_0__.cwd().replace(regexp, '/');\n return cwd.slice(cwd.indexOf('/'));\n };\n }\n // We're already on POSIX, no need for any transformations\n return () => _process_js__WEBPACK_IMPORTED_MODULE_0__.cwd();\n})();\nconst posix = {\n // path.resolve([from ...], to)\n resolve(...pathSegments) {\n let resolvedPath = '';\n let resolvedAbsolute = false;\n for (let i = pathSegments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n const path = i >= 0 ? pathSegments[i] : posixCwd();\n validateString(path, 'path');\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n resolvedPath = `${path}/${resolvedPath}`;\n resolvedAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\n }\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n // Normalize the path\n resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute, '/', isPosixPathSeparator);\n if (resolvedAbsolute) {\n return `/${resolvedPath}`;\n }\n return resolvedPath.length > 0 ? resolvedPath : '.';\n },\n normalize(path) {\n validateString(path, 'path');\n if (path.length === 0) {\n return '.';\n }\n const isAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\n const trailingSeparator = path.charCodeAt(path.length - 1) === CHAR_FORWARD_SLASH;\n // Normalize the path\n path = normalizeString(path, !isAbsolute, '/', isPosixPathSeparator);\n if (path.length === 0) {\n if (isAbsolute) {\n return '/';\n }\n return trailingSeparator ? './' : '.';\n }\n if (trailingSeparator) {\n path += '/';\n }\n return isAbsolute ? `/${path}` : path;\n },\n isAbsolute(path) {\n validateString(path, 'path');\n return path.length > 0 && path.charCodeAt(0) === CHAR_FORWARD_SLASH;\n },\n join(...paths) {\n if (paths.length === 0) {\n return '.';\n }\n let joined;\n for (let i = 0; i < paths.length; ++i) {\n const arg = paths[i];\n validateString(arg, 'path');\n if (arg.length > 0) {\n if (joined === undefined) {\n joined = arg;\n }\n else {\n joined += `/${arg}`;\n }\n }\n }\n if (joined === undefined) {\n return '.';\n }\n return posix.normalize(joined);\n },\n relative(from, to) {\n validateString(from, 'from');\n validateString(to, 'to');\n if (from === to) {\n return '';\n }\n // Trim leading forward slashes.\n from = posix.resolve(from);\n to = posix.resolve(to);\n if (from === to) {\n return '';\n }\n const fromStart = 1;\n const fromEnd = from.length;\n const fromLen = fromEnd - fromStart;\n const toStart = 1;\n const toLen = to.length - toStart;\n // Compare paths to find the longest common path from root\n const length = (fromLen < toLen ? fromLen : toLen);\n let lastCommonSep = -1;\n let i = 0;\n for (; i < length; i++) {\n const fromCode = from.charCodeAt(fromStart + i);\n if (fromCode !== to.charCodeAt(toStart + i)) {\n break;\n }\n else if (fromCode === CHAR_FORWARD_SLASH) {\n lastCommonSep = i;\n }\n }\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === CHAR_FORWARD_SLASH) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='/foo/bar'; to='/foo/bar/baz'\n return to.slice(toStart + i + 1);\n }\n if (i === 0) {\n // We get here if `from` is the root\n // For example: from='/'; to='/foo'\n return to.slice(toStart + i);\n }\n }\n else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === CHAR_FORWARD_SLASH) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='/foo/bar/baz'; to='/foo/bar'\n lastCommonSep = i;\n }\n else if (i === 0) {\n // We get here if `to` is the root.\n // For example: from='/foo/bar'; to='/'\n lastCommonSep = 0;\n }\n }\n }\n let out = '';\n // Generate the relative path based on the path difference between `to`\n // and `from`.\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === CHAR_FORWARD_SLASH) {\n out += out.length === 0 ? '..' : '/..';\n }\n }\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts.\n return `${out}${to.slice(toStart + lastCommonSep)}`;\n },\n toNamespacedPath(path) {\n // Non-op on posix systems\n return path;\n },\n dirname(path) {\n validateString(path, 'path');\n if (path.length === 0) {\n return '.';\n }\n const hasRoot = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\n let end = -1;\n let matchedSlash = true;\n for (let i = path.length - 1; i >= 1; --i) {\n if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n }\n else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n if (end === -1) {\n return hasRoot ? '/' : '.';\n }\n if (hasRoot && end === 1) {\n return '//';\n }\n return path.slice(0, end);\n },\n basename(path, ext) {\n if (ext !== undefined) {\n validateString(ext, 'ext');\n }\n validateString(path, 'path');\n let start = 0;\n let end = -1;\n let matchedSlash = true;\n let i;\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext === path) {\n return '';\n }\n let extIdx = ext.length - 1;\n let firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= 0; --i) {\n const code = path.charCodeAt(i);\n if (code === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n }\n else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = i;\n }\n }\n else {\n // Extension does not match, so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n if (start === end) {\n end = firstNonSlashEnd;\n }\n else if (end === -1) {\n end = path.length;\n }\n return path.slice(start, end);\n }\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n }\n else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n if (end === -1) {\n return '';\n }\n return path.slice(start, end);\n },\n extname(path) {\n validateString(path, 'path');\n let startDot = -1;\n let startPart = 0;\n let end = -1;\n let matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n for (let i = path.length - 1; i >= 0; --i) {\n const code = path.charCodeAt(i);\n if (code === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) {\n startDot = i;\n }\n else if (preDotState !== 1) {\n preDotState = 1;\n }\n }\n else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n if (startDot === -1 ||\n end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n return '';\n }\n return path.slice(startDot, end);\n },\n format: _format.bind(null, '/'),\n parse(path) {\n validateString(path, 'path');\n const ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (path.length === 0) {\n return ret;\n }\n const isAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\n let start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n }\n else {\n start = 0;\n }\n let startDot = -1;\n let startPart = 0;\n let end = -1;\n let matchedSlash = true;\n let i = path.length - 1;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n // Get non-dir info\n for (; i >= start; --i) {\n const code = path.charCodeAt(i);\n if (code === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) {\n startDot = i;\n }\n else if (preDotState !== 1) {\n preDotState = 1;\n }\n }\n else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n if (end !== -1) {\n const start = startPart === 0 && isAbsolute ? 1 : startPart;\n if (startDot === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n ret.base = ret.name = path.slice(start, end);\n }\n else {\n ret.name = path.slice(start, startDot);\n ret.base = path.slice(start, end);\n ret.ext = path.slice(startDot, end);\n }\n }\n if (startPart > 0) {\n ret.dir = path.slice(0, startPart - 1);\n }\n else if (isAbsolute) {\n ret.dir = '/';\n }\n return ret;\n },\n sep: '/',\n delimiter: ':',\n win32: null,\n posix: null\n};\nposix.win32 = win32.win32 = win32;\nposix.posix = win32.posix = posix;\nconst normalize = (platformIsWin32 ? win32.normalize : posix.normalize);\nconst resolve = (platformIsWin32 ? win32.resolve : posix.resolve);\nconst relative = (platformIsWin32 ? win32.relative : posix.relative);\nconst dirname = (platformIsWin32 ? win32.dirname : posix.dirname);\nconst basename = (platformIsWin32 ? win32.basename : posix.basename);\nconst extname = (platformIsWin32 ? win32.extname : posix.extname);\nconst sep = (platformIsWin32 ? win32.sep : posix.sep);\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/path.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/platform.js":
+/*!*******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/platform.js ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LANGUAGE_DEFAULT: () => (/* binding */ LANGUAGE_DEFAULT),\n/* harmony export */ OS: () => (/* binding */ OS),\n/* harmony export */ isAndroid: () => (/* binding */ isAndroid),\n/* harmony export */ isChrome: () => (/* binding */ isChrome),\n/* harmony export */ isEdge: () => (/* binding */ isEdge),\n/* harmony export */ isFirefox: () => (/* binding */ isFirefox),\n/* harmony export */ isIOS: () => (/* binding */ isIOS),\n/* harmony export */ isLinux: () => (/* binding */ isLinux),\n/* harmony export */ isLittleEndian: () => (/* binding */ isLittleEndian),\n/* harmony export */ isMacintosh: () => (/* binding */ isMacintosh),\n/* harmony export */ isMobile: () => (/* binding */ isMobile),\n/* harmony export */ isNative: () => (/* binding */ isNative),\n/* harmony export */ isSafari: () => (/* binding */ isSafari),\n/* harmony export */ isWeb: () => (/* binding */ isWeb),\n/* harmony export */ isWebWorker: () => (/* binding */ isWebWorker),\n/* harmony export */ isWindows: () => (/* binding */ isWindows),\n/* harmony export */ language: () => (/* binding */ language),\n/* harmony export */ setTimeout0: () => (/* binding */ setTimeout0),\n/* harmony export */ setTimeout0IsFaster: () => (/* binding */ setTimeout0IsFaster),\n/* harmony export */ userAgent: () => (/* binding */ userAgent),\n/* harmony export */ webWorkerOrigin: () => (/* binding */ webWorkerOrigin)\n/* harmony export */ });\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\nvar _a;\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nconst LANGUAGE_DEFAULT = 'en';\nlet _isWindows = false;\nlet _isMacintosh = false;\nlet _isLinux = false;\nlet _isLinuxSnap = false;\nlet _isNative = false;\nlet _isWeb = false;\nlet _isElectron = false;\nlet _isIOS = false;\nlet _isCI = false;\nlet _isMobile = false;\nlet _locale = undefined;\nlet _language = LANGUAGE_DEFAULT;\nlet _platformLocale = LANGUAGE_DEFAULT;\nlet _translationsConfigFile = undefined;\nlet _userAgent = undefined;\nconst $globalThis = globalThis;\nlet nodeProcess = undefined;\nif (typeof $globalThis.vscode !== 'undefined' && typeof $globalThis.vscode.process !== 'undefined') {\n // Native environment (sandboxed)\n nodeProcess = $globalThis.vscode.process;\n}\nelse if (typeof process !== 'undefined') {\n // Native environment (non-sandboxed)\n nodeProcess = process;\n}\nconst isElectronProcess = typeof ((_a = nodeProcess === null || nodeProcess === void 0 ? void 0 : nodeProcess.versions) === null || _a === void 0 ? void 0 : _a.electron) === 'string';\nconst isElectronRenderer = isElectronProcess && (nodeProcess === null || nodeProcess === void 0 ? void 0 : nodeProcess.type) === 'renderer';\n// Web environment\nif (typeof navigator === 'object' && !isElectronRenderer) {\n _userAgent = navigator.userAgent;\n _isWindows = _userAgent.indexOf('Windows') >= 0;\n _isMacintosh = _userAgent.indexOf('Macintosh') >= 0;\n _isIOS = (_userAgent.indexOf('Macintosh') >= 0 || _userAgent.indexOf('iPad') >= 0 || _userAgent.indexOf('iPhone') >= 0) && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0;\n _isLinux = _userAgent.indexOf('Linux') >= 0;\n _isMobile = (_userAgent === null || _userAgent === void 0 ? void 0 : _userAgent.indexOf('Mobi')) >= 0;\n _isWeb = true;\n const configuredLocale = _nls_js__WEBPACK_IMPORTED_MODULE_0__.getConfiguredDefaultLocale(\n // This call _must_ be done in the file that calls `nls.getConfiguredDefaultLocale`\n // to ensure that the NLS AMD Loader plugin has been loaded and configured.\n // This is because the loader plugin decides what the default locale is based on\n // how it's able to resolve the strings.\n _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ensureLoaderPluginIsLoaded', comment: ['{Locked}'] }, '_'));\n _locale = configuredLocale || LANGUAGE_DEFAULT;\n _language = _locale;\n _platformLocale = navigator.language;\n}\n// Native environment\nelse if (typeof nodeProcess === 'object') {\n _isWindows = (nodeProcess.platform === 'win32');\n _isMacintosh = (nodeProcess.platform === 'darwin');\n _isLinux = (nodeProcess.platform === 'linux');\n _isLinuxSnap = _isLinux && !!nodeProcess.env['SNAP'] && !!nodeProcess.env['SNAP_REVISION'];\n _isElectron = isElectronProcess;\n _isCI = !!nodeProcess.env['CI'] || !!nodeProcess.env['BUILD_ARTIFACTSTAGINGDIRECTORY'];\n _locale = LANGUAGE_DEFAULT;\n _language = LANGUAGE_DEFAULT;\n const rawNlsConfig = nodeProcess.env['VSCODE_NLS_CONFIG'];\n if (rawNlsConfig) {\n try {\n const nlsConfig = JSON.parse(rawNlsConfig);\n const resolved = nlsConfig.availableLanguages['*'];\n _locale = nlsConfig.locale;\n _platformLocale = nlsConfig.osLocale;\n // VSCode's default language is 'en'\n _language = resolved ? resolved : LANGUAGE_DEFAULT;\n _translationsConfigFile = nlsConfig._translationsConfigFile;\n }\n catch (e) {\n }\n }\n _isNative = true;\n}\n// Unknown environment\nelse {\n console.error('Unable to resolve platform.');\n}\nlet _platform = 0 /* Platform.Web */;\nif (_isMacintosh) {\n _platform = 1 /* Platform.Mac */;\n}\nelse if (_isWindows) {\n _platform = 3 /* Platform.Windows */;\n}\nelse if (_isLinux) {\n _platform = 2 /* Platform.Linux */;\n}\nconst isWindows = _isWindows;\nconst isMacintosh = _isMacintosh;\nconst isLinux = _isLinux;\nconst isNative = _isNative;\nconst isWeb = _isWeb;\nconst isWebWorker = (_isWeb && typeof $globalThis.importScripts === 'function');\nconst webWorkerOrigin = isWebWorker ? $globalThis.origin : undefined;\nconst isIOS = _isIOS;\nconst isMobile = _isMobile;\nconst userAgent = _userAgent;\n/**\n * The language used for the user interface. The format of\n * the string is all lower case (e.g. zh-tw for Traditional\n * Chinese)\n */\nconst language = _language;\nconst setTimeout0IsFaster = (typeof $globalThis.postMessage === 'function' && !$globalThis.importScripts);\n/**\n * See https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#:~:text=than%204%2C%20then-,set%20timeout%20to%204,-.\n *\n * Works similarly to `setTimeout(0)` but doesn't suffer from the 4ms artificial delay\n * that browsers set when the nesting level is > 5.\n */\nconst setTimeout0 = (() => {\n if (setTimeout0IsFaster) {\n const pending = [];\n $globalThis.addEventListener('message', (e) => {\n if (e.data && e.data.vscodeScheduleAsyncWork) {\n for (let i = 0, len = pending.length; i < len; i++) {\n const candidate = pending[i];\n if (candidate.id === e.data.vscodeScheduleAsyncWork) {\n pending.splice(i, 1);\n candidate.callback();\n return;\n }\n }\n }\n });\n let lastId = 0;\n return (callback) => {\n const myId = ++lastId;\n pending.push({\n id: myId,\n callback: callback\n });\n $globalThis.postMessage({ vscodeScheduleAsyncWork: myId }, '*');\n };\n }\n return (callback) => setTimeout(callback);\n})();\nconst OS = (_isMacintosh || _isIOS ? 2 /* OperatingSystem.Macintosh */ : (_isWindows ? 1 /* OperatingSystem.Windows */ : 3 /* OperatingSystem.Linux */));\nlet _isLittleEndian = true;\nlet _isLittleEndianComputed = false;\nfunction isLittleEndian() {\n if (!_isLittleEndianComputed) {\n _isLittleEndianComputed = true;\n const test = new Uint8Array(2);\n test[0] = 1;\n test[1] = 2;\n const view = new Uint16Array(test.buffer);\n _isLittleEndian = (view[0] === (2 << 8) + 1);\n }\n return _isLittleEndian;\n}\nconst isChrome = !!(userAgent && userAgent.indexOf('Chrome') >= 0);\nconst isFirefox = !!(userAgent && userAgent.indexOf('Firefox') >= 0);\nconst isSafari = !!(!isChrome && (userAgent && userAgent.indexOf('Safari') >= 0));\nconst isEdge = !!(userAgent && userAgent.indexOf('Edg/') >= 0);\nconst isAndroid = !!(userAgent && userAgent.indexOf('Android') >= 0);\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/platform.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/process.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/process.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cwd: () => (/* binding */ cwd),\n/* harmony export */ env: () => (/* binding */ env),\n/* harmony export */ platform: () => (/* binding */ platform)\n/* harmony export */ });\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nlet safeProcess;\n// Native sandbox environment\nconst vscodeGlobal = globalThis.vscode;\nif (typeof vscodeGlobal !== 'undefined' && typeof vscodeGlobal.process !== 'undefined') {\n const sandboxProcess = vscodeGlobal.process;\n safeProcess = {\n get platform() { return sandboxProcess.platform; },\n get arch() { return sandboxProcess.arch; },\n get env() { return sandboxProcess.env; },\n cwd() { return sandboxProcess.cwd(); }\n };\n}\n// Native node.js environment\nelse if (typeof process !== 'undefined') {\n safeProcess = {\n get platform() { return process.platform; },\n get arch() { return process.arch; },\n get env() { return process.env; },\n cwd() { return process.env['VSCODE_CWD'] || process.cwd(); }\n };\n}\n// Web environment\nelse {\n safeProcess = {\n // Supported\n get platform() { return _platform_js__WEBPACK_IMPORTED_MODULE_0__.isWindows ? 'win32' : _platform_js__WEBPACK_IMPORTED_MODULE_0__.isMacintosh ? 'darwin' : 'linux'; },\n get arch() { return undefined; /* arch is undefined in web */ },\n // Unsupported\n get env() { return {}; },\n cwd() { return '/'; }\n };\n}\n/**\n * Provides safe access to the `cwd` property in node.js, sandboxed or web\n * environments.\n *\n * Note: in web, this property is hardcoded to be `/`.\n *\n * @skipMangle\n */\nconst cwd = safeProcess.cwd;\n/**\n * Provides safe access to the `env` property in node.js, sandboxed or web\n * environments.\n *\n * Note: in web, this property is hardcoded to be `{}`.\n */\nconst env = safeProcess.env;\n/**\n * Provides safe access to the `platform` property in node.js, sandboxed or web\n * environments.\n */\nconst platform = safeProcess.platform;\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/process.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/range.js":
+/*!****************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/range.js ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Range: () => (/* binding */ Range)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar Range;\n(function (Range) {\n /**\n * Returns the intersection between two ranges as a range itself.\n * Returns `{ start: 0, end: 0 }` if the intersection is empty.\n */\n function intersect(one, other) {\n if (one.start >= other.end || other.start >= one.end) {\n return { start: 0, end: 0 };\n }\n const start = Math.max(one.start, other.start);\n const end = Math.min(one.end, other.end);\n if (end - start <= 0) {\n return { start: 0, end: 0 };\n }\n return { start, end };\n }\n Range.intersect = intersect;\n function isEmpty(range) {\n return range.end - range.start <= 0;\n }\n Range.isEmpty = isEmpty;\n function intersects(one, other) {\n return !isEmpty(intersect(one, other));\n }\n Range.intersects = intersects;\n function relativeComplement(one, other) {\n const result = [];\n const first = { start: one.start, end: Math.min(other.start, one.end) };\n const second = { start: Math.max(other.end, one.start), end: one.end };\n if (!isEmpty(first)) {\n result.push(first);\n }\n if (!isEmpty(second)) {\n result.push(second);\n }\n return result;\n }\n Range.relativeComplement = relativeComplement;\n})(Range || (Range = {}));\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/range.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/resources.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/resources.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DataUri: () => (/* binding */ DataUri),\n/* harmony export */ ExtUri: () => (/* binding */ ExtUri),\n/* harmony export */ addTrailingPathSeparator: () => (/* binding */ addTrailingPathSeparator),\n/* harmony export */ basename: () => (/* binding */ basename),\n/* harmony export */ basenameOrAuthority: () => (/* binding */ basenameOrAuthority),\n/* harmony export */ dirname: () => (/* binding */ dirname),\n/* harmony export */ extUri: () => (/* binding */ extUri),\n/* harmony export */ extUriBiasedIgnorePathCase: () => (/* binding */ extUriBiasedIgnorePathCase),\n/* harmony export */ extUriIgnorePathCase: () => (/* binding */ extUriIgnorePathCase),\n/* harmony export */ extname: () => (/* binding */ extname),\n/* harmony export */ getComparisonKey: () => (/* binding */ getComparisonKey),\n/* harmony export */ hasTrailingPathSeparator: () => (/* binding */ hasTrailingPathSeparator),\n/* harmony export */ isAbsolutePath: () => (/* binding */ isAbsolutePath),\n/* harmony export */ isEqual: () => (/* binding */ isEqual),\n/* harmony export */ isEqualAuthority: () => (/* binding */ isEqualAuthority),\n/* harmony export */ isEqualOrParent: () => (/* binding */ isEqualOrParent),\n/* harmony export */ joinPath: () => (/* binding */ joinPath),\n/* harmony export */ normalizePath: () => (/* binding */ normalizePath),\n/* harmony export */ originalFSPath: () => (/* binding */ originalFSPath),\n/* harmony export */ relativePath: () => (/* binding */ relativePath),\n/* harmony export */ removeTrailingPathSeparator: () => (/* binding */ removeTrailingPathSeparator),\n/* harmony export */ resolvePath: () => (/* binding */ resolvePath)\n/* harmony export */ });\n/* harmony import */ var _extpath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./extpath.js */ \"./node_modules/monaco-editor/esm/vs/base/common/extpath.js\");\n/* harmony import */ var _network_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./network.js */ \"./node_modules/monaco-editor/esm/vs/base/common/network.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\nfunction originalFSPath(uri) {\n return (0,_uri_js__WEBPACK_IMPORTED_MODULE_5__.uriToFsPath)(uri, true);\n}\nclass ExtUri {\n constructor(_ignorePathCasing) {\n this._ignorePathCasing = _ignorePathCasing;\n }\n compare(uri1, uri2, ignoreFragment = false) {\n if (uri1 === uri2) {\n return 0;\n }\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_4__.compare)(this.getComparisonKey(uri1, ignoreFragment), this.getComparisonKey(uri2, ignoreFragment));\n }\n isEqual(uri1, uri2, ignoreFragment = false) {\n if (uri1 === uri2) {\n return true;\n }\n if (!uri1 || !uri2) {\n return false;\n }\n return this.getComparisonKey(uri1, ignoreFragment) === this.getComparisonKey(uri2, ignoreFragment);\n }\n getComparisonKey(uri, ignoreFragment = false) {\n return uri.with({\n path: this._ignorePathCasing(uri) ? uri.path.toLowerCase() : undefined,\n fragment: ignoreFragment ? null : undefined\n }).toString();\n }\n isEqualOrParent(base, parentCandidate, ignoreFragment = false) {\n if (base.scheme === parentCandidate.scheme) {\n if (base.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n return _extpath_js__WEBPACK_IMPORTED_MODULE_0__.isEqualOrParent(originalFSPath(base), originalFSPath(parentCandidate), this._ignorePathCasing(base)) && base.query === parentCandidate.query && (ignoreFragment || base.fragment === parentCandidate.fragment);\n }\n if (isEqualAuthority(base.authority, parentCandidate.authority)) {\n return _extpath_js__WEBPACK_IMPORTED_MODULE_0__.isEqualOrParent(base.path, parentCandidate.path, this._ignorePathCasing(base), '/') && base.query === parentCandidate.query && (ignoreFragment || base.fragment === parentCandidate.fragment);\n }\n }\n return false;\n }\n // --- path math\n joinPath(resource, ...pathFragment) {\n return _uri_js__WEBPACK_IMPORTED_MODULE_5__.URI.joinPath(resource, ...pathFragment);\n }\n basenameOrAuthority(resource) {\n return basename(resource) || resource.authority;\n }\n basename(resource) {\n return _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.basename(resource.path);\n }\n extname(resource) {\n return _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.extname(resource.path);\n }\n dirname(resource) {\n if (resource.path.length === 0) {\n return resource;\n }\n let dirname;\n if (resource.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n dirname = _uri_js__WEBPACK_IMPORTED_MODULE_5__.URI.file(_path_js__WEBPACK_IMPORTED_MODULE_2__.dirname(originalFSPath(resource))).path;\n }\n else {\n dirname = _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.dirname(resource.path);\n if (resource.authority && dirname.length && dirname.charCodeAt(0) !== 47 /* CharCode.Slash */) {\n console.error(`dirname(\"${resource.toString})) resulted in a relative path`);\n dirname = '/'; // If a URI contains an authority component, then the path component must either be empty or begin with a CharCode.Slash (\"/\") character\n }\n }\n return resource.with({\n path: dirname\n });\n }\n normalizePath(resource) {\n if (!resource.path.length) {\n return resource;\n }\n let normalizedPath;\n if (resource.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n normalizedPath = _uri_js__WEBPACK_IMPORTED_MODULE_5__.URI.file(_path_js__WEBPACK_IMPORTED_MODULE_2__.normalize(originalFSPath(resource))).path;\n }\n else {\n normalizedPath = _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.normalize(resource.path);\n }\n return resource.with({\n path: normalizedPath\n });\n }\n relativePath(from, to) {\n if (from.scheme !== to.scheme || !isEqualAuthority(from.authority, to.authority)) {\n return undefined;\n }\n if (from.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n const relativePath = _path_js__WEBPACK_IMPORTED_MODULE_2__.relative(originalFSPath(from), originalFSPath(to));\n return _platform_js__WEBPACK_IMPORTED_MODULE_3__.isWindows ? _extpath_js__WEBPACK_IMPORTED_MODULE_0__.toSlashes(relativePath) : relativePath;\n }\n let fromPath = from.path || '/';\n const toPath = to.path || '/';\n if (this._ignorePathCasing(from)) {\n // make casing of fromPath match toPath\n let i = 0;\n for (const len = Math.min(fromPath.length, toPath.length); i < len; i++) {\n if (fromPath.charCodeAt(i) !== toPath.charCodeAt(i)) {\n if (fromPath.charAt(i).toLowerCase() !== toPath.charAt(i).toLowerCase()) {\n break;\n }\n }\n }\n fromPath = toPath.substr(0, i) + fromPath.substr(i);\n }\n return _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.relative(fromPath, toPath);\n }\n resolvePath(base, path) {\n if (base.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n const newURI = _uri_js__WEBPACK_IMPORTED_MODULE_5__.URI.file(_path_js__WEBPACK_IMPORTED_MODULE_2__.resolve(originalFSPath(base), path));\n return base.with({\n authority: newURI.authority,\n path: newURI.path\n });\n }\n path = _extpath_js__WEBPACK_IMPORTED_MODULE_0__.toPosixPath(path); // we allow path to be a windows path\n return base.with({\n path: _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.resolve(base.path, path)\n });\n }\n // --- misc\n isAbsolutePath(resource) {\n return !!resource.path && resource.path[0] === '/';\n }\n isEqualAuthority(a1, a2) {\n return a1 === a2 || (a1 !== undefined && a2 !== undefined && (0,_strings_js__WEBPACK_IMPORTED_MODULE_4__.equalsIgnoreCase)(a1, a2));\n }\n hasTrailingPathSeparator(resource, sep = _path_js__WEBPACK_IMPORTED_MODULE_2__.sep) {\n if (resource.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n const fsp = originalFSPath(resource);\n return fsp.length > _extpath_js__WEBPACK_IMPORTED_MODULE_0__.getRoot(fsp).length && fsp[fsp.length - 1] === sep;\n }\n else {\n const p = resource.path;\n return (p.length > 1 && p.charCodeAt(p.length - 1) === 47 /* CharCode.Slash */) && !(/^[a-zA-Z]:(\\/$|\\\\$)/.test(resource.fsPath)); // ignore the slash at offset 0\n }\n }\n removeTrailingPathSeparator(resource, sep = _path_js__WEBPACK_IMPORTED_MODULE_2__.sep) {\n // Make sure that the path isn't a drive letter. A trailing separator there is not removable.\n if (hasTrailingPathSeparator(resource, sep)) {\n return resource.with({ path: resource.path.substr(0, resource.path.length - 1) });\n }\n return resource;\n }\n addTrailingPathSeparator(resource, sep = _path_js__WEBPACK_IMPORTED_MODULE_2__.sep) {\n let isRootSep = false;\n if (resource.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n const fsp = originalFSPath(resource);\n isRootSep = ((fsp !== undefined) && (fsp.length === _extpath_js__WEBPACK_IMPORTED_MODULE_0__.getRoot(fsp).length) && (fsp[fsp.length - 1] === sep));\n }\n else {\n sep = '/';\n const p = resource.path;\n isRootSep = p.length === 1 && p.charCodeAt(p.length - 1) === 47 /* CharCode.Slash */;\n }\n if (!isRootSep && !hasTrailingPathSeparator(resource, sep)) {\n return resource.with({ path: resource.path + '/' });\n }\n return resource;\n }\n}\n/**\n * Unbiased utility that takes uris \"as they are\". This means it can be interchanged with\n * uri#toString() usages. The following is true\n * ```\n * assertEqual(aUri.toString() === bUri.toString(), exturi.isEqual(aUri, bUri))\n * ```\n */\nconst extUri = new ExtUri(() => false);\n/**\n * BIASED utility that _mostly_ ignored the case of urs paths. ONLY use this util if you\n * understand what you are doing.\n *\n * This utility is INCOMPATIBLE with `uri.toString()`-usages and both CANNOT be used interchanged.\n *\n * When dealing with uris from files or documents, `extUri` (the unbiased friend)is sufficient\n * because those uris come from a \"trustworthy source\". When creating unknown uris it's always\n * better to use `IUriIdentityService` which exposes an `IExtUri`-instance which knows when path\n * casing matters.\n */\nconst extUriBiasedIgnorePathCase = new ExtUri(uri => {\n // A file scheme resource is in the same platform as code, so ignore case for non linux platforms\n // Resource can be from another platform. Lowering the case as an hack. Should come from File system provider\n return uri.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file ? !_platform_js__WEBPACK_IMPORTED_MODULE_3__.isLinux : true;\n});\n/**\n * BIASED utility that always ignores the casing of uris paths. ONLY use this util if you\n * understand what you are doing.\n *\n * This utility is INCOMPATIBLE with `uri.toString()`-usages and both CANNOT be used interchanged.\n *\n * When dealing with uris from files or documents, `extUri` (the unbiased friend)is sufficient\n * because those uris come from a \"trustworthy source\". When creating unknown uris it's always\n * better to use `IUriIdentityService` which exposes an `IExtUri`-instance which knows when path\n * casing matters.\n */\nconst extUriIgnorePathCase = new ExtUri(_ => true);\nconst isEqual = extUri.isEqual.bind(extUri);\nconst isEqualOrParent = extUri.isEqualOrParent.bind(extUri);\nconst getComparisonKey = extUri.getComparisonKey.bind(extUri);\nconst basenameOrAuthority = extUri.basenameOrAuthority.bind(extUri);\nconst basename = extUri.basename.bind(extUri);\nconst extname = extUri.extname.bind(extUri);\nconst dirname = extUri.dirname.bind(extUri);\nconst joinPath = extUri.joinPath.bind(extUri);\nconst normalizePath = extUri.normalizePath.bind(extUri);\nconst relativePath = extUri.relativePath.bind(extUri);\nconst resolvePath = extUri.resolvePath.bind(extUri);\nconst isAbsolutePath = extUri.isAbsolutePath.bind(extUri);\nconst isEqualAuthority = extUri.isEqualAuthority.bind(extUri);\nconst hasTrailingPathSeparator = extUri.hasTrailingPathSeparator.bind(extUri);\nconst removeTrailingPathSeparator = extUri.removeTrailingPathSeparator.bind(extUri);\nconst addTrailingPathSeparator = extUri.addTrailingPathSeparator.bind(extUri);\n/**\n * Data URI related helpers.\n */\nvar DataUri;\n(function (DataUri) {\n DataUri.META_DATA_LABEL = 'label';\n DataUri.META_DATA_DESCRIPTION = 'description';\n DataUri.META_DATA_SIZE = 'size';\n DataUri.META_DATA_MIME = 'mime';\n function parseMetaData(dataUri) {\n const metadata = new Map();\n // Given a URI of: data:image/png;size:2313;label:SomeLabel;description:SomeDescription;base64,77+9UE5...\n // the metadata is: size:2313;label:SomeLabel;description:SomeDescription\n const meta = dataUri.path.substring(dataUri.path.indexOf(';') + 1, dataUri.path.lastIndexOf(';'));\n meta.split(';').forEach(property => {\n const [key, value] = property.split(':');\n if (key && value) {\n metadata.set(key, value);\n }\n });\n // Given a URI of: data:image/png;size:2313;label:SomeLabel;description:SomeDescription;base64,77+9UE5...\n // the mime is: image/png\n const mime = dataUri.path.substring(0, dataUri.path.indexOf(';'));\n if (mime) {\n metadata.set(DataUri.META_DATA_MIME, mime);\n }\n return metadata;\n }\n DataUri.parseMetaData = parseMetaData;\n})(DataUri || (DataUri = {}));\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/resources.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/scrollable.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/scrollable.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ScrollState: () => (/* binding */ ScrollState),\n/* harmony export */ Scrollable: () => (/* binding */ Scrollable),\n/* harmony export */ SmoothScrollingOperation: () => (/* binding */ SmoothScrollingOperation),\n/* harmony export */ SmoothScrollingUpdate: () => (/* binding */ SmoothScrollingUpdate)\n/* harmony export */ });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\nclass ScrollState {\n constructor(_forceIntegerValues, width, scrollWidth, scrollLeft, height, scrollHeight, scrollTop) {\n this._forceIntegerValues = _forceIntegerValues;\n this._scrollStateBrand = undefined;\n if (this._forceIntegerValues) {\n width = width | 0;\n scrollWidth = scrollWidth | 0;\n scrollLeft = scrollLeft | 0;\n height = height | 0;\n scrollHeight = scrollHeight | 0;\n scrollTop = scrollTop | 0;\n }\n this.rawScrollLeft = scrollLeft; // before validation\n this.rawScrollTop = scrollTop; // before validation\n if (width < 0) {\n width = 0;\n }\n if (scrollLeft + width > scrollWidth) {\n scrollLeft = scrollWidth - width;\n }\n if (scrollLeft < 0) {\n scrollLeft = 0;\n }\n if (height < 0) {\n height = 0;\n }\n if (scrollTop + height > scrollHeight) {\n scrollTop = scrollHeight - height;\n }\n if (scrollTop < 0) {\n scrollTop = 0;\n }\n this.width = width;\n this.scrollWidth = scrollWidth;\n this.scrollLeft = scrollLeft;\n this.height = height;\n this.scrollHeight = scrollHeight;\n this.scrollTop = scrollTop;\n }\n equals(other) {\n return (this.rawScrollLeft === other.rawScrollLeft\n && this.rawScrollTop === other.rawScrollTop\n && this.width === other.width\n && this.scrollWidth === other.scrollWidth\n && this.scrollLeft === other.scrollLeft\n && this.height === other.height\n && this.scrollHeight === other.scrollHeight\n && this.scrollTop === other.scrollTop);\n }\n withScrollDimensions(update, useRawScrollPositions) {\n return new ScrollState(this._forceIntegerValues, (typeof update.width !== 'undefined' ? update.width : this.width), (typeof update.scrollWidth !== 'undefined' ? update.scrollWidth : this.scrollWidth), useRawScrollPositions ? this.rawScrollLeft : this.scrollLeft, (typeof update.height !== 'undefined' ? update.height : this.height), (typeof update.scrollHeight !== 'undefined' ? update.scrollHeight : this.scrollHeight), useRawScrollPositions ? this.rawScrollTop : this.scrollTop);\n }\n withScrollPosition(update) {\n return new ScrollState(this._forceIntegerValues, this.width, this.scrollWidth, (typeof update.scrollLeft !== 'undefined' ? update.scrollLeft : this.rawScrollLeft), this.height, this.scrollHeight, (typeof update.scrollTop !== 'undefined' ? update.scrollTop : this.rawScrollTop));\n }\n createScrollEvent(previous, inSmoothScrolling) {\n const widthChanged = (this.width !== previous.width);\n const scrollWidthChanged = (this.scrollWidth !== previous.scrollWidth);\n const scrollLeftChanged = (this.scrollLeft !== previous.scrollLeft);\n const heightChanged = (this.height !== previous.height);\n const scrollHeightChanged = (this.scrollHeight !== previous.scrollHeight);\n const scrollTopChanged = (this.scrollTop !== previous.scrollTop);\n return {\n inSmoothScrolling: inSmoothScrolling,\n oldWidth: previous.width,\n oldScrollWidth: previous.scrollWidth,\n oldScrollLeft: previous.scrollLeft,\n width: this.width,\n scrollWidth: this.scrollWidth,\n scrollLeft: this.scrollLeft,\n oldHeight: previous.height,\n oldScrollHeight: previous.scrollHeight,\n oldScrollTop: previous.scrollTop,\n height: this.height,\n scrollHeight: this.scrollHeight,\n scrollTop: this.scrollTop,\n widthChanged: widthChanged,\n scrollWidthChanged: scrollWidthChanged,\n scrollLeftChanged: scrollLeftChanged,\n heightChanged: heightChanged,\n scrollHeightChanged: scrollHeightChanged,\n scrollTopChanged: scrollTopChanged,\n };\n }\n}\nclass Scrollable extends _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\n constructor(options) {\n super();\n this._scrollableBrand = undefined;\n this._onScroll = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter());\n this.onScroll = this._onScroll.event;\n this._smoothScrollDuration = options.smoothScrollDuration;\n this._scheduleAtNextAnimationFrame = options.scheduleAtNextAnimationFrame;\n this._state = new ScrollState(options.forceIntegerValues, 0, 0, 0, 0, 0, 0);\n this._smoothScrolling = null;\n }\n dispose() {\n if (this._smoothScrolling) {\n this._smoothScrolling.dispose();\n this._smoothScrolling = null;\n }\n super.dispose();\n }\n setSmoothScrollDuration(smoothScrollDuration) {\n this._smoothScrollDuration = smoothScrollDuration;\n }\n validateScrollPosition(scrollPosition) {\n return this._state.withScrollPosition(scrollPosition);\n }\n getScrollDimensions() {\n return this._state;\n }\n setScrollDimensions(dimensions, useRawScrollPositions) {\n var _a;\n const newState = this._state.withScrollDimensions(dimensions, useRawScrollPositions);\n this._setState(newState, Boolean(this._smoothScrolling));\n // Validate outstanding animated scroll position target\n (_a = this._smoothScrolling) === null || _a === void 0 ? void 0 : _a.acceptScrollDimensions(this._state);\n }\n /**\n * Returns the final scroll position that the instance will have once the smooth scroll animation concludes.\n * If no scroll animation is occurring, it will return the current scroll position instead.\n */\n getFutureScrollPosition() {\n if (this._smoothScrolling) {\n return this._smoothScrolling.to;\n }\n return this._state;\n }\n /**\n * Returns the current scroll position.\n * Note: This result might be an intermediate scroll position, as there might be an ongoing smooth scroll animation.\n */\n getCurrentScrollPosition() {\n return this._state;\n }\n setScrollPositionNow(update) {\n // no smooth scrolling requested\n const newState = this._state.withScrollPosition(update);\n // Terminate any outstanding smooth scrolling\n if (this._smoothScrolling) {\n this._smoothScrolling.dispose();\n this._smoothScrolling = null;\n }\n this._setState(newState, false);\n }\n setScrollPositionSmooth(update, reuseAnimation) {\n if (this._smoothScrollDuration === 0) {\n // Smooth scrolling not supported.\n return this.setScrollPositionNow(update);\n }\n if (this._smoothScrolling) {\n // Combine our pending scrollLeft/scrollTop with incoming scrollLeft/scrollTop\n update = {\n scrollLeft: (typeof update.scrollLeft === 'undefined' ? this._smoothScrolling.to.scrollLeft : update.scrollLeft),\n scrollTop: (typeof update.scrollTop === 'undefined' ? this._smoothScrolling.to.scrollTop : update.scrollTop)\n };\n // Validate `update`\n const validTarget = this._state.withScrollPosition(update);\n if (this._smoothScrolling.to.scrollLeft === validTarget.scrollLeft && this._smoothScrolling.to.scrollTop === validTarget.scrollTop) {\n // No need to interrupt or extend the current animation since we're going to the same place\n return;\n }\n let newSmoothScrolling;\n if (reuseAnimation) {\n newSmoothScrolling = new SmoothScrollingOperation(this._smoothScrolling.from, validTarget, this._smoothScrolling.startTime, this._smoothScrolling.duration);\n }\n else {\n newSmoothScrolling = this._smoothScrolling.combine(this._state, validTarget, this._smoothScrollDuration);\n }\n this._smoothScrolling.dispose();\n this._smoothScrolling = newSmoothScrolling;\n }\n else {\n // Validate `update`\n const validTarget = this._state.withScrollPosition(update);\n this._smoothScrolling = SmoothScrollingOperation.start(this._state, validTarget, this._smoothScrollDuration);\n }\n // Begin smooth scrolling animation\n this._smoothScrolling.animationFrameDisposable = this._scheduleAtNextAnimationFrame(() => {\n if (!this._smoothScrolling) {\n return;\n }\n this._smoothScrolling.animationFrameDisposable = null;\n this._performSmoothScrolling();\n });\n }\n hasPendingScrollAnimation() {\n return Boolean(this._smoothScrolling);\n }\n _performSmoothScrolling() {\n if (!this._smoothScrolling) {\n return;\n }\n const update = this._smoothScrolling.tick();\n const newState = this._state.withScrollPosition(update);\n this._setState(newState, true);\n if (!this._smoothScrolling) {\n // Looks like someone canceled the smooth scrolling\n // from the scroll event handler\n return;\n }\n if (update.isDone) {\n this._smoothScrolling.dispose();\n this._smoothScrolling = null;\n return;\n }\n // Continue smooth scrolling animation\n this._smoothScrolling.animationFrameDisposable = this._scheduleAtNextAnimationFrame(() => {\n if (!this._smoothScrolling) {\n return;\n }\n this._smoothScrolling.animationFrameDisposable = null;\n this._performSmoothScrolling();\n });\n }\n _setState(newState, inSmoothScrolling) {\n const oldState = this._state;\n if (oldState.equals(newState)) {\n // no change\n return;\n }\n this._state = newState;\n this._onScroll.fire(this._state.createScrollEvent(oldState, inSmoothScrolling));\n }\n}\nclass SmoothScrollingUpdate {\n constructor(scrollLeft, scrollTop, isDone) {\n this.scrollLeft = scrollLeft;\n this.scrollTop = scrollTop;\n this.isDone = isDone;\n }\n}\nfunction createEaseOutCubic(from, to) {\n const delta = to - from;\n return function (completion) {\n return from + delta * easeOutCubic(completion);\n };\n}\nfunction createComposed(a, b, cut) {\n return function (completion) {\n if (completion < cut) {\n return a(completion / cut);\n }\n return b((completion - cut) / (1 - cut));\n };\n}\nclass SmoothScrollingOperation {\n constructor(from, to, startTime, duration) {\n this.from = from;\n this.to = to;\n this.duration = duration;\n this.startTime = startTime;\n this.animationFrameDisposable = null;\n this._initAnimations();\n }\n _initAnimations() {\n this.scrollLeft = this._initAnimation(this.from.scrollLeft, this.to.scrollLeft, this.to.width);\n this.scrollTop = this._initAnimation(this.from.scrollTop, this.to.scrollTop, this.to.height);\n }\n _initAnimation(from, to, viewportSize) {\n const delta = Math.abs(from - to);\n if (delta > 2.5 * viewportSize) {\n let stop1, stop2;\n if (from < to) {\n // scroll to 75% of the viewportSize\n stop1 = from + 0.75 * viewportSize;\n stop2 = to - 0.75 * viewportSize;\n }\n else {\n stop1 = from - 0.75 * viewportSize;\n stop2 = to + 0.75 * viewportSize;\n }\n return createComposed(createEaseOutCubic(from, stop1), createEaseOutCubic(stop2, to), 0.33);\n }\n return createEaseOutCubic(from, to);\n }\n dispose() {\n if (this.animationFrameDisposable !== null) {\n this.animationFrameDisposable.dispose();\n this.animationFrameDisposable = null;\n }\n }\n acceptScrollDimensions(state) {\n this.to = state.withScrollPosition(this.to);\n this._initAnimations();\n }\n tick() {\n return this._tick(Date.now());\n }\n _tick(now) {\n const completion = (now - this.startTime) / this.duration;\n if (completion < 1) {\n const newScrollLeft = this.scrollLeft(completion);\n const newScrollTop = this.scrollTop(completion);\n return new SmoothScrollingUpdate(newScrollLeft, newScrollTop, false);\n }\n return new SmoothScrollingUpdate(this.to.scrollLeft, this.to.scrollTop, true);\n }\n combine(from, to, duration) {\n return SmoothScrollingOperation.start(from, to, duration);\n }\n static start(from, to, duration) {\n // +10 / -10 : pretend the animation already started for a quicker response to a scroll request\n duration = duration + 10;\n const startTime = Date.now() - 10;\n return new SmoothScrollingOperation(from, to, startTime, duration);\n }\n}\nfunction easeInCubic(t) {\n return Math.pow(t, 3);\n}\nfunction easeOutCubic(t) {\n return 1 - easeInCubic(1 - t);\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/scrollable.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/search.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/search.js ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ buildReplaceStringWithCasePreserved: () => (/* binding */ buildReplaceStringWithCasePreserved)\n/* harmony export */ });\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nfunction buildReplaceStringWithCasePreserved(matches, pattern) {\n if (matches && (matches[0] !== '')) {\n const containsHyphens = validateSpecificSpecialCharacter(matches, pattern, '-');\n const containsUnderscores = validateSpecificSpecialCharacter(matches, pattern, '_');\n if (containsHyphens && !containsUnderscores) {\n return buildReplaceStringForSpecificSpecialCharacter(matches, pattern, '-');\n }\n else if (!containsHyphens && containsUnderscores) {\n return buildReplaceStringForSpecificSpecialCharacter(matches, pattern, '_');\n }\n if (matches[0].toUpperCase() === matches[0]) {\n return pattern.toUpperCase();\n }\n else if (matches[0].toLowerCase() === matches[0]) {\n return pattern.toLowerCase();\n }\n else if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.containsUppercaseCharacter(matches[0][0]) && pattern.length > 0) {\n return pattern[0].toUpperCase() + pattern.substr(1);\n }\n else if (matches[0][0].toUpperCase() !== matches[0][0] && pattern.length > 0) {\n return pattern[0].toLowerCase() + pattern.substr(1);\n }\n else {\n // we don't understand its pattern yet.\n return pattern;\n }\n }\n else {\n return pattern;\n }\n}\nfunction validateSpecificSpecialCharacter(matches, pattern, specialCharacter) {\n const doesContainSpecialCharacter = matches[0].indexOf(specialCharacter) !== -1 && pattern.indexOf(specialCharacter) !== -1;\n return doesContainSpecialCharacter && matches[0].split(specialCharacter).length === pattern.split(specialCharacter).length;\n}\nfunction buildReplaceStringForSpecificSpecialCharacter(matches, pattern, specialCharacter) {\n const splitPatternAtSpecialCharacter = pattern.split(specialCharacter);\n const splitMatchAtSpecialCharacter = matches[0].split(specialCharacter);\n let replaceString = '';\n splitPatternAtSpecialCharacter.forEach((splitValue, index) => {\n replaceString += buildReplaceStringWithCasePreserved([splitMatchAtSpecialCharacter[index]], splitValue) + specialCharacter;\n });\n return replaceString.slice(0, -1);\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/search.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/severity.js":
+/*!*******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/severity.js ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nvar Severity;\n(function (Severity) {\n Severity[Severity[\"Ignore\"] = 0] = \"Ignore\";\n Severity[Severity[\"Info\"] = 1] = \"Info\";\n Severity[Severity[\"Warning\"] = 2] = \"Warning\";\n Severity[Severity[\"Error\"] = 3] = \"Error\";\n})(Severity || (Severity = {}));\n(function (Severity) {\n const _error = 'error';\n const _warning = 'warning';\n const _warn = 'warn';\n const _info = 'info';\n const _ignore = 'ignore';\n /**\n * Parses 'error', 'warning', 'warn', 'info' in call casings\n * and falls back to ignore.\n */\n function fromValue(value) {\n if (!value) {\n return Severity.Ignore;\n }\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.equalsIgnoreCase(_error, value)) {\n return Severity.Error;\n }\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.equalsIgnoreCase(_warning, value) || _strings_js__WEBPACK_IMPORTED_MODULE_0__.equalsIgnoreCase(_warn, value)) {\n return Severity.Warning;\n }\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.equalsIgnoreCase(_info, value)) {\n return Severity.Info;\n }\n return Severity.Ignore;\n }\n Severity.fromValue = fromValue;\n function toString(severity) {\n switch (severity) {\n case Severity.Error: return _error;\n case Severity.Warning: return _warning;\n case Severity.Info: return _info;\n default: return _ignore;\n }\n }\n Severity.toString = toString;\n})(Severity || (Severity = {}));\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Severity);\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/severity.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/stopwatch.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/stopwatch.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StopWatch: () => (/* binding */ StopWatch)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nconst hasPerformanceNow = (globalThis.performance && typeof globalThis.performance.now === 'function');\nclass StopWatch {\n static create(highResolution) {\n return new StopWatch(highResolution);\n }\n constructor(highResolution) {\n this._now = hasPerformanceNow && highResolution === false ? Date.now : globalThis.performance.now.bind(globalThis.performance);\n this._startTime = this._now();\n this._stopTime = -1;\n }\n stop() {\n this._stopTime = this._now();\n }\n elapsed() {\n if (this._stopTime !== -1) {\n return this._stopTime - this._startTime;\n }\n return this._now() - this._startTime;\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/stopwatch.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/strings.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/strings.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AmbiguousCharacters: () => (/* binding */ AmbiguousCharacters),\n/* harmony export */ CodePointIterator: () => (/* binding */ CodePointIterator),\n/* harmony export */ GraphemeIterator: () => (/* binding */ GraphemeIterator),\n/* harmony export */ InvisibleCharacters: () => (/* binding */ InvisibleCharacters),\n/* harmony export */ UNUSUAL_LINE_TERMINATORS: () => (/* binding */ UNUSUAL_LINE_TERMINATORS),\n/* harmony export */ UTF8_BOM_CHARACTER: () => (/* binding */ UTF8_BOM_CHARACTER),\n/* harmony export */ commonPrefixLength: () => (/* binding */ commonPrefixLength),\n/* harmony export */ commonSuffixLength: () => (/* binding */ commonSuffixLength),\n/* harmony export */ compare: () => (/* binding */ compare),\n/* harmony export */ compareIgnoreCase: () => (/* binding */ compareIgnoreCase),\n/* harmony export */ compareSubstring: () => (/* binding */ compareSubstring),\n/* harmony export */ compareSubstringIgnoreCase: () => (/* binding */ compareSubstringIgnoreCase),\n/* harmony export */ computeCodePoint: () => (/* binding */ computeCodePoint),\n/* harmony export */ containsRTL: () => (/* binding */ containsRTL),\n/* harmony export */ containsUnusualLineTerminators: () => (/* binding */ containsUnusualLineTerminators),\n/* harmony export */ containsUppercaseCharacter: () => (/* binding */ containsUppercaseCharacter),\n/* harmony export */ convertSimple2RegExpPattern: () => (/* binding */ convertSimple2RegExpPattern),\n/* harmony export */ createRegExp: () => (/* binding */ createRegExp),\n/* harmony export */ equalsIgnoreCase: () => (/* binding */ equalsIgnoreCase),\n/* harmony export */ escape: () => (/* binding */ escape),\n/* harmony export */ escapeRegExpCharacters: () => (/* binding */ escapeRegExpCharacters),\n/* harmony export */ firstNonWhitespaceIndex: () => (/* binding */ firstNonWhitespaceIndex),\n/* harmony export */ format: () => (/* binding */ format),\n/* harmony export */ getCharContainingOffset: () => (/* binding */ getCharContainingOffset),\n/* harmony export */ getLeadingWhitespace: () => (/* binding */ getLeadingWhitespace),\n/* harmony export */ getLeftDeleteOffset: () => (/* binding */ getLeftDeleteOffset),\n/* harmony export */ getNextCodePoint: () => (/* binding */ getNextCodePoint),\n/* harmony export */ isAsciiDigit: () => (/* binding */ isAsciiDigit),\n/* harmony export */ isBasicASCII: () => (/* binding */ isBasicASCII),\n/* harmony export */ isEmojiImprecise: () => (/* binding */ isEmojiImprecise),\n/* harmony export */ isFalsyOrWhitespace: () => (/* binding */ isFalsyOrWhitespace),\n/* harmony export */ isFullWidthCharacter: () => (/* binding */ isFullWidthCharacter),\n/* harmony export */ isHighSurrogate: () => (/* binding */ isHighSurrogate),\n/* harmony export */ isLowSurrogate: () => (/* binding */ isLowSurrogate),\n/* harmony export */ isLowerAsciiLetter: () => (/* binding */ isLowerAsciiLetter),\n/* harmony export */ isUpperAsciiLetter: () => (/* binding */ isUpperAsciiLetter),\n/* harmony export */ lastNonWhitespaceIndex: () => (/* binding */ lastNonWhitespaceIndex),\n/* harmony export */ ltrim: () => (/* binding */ ltrim),\n/* harmony export */ nextCharLength: () => (/* binding */ nextCharLength),\n/* harmony export */ noBreakWhitespace: () => (/* binding */ noBreakWhitespace),\n/* harmony export */ prevCharLength: () => (/* binding */ prevCharLength),\n/* harmony export */ regExpLeadsToEndlessLoop: () => (/* binding */ regExpLeadsToEndlessLoop),\n/* harmony export */ rtrim: () => (/* binding */ rtrim),\n/* harmony export */ singleLetterHash: () => (/* binding */ singleLetterHash),\n/* harmony export */ splitLines: () => (/* binding */ splitLines),\n/* harmony export */ startsWithIgnoreCase: () => (/* binding */ startsWithIgnoreCase),\n/* harmony export */ startsWithUTF8BOM: () => (/* binding */ startsWithUTF8BOM),\n/* harmony export */ stripWildcards: () => (/* binding */ stripWildcards),\n/* harmony export */ trim: () => (/* binding */ trim)\n/* harmony export */ });\n/* harmony import */ var _cache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cache.js */ \"./node_modules/monaco-editor/esm/vs/base/common/cache.js\");\n/* harmony import */ var _lazy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lazy.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lazy.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar _a;\n\n\nfunction isFalsyOrWhitespace(str) {\n if (!str || typeof str !== 'string') {\n return true;\n }\n return str.trim().length === 0;\n}\nconst _formatRegexp = /{(\\d+)}/g;\n/**\n * Helper to produce a string with a variable number of arguments. Insert variable segments\n * into the string using the {n} notation where N is the index of the argument following the string.\n * @param value string to which formatting is applied\n * @param args replacements for {n}-entries\n */\nfunction format(value, ...args) {\n if (args.length === 0) {\n return value;\n }\n return value.replace(_formatRegexp, function (match, group) {\n const idx = parseInt(group, 10);\n return isNaN(idx) || idx < 0 || idx >= args.length ?\n match :\n args[idx];\n });\n}\n/**\n * Converts HTML characters inside the string to use entities instead. Makes the string safe from\n * being used e.g. in HTMLElement.innerHTML.\n */\nfunction escape(html) {\n return html.replace(/[<>&]/g, function (match) {\n switch (match) {\n case '<': return '<';\n case '>': return '>';\n case '&': return '&';\n default: return match;\n }\n });\n}\n/**\n * Escapes regular expression characters in a given string\n */\nfunction escapeRegExpCharacters(value) {\n return value.replace(/[\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\[\\]\\(\\)]/g, '\\\\$&');\n}\n/**\n * Removes all occurrences of needle from the beginning and end of haystack.\n * @param haystack string to trim\n * @param needle the thing to trim (default is a blank)\n */\nfunction trim(haystack, needle = ' ') {\n const trimmed = ltrim(haystack, needle);\n return rtrim(trimmed, needle);\n}\n/**\n * Removes all occurrences of needle from the beginning of haystack.\n * @param haystack string to trim\n * @param needle the thing to trim\n */\nfunction ltrim(haystack, needle) {\n if (!haystack || !needle) {\n return haystack;\n }\n const needleLen = needle.length;\n if (needleLen === 0 || haystack.length === 0) {\n return haystack;\n }\n let offset = 0;\n while (haystack.indexOf(needle, offset) === offset) {\n offset = offset + needleLen;\n }\n return haystack.substring(offset);\n}\n/**\n * Removes all occurrences of needle from the end of haystack.\n * @param haystack string to trim\n * @param needle the thing to trim\n */\nfunction rtrim(haystack, needle) {\n if (!haystack || !needle) {\n return haystack;\n }\n const needleLen = needle.length, haystackLen = haystack.length;\n if (needleLen === 0 || haystackLen === 0) {\n return haystack;\n }\n let offset = haystackLen, idx = -1;\n while (true) {\n idx = haystack.lastIndexOf(needle, offset - 1);\n if (idx === -1 || idx + needleLen !== offset) {\n break;\n }\n if (idx === 0) {\n return '';\n }\n offset = idx;\n }\n return haystack.substring(0, offset);\n}\nfunction convertSimple2RegExpPattern(pattern) {\n return pattern.replace(/[\\-\\\\\\{\\}\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, '\\\\$&').replace(/[\\*]/g, '.*');\n}\nfunction stripWildcards(pattern) {\n return pattern.replace(/\\*/g, '');\n}\nfunction createRegExp(searchString, isRegex, options = {}) {\n if (!searchString) {\n throw new Error('Cannot create regex from empty string');\n }\n if (!isRegex) {\n searchString = escapeRegExpCharacters(searchString);\n }\n if (options.wholeWord) {\n if (!/\\B/.test(searchString.charAt(0))) {\n searchString = '\\\\b' + searchString;\n }\n if (!/\\B/.test(searchString.charAt(searchString.length - 1))) {\n searchString = searchString + '\\\\b';\n }\n }\n let modifiers = '';\n if (options.global) {\n modifiers += 'g';\n }\n if (!options.matchCase) {\n modifiers += 'i';\n }\n if (options.multiline) {\n modifiers += 'm';\n }\n if (options.unicode) {\n modifiers += 'u';\n }\n return new RegExp(searchString, modifiers);\n}\nfunction regExpLeadsToEndlessLoop(regexp) {\n // Exit early if it's one of these special cases which are meant to match\n // against an empty string\n if (regexp.source === '^' || regexp.source === '^$' || regexp.source === '$' || regexp.source === '^\\\\s*$') {\n return false;\n }\n // We check against an empty string. If the regular expression doesn't advance\n // (e.g. ends in an endless loop) it will match an empty string.\n const match = regexp.exec('');\n return !!(match && regexp.lastIndex === 0);\n}\nfunction splitLines(str) {\n return str.split(/\\r\\n|\\r|\\n/);\n}\n/**\n * Returns first index of the string that is not whitespace.\n * If string is empty or contains only whitespaces, returns -1\n */\nfunction firstNonWhitespaceIndex(str) {\n for (let i = 0, len = str.length; i < len; i++) {\n const chCode = str.charCodeAt(i);\n if (chCode !== 32 /* CharCode.Space */ && chCode !== 9 /* CharCode.Tab */) {\n return i;\n }\n }\n return -1;\n}\n/**\n * Returns the leading whitespace of the string.\n * If the string contains only whitespaces, returns entire string\n */\nfunction getLeadingWhitespace(str, start = 0, end = str.length) {\n for (let i = start; i < end; i++) {\n const chCode = str.charCodeAt(i);\n if (chCode !== 32 /* CharCode.Space */ && chCode !== 9 /* CharCode.Tab */) {\n return str.substring(start, i);\n }\n }\n return str.substring(start, end);\n}\n/**\n * Returns last index of the string that is not whitespace.\n * If string is empty or contains only whitespaces, returns -1\n */\nfunction lastNonWhitespaceIndex(str, startIndex = str.length - 1) {\n for (let i = startIndex; i >= 0; i--) {\n const chCode = str.charCodeAt(i);\n if (chCode !== 32 /* CharCode.Space */ && chCode !== 9 /* CharCode.Tab */) {\n return i;\n }\n }\n return -1;\n}\nfunction compare(a, b) {\n if (a < b) {\n return -1;\n }\n else if (a > b) {\n return 1;\n }\n else {\n return 0;\n }\n}\nfunction compareSubstring(a, b, aStart = 0, aEnd = a.length, bStart = 0, bEnd = b.length) {\n for (; aStart < aEnd && bStart < bEnd; aStart++, bStart++) {\n const codeA = a.charCodeAt(aStart);\n const codeB = b.charCodeAt(bStart);\n if (codeA < codeB) {\n return -1;\n }\n else if (codeA > codeB) {\n return 1;\n }\n }\n const aLen = aEnd - aStart;\n const bLen = bEnd - bStart;\n if (aLen < bLen) {\n return -1;\n }\n else if (aLen > bLen) {\n return 1;\n }\n return 0;\n}\nfunction compareIgnoreCase(a, b) {\n return compareSubstringIgnoreCase(a, b, 0, a.length, 0, b.length);\n}\nfunction compareSubstringIgnoreCase(a, b, aStart = 0, aEnd = a.length, bStart = 0, bEnd = b.length) {\n for (; aStart < aEnd && bStart < bEnd; aStart++, bStart++) {\n let codeA = a.charCodeAt(aStart);\n let codeB = b.charCodeAt(bStart);\n if (codeA === codeB) {\n // equal\n continue;\n }\n if (codeA >= 128 || codeB >= 128) {\n // not ASCII letters -> fallback to lower-casing strings\n return compareSubstring(a.toLowerCase(), b.toLowerCase(), aStart, aEnd, bStart, bEnd);\n }\n // mapper lower-case ascii letter onto upper-case varinats\n // [97-122] (lower ascii) --> [65-90] (upper ascii)\n if (isLowerAsciiLetter(codeA)) {\n codeA -= 32;\n }\n if (isLowerAsciiLetter(codeB)) {\n codeB -= 32;\n }\n // compare both code points\n const diff = codeA - codeB;\n if (diff === 0) {\n continue;\n }\n return diff;\n }\n const aLen = aEnd - aStart;\n const bLen = bEnd - bStart;\n if (aLen < bLen) {\n return -1;\n }\n else if (aLen > bLen) {\n return 1;\n }\n return 0;\n}\nfunction isAsciiDigit(code) {\n return code >= 48 /* CharCode.Digit0 */ && code <= 57 /* CharCode.Digit9 */;\n}\nfunction isLowerAsciiLetter(code) {\n return code >= 97 /* CharCode.a */ && code <= 122 /* CharCode.z */;\n}\nfunction isUpperAsciiLetter(code) {\n return code >= 65 /* CharCode.A */ && code <= 90 /* CharCode.Z */;\n}\nfunction equalsIgnoreCase(a, b) {\n return a.length === b.length && compareSubstringIgnoreCase(a, b) === 0;\n}\nfunction startsWithIgnoreCase(str, candidate) {\n const candidateLength = candidate.length;\n if (candidate.length > str.length) {\n return false;\n }\n return compareSubstringIgnoreCase(str, candidate, 0, candidateLength) === 0;\n}\n/**\n * @returns the length of the common prefix of the two strings.\n */\nfunction commonPrefixLength(a, b) {\n const len = Math.min(a.length, b.length);\n let i;\n for (i = 0; i < len; i++) {\n if (a.charCodeAt(i) !== b.charCodeAt(i)) {\n return i;\n }\n }\n return len;\n}\n/**\n * @returns the length of the common suffix of the two strings.\n */\nfunction commonSuffixLength(a, b) {\n const len = Math.min(a.length, b.length);\n let i;\n const aLastIndex = a.length - 1;\n const bLastIndex = b.length - 1;\n for (i = 0; i < len; i++) {\n if (a.charCodeAt(aLastIndex - i) !== b.charCodeAt(bLastIndex - i)) {\n return i;\n }\n }\n return len;\n}\n/**\n * See http://en.wikipedia.org/wiki/Surrogate_pair\n */\nfunction isHighSurrogate(charCode) {\n return (0xD800 <= charCode && charCode <= 0xDBFF);\n}\n/**\n * See http://en.wikipedia.org/wiki/Surrogate_pair\n */\nfunction isLowSurrogate(charCode) {\n return (0xDC00 <= charCode && charCode <= 0xDFFF);\n}\n/**\n * See http://en.wikipedia.org/wiki/Surrogate_pair\n */\nfunction computeCodePoint(highSurrogate, lowSurrogate) {\n return ((highSurrogate - 0xD800) << 10) + (lowSurrogate - 0xDC00) + 0x10000;\n}\n/**\n * get the code point that begins at offset `offset`\n */\nfunction getNextCodePoint(str, len, offset) {\n const charCode = str.charCodeAt(offset);\n if (isHighSurrogate(charCode) && offset + 1 < len) {\n const nextCharCode = str.charCodeAt(offset + 1);\n if (isLowSurrogate(nextCharCode)) {\n return computeCodePoint(charCode, nextCharCode);\n }\n }\n return charCode;\n}\n/**\n * get the code point that ends right before offset `offset`\n */\nfunction getPrevCodePoint(str, offset) {\n const charCode = str.charCodeAt(offset - 1);\n if (isLowSurrogate(charCode) && offset > 1) {\n const prevCharCode = str.charCodeAt(offset - 2);\n if (isHighSurrogate(prevCharCode)) {\n return computeCodePoint(prevCharCode, charCode);\n }\n }\n return charCode;\n}\nclass CodePointIterator {\n get offset() {\n return this._offset;\n }\n constructor(str, offset = 0) {\n this._str = str;\n this._len = str.length;\n this._offset = offset;\n }\n setOffset(offset) {\n this._offset = offset;\n }\n prevCodePoint() {\n const codePoint = getPrevCodePoint(this._str, this._offset);\n this._offset -= (codePoint >= 65536 /* Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\n return codePoint;\n }\n nextCodePoint() {\n const codePoint = getNextCodePoint(this._str, this._len, this._offset);\n this._offset += (codePoint >= 65536 /* Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\n return codePoint;\n }\n eol() {\n return (this._offset >= this._len);\n }\n}\nclass GraphemeIterator {\n get offset() {\n return this._iterator.offset;\n }\n constructor(str, offset = 0) {\n this._iterator = new CodePointIterator(str, offset);\n }\n nextGraphemeLength() {\n const graphemeBreakTree = GraphemeBreakTree.getInstance();\n const iterator = this._iterator;\n const initialOffset = iterator.offset;\n let graphemeBreakType = graphemeBreakTree.getGraphemeBreakType(iterator.nextCodePoint());\n while (!iterator.eol()) {\n const offset = iterator.offset;\n const nextGraphemeBreakType = graphemeBreakTree.getGraphemeBreakType(iterator.nextCodePoint());\n if (breakBetweenGraphemeBreakType(graphemeBreakType, nextGraphemeBreakType)) {\n // move iterator back\n iterator.setOffset(offset);\n break;\n }\n graphemeBreakType = nextGraphemeBreakType;\n }\n return (iterator.offset - initialOffset);\n }\n prevGraphemeLength() {\n const graphemeBreakTree = GraphemeBreakTree.getInstance();\n const iterator = this._iterator;\n const initialOffset = iterator.offset;\n let graphemeBreakType = graphemeBreakTree.getGraphemeBreakType(iterator.prevCodePoint());\n while (iterator.offset > 0) {\n const offset = iterator.offset;\n const prevGraphemeBreakType = graphemeBreakTree.getGraphemeBreakType(iterator.prevCodePoint());\n if (breakBetweenGraphemeBreakType(prevGraphemeBreakType, graphemeBreakType)) {\n // move iterator back\n iterator.setOffset(offset);\n break;\n }\n graphemeBreakType = prevGraphemeBreakType;\n }\n return (initialOffset - iterator.offset);\n }\n eol() {\n return this._iterator.eol();\n }\n}\nfunction nextCharLength(str, initialOffset) {\n const iterator = new GraphemeIterator(str, initialOffset);\n return iterator.nextGraphemeLength();\n}\nfunction prevCharLength(str, initialOffset) {\n const iterator = new GraphemeIterator(str, initialOffset);\n return iterator.prevGraphemeLength();\n}\nfunction getCharContainingOffset(str, offset) {\n if (offset > 0 && isLowSurrogate(str.charCodeAt(offset))) {\n offset--;\n }\n const endOffset = offset + nextCharLength(str, offset);\n const startOffset = endOffset - prevCharLength(str, endOffset);\n return [startOffset, endOffset];\n}\nlet CONTAINS_RTL = undefined;\nfunction makeContainsRtl() {\n // Generated using https://github.com/alexdima/unicode-utils/blob/main/rtl-test.js\n return /(?:[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05F4\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u0858\\u085E-\\u088E\\u08A0-\\u08C9\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFD3D\\uFD50-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFEFC]|\\uD802[\\uDC00-\\uDD1B\\uDD20-\\uDE00\\uDE10-\\uDE35\\uDE40-\\uDEE4\\uDEEB-\\uDF35\\uDF40-\\uDFFF]|\\uD803[\\uDC00-\\uDD23\\uDE80-\\uDEA9\\uDEAD-\\uDF45\\uDF51-\\uDF81\\uDF86-\\uDFF6]|\\uD83A[\\uDC00-\\uDCCF\\uDD00-\\uDD43\\uDD4B-\\uDFFF]|\\uD83B[\\uDC00-\\uDEBB])/;\n}\n/**\n * Returns true if `str` contains any Unicode character that is classified as \"R\" or \"AL\".\n */\nfunction containsRTL(str) {\n if (!CONTAINS_RTL) {\n CONTAINS_RTL = makeContainsRtl();\n }\n return CONTAINS_RTL.test(str);\n}\nconst IS_BASIC_ASCII = /^[\\t\\n\\r\\x20-\\x7E]*$/;\n/**\n * Returns true if `str` contains only basic ASCII characters in the range 32 - 126 (including 32 and 126) or \\n, \\r, \\t\n */\nfunction isBasicASCII(str) {\n return IS_BASIC_ASCII.test(str);\n}\nconst UNUSUAL_LINE_TERMINATORS = /[\\u2028\\u2029]/; // LINE SEPARATOR (LS) or PARAGRAPH SEPARATOR (PS)\n/**\n * Returns true if `str` contains unusual line terminators, like LS or PS\n */\nfunction containsUnusualLineTerminators(str) {\n return UNUSUAL_LINE_TERMINATORS.test(str);\n}\nfunction isFullWidthCharacter(charCode) {\n // Do a cheap trick to better support wrapping of wide characters, treat them as 2 columns\n // http://jrgraphix.net/research/unicode_blocks.php\n // 2E80 - 2EFF CJK Radicals Supplement\n // 2F00 - 2FDF Kangxi Radicals\n // 2FF0 - 2FFF Ideographic Description Characters\n // 3000 - 303F CJK Symbols and Punctuation\n // 3040 - 309F Hiragana\n // 30A0 - 30FF Katakana\n // 3100 - 312F Bopomofo\n // 3130 - 318F Hangul Compatibility Jamo\n // 3190 - 319F Kanbun\n // 31A0 - 31BF Bopomofo Extended\n // 31F0 - 31FF Katakana Phonetic Extensions\n // 3200 - 32FF Enclosed CJK Letters and Months\n // 3300 - 33FF CJK Compatibility\n // 3400 - 4DBF CJK Unified Ideographs Extension A\n // 4DC0 - 4DFF Yijing Hexagram Symbols\n // 4E00 - 9FFF CJK Unified Ideographs\n // A000 - A48F Yi Syllables\n // A490 - A4CF Yi Radicals\n // AC00 - D7AF Hangul Syllables\n // [IGNORE] D800 - DB7F High Surrogates\n // [IGNORE] DB80 - DBFF High Private Use Surrogates\n // [IGNORE] DC00 - DFFF Low Surrogates\n // [IGNORE] E000 - F8FF Private Use Area\n // F900 - FAFF CJK Compatibility Ideographs\n // [IGNORE] FB00 - FB4F Alphabetic Presentation Forms\n // [IGNORE] FB50 - FDFF Arabic Presentation Forms-A\n // [IGNORE] FE00 - FE0F Variation Selectors\n // [IGNORE] FE20 - FE2F Combining Half Marks\n // [IGNORE] FE30 - FE4F CJK Compatibility Forms\n // [IGNORE] FE50 - FE6F Small Form Variants\n // [IGNORE] FE70 - FEFF Arabic Presentation Forms-B\n // FF00 - FFEF Halfwidth and Fullwidth Forms\n // [https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms]\n // of which FF01 - FF5E fullwidth ASCII of 21 to 7E\n // [IGNORE] and FF65 - FFDC halfwidth of Katakana and Hangul\n // [IGNORE] FFF0 - FFFF Specials\n return ((charCode >= 0x2E80 && charCode <= 0xD7AF)\n || (charCode >= 0xF900 && charCode <= 0xFAFF)\n || (charCode >= 0xFF01 && charCode <= 0xFF5E));\n}\n/**\n * A fast function (therefore imprecise) to check if code points are emojis.\n * Generated using https://github.com/alexdima/unicode-utils/blob/main/emoji-test.js\n */\nfunction isEmojiImprecise(x) {\n return ((x >= 0x1F1E6 && x <= 0x1F1FF) || (x === 8986) || (x === 8987) || (x === 9200)\n || (x === 9203) || (x >= 9728 && x <= 10175) || (x === 11088) || (x === 11093)\n || (x >= 127744 && x <= 128591) || (x >= 128640 && x <= 128764)\n || (x >= 128992 && x <= 129008) || (x >= 129280 && x <= 129535)\n || (x >= 129648 && x <= 129782));\n}\n// -- UTF-8 BOM\nconst UTF8_BOM_CHARACTER = String.fromCharCode(65279 /* CharCode.UTF8_BOM */);\nfunction startsWithUTF8BOM(str) {\n return !!(str && str.length > 0 && str.charCodeAt(0) === 65279 /* CharCode.UTF8_BOM */);\n}\nfunction containsUppercaseCharacter(target, ignoreEscapedChars = false) {\n if (!target) {\n return false;\n }\n if (ignoreEscapedChars) {\n target = target.replace(/\\\\./g, '');\n }\n return target.toLowerCase() !== target;\n}\n/**\n * Produces 'a'-'z', followed by 'A'-'Z'... followed by 'a'-'z', etc.\n */\nfunction singleLetterHash(n) {\n const LETTERS_CNT = (90 /* CharCode.Z */ - 65 /* CharCode.A */ + 1);\n n = n % (2 * LETTERS_CNT);\n if (n < LETTERS_CNT) {\n return String.fromCharCode(97 /* CharCode.a */ + n);\n }\n return String.fromCharCode(65 /* CharCode.A */ + n - LETTERS_CNT);\n}\nfunction breakBetweenGraphemeBreakType(breakTypeA, breakTypeB) {\n // http://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundary_Rules\n // !!! Let's make the common case a bit faster\n if (breakTypeA === 0 /* GraphemeBreakType.Other */) {\n // see https://www.unicode.org/Public/13.0.0/ucd/auxiliary/GraphemeBreakTest-13.0.0d10.html#table\n return (breakTypeB !== 5 /* GraphemeBreakType.Extend */ && breakTypeB !== 7 /* GraphemeBreakType.SpacingMark */);\n }\n // Do not break between a CR and LF. Otherwise, break before and after controls.\n // GB3 CR × LF\n // GB4 (Control | CR | LF) ÷\n // GB5 ÷ (Control | CR | LF)\n if (breakTypeA === 2 /* GraphemeBreakType.CR */) {\n if (breakTypeB === 3 /* GraphemeBreakType.LF */) {\n return false; // GB3\n }\n }\n if (breakTypeA === 4 /* GraphemeBreakType.Control */ || breakTypeA === 2 /* GraphemeBreakType.CR */ || breakTypeA === 3 /* GraphemeBreakType.LF */) {\n return true; // GB4\n }\n if (breakTypeB === 4 /* GraphemeBreakType.Control */ || breakTypeB === 2 /* GraphemeBreakType.CR */ || breakTypeB === 3 /* GraphemeBreakType.LF */) {\n return true; // GB5\n }\n // Do not break Hangul syllable sequences.\n // GB6 L × (L | V | LV | LVT)\n // GB7 (LV | V) × (V | T)\n // GB8 (LVT | T) × T\n if (breakTypeA === 8 /* GraphemeBreakType.L */) {\n if (breakTypeB === 8 /* GraphemeBreakType.L */ || breakTypeB === 9 /* GraphemeBreakType.V */ || breakTypeB === 11 /* GraphemeBreakType.LV */ || breakTypeB === 12 /* GraphemeBreakType.LVT */) {\n return false; // GB6\n }\n }\n if (breakTypeA === 11 /* GraphemeBreakType.LV */ || breakTypeA === 9 /* GraphemeBreakType.V */) {\n if (breakTypeB === 9 /* GraphemeBreakType.V */ || breakTypeB === 10 /* GraphemeBreakType.T */) {\n return false; // GB7\n }\n }\n if (breakTypeA === 12 /* GraphemeBreakType.LVT */ || breakTypeA === 10 /* GraphemeBreakType.T */) {\n if (breakTypeB === 10 /* GraphemeBreakType.T */) {\n return false; // GB8\n }\n }\n // Do not break before extending characters or ZWJ.\n // GB9 × (Extend | ZWJ)\n if (breakTypeB === 5 /* GraphemeBreakType.Extend */ || breakTypeB === 13 /* GraphemeBreakType.ZWJ */) {\n return false; // GB9\n }\n // The GB9a and GB9b rules only apply to extended grapheme clusters:\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a × SpacingMark\n // GB9b Prepend ×\n if (breakTypeB === 7 /* GraphemeBreakType.SpacingMark */) {\n return false; // GB9a\n }\n if (breakTypeA === 1 /* GraphemeBreakType.Prepend */) {\n return false; // GB9b\n }\n // Do not break within emoji modifier sequences or emoji zwj sequences.\n // GB11 \\p{Extended_Pictographic} Extend* ZWJ × \\p{Extended_Pictographic}\n if (breakTypeA === 13 /* GraphemeBreakType.ZWJ */ && breakTypeB === 14 /* GraphemeBreakType.Extended_Pictographic */) {\n // Note: we are not implementing the rule entirely here to avoid introducing states\n return false; // GB11\n }\n // GB12 sot (RI RI)* RI × RI\n // GB13 [^RI] (RI RI)* RI × RI\n if (breakTypeA === 6 /* GraphemeBreakType.Regional_Indicator */ && breakTypeB === 6 /* GraphemeBreakType.Regional_Indicator */) {\n // Note: we are not implementing the rule entirely here to avoid introducing states\n return false; // GB12 & GB13\n }\n // GB999 Any ÷ Any\n return true;\n}\nclass GraphemeBreakTree {\n static getInstance() {\n if (!GraphemeBreakTree._INSTANCE) {\n GraphemeBreakTree._INSTANCE = new GraphemeBreakTree();\n }\n return GraphemeBreakTree._INSTANCE;\n }\n constructor() {\n this._data = getGraphemeBreakRawData();\n }\n getGraphemeBreakType(codePoint) {\n // !!! Let's make 7bit ASCII a bit faster: 0..31\n if (codePoint < 32) {\n if (codePoint === 10 /* CharCode.LineFeed */) {\n return 3 /* GraphemeBreakType.LF */;\n }\n if (codePoint === 13 /* CharCode.CarriageReturn */) {\n return 2 /* GraphemeBreakType.CR */;\n }\n return 4 /* GraphemeBreakType.Control */;\n }\n // !!! Let's make 7bit ASCII a bit faster: 32..126\n if (codePoint < 127) {\n return 0 /* GraphemeBreakType.Other */;\n }\n const data = this._data;\n const nodeCount = data.length / 3;\n let nodeIndex = 1;\n while (nodeIndex <= nodeCount) {\n if (codePoint < data[3 * nodeIndex]) {\n // go left\n nodeIndex = 2 * nodeIndex;\n }\n else if (codePoint > data[3 * nodeIndex + 1]) {\n // go right\n nodeIndex = 2 * nodeIndex + 1;\n }\n else {\n // hit\n return data[3 * nodeIndex + 2];\n }\n }\n return 0 /* GraphemeBreakType.Other */;\n }\n}\nGraphemeBreakTree._INSTANCE = null;\nfunction getGraphemeBreakRawData() {\n // generated using https://github.com/alexdima/unicode-utils/blob/main/grapheme-break.js\n return JSON.parse('[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]');\n}\n//#endregion\n/**\n * Computes the offset after performing a left delete on the given string,\n * while considering unicode grapheme/emoji rules.\n*/\nfunction getLeftDeleteOffset(offset, str) {\n if (offset === 0) {\n return 0;\n }\n // Try to delete emoji part.\n const emojiOffset = getOffsetBeforeLastEmojiComponent(offset, str);\n if (emojiOffset !== undefined) {\n return emojiOffset;\n }\n // Otherwise, just skip a single code point.\n const iterator = new CodePointIterator(str, offset);\n iterator.prevCodePoint();\n return iterator.offset;\n}\nfunction getOffsetBeforeLastEmojiComponent(initialOffset, str) {\n // See https://www.unicode.org/reports/tr51/tr51-14.html#EBNF_and_Regex for the\n // structure of emojis.\n const iterator = new CodePointIterator(str, initialOffset);\n let codePoint = iterator.prevCodePoint();\n // Skip modifiers\n while ((isEmojiModifier(codePoint) || codePoint === 65039 /* CodePoint.emojiVariantSelector */ || codePoint === 8419 /* CodePoint.enclosingKeyCap */)) {\n if (iterator.offset === 0) {\n // Cannot skip modifier, no preceding emoji base.\n return undefined;\n }\n codePoint = iterator.prevCodePoint();\n }\n // Expect base emoji\n if (!isEmojiImprecise(codePoint)) {\n // Unexpected code point, not a valid emoji.\n return undefined;\n }\n let resultOffset = iterator.offset;\n if (resultOffset > 0) {\n // Skip optional ZWJ code points that combine multiple emojis.\n // In theory, we should check if that ZWJ actually combines multiple emojis\n // to prevent deleting ZWJs in situations we didn't account for.\n const optionalZwjCodePoint = iterator.prevCodePoint();\n if (optionalZwjCodePoint === 8205 /* CodePoint.zwj */) {\n resultOffset = iterator.offset;\n }\n }\n return resultOffset;\n}\nfunction isEmojiModifier(codePoint) {\n return 0x1F3FB <= codePoint && codePoint <= 0x1F3FF;\n}\nconst noBreakWhitespace = '\\xa0';\nclass AmbiguousCharacters {\n static getInstance(locales) {\n return _a.cache.get(Array.from(locales));\n }\n static getLocales() {\n return _a._locales.value;\n }\n constructor(confusableDictionary) {\n this.confusableDictionary = confusableDictionary;\n }\n isAmbiguous(codePoint) {\n return this.confusableDictionary.has(codePoint);\n }\n /**\n * Returns the non basic ASCII code point that the given code point can be confused,\n * or undefined if such code point does note exist.\n */\n getPrimaryConfusable(codePoint) {\n return this.confusableDictionary.get(codePoint);\n }\n getConfusableCodePoints() {\n return new Set(this.confusableDictionary.keys());\n }\n}\n_a = AmbiguousCharacters;\nAmbiguousCharacters.ambiguousCharacterData = new _lazy_js__WEBPACK_IMPORTED_MODULE_1__.Lazy(() => {\n // Generated using https://github.com/hediet/vscode-unicode-data\n // Stored as key1, value1, key2, value2, ...\n return JSON.parse('{\\\"_common\\\":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],\\\"_default\\\":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"cs\\\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"de\\\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"es\\\":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"fr\\\":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"it\\\":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"ja\\\":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],\\\"ko\\\":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"pl\\\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"pt-BR\\\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"qps-ploc\\\":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"ru\\\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"tr\\\":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"zh-hans\\\":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],\\\"zh-hant\\\":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}');\n});\nAmbiguousCharacters.cache = new _cache_js__WEBPACK_IMPORTED_MODULE_0__.LRUCachedFunction((locales) => {\n function arrayToMap(arr) {\n const result = new Map();\n for (let i = 0; i < arr.length; i += 2) {\n result.set(arr[i], arr[i + 1]);\n }\n return result;\n }\n function mergeMaps(map1, map2) {\n const result = new Map(map1);\n for (const [key, value] of map2) {\n result.set(key, value);\n }\n return result;\n }\n function intersectMaps(map1, map2) {\n if (!map1) {\n return map2;\n }\n const result = new Map();\n for (const [key, value] of map1) {\n if (map2.has(key)) {\n result.set(key, value);\n }\n }\n return result;\n }\n const data = _a.ambiguousCharacterData.value;\n let filteredLocales = locales.filter((l) => !l.startsWith('_') && l in data);\n if (filteredLocales.length === 0) {\n filteredLocales = ['_default'];\n }\n let languageSpecificMap = undefined;\n for (const locale of filteredLocales) {\n const map = arrayToMap(data[locale]);\n languageSpecificMap = intersectMaps(languageSpecificMap, map);\n }\n const commonMap = arrayToMap(data['_common']);\n const map = mergeMaps(commonMap, languageSpecificMap);\n return new _a(map);\n});\nAmbiguousCharacters._locales = new _lazy_js__WEBPACK_IMPORTED_MODULE_1__.Lazy(() => Object.keys(_a.ambiguousCharacterData.value).filter((k) => !k.startsWith('_')));\nclass InvisibleCharacters {\n static getRawData() {\n // Generated using https://github.com/hediet/vscode-unicode-data\n return JSON.parse('[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]');\n }\n static getData() {\n if (!this._data) {\n this._data = new Set(InvisibleCharacters.getRawData());\n }\n return this._data;\n }\n static isInvisibleCharacter(codePoint) {\n return InvisibleCharacters.getData().has(codePoint);\n }\n static get codePoints() {\n return InvisibleCharacters.getData();\n }\n}\nInvisibleCharacters._data = undefined;\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/strings.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/symbols.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/symbols.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MicrotaskDelay: () => (/* binding */ MicrotaskDelay)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/**\n * Can be passed into the Delayed to defer using a microtask\n * */\nconst MicrotaskDelay = Symbol('MicrotaskDelay');\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/symbols.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/ternarySearchTree.js":
+/*!****************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/ternarySearchTree.js ***!
+ \****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConfigKeysIterator: () => (/* binding */ ConfigKeysIterator),\n/* harmony export */ PathIterator: () => (/* binding */ PathIterator),\n/* harmony export */ StringIterator: () => (/* binding */ StringIterator),\n/* harmony export */ TernarySearchTree: () => (/* binding */ TernarySearchTree),\n/* harmony export */ UriIterator: () => (/* binding */ UriIterator)\n/* harmony export */ });\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n\nclass StringIterator {\n constructor() {\n this._value = '';\n this._pos = 0;\n }\n reset(key) {\n this._value = key;\n this._pos = 0;\n return this;\n }\n next() {\n this._pos += 1;\n return this;\n }\n hasNext() {\n return this._pos < this._value.length - 1;\n }\n cmp(a) {\n const aCode = a.charCodeAt(0);\n const thisCode = this._value.charCodeAt(this._pos);\n return aCode - thisCode;\n }\n value() {\n return this._value[this._pos];\n }\n}\nclass ConfigKeysIterator {\n constructor(_caseSensitive = true) {\n this._caseSensitive = _caseSensitive;\n }\n reset(key) {\n this._value = key;\n this._from = 0;\n this._to = 0;\n return this.next();\n }\n hasNext() {\n return this._to < this._value.length;\n }\n next() {\n // this._data = key.split(/[\\\\/]/).filter(s => !!s);\n this._from = this._to;\n let justSeps = true;\n for (; this._to < this._value.length; this._to++) {\n const ch = this._value.charCodeAt(this._to);\n if (ch === 46 /* CharCode.Period */) {\n if (justSeps) {\n this._from++;\n }\n else {\n break;\n }\n }\n else {\n justSeps = false;\n }\n }\n return this;\n }\n cmp(a) {\n return this._caseSensitive\n ? (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compareSubstring)(a, this._value, 0, a.length, this._from, this._to)\n : (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compareSubstringIgnoreCase)(a, this._value, 0, a.length, this._from, this._to);\n }\n value() {\n return this._value.substring(this._from, this._to);\n }\n}\nclass PathIterator {\n constructor(_splitOnBackslash = true, _caseSensitive = true) {\n this._splitOnBackslash = _splitOnBackslash;\n this._caseSensitive = _caseSensitive;\n }\n reset(key) {\n this._from = 0;\n this._to = 0;\n this._value = key;\n this._valueLen = key.length;\n for (let pos = key.length - 1; pos >= 0; pos--, this._valueLen--) {\n const ch = this._value.charCodeAt(pos);\n if (!(ch === 47 /* CharCode.Slash */ || this._splitOnBackslash && ch === 92 /* CharCode.Backslash */)) {\n break;\n }\n }\n return this.next();\n }\n hasNext() {\n return this._to < this._valueLen;\n }\n next() {\n // this._data = key.split(/[\\\\/]/).filter(s => !!s);\n this._from = this._to;\n let justSeps = true;\n for (; this._to < this._valueLen; this._to++) {\n const ch = this._value.charCodeAt(this._to);\n if (ch === 47 /* CharCode.Slash */ || this._splitOnBackslash && ch === 92 /* CharCode.Backslash */) {\n if (justSeps) {\n this._from++;\n }\n else {\n break;\n }\n }\n else {\n justSeps = false;\n }\n }\n return this;\n }\n cmp(a) {\n return this._caseSensitive\n ? (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compareSubstring)(a, this._value, 0, a.length, this._from, this._to)\n : (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compareSubstringIgnoreCase)(a, this._value, 0, a.length, this._from, this._to);\n }\n value() {\n return this._value.substring(this._from, this._to);\n }\n}\nclass UriIterator {\n constructor(_ignorePathCasing, _ignoreQueryAndFragment) {\n this._ignorePathCasing = _ignorePathCasing;\n this._ignoreQueryAndFragment = _ignoreQueryAndFragment;\n this._states = [];\n this._stateIdx = 0;\n }\n reset(key) {\n this._value = key;\n this._states = [];\n if (this._value.scheme) {\n this._states.push(1 /* UriIteratorState.Scheme */);\n }\n if (this._value.authority) {\n this._states.push(2 /* UriIteratorState.Authority */);\n }\n if (this._value.path) {\n this._pathIterator = new PathIterator(false, !this._ignorePathCasing(key));\n this._pathIterator.reset(key.path);\n if (this._pathIterator.value()) {\n this._states.push(3 /* UriIteratorState.Path */);\n }\n }\n if (!this._ignoreQueryAndFragment(key)) {\n if (this._value.query) {\n this._states.push(4 /* UriIteratorState.Query */);\n }\n if (this._value.fragment) {\n this._states.push(5 /* UriIteratorState.Fragment */);\n }\n }\n this._stateIdx = 0;\n return this;\n }\n next() {\n if (this._states[this._stateIdx] === 3 /* UriIteratorState.Path */ && this._pathIterator.hasNext()) {\n this._pathIterator.next();\n }\n else {\n this._stateIdx += 1;\n }\n return this;\n }\n hasNext() {\n return (this._states[this._stateIdx] === 3 /* UriIteratorState.Path */ && this._pathIterator.hasNext())\n || this._stateIdx < this._states.length - 1;\n }\n cmp(a) {\n if (this._states[this._stateIdx] === 1 /* UriIteratorState.Scheme */) {\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compareIgnoreCase)(a, this._value.scheme);\n }\n else if (this._states[this._stateIdx] === 2 /* UriIteratorState.Authority */) {\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compareIgnoreCase)(a, this._value.authority);\n }\n else if (this._states[this._stateIdx] === 3 /* UriIteratorState.Path */) {\n return this._pathIterator.cmp(a);\n }\n else if (this._states[this._stateIdx] === 4 /* UriIteratorState.Query */) {\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compare)(a, this._value.query);\n }\n else if (this._states[this._stateIdx] === 5 /* UriIteratorState.Fragment */) {\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compare)(a, this._value.fragment);\n }\n throw new Error();\n }\n value() {\n if (this._states[this._stateIdx] === 1 /* UriIteratorState.Scheme */) {\n return this._value.scheme;\n }\n else if (this._states[this._stateIdx] === 2 /* UriIteratorState.Authority */) {\n return this._value.authority;\n }\n else if (this._states[this._stateIdx] === 3 /* UriIteratorState.Path */) {\n return this._pathIterator.value();\n }\n else if (this._states[this._stateIdx] === 4 /* UriIteratorState.Query */) {\n return this._value.query;\n }\n else if (this._states[this._stateIdx] === 5 /* UriIteratorState.Fragment */) {\n return this._value.fragment;\n }\n throw new Error();\n }\n}\nclass TernarySearchTreeNode {\n constructor() {\n this.height = 1;\n }\n rotateLeft() {\n const tmp = this.right;\n this.right = tmp.left;\n tmp.left = this;\n this.updateHeight();\n tmp.updateHeight();\n return tmp;\n }\n rotateRight() {\n const tmp = this.left;\n this.left = tmp.right;\n tmp.right = this;\n this.updateHeight();\n tmp.updateHeight();\n return tmp;\n }\n updateHeight() {\n this.height = 1 + Math.max(this.heightLeft, this.heightRight);\n }\n balanceFactor() {\n return this.heightRight - this.heightLeft;\n }\n get heightLeft() {\n var _a, _b;\n return (_b = (_a = this.left) === null || _a === void 0 ? void 0 : _a.height) !== null && _b !== void 0 ? _b : 0;\n }\n get heightRight() {\n var _a, _b;\n return (_b = (_a = this.right) === null || _a === void 0 ? void 0 : _a.height) !== null && _b !== void 0 ? _b : 0;\n }\n}\nclass TernarySearchTree {\n static forUris(ignorePathCasing = () => false, ignoreQueryAndFragment = () => false) {\n return new TernarySearchTree(new UriIterator(ignorePathCasing, ignoreQueryAndFragment));\n }\n static forStrings() {\n return new TernarySearchTree(new StringIterator());\n }\n static forConfigKeys() {\n return new TernarySearchTree(new ConfigKeysIterator());\n }\n constructor(segments) {\n this._iter = segments;\n }\n clear() {\n this._root = undefined;\n }\n set(key, element) {\n const iter = this._iter.reset(key);\n let node;\n if (!this._root) {\n this._root = new TernarySearchTreeNode();\n this._root.segment = iter.value();\n }\n const stack = [];\n // find insert_node\n node = this._root;\n while (true) {\n const val = iter.cmp(node.segment);\n if (val > 0) {\n // left\n if (!node.left) {\n node.left = new TernarySearchTreeNode();\n node.left.segment = iter.value();\n }\n stack.push([-1 /* Dir.Left */, node]);\n node = node.left;\n }\n else if (val < 0) {\n // right\n if (!node.right) {\n node.right = new TernarySearchTreeNode();\n node.right.segment = iter.value();\n }\n stack.push([1 /* Dir.Right */, node]);\n node = node.right;\n }\n else if (iter.hasNext()) {\n // mid\n iter.next();\n if (!node.mid) {\n node.mid = new TernarySearchTreeNode();\n node.mid.segment = iter.value();\n }\n stack.push([0 /* Dir.Mid */, node]);\n node = node.mid;\n }\n else {\n break;\n }\n }\n // set value\n const oldElement = node.value;\n node.value = element;\n node.key = key;\n // balance\n for (let i = stack.length - 1; i >= 0; i--) {\n const node = stack[i][1];\n node.updateHeight();\n const bf = node.balanceFactor();\n if (bf < -1 || bf > 1) {\n // needs rotate\n const d1 = stack[i][0];\n const d2 = stack[i + 1][0];\n if (d1 === 1 /* Dir.Right */ && d2 === 1 /* Dir.Right */) {\n //right, right -> rotate left\n stack[i][1] = node.rotateLeft();\n }\n else if (d1 === -1 /* Dir.Left */ && d2 === -1 /* Dir.Left */) {\n // left, left -> rotate right\n stack[i][1] = node.rotateRight();\n }\n else if (d1 === 1 /* Dir.Right */ && d2 === -1 /* Dir.Left */) {\n // right, left -> double rotate right, left\n node.right = stack[i + 1][1] = stack[i + 1][1].rotateRight();\n stack[i][1] = node.rotateLeft();\n }\n else if (d1 === -1 /* Dir.Left */ && d2 === 1 /* Dir.Right */) {\n // left, right -> double rotate left, right\n node.left = stack[i + 1][1] = stack[i + 1][1].rotateLeft();\n stack[i][1] = node.rotateRight();\n }\n else {\n throw new Error();\n }\n // patch path to parent\n if (i > 0) {\n switch (stack[i - 1][0]) {\n case -1 /* Dir.Left */:\n stack[i - 1][1].left = stack[i][1];\n break;\n case 1 /* Dir.Right */:\n stack[i - 1][1].right = stack[i][1];\n break;\n case 0 /* Dir.Mid */:\n stack[i - 1][1].mid = stack[i][1];\n break;\n }\n }\n else {\n this._root = stack[0][1];\n }\n }\n }\n return oldElement;\n }\n get(key) {\n var _a;\n return (_a = this._getNode(key)) === null || _a === void 0 ? void 0 : _a.value;\n }\n _getNode(key) {\n const iter = this._iter.reset(key);\n let node = this._root;\n while (node) {\n const val = iter.cmp(node.segment);\n if (val > 0) {\n // left\n node = node.left;\n }\n else if (val < 0) {\n // right\n node = node.right;\n }\n else if (iter.hasNext()) {\n // mid\n iter.next();\n node = node.mid;\n }\n else {\n break;\n }\n }\n return node;\n }\n has(key) {\n const node = this._getNode(key);\n return !((node === null || node === void 0 ? void 0 : node.value) === undefined && (node === null || node === void 0 ? void 0 : node.mid) === undefined);\n }\n delete(key) {\n return this._delete(key, false);\n }\n deleteSuperstr(key) {\n return this._delete(key, true);\n }\n _delete(key, superStr) {\n var _a;\n const iter = this._iter.reset(key);\n const stack = [];\n let node = this._root;\n // find node\n while (node) {\n const val = iter.cmp(node.segment);\n if (val > 0) {\n // left\n stack.push([-1 /* Dir.Left */, node]);\n node = node.left;\n }\n else if (val < 0) {\n // right\n stack.push([1 /* Dir.Right */, node]);\n node = node.right;\n }\n else if (iter.hasNext()) {\n // mid\n iter.next();\n stack.push([0 /* Dir.Mid */, node]);\n node = node.mid;\n }\n else {\n break;\n }\n }\n if (!node) {\n // node not found\n return;\n }\n if (superStr) {\n // removing children, reset height\n node.left = undefined;\n node.mid = undefined;\n node.right = undefined;\n node.height = 1;\n }\n else {\n // removing element\n node.key = undefined;\n node.value = undefined;\n }\n // BST node removal\n if (!node.mid && !node.value) {\n if (node.left && node.right) {\n // full node\n // replace deleted-node with the min-node of the right branch.\n // If there is no true min-node leave things as they are\n const min = this._min(node.right);\n if (min.key) {\n const { key, value, segment } = min;\n this._delete(min.key, false);\n node.key = key;\n node.value = value;\n node.segment = segment;\n }\n }\n else {\n // empty or half empty\n const newChild = (_a = node.left) !== null && _a !== void 0 ? _a : node.right;\n if (stack.length > 0) {\n const [dir, parent] = stack[stack.length - 1];\n switch (dir) {\n case -1 /* Dir.Left */:\n parent.left = newChild;\n break;\n case 0 /* Dir.Mid */:\n parent.mid = newChild;\n break;\n case 1 /* Dir.Right */:\n parent.right = newChild;\n break;\n }\n }\n else {\n this._root = newChild;\n }\n }\n }\n // AVL balance\n for (let i = stack.length - 1; i >= 0; i--) {\n const node = stack[i][1];\n node.updateHeight();\n const bf = node.balanceFactor();\n if (bf > 1) {\n // right heavy\n if (node.right.balanceFactor() >= 0) {\n // right, right -> rotate left\n stack[i][1] = node.rotateLeft();\n }\n else {\n // right, left -> double rotate\n node.right = node.right.rotateRight();\n stack[i][1] = node.rotateLeft();\n }\n }\n else if (bf < -1) {\n // left heavy\n if (node.left.balanceFactor() <= 0) {\n // left, left -> rotate right\n stack[i][1] = node.rotateRight();\n }\n else {\n // left, right -> double rotate\n node.left = node.left.rotateLeft();\n stack[i][1] = node.rotateRight();\n }\n }\n // patch path to parent\n if (i > 0) {\n switch (stack[i - 1][0]) {\n case -1 /* Dir.Left */:\n stack[i - 1][1].left = stack[i][1];\n break;\n case 1 /* Dir.Right */:\n stack[i - 1][1].right = stack[i][1];\n break;\n case 0 /* Dir.Mid */:\n stack[i - 1][1].mid = stack[i][1];\n break;\n }\n }\n else {\n this._root = stack[0][1];\n }\n }\n }\n _min(node) {\n while (node.left) {\n node = node.left;\n }\n return node;\n }\n findSubstr(key) {\n const iter = this._iter.reset(key);\n let node = this._root;\n let candidate = undefined;\n while (node) {\n const val = iter.cmp(node.segment);\n if (val > 0) {\n // left\n node = node.left;\n }\n else if (val < 0) {\n // right\n node = node.right;\n }\n else if (iter.hasNext()) {\n // mid\n iter.next();\n candidate = node.value || candidate;\n node = node.mid;\n }\n else {\n break;\n }\n }\n return node && node.value || candidate;\n }\n findSuperstr(key) {\n return this._findSuperstrOrElement(key, false);\n }\n _findSuperstrOrElement(key, allowValue) {\n const iter = this._iter.reset(key);\n let node = this._root;\n while (node) {\n const val = iter.cmp(node.segment);\n if (val > 0) {\n // left\n node = node.left;\n }\n else if (val < 0) {\n // right\n node = node.right;\n }\n else if (iter.hasNext()) {\n // mid\n iter.next();\n node = node.mid;\n }\n else {\n // collect\n if (!node.mid) {\n if (allowValue) {\n return node.value;\n }\n else {\n return undefined;\n }\n }\n else {\n return this._entries(node.mid);\n }\n }\n }\n return undefined;\n }\n forEach(callback) {\n for (const [key, value] of this) {\n callback(value, key);\n }\n }\n *[Symbol.iterator]() {\n yield* this._entries(this._root);\n }\n _entries(node) {\n const result = [];\n this._dfsEntries(node, result);\n return result[Symbol.iterator]();\n }\n _dfsEntries(node, bucket) {\n // DFS\n if (!node) {\n return;\n }\n if (node.left) {\n this._dfsEntries(node.left, bucket);\n }\n if (node.value) {\n bucket.push([node.key, node.value]);\n }\n if (node.mid) {\n this._dfsEntries(node.mid, bucket);\n }\n if (node.right) {\n this._dfsEntries(node.right, bucket);\n }\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/ternarySearchTree.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/tfIdf.js":
+/*!****************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/tfIdf.js ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TfIdfCalculator: () => (/* binding */ TfIdfCalculator),\n/* harmony export */ normalizeTfIdfScores: () => (/* binding */ normalizeTfIdfScores)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction countMapFrom(values) {\n var _a;\n const map = new Map();\n for (const value of values) {\n map.set(value, ((_a = map.get(value)) !== null && _a !== void 0 ? _a : 0) + 1);\n }\n return map;\n}\n/**\n * Implementation of tf-idf (term frequency-inverse document frequency) for a set of\n * documents where each document contains one or more chunks of text.\n * Each document is identified by a key, and the score for each document is computed\n * by taking the max score over all the chunks in the document.\n */\nclass TfIdfCalculator {\n constructor() {\n /**\n * Total number of chunks\n */\n this.chunkCount = 0;\n this.chunkOccurrences = new Map();\n this.documents = new Map();\n }\n calculateScores(query, token) {\n const embedding = this.computeEmbedding(query);\n const idfCache = new Map();\n const scores = [];\n // For each document, generate one score\n for (const [key, doc] of this.documents) {\n if (token.isCancellationRequested) {\n return [];\n }\n for (const chunk of doc.chunks) {\n const score = this.computeSimilarityScore(chunk, embedding, idfCache);\n if (score > 0) {\n scores.push({ key, score });\n }\n }\n }\n return scores;\n }\n /**\n * Count how many times each term (word) appears in a string.\n */\n static termFrequencies(input) {\n return countMapFrom(TfIdfCalculator.splitTerms(input));\n }\n /**\n * Break a string into terms (words).\n */\n static *splitTerms(input) {\n const normalize = (word) => word.toLowerCase();\n // Only match on words that are at least 3 characters long and start with a letter\n for (const [word] of input.matchAll(/\\b\\p{Letter}[\\p{Letter}\\d]{2,}\\b/gu)) {\n yield normalize(word);\n const camelParts = word.replace(/([a-z])([A-Z])/g, '$1 $2').split(/\\s+/g);\n if (camelParts.length > 1) {\n for (const part of camelParts) {\n // Require at least 3 letters in the parts of a camel case word\n if (part.length > 2 && /\\p{Letter}{3,}/gu.test(part)) {\n yield normalize(part);\n }\n }\n }\n }\n }\n updateDocuments(documents) {\n var _a;\n for (const { key } of documents) {\n this.deleteDocument(key);\n }\n for (const doc of documents) {\n const chunks = [];\n for (const text of doc.textChunks) {\n // TODO: See if we can compute the tf lazily\n // The challenge is that we need to also update the `chunkOccurrences`\n // and all of those updates need to get flushed before the real TF-IDF of\n // anything is computed.\n const tf = TfIdfCalculator.termFrequencies(text);\n // Update occurrences list\n for (const term of tf.keys()) {\n this.chunkOccurrences.set(term, ((_a = this.chunkOccurrences.get(term)) !== null && _a !== void 0 ? _a : 0) + 1);\n }\n chunks.push({ text, tf });\n }\n this.chunkCount += chunks.length;\n this.documents.set(doc.key, { chunks });\n }\n return this;\n }\n deleteDocument(key) {\n const doc = this.documents.get(key);\n if (!doc) {\n return;\n }\n this.documents.delete(key);\n this.chunkCount -= doc.chunks.length;\n // Update term occurrences for the document\n for (const chunk of doc.chunks) {\n for (const term of chunk.tf.keys()) {\n const currentOccurrences = this.chunkOccurrences.get(term);\n if (typeof currentOccurrences === 'number') {\n const newOccurrences = currentOccurrences - 1;\n if (newOccurrences <= 0) {\n this.chunkOccurrences.delete(term);\n }\n else {\n this.chunkOccurrences.set(term, newOccurrences);\n }\n }\n }\n }\n }\n computeSimilarityScore(chunk, queryEmbedding, idfCache) {\n // Compute the dot product between the chunk's embedding and the query embedding\n // Note that the chunk embedding is computed lazily on a per-term basis.\n // This lets us skip a large number of calculations because the majority\n // of chunks do not share any terms with the query.\n let sum = 0;\n for (const [term, termTfidf] of Object.entries(queryEmbedding)) {\n const chunkTf = chunk.tf.get(term);\n if (!chunkTf) {\n // Term does not appear in chunk so it has no contribution\n continue;\n }\n let chunkIdf = idfCache.get(term);\n if (typeof chunkIdf !== 'number') {\n chunkIdf = this.computeIdf(term);\n idfCache.set(term, chunkIdf);\n }\n const chunkTfidf = chunkTf * chunkIdf;\n sum += chunkTfidf * termTfidf;\n }\n return sum;\n }\n computeEmbedding(input) {\n const tf = TfIdfCalculator.termFrequencies(input);\n return this.computeTfidf(tf);\n }\n computeIdf(term) {\n var _a;\n const chunkOccurrences = (_a = this.chunkOccurrences.get(term)) !== null && _a !== void 0 ? _a : 0;\n return chunkOccurrences > 0\n ? Math.log((this.chunkCount + 1) / chunkOccurrences)\n : 0;\n }\n computeTfidf(termFrequencies) {\n const embedding = Object.create(null);\n for (const [word, occurrences] of termFrequencies) {\n const idf = this.computeIdf(word);\n if (idf > 0) {\n embedding[word] = occurrences * idf;\n }\n }\n return embedding;\n }\n}\n/**\n * Normalize the scores to be between 0 and 1 and sort them decending.\n * @param scores array of scores from {@link TfIdfCalculator.calculateScores}\n * @returns normalized scores\n */\nfunction normalizeTfIdfScores(scores) {\n var _a, _b;\n // copy of scores\n const result = scores.slice(0);\n // sort descending\n result.sort((a, b) => b.score - a.score);\n // normalize\n const max = (_b = (_a = result[0]) === null || _a === void 0 ? void 0 : _a.score) !== null && _b !== void 0 ? _b : 0;\n if (max > 0) {\n for (const score of result) {\n score.score /= max;\n }\n }\n return result;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/tfIdf.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/themables.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/themables.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ThemeColor: () => (/* binding */ ThemeColor),\n/* harmony export */ ThemeIcon: () => (/* binding */ ThemeIcon)\n/* harmony export */ });\n/* harmony import */ var _codicons_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nvar ThemeColor;\n(function (ThemeColor) {\n function isThemeColor(obj) {\n return obj && typeof obj === 'object' && typeof obj.id === 'string';\n }\n ThemeColor.isThemeColor = isThemeColor;\n})(ThemeColor || (ThemeColor = {}));\nvar ThemeIcon;\n(function (ThemeIcon) {\n ThemeIcon.iconNameSegment = '[A-Za-z0-9]+';\n ThemeIcon.iconNameExpression = '[A-Za-z0-9-]+';\n ThemeIcon.iconModifierExpression = '~[A-Za-z]+';\n ThemeIcon.iconNameCharacter = '[A-Za-z0-9~-]';\n const ThemeIconIdRegex = new RegExp(`^(${ThemeIcon.iconNameExpression})(${ThemeIcon.iconModifierExpression})?$`);\n function asClassNameArray(icon) {\n const match = ThemeIconIdRegex.exec(icon.id);\n if (!match) {\n return asClassNameArray(_codicons_js__WEBPACK_IMPORTED_MODULE_0__.Codicon.error);\n }\n const [, id, modifier] = match;\n const classNames = ['codicon', 'codicon-' + id];\n if (modifier) {\n classNames.push('codicon-modifier-' + modifier.substring(1));\n }\n return classNames;\n }\n ThemeIcon.asClassNameArray = asClassNameArray;\n function asClassName(icon) {\n return asClassNameArray(icon).join(' ');\n }\n ThemeIcon.asClassName = asClassName;\n function asCSSSelector(icon) {\n return '.' + asClassNameArray(icon).join('.');\n }\n ThemeIcon.asCSSSelector = asCSSSelector;\n function isThemeIcon(obj) {\n return obj && typeof obj === 'object' && typeof obj.id === 'string' && (typeof obj.color === 'undefined' || ThemeColor.isThemeColor(obj.color));\n }\n ThemeIcon.isThemeIcon = isThemeIcon;\n const _regexFromString = new RegExp(`^\\\\$\\\\((${ThemeIcon.iconNameExpression}(?:${ThemeIcon.iconModifierExpression})?)\\\\)$`);\n function fromString(str) {\n const match = _regexFromString.exec(str);\n if (!match) {\n return undefined;\n }\n const [, name] = match;\n return { id: name };\n }\n ThemeIcon.fromString = fromString;\n function fromId(id) {\n return { id };\n }\n ThemeIcon.fromId = fromId;\n function modify(icon, modifier) {\n let id = icon.id;\n const tildeIndex = id.lastIndexOf('~');\n if (tildeIndex !== -1) {\n id = id.substring(0, tildeIndex);\n }\n if (modifier) {\n id = `${id}~${modifier}`;\n }\n return { id };\n }\n ThemeIcon.modify = modify;\n function getModifier(icon) {\n const tildeIndex = icon.id.lastIndexOf('~');\n if (tildeIndex !== -1) {\n return icon.id.substring(tildeIndex + 1);\n }\n return undefined;\n }\n ThemeIcon.getModifier = getModifier;\n function isEqual(ti1, ti2) {\n var _a, _b;\n return ti1.id === ti2.id && ((_a = ti1.color) === null || _a === void 0 ? void 0 : _a.id) === ((_b = ti2.color) === null || _b === void 0 ? void 0 : _b.id);\n }\n ThemeIcon.isEqual = isEqual;\n})(ThemeIcon || (ThemeIcon = {}));\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/themables.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/types.js":
+/*!****************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/types.js ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assertIsDefined: () => (/* binding */ assertIsDefined),\n/* harmony export */ assertType: () => (/* binding */ assertType),\n/* harmony export */ isBoolean: () => (/* binding */ isBoolean),\n/* harmony export */ isDefined: () => (/* binding */ isDefined),\n/* harmony export */ isFunction: () => (/* binding */ isFunction),\n/* harmony export */ isIterable: () => (/* binding */ isIterable),\n/* harmony export */ isNumber: () => (/* binding */ isNumber),\n/* harmony export */ isObject: () => (/* binding */ isObject),\n/* harmony export */ isString: () => (/* binding */ isString),\n/* harmony export */ isTypedArray: () => (/* binding */ isTypedArray),\n/* harmony export */ isUndefined: () => (/* binding */ isUndefined),\n/* harmony export */ isUndefinedOrNull: () => (/* binding */ isUndefinedOrNull),\n/* harmony export */ validateConstraint: () => (/* binding */ validateConstraint),\n/* harmony export */ validateConstraints: () => (/* binding */ validateConstraints)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/**\n * @returns whether the provided parameter is a JavaScript String or not.\n */\nfunction isString(str) {\n return (typeof str === 'string');\n}\n/**\n * @returns whether the provided parameter is of type `object` but **not**\n *\t`null`, an `array`, a `regexp`, nor a `date`.\n */\nfunction isObject(obj) {\n // The method can't do a type cast since there are type (like strings) which\n // are subclasses of any put not positvely matched by the function. Hence type\n // narrowing results in wrong results.\n return typeof obj === 'object'\n && obj !== null\n && !Array.isArray(obj)\n && !(obj instanceof RegExp)\n && !(obj instanceof Date);\n}\n/**\n * @returns whether the provided parameter is of type `Buffer` or Uint8Array dervived type\n */\nfunction isTypedArray(obj) {\n const TypedArray = Object.getPrototypeOf(Uint8Array);\n return typeof obj === 'object'\n && obj instanceof TypedArray;\n}\n/**\n * In **contrast** to just checking `typeof` this will return `false` for `NaN`.\n * @returns whether the provided parameter is a JavaScript Number or not.\n */\nfunction isNumber(obj) {\n return (typeof obj === 'number' && !isNaN(obj));\n}\n/**\n * @returns whether the provided parameter is an Iterable, casting to the given generic\n */\nfunction isIterable(obj) {\n return !!obj && typeof obj[Symbol.iterator] === 'function';\n}\n/**\n * @returns whether the provided parameter is a JavaScript Boolean or not.\n */\nfunction isBoolean(obj) {\n return (obj === true || obj === false);\n}\n/**\n * @returns whether the provided parameter is undefined.\n */\nfunction isUndefined(obj) {\n return (typeof obj === 'undefined');\n}\n/**\n * @returns whether the provided parameter is defined.\n */\nfunction isDefined(arg) {\n return !isUndefinedOrNull(arg);\n}\n/**\n * @returns whether the provided parameter is undefined or null.\n */\nfunction isUndefinedOrNull(obj) {\n return (isUndefined(obj) || obj === null);\n}\nfunction assertType(condition, type) {\n if (!condition) {\n throw new Error(type ? `Unexpected type, expected '${type}'` : 'Unexpected type');\n }\n}\n/**\n * Asserts that the argument passed in is neither undefined nor null.\n */\nfunction assertIsDefined(arg) {\n if (isUndefinedOrNull(arg)) {\n throw new Error('Assertion Failed: argument is undefined or null');\n }\n return arg;\n}\n/**\n * @returns whether the provided parameter is a JavaScript Function or not.\n */\nfunction isFunction(obj) {\n return (typeof obj === 'function');\n}\nfunction validateConstraints(args, constraints) {\n const len = Math.min(args.length, constraints.length);\n for (let i = 0; i < len; i++) {\n validateConstraint(args[i], constraints[i]);\n }\n}\nfunction validateConstraint(arg, constraint) {\n if (isString(constraint)) {\n if (typeof arg !== constraint) {\n throw new Error(`argument does not match constraint: typeof ${constraint}`);\n }\n }\n else if (isFunction(constraint)) {\n try {\n if (arg instanceof constraint) {\n return;\n }\n }\n catch (_a) {\n // ignore\n }\n if (!isUndefinedOrNull(arg) && arg.constructor === constraint) {\n return;\n }\n if (constraint.length === 1 && constraint.call(undefined, arg) === true) {\n return;\n }\n throw new Error(`argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true`);\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/types.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/uint.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/uint.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toUint32: () => (/* binding */ toUint32),\n/* harmony export */ toUint8: () => (/* binding */ toUint8)\n/* harmony export */ });\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction toUint8(v) {\n if (v < 0) {\n return 0;\n }\n if (v > 255 /* Constants.MAX_UINT_8 */) {\n return 255 /* Constants.MAX_UINT_8 */;\n }\n return v | 0;\n}\nfunction toUint32(v) {\n if (v < 0) {\n return 0;\n }\n if (v > 4294967295 /* Constants.MAX_UINT_32 */) {\n return 4294967295 /* Constants.MAX_UINT_32 */;\n }\n return v | 0;\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/uint.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/uri.js":
+/*!**************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/uri.js ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ URI: () => (/* binding */ URI),\n/* harmony export */ uriToFsPath: () => (/* binding */ uriToFsPath)\n/* harmony export */ });\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\nconst _schemePattern = /^\\w[\\w\\d+.-]*$/;\nconst _singleSlashStart = /^\\//;\nconst _doubleSlashStart = /^\\/\\//;\nfunction _validateUri(ret, _strict) {\n // scheme, must be set\n if (!ret.scheme && _strict) {\n throw new Error(`[UriError]: Scheme is missing: {scheme: \"\", authority: \"${ret.authority}\", path: \"${ret.path}\", query: \"${ret.query}\", fragment: \"${ret.fragment}\"}`);\n }\n // scheme, https://tools.ietf.org/html/rfc3986#section-3.1\n // ALPHA *( ALPHA / DIGIT / \"+\" / \"-\" / \".\" )\n if (ret.scheme && !_schemePattern.test(ret.scheme)) {\n throw new Error('[UriError]: Scheme contains illegal characters.');\n }\n // path, http://tools.ietf.org/html/rfc3986#section-3.3\n // If a URI contains an authority component, then the path component\n // must either be empty or begin with a slash (\"/\") character. If a URI\n // does not contain an authority component, then the path cannot begin\n // with two slash characters (\"//\").\n if (ret.path) {\n if (ret.authority) {\n if (!_singleSlashStart.test(ret.path)) {\n throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash (\"/\") character');\n }\n }\n else {\n if (_doubleSlashStart.test(ret.path)) {\n throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")');\n }\n }\n }\n}\n// for a while we allowed uris *without* schemes and this is the migration\n// for them, e.g. an uri without scheme and without strict-mode warns and falls\n// back to the file-scheme. that should cause the least carnage and still be a\n// clear warning\nfunction _schemeFix(scheme, _strict) {\n if (!scheme && !_strict) {\n return 'file';\n }\n return scheme;\n}\n// implements a bit of https://tools.ietf.org/html/rfc3986#section-5\nfunction _referenceResolution(scheme, path) {\n // the slash-character is our 'default base' as we don't\n // support constructing URIs relative to other URIs. This\n // also means that we alter and potentially break paths.\n // see https://tools.ietf.org/html/rfc3986#section-5.1.4\n switch (scheme) {\n case 'https':\n case 'http':\n case 'file':\n if (!path) {\n path = _slash;\n }\n else if (path[0] !== _slash) {\n path = _slash + path;\n }\n break;\n }\n return path;\n}\nconst _empty = '';\nconst _slash = '/';\nconst _regexp = /^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/;\n/**\n * Uniform Resource Identifier (URI) http://tools.ietf.org/html/rfc3986.\n * This class is a simple parser which creates the basic component parts\n * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation\n * and encoding.\n *\n * ```txt\n * foo://example.com:8042/over/there?name=ferret#nose\n * \\_/ \\______________/\\_________/ \\_________/ \\__/\n * | | | | |\n * scheme authority path query fragment\n * | _____________________|__\n * / \\ / \\\n * urn:example:animal:ferret:nose\n * ```\n */\nclass URI {\n static isUri(thing) {\n if (thing instanceof URI) {\n return true;\n }\n if (!thing) {\n return false;\n }\n return typeof thing.authority === 'string'\n && typeof thing.fragment === 'string'\n && typeof thing.path === 'string'\n && typeof thing.query === 'string'\n && typeof thing.scheme === 'string'\n && typeof thing.fsPath === 'string'\n && typeof thing.with === 'function'\n && typeof thing.toString === 'function';\n }\n /**\n * @internal\n */\n constructor(schemeOrData, authority, path, query, fragment, _strict = false) {\n if (typeof schemeOrData === 'object') {\n this.scheme = schemeOrData.scheme || _empty;\n this.authority = schemeOrData.authority || _empty;\n this.path = schemeOrData.path || _empty;\n this.query = schemeOrData.query || _empty;\n this.fragment = schemeOrData.fragment || _empty;\n // no validation because it's this URI\n // that creates uri components.\n // _validateUri(this);\n }\n else {\n this.scheme = _schemeFix(schemeOrData, _strict);\n this.authority = authority || _empty;\n this.path = _referenceResolution(this.scheme, path || _empty);\n this.query = query || _empty;\n this.fragment = fragment || _empty;\n _validateUri(this, _strict);\n }\n }\n // ---- filesystem path -----------------------\n /**\n * Returns a string representing the corresponding file system path of this URI.\n * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the\n * platform specific path separator.\n *\n * * Will *not* validate the path for invalid characters and semantics.\n * * Will *not* look at the scheme of this URI.\n * * The result shall *not* be used for display purposes but for accessing a file on disk.\n *\n *\n * The *difference* to `URI#path` is the use of the platform specific separator and the handling\n * of UNC paths. See the below sample of a file-uri with an authority (UNC path).\n *\n * ```ts\n const u = URI.parse('file://server/c$/folder/file.txt')\n u.authority === 'server'\n u.path === '/shares/c$/file.txt'\n u.fsPath === '\\\\server\\c$\\folder\\file.txt'\n ```\n *\n * Using `URI#path` to read a file (using fs-apis) would not be enough because parts of the path,\n * namely the server name, would be missing. Therefore `URI#fsPath` exists - it's sugar to ease working\n * with URIs that represent files on disk (`file` scheme).\n */\n get fsPath() {\n // if (this.scheme !== 'file') {\n // \tconsole.warn(`[UriError] calling fsPath with scheme ${this.scheme}`);\n // }\n return uriToFsPath(this, false);\n }\n // ---- modify to new -------------------------\n with(change) {\n if (!change) {\n return this;\n }\n let { scheme, authority, path, query, fragment } = change;\n if (scheme === undefined) {\n scheme = this.scheme;\n }\n else if (scheme === null) {\n scheme = _empty;\n }\n if (authority === undefined) {\n authority = this.authority;\n }\n else if (authority === null) {\n authority = _empty;\n }\n if (path === undefined) {\n path = this.path;\n }\n else if (path === null) {\n path = _empty;\n }\n if (query === undefined) {\n query = this.query;\n }\n else if (query === null) {\n query = _empty;\n }\n if (fragment === undefined) {\n fragment = this.fragment;\n }\n else if (fragment === null) {\n fragment = _empty;\n }\n if (scheme === this.scheme\n && authority === this.authority\n && path === this.path\n && query === this.query\n && fragment === this.fragment) {\n return this;\n }\n return new Uri(scheme, authority, path, query, fragment);\n }\n // ---- parse & validate ------------------------\n /**\n * Creates a new URI from a string, e.g. `http://www.example.com/some/path`,\n * `file:///usr/home`, or `scheme:with/path`.\n *\n * @param value A string which represents an URI (see `URI#toString`).\n */\n static parse(value, _strict = false) {\n const match = _regexp.exec(value);\n if (!match) {\n return new Uri(_empty, _empty, _empty, _empty, _empty);\n }\n return new Uri(match[2] || _empty, percentDecode(match[4] || _empty), percentDecode(match[5] || _empty), percentDecode(match[7] || _empty), percentDecode(match[9] || _empty), _strict);\n }\n /**\n * Creates a new URI from a file system path, e.g. `c:\\my\\files`,\n * `/usr/home`, or `\\\\server\\share\\some\\path`.\n *\n * The *difference* between `URI#parse` and `URI#file` is that the latter treats the argument\n * as path, not as stringified-uri. E.g. `URI.file(path)` is **not the same as**\n * `URI.parse('file://' + path)` because the path might contain characters that are\n * interpreted (# and ?). See the following sample:\n * ```ts\n const good = URI.file('/coding/c#/project1');\n good.scheme === 'file';\n good.path === '/coding/c#/project1';\n good.fragment === '';\n const bad = URI.parse('file://' + '/coding/c#/project1');\n bad.scheme === 'file';\n bad.path === '/coding/c'; // path is now broken\n bad.fragment === '/project1';\n ```\n *\n * @param path A file system path (see `URI#fsPath`)\n */\n static file(path) {\n let authority = _empty;\n // normalize to fwd-slashes on windows,\n // on other systems bwd-slashes are valid\n // filename character, eg /f\\oo/ba\\r.txt\n if (_platform_js__WEBPACK_IMPORTED_MODULE_1__.isWindows) {\n path = path.replace(/\\\\/g, _slash);\n }\n // check for authority as used in UNC shares\n // or use the path as given\n if (path[0] === _slash && path[1] === _slash) {\n const idx = path.indexOf(_slash, 2);\n if (idx === -1) {\n authority = path.substring(2);\n path = _slash;\n }\n else {\n authority = path.substring(2, idx);\n path = path.substring(idx) || _slash;\n }\n }\n return new Uri('file', authority, path, _empty, _empty);\n }\n /**\n * Creates new URI from uri components.\n *\n * Unless `strict` is `true` the scheme is defaults to be `file`. This function performs\n * validation and should be used for untrusted uri components retrieved from storage,\n * user input, command arguments etc\n */\n static from(components, strict) {\n const result = new Uri(components.scheme, components.authority, components.path, components.query, components.fragment, strict);\n return result;\n }\n /**\n * Join a URI path with path fragments and normalizes the resulting path.\n *\n * @param uri The input URI.\n * @param pathFragment The path fragment to add to the URI path.\n * @returns The resulting URI.\n */\n static joinPath(uri, ...pathFragment) {\n if (!uri.path) {\n throw new Error(`[UriError]: cannot call joinPath on URI without path`);\n }\n let newPath;\n if (_platform_js__WEBPACK_IMPORTED_MODULE_1__.isWindows && uri.scheme === 'file') {\n newPath = URI.file(_path_js__WEBPACK_IMPORTED_MODULE_0__.win32.join(uriToFsPath(uri, true), ...pathFragment)).path;\n }\n else {\n newPath = _path_js__WEBPACK_IMPORTED_MODULE_0__.posix.join(uri.path, ...pathFragment);\n }\n return uri.with({ path: newPath });\n }\n // ---- printing/externalize ---------------------------\n /**\n * Creates a string representation for this URI. It's guaranteed that calling\n * `URI.parse` with the result of this function creates an URI which is equal\n * to this URI.\n *\n * * The result shall *not* be used for display purposes but for externalization or transport.\n * * The result will be encoded using the percentage encoding and encoding happens mostly\n * ignore the scheme-specific encoding rules.\n *\n * @param skipEncoding Do not encode the result, default is `false`\n */\n toString(skipEncoding = false) {\n return _asFormatted(this, skipEncoding);\n }\n toJSON() {\n return this;\n }\n static revive(data) {\n var _a, _b;\n if (!data) {\n return data;\n }\n else if (data instanceof URI) {\n return data;\n }\n else {\n const result = new Uri(data);\n result._formatted = (_a = data.external) !== null && _a !== void 0 ? _a : null;\n result._fsPath = data._sep === _pathSepMarker ? (_b = data.fsPath) !== null && _b !== void 0 ? _b : null : null;\n return result;\n }\n }\n}\nconst _pathSepMarker = _platform_js__WEBPACK_IMPORTED_MODULE_1__.isWindows ? 1 : undefined;\n// This class exists so that URI is compatible with vscode.Uri (API).\nclass Uri extends URI {\n constructor() {\n super(...arguments);\n this._formatted = null;\n this._fsPath = null;\n }\n get fsPath() {\n if (!this._fsPath) {\n this._fsPath = uriToFsPath(this, false);\n }\n return this._fsPath;\n }\n toString(skipEncoding = false) {\n if (!skipEncoding) {\n if (!this._formatted) {\n this._formatted = _asFormatted(this, false);\n }\n return this._formatted;\n }\n else {\n // we don't cache that\n return _asFormatted(this, true);\n }\n }\n toJSON() {\n const res = {\n $mid: 1 /* MarshalledId.Uri */\n };\n // cached state\n if (this._fsPath) {\n res.fsPath = this._fsPath;\n res._sep = _pathSepMarker;\n }\n if (this._formatted) {\n res.external = this._formatted;\n }\n //--- uri components\n if (this.path) {\n res.path = this.path;\n }\n // TODO\n // this isn't correct and can violate the UriComponents contract but\n // this is part of the vscode.Uri API and we shouldn't change how that\n // works anymore\n if (this.scheme) {\n res.scheme = this.scheme;\n }\n if (this.authority) {\n res.authority = this.authority;\n }\n if (this.query) {\n res.query = this.query;\n }\n if (this.fragment) {\n res.fragment = this.fragment;\n }\n return res;\n }\n}\n// reserved characters: https://tools.ietf.org/html/rfc3986#section-2.2\nconst encodeTable = {\n [58 /* CharCode.Colon */]: '%3A', // gen-delims\n [47 /* CharCode.Slash */]: '%2F',\n [63 /* CharCode.QuestionMark */]: '%3F',\n [35 /* CharCode.Hash */]: '%23',\n [91 /* CharCode.OpenSquareBracket */]: '%5B',\n [93 /* CharCode.CloseSquareBracket */]: '%5D',\n [64 /* CharCode.AtSign */]: '%40',\n [33 /* CharCode.ExclamationMark */]: '%21', // sub-delims\n [36 /* CharCode.DollarSign */]: '%24',\n [38 /* CharCode.Ampersand */]: '%26',\n [39 /* CharCode.SingleQuote */]: '%27',\n [40 /* CharCode.OpenParen */]: '%28',\n [41 /* CharCode.CloseParen */]: '%29',\n [42 /* CharCode.Asterisk */]: '%2A',\n [43 /* CharCode.Plus */]: '%2B',\n [44 /* CharCode.Comma */]: '%2C',\n [59 /* CharCode.Semicolon */]: '%3B',\n [61 /* CharCode.Equals */]: '%3D',\n [32 /* CharCode.Space */]: '%20',\n};\nfunction encodeURIComponentFast(uriComponent, isPath, isAuthority) {\n let res = undefined;\n let nativeEncodePos = -1;\n for (let pos = 0; pos < uriComponent.length; pos++) {\n const code = uriComponent.charCodeAt(pos);\n // unreserved characters: https://tools.ietf.org/html/rfc3986#section-2.3\n if ((code >= 97 /* CharCode.a */ && code <= 122 /* CharCode.z */)\n || (code >= 65 /* CharCode.A */ && code <= 90 /* CharCode.Z */)\n || (code >= 48 /* CharCode.Digit0 */ && code <= 57 /* CharCode.Digit9 */)\n || code === 45 /* CharCode.Dash */\n || code === 46 /* CharCode.Period */\n || code === 95 /* CharCode.Underline */\n || code === 126 /* CharCode.Tilde */\n || (isPath && code === 47 /* CharCode.Slash */)\n || (isAuthority && code === 91 /* CharCode.OpenSquareBracket */)\n || (isAuthority && code === 93 /* CharCode.CloseSquareBracket */)\n || (isAuthority && code === 58 /* CharCode.Colon */)) {\n // check if we are delaying native encode\n if (nativeEncodePos !== -1) {\n res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));\n nativeEncodePos = -1;\n }\n // check if we write into a new string (by default we try to return the param)\n if (res !== undefined) {\n res += uriComponent.charAt(pos);\n }\n }\n else {\n // encoding needed, we need to allocate a new string\n if (res === undefined) {\n res = uriComponent.substr(0, pos);\n }\n // check with default table first\n const escaped = encodeTable[code];\n if (escaped !== undefined) {\n // check if we are delaying native encode\n if (nativeEncodePos !== -1) {\n res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));\n nativeEncodePos = -1;\n }\n // append escaped variant to result\n res += escaped;\n }\n else if (nativeEncodePos === -1) {\n // use native encode only when needed\n nativeEncodePos = pos;\n }\n }\n }\n if (nativeEncodePos !== -1) {\n res += encodeURIComponent(uriComponent.substring(nativeEncodePos));\n }\n return res !== undefined ? res : uriComponent;\n}\nfunction encodeURIComponentMinimal(path) {\n let res = undefined;\n for (let pos = 0; pos < path.length; pos++) {\n const code = path.charCodeAt(pos);\n if (code === 35 /* CharCode.Hash */ || code === 63 /* CharCode.QuestionMark */) {\n if (res === undefined) {\n res = path.substr(0, pos);\n }\n res += encodeTable[code];\n }\n else {\n if (res !== undefined) {\n res += path[pos];\n }\n }\n }\n return res !== undefined ? res : path;\n}\n/**\n * Compute `fsPath` for the given uri\n */\nfunction uriToFsPath(uri, keepDriveLetterCasing) {\n let value;\n if (uri.authority && uri.path.length > 1 && uri.scheme === 'file') {\n // unc path: file://shares/c$/far/boo\n value = `//${uri.authority}${uri.path}`;\n }\n else if (uri.path.charCodeAt(0) === 47 /* CharCode.Slash */\n && (uri.path.charCodeAt(1) >= 65 /* CharCode.A */ && uri.path.charCodeAt(1) <= 90 /* CharCode.Z */ || uri.path.charCodeAt(1) >= 97 /* CharCode.a */ && uri.path.charCodeAt(1) <= 122 /* CharCode.z */)\n && uri.path.charCodeAt(2) === 58 /* CharCode.Colon */) {\n if (!keepDriveLetterCasing) {\n // windows drive letter: file:///c:/far/boo\n value = uri.path[1].toLowerCase() + uri.path.substr(2);\n }\n else {\n value = uri.path.substr(1);\n }\n }\n else {\n // other path\n value = uri.path;\n }\n if (_platform_js__WEBPACK_IMPORTED_MODULE_1__.isWindows) {\n value = value.replace(/\\//g, '\\\\');\n }\n return value;\n}\n/**\n * Create the external version of a uri\n */\nfunction _asFormatted(uri, skipEncoding) {\n const encoder = !skipEncoding\n ? encodeURIComponentFast\n : encodeURIComponentMinimal;\n let res = '';\n let { scheme, authority, path, query, fragment } = uri;\n if (scheme) {\n res += scheme;\n res += ':';\n }\n if (authority || scheme === 'file') {\n res += _slash;\n res += _slash;\n }\n if (authority) {\n let idx = authority.indexOf('@');\n if (idx !== -1) {\n // @\n const userinfo = authority.substr(0, idx);\n authority = authority.substr(idx + 1);\n idx = userinfo.lastIndexOf(':');\n if (idx === -1) {\n res += encoder(userinfo, false, false);\n }\n else {\n // :@\n res += encoder(userinfo.substr(0, idx), false, false);\n res += ':';\n res += encoder(userinfo.substr(idx + 1), false, true);\n }\n res += '@';\n }\n authority = authority.toLowerCase();\n idx = authority.lastIndexOf(':');\n if (idx === -1) {\n res += encoder(authority, false, true);\n }\n else {\n // :\n res += encoder(authority.substr(0, idx), false, true);\n res += authority.substr(idx);\n }\n }\n if (path) {\n // lower-case windows drive letters in /C:/fff or C:/fff\n if (path.length >= 3 && path.charCodeAt(0) === 47 /* CharCode.Slash */ && path.charCodeAt(2) === 58 /* CharCode.Colon */) {\n const code = path.charCodeAt(1);\n if (code >= 65 /* CharCode.A */ && code <= 90 /* CharCode.Z */) {\n path = `/${String.fromCharCode(code + 32)}:${path.substr(3)}`; // \"/c:\".length === 3\n }\n }\n else if (path.length >= 2 && path.charCodeAt(1) === 58 /* CharCode.Colon */) {\n const code = path.charCodeAt(0);\n if (code >= 65 /* CharCode.A */ && code <= 90 /* CharCode.Z */) {\n path = `${String.fromCharCode(code + 32)}:${path.substr(2)}`; // \"/c:\".length === 3\n }\n }\n // encode the rest of the path\n res += encoder(path, true, false);\n }\n if (query) {\n res += '?';\n res += encoder(query, false, false);\n }\n if (fragment) {\n res += '#';\n res += !skipEncoding ? encodeURIComponentFast(fragment, false, false) : fragment;\n }\n return res;\n}\n// --- decode\nfunction decodeURIComponentGraceful(str) {\n try {\n return decodeURIComponent(str);\n }\n catch (_a) {\n if (str.length > 3) {\n return str.substr(0, 3) + decodeURIComponentGraceful(str.substr(3));\n }\n else {\n return str;\n }\n }\n}\nconst _rEncodedAsHex = /(%[0-9A-Za-z][0-9A-Za-z])+/g;\nfunction percentDecode(str) {\n if (!str.match(_rEncodedAsHex)) {\n return str;\n }\n return str.replace(_rEncodedAsHex, (match) => decodeURIComponentGraceful(match));\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/uri.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/uuid.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/uuid.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ generateUuid: () => (/* binding */ generateUuid)\n/* harmony export */ });\nconst generateUuid = (function () {\n // use `randomUUID` if possible\n if (typeof crypto === 'object' && typeof crypto.randomUUID === 'function') {\n return crypto.randomUUID.bind(crypto);\n }\n // use `randomValues` if possible\n let getRandomValues;\n if (typeof crypto === 'object' && typeof crypto.getRandomValues === 'function') {\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n else {\n getRandomValues = function (bucket) {\n for (let i = 0; i < bucket.length; i++) {\n bucket[i] = Math.floor(Math.random() * 256);\n }\n return bucket;\n };\n }\n // prep-work\n const _data = new Uint8Array(16);\n const _hex = [];\n for (let i = 0; i < 256; i++) {\n _hex.push(i.toString(16).padStart(2, '0'));\n }\n return function generateUuid() {\n // get data\n getRandomValues(_data);\n // set version bits\n _data[6] = (_data[6] & 0x0f) | 0x40;\n _data[8] = (_data[8] & 0x3f) | 0x80;\n // print as string\n let i = 0;\n let result = '';\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += '-';\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += '-';\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += '-';\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += '-';\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n return result;\n };\n})();\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/uuid.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js":
+/*!******************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js ***!
+ \******************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimpleWorkerClient: () => (/* binding */ SimpleWorkerClient),\n/* harmony export */ SimpleWorkerServer: () => (/* binding */ SimpleWorkerServer),\n/* harmony export */ create: () => (/* binding */ create),\n/* harmony export */ logOnceWebWorkerWarning: () => (/* binding */ logOnceWebWorkerWarning)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _objects_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\nconst INITIALIZE = '$initialize';\nlet webWorkerWarningLogged = false;\nfunction logOnceWebWorkerWarning(err) {\n if (!_platform_js__WEBPACK_IMPORTED_MODULE_4__.isWeb) {\n // running tests\n return;\n }\n if (!webWorkerWarningLogged) {\n webWorkerWarningLogged = true;\n console.warn('Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq');\n }\n console.warn(err.message);\n}\nclass RequestMessage {\n constructor(vsWorker, req, method, args) {\n this.vsWorker = vsWorker;\n this.req = req;\n this.method = method;\n this.args = args;\n this.type = 0 /* MessageType.Request */;\n }\n}\nclass ReplyMessage {\n constructor(vsWorker, seq, res, err) {\n this.vsWorker = vsWorker;\n this.seq = seq;\n this.res = res;\n this.err = err;\n this.type = 1 /* MessageType.Reply */;\n }\n}\nclass SubscribeEventMessage {\n constructor(vsWorker, req, eventName, arg) {\n this.vsWorker = vsWorker;\n this.req = req;\n this.eventName = eventName;\n this.arg = arg;\n this.type = 2 /* MessageType.SubscribeEvent */;\n }\n}\nclass EventMessage {\n constructor(vsWorker, req, event) {\n this.vsWorker = vsWorker;\n this.req = req;\n this.event = event;\n this.type = 3 /* MessageType.Event */;\n }\n}\nclass UnsubscribeEventMessage {\n constructor(vsWorker, req) {\n this.vsWorker = vsWorker;\n this.req = req;\n this.type = 4 /* MessageType.UnsubscribeEvent */;\n }\n}\nclass SimpleWorkerProtocol {\n constructor(handler) {\n this._workerId = -1;\n this._handler = handler;\n this._lastSentReq = 0;\n this._pendingReplies = Object.create(null);\n this._pendingEmitters = new Map();\n this._pendingEvents = new Map();\n }\n setWorkerId(workerId) {\n this._workerId = workerId;\n }\n sendMessage(method, args) {\n const req = String(++this._lastSentReq);\n return new Promise((resolve, reject) => {\n this._pendingReplies[req] = {\n resolve: resolve,\n reject: reject\n };\n this._send(new RequestMessage(this._workerId, req, method, args));\n });\n }\n listen(eventName, arg) {\n let req = null;\n const emitter = new _event_js__WEBPACK_IMPORTED_MODULE_1__.Emitter({\n onWillAddFirstListener: () => {\n req = String(++this._lastSentReq);\n this._pendingEmitters.set(req, emitter);\n this._send(new SubscribeEventMessage(this._workerId, req, eventName, arg));\n },\n onDidRemoveLastListener: () => {\n this._pendingEmitters.delete(req);\n this._send(new UnsubscribeEventMessage(this._workerId, req));\n req = null;\n }\n });\n return emitter.event;\n }\n handleMessage(message) {\n if (!message || !message.vsWorker) {\n return;\n }\n if (this._workerId !== -1 && message.vsWorker !== this._workerId) {\n return;\n }\n this._handleMessage(message);\n }\n _handleMessage(msg) {\n switch (msg.type) {\n case 1 /* MessageType.Reply */:\n return this._handleReplyMessage(msg);\n case 0 /* MessageType.Request */:\n return this._handleRequestMessage(msg);\n case 2 /* MessageType.SubscribeEvent */:\n return this._handleSubscribeEventMessage(msg);\n case 3 /* MessageType.Event */:\n return this._handleEventMessage(msg);\n case 4 /* MessageType.UnsubscribeEvent */:\n return this._handleUnsubscribeEventMessage(msg);\n }\n }\n _handleReplyMessage(replyMessage) {\n if (!this._pendingReplies[replyMessage.seq]) {\n console.warn('Got reply to unknown seq');\n return;\n }\n const reply = this._pendingReplies[replyMessage.seq];\n delete this._pendingReplies[replyMessage.seq];\n if (replyMessage.err) {\n let err = replyMessage.err;\n if (replyMessage.err.$isError) {\n err = new Error();\n err.name = replyMessage.err.name;\n err.message = replyMessage.err.message;\n err.stack = replyMessage.err.stack;\n }\n reply.reject(err);\n return;\n }\n reply.resolve(replyMessage.res);\n }\n _handleRequestMessage(requestMessage) {\n const req = requestMessage.req;\n const result = this._handler.handleMessage(requestMessage.method, requestMessage.args);\n result.then((r) => {\n this._send(new ReplyMessage(this._workerId, req, r, undefined));\n }, (e) => {\n if (e.detail instanceof Error) {\n // Loading errors have a detail property that points to the actual error\n e.detail = (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.transformErrorForSerialization)(e.detail);\n }\n this._send(new ReplyMessage(this._workerId, req, undefined, (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.transformErrorForSerialization)(e)));\n });\n }\n _handleSubscribeEventMessage(msg) {\n const req = msg.req;\n const disposable = this._handler.handleEvent(msg.eventName, msg.arg)((event) => {\n this._send(new EventMessage(this._workerId, req, event));\n });\n this._pendingEvents.set(req, disposable);\n }\n _handleEventMessage(msg) {\n if (!this._pendingEmitters.has(msg.req)) {\n console.warn('Got event for unknown req');\n return;\n }\n this._pendingEmitters.get(msg.req).fire(msg.event);\n }\n _handleUnsubscribeEventMessage(msg) {\n if (!this._pendingEvents.has(msg.req)) {\n console.warn('Got unsubscribe for unknown req');\n return;\n }\n this._pendingEvents.get(msg.req).dispose();\n this._pendingEvents.delete(msg.req);\n }\n _send(msg) {\n const transfer = [];\n if (msg.type === 0 /* MessageType.Request */) {\n for (let i = 0; i < msg.args.length; i++) {\n if (msg.args[i] instanceof ArrayBuffer) {\n transfer.push(msg.args[i]);\n }\n }\n }\n else if (msg.type === 1 /* MessageType.Reply */) {\n if (msg.res instanceof ArrayBuffer) {\n transfer.push(msg.res);\n }\n }\n this._handler.sendMessage(msg, transfer);\n }\n}\n/**\n * Main thread side\n */\nclass SimpleWorkerClient extends _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\n constructor(workerFactory, moduleId, host) {\n super();\n let lazyProxyReject = null;\n this._worker = this._register(workerFactory.create('vs/base/common/worker/simpleWorker', (msg) => {\n this._protocol.handleMessage(msg);\n }, (err) => {\n // in Firefox, web workers fail lazily :(\n // we will reject the proxy\n lazyProxyReject === null || lazyProxyReject === void 0 ? void 0 : lazyProxyReject(err);\n }));\n this._protocol = new SimpleWorkerProtocol({\n sendMessage: (msg, transfer) => {\n this._worker.postMessage(msg, transfer);\n },\n handleMessage: (method, args) => {\n if (typeof host[method] !== 'function') {\n return Promise.reject(new Error('Missing method ' + method + ' on main thread host.'));\n }\n try {\n return Promise.resolve(host[method].apply(host, args));\n }\n catch (e) {\n return Promise.reject(e);\n }\n },\n handleEvent: (eventName, arg) => {\n if (propertyIsDynamicEvent(eventName)) {\n const event = host[eventName].call(host, arg);\n if (typeof event !== 'function') {\n throw new Error(`Missing dynamic event ${eventName} on main thread host.`);\n }\n return event;\n }\n if (propertyIsEvent(eventName)) {\n const event = host[eventName];\n if (typeof event !== 'function') {\n throw new Error(`Missing event ${eventName} on main thread host.`);\n }\n return event;\n }\n throw new Error(`Malformed event name ${eventName}`);\n }\n });\n this._protocol.setWorkerId(this._worker.getId());\n // Gather loader configuration\n let loaderConfiguration = null;\n const globalRequire = globalThis.require;\n if (typeof globalRequire !== 'undefined' && typeof globalRequire.getConfig === 'function') {\n // Get the configuration from the Monaco AMD Loader\n loaderConfiguration = globalRequire.getConfig();\n }\n else if (typeof globalThis.requirejs !== 'undefined') {\n // Get the configuration from requirejs\n loaderConfiguration = globalThis.requirejs.s.contexts._.config;\n }\n const hostMethods = (0,_objects_js__WEBPACK_IMPORTED_MODULE_3__.getAllMethodNames)(host);\n // Send initialize message\n this._onModuleLoaded = this._protocol.sendMessage(INITIALIZE, [\n this._worker.getId(),\n JSON.parse(JSON.stringify(loaderConfiguration)),\n moduleId,\n hostMethods,\n ]);\n // Create proxy to loaded code\n const proxyMethodRequest = (method, args) => {\n return this._request(method, args);\n };\n const proxyListen = (eventName, arg) => {\n return this._protocol.listen(eventName, arg);\n };\n this._lazyProxy = new Promise((resolve, reject) => {\n lazyProxyReject = reject;\n this._onModuleLoaded.then((availableMethods) => {\n resolve(createProxyObject(availableMethods, proxyMethodRequest, proxyListen));\n }, (e) => {\n reject(e);\n this._onError('Worker failed to load ' + moduleId, e);\n });\n });\n }\n getProxyObject() {\n return this._lazyProxy;\n }\n _request(method, args) {\n return new Promise((resolve, reject) => {\n this._onModuleLoaded.then(() => {\n this._protocol.sendMessage(method, args).then(resolve, reject);\n }, reject);\n });\n }\n _onError(message, error) {\n console.error(message);\n console.info(error);\n }\n}\nfunction propertyIsEvent(name) {\n // Assume a property is an event if it has a form of \"onSomething\"\n return name[0] === 'o' && name[1] === 'n' && _strings_js__WEBPACK_IMPORTED_MODULE_5__.isUpperAsciiLetter(name.charCodeAt(2));\n}\nfunction propertyIsDynamicEvent(name) {\n // Assume a property is a dynamic event (a method that returns an event) if it has a form of \"onDynamicSomething\"\n return /^onDynamic/.test(name) && _strings_js__WEBPACK_IMPORTED_MODULE_5__.isUpperAsciiLetter(name.charCodeAt(9));\n}\nfunction createProxyObject(methodNames, invoke, proxyListen) {\n const createProxyMethod = (method) => {\n return function () {\n const args = Array.prototype.slice.call(arguments, 0);\n return invoke(method, args);\n };\n };\n const createProxyDynamicEvent = (eventName) => {\n return function (arg) {\n return proxyListen(eventName, arg);\n };\n };\n const result = {};\n for (const methodName of methodNames) {\n if (propertyIsDynamicEvent(methodName)) {\n result[methodName] = createProxyDynamicEvent(methodName);\n continue;\n }\n if (propertyIsEvent(methodName)) {\n result[methodName] = proxyListen(methodName, undefined);\n continue;\n }\n result[methodName] = createProxyMethod(methodName);\n }\n return result;\n}\n/**\n * Worker side\n */\nclass SimpleWorkerServer {\n constructor(postMessage, requestHandlerFactory) {\n this._requestHandlerFactory = requestHandlerFactory;\n this._requestHandler = null;\n this._protocol = new SimpleWorkerProtocol({\n sendMessage: (msg, transfer) => {\n postMessage(msg, transfer);\n },\n handleMessage: (method, args) => this._handleMessage(method, args),\n handleEvent: (eventName, arg) => this._handleEvent(eventName, arg)\n });\n }\n onmessage(msg) {\n this._protocol.handleMessage(msg);\n }\n _handleMessage(method, args) {\n if (method === INITIALIZE) {\n return this.initialize(args[0], args[1], args[2], args[3]);\n }\n if (!this._requestHandler || typeof this._requestHandler[method] !== 'function') {\n return Promise.reject(new Error('Missing requestHandler or method: ' + method));\n }\n try {\n return Promise.resolve(this._requestHandler[method].apply(this._requestHandler, args));\n }\n catch (e) {\n return Promise.reject(e);\n }\n }\n _handleEvent(eventName, arg) {\n if (!this._requestHandler) {\n throw new Error(`Missing requestHandler`);\n }\n if (propertyIsDynamicEvent(eventName)) {\n const event = this._requestHandler[eventName].call(this._requestHandler, arg);\n if (typeof event !== 'function') {\n throw new Error(`Missing dynamic event ${eventName} on request handler.`);\n }\n return event;\n }\n if (propertyIsEvent(eventName)) {\n const event = this._requestHandler[eventName];\n if (typeof event !== 'function') {\n throw new Error(`Missing event ${eventName} on request handler.`);\n }\n return event;\n }\n throw new Error(`Malformed event name ${eventName}`);\n }\n initialize(workerId, loaderConfig, moduleId, hostMethods) {\n this._protocol.setWorkerId(workerId);\n const proxyMethodRequest = (method, args) => {\n return this._protocol.sendMessage(method, args);\n };\n const proxyListen = (eventName, arg) => {\n return this._protocol.listen(eventName, arg);\n };\n const hostProxy = createProxyObject(hostMethods, proxyMethodRequest, proxyListen);\n if (this._requestHandlerFactory) {\n // static request handler\n this._requestHandler = this._requestHandlerFactory(hostProxy);\n return Promise.resolve((0,_objects_js__WEBPACK_IMPORTED_MODULE_3__.getAllMethodNames)(this._requestHandler));\n }\n if (loaderConfig) {\n // Remove 'baseUrl', handling it is beyond scope for now\n if (typeof loaderConfig.baseUrl !== 'undefined') {\n delete loaderConfig['baseUrl'];\n }\n if (typeof loaderConfig.paths !== 'undefined') {\n if (typeof loaderConfig.paths.vs !== 'undefined') {\n delete loaderConfig.paths['vs'];\n }\n }\n if (typeof loaderConfig.trustedTypesPolicy !== undefined) {\n // don't use, it has been destroyed during serialize\n delete loaderConfig['trustedTypesPolicy'];\n }\n // Since this is in a web worker, enable catching errors\n loaderConfig.catchError = true;\n globalThis.require.config(loaderConfig);\n }\n return new Promise((resolve, reject) => {\n // Use the global require to be sure to get the global config\n // ESM-comment-begin\n // \t\t\tconst req = (globalThis.require || require);\n // ESM-comment-end\n // ESM-uncomment-begin\n const req = globalThis.require;\n // ESM-uncomment-end\n req([moduleId], (module) => {\n this._requestHandler = module.create(hostProxy);\n if (!this._requestHandler) {\n reject(new Error(`No RequestHandler!`));\n return;\n }\n resolve((0,_objects_js__WEBPACK_IMPORTED_MODULE_3__.getAllMethodNames)(this._requestHandler));\n }, reject);\n });\n }\n}\n/**\n * Called on the worker side\n * @skipMangle\n */\nfunction create(postMessage) {\n return new SimpleWorkerServer(postMessage, null);\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/parts/storage/common/storage.js":
+/*!********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/parts/storage/common/storage.js ***!
+ \********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InMemoryStorageDatabase: () => (/* binding */ InMemoryStorageDatabase),\n/* harmony export */ Storage: () => (/* binding */ Storage),\n/* harmony export */ StorageHint: () => (/* binding */ StorageHint),\n/* harmony export */ StorageState: () => (/* binding */ StorageState)\n/* harmony export */ });\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_marshalling_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/marshalling.js */ \"./node_modules/monaco-editor/esm/vs/base/common/marshalling.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\nvar StorageHint;\n(function (StorageHint) {\n // A hint to the storage that the storage\n // does not exist on disk yet. This allows\n // the storage library to improve startup\n // time by not checking the storage for data.\n StorageHint[StorageHint[\"STORAGE_DOES_NOT_EXIST\"] = 0] = \"STORAGE_DOES_NOT_EXIST\";\n // A hint to the storage that the storage\n // is backed by an in-memory storage.\n StorageHint[StorageHint[\"STORAGE_IN_MEMORY\"] = 1] = \"STORAGE_IN_MEMORY\";\n})(StorageHint || (StorageHint = {}));\nvar StorageState;\n(function (StorageState) {\n StorageState[StorageState[\"None\"] = 0] = \"None\";\n StorageState[StorageState[\"Initialized\"] = 1] = \"Initialized\";\n StorageState[StorageState[\"Closed\"] = 2] = \"Closed\";\n})(StorageState || (StorageState = {}));\nclass Storage extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\n constructor(database, options = Object.create(null)) {\n super();\n this.database = database;\n this.options = options;\n this._onDidChangeStorage = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_1__.PauseableEmitter());\n this.onDidChangeStorage = this._onDidChangeStorage.event;\n this.state = StorageState.None;\n this.cache = new Map();\n this.flushDelayer = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_0__.ThrottledDelayer(Storage.DEFAULT_FLUSH_DELAY));\n this.pendingDeletes = new Set();\n this.pendingInserts = new Map();\n this.whenFlushedCallbacks = [];\n this.registerListeners();\n }\n registerListeners() {\n this._register(this.database.onDidChangeItemsExternal(e => this.onDidChangeItemsExternal(e)));\n }\n onDidChangeItemsExternal(e) {\n var _a, _b;\n this._onDidChangeStorage.pause();\n try {\n // items that change external require us to update our\n // caches with the values. we just accept the value and\n // emit an event if there is a change.\n (_a = e.changed) === null || _a === void 0 ? void 0 : _a.forEach((value, key) => this.acceptExternal(key, value));\n (_b = e.deleted) === null || _b === void 0 ? void 0 : _b.forEach(key => this.acceptExternal(key, undefined));\n }\n finally {\n this._onDidChangeStorage.resume();\n }\n }\n acceptExternal(key, value) {\n if (this.state === StorageState.Closed) {\n return; // Return early if we are already closed\n }\n let changed = false;\n // Item got removed, check for deletion\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isUndefinedOrNull)(value)) {\n changed = this.cache.delete(key);\n }\n // Item got updated, check for change\n else {\n const currentValue = this.cache.get(key);\n if (currentValue !== value) {\n this.cache.set(key, value);\n changed = true;\n }\n }\n // Signal to outside listeners\n if (changed) {\n this._onDidChangeStorage.fire({ key, external: true });\n }\n }\n get(key, fallbackValue) {\n const value = this.cache.get(key);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isUndefinedOrNull)(value)) {\n return fallbackValue;\n }\n return value;\n }\n getBoolean(key, fallbackValue) {\n const value = this.get(key);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isUndefinedOrNull)(value)) {\n return fallbackValue;\n }\n return value === 'true';\n }\n getNumber(key, fallbackValue) {\n const value = this.get(key);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isUndefinedOrNull)(value)) {\n return fallbackValue;\n }\n return parseInt(value, 10);\n }\n async set(key, value, external = false) {\n if (this.state === StorageState.Closed) {\n return; // Return early if we are already closed\n }\n // We remove the key for undefined/null values\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isUndefinedOrNull)(value)) {\n return this.delete(key, external);\n }\n // Otherwise, convert to String and store\n const valueStr = (0,_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isObject)(value) || Array.isArray(value) ? (0,_common_marshalling_js__WEBPACK_IMPORTED_MODULE_3__.stringify)(value) : String(value);\n // Return early if value already set\n const currentValue = this.cache.get(key);\n if (currentValue === valueStr) {\n return;\n }\n // Update in cache and pending\n this.cache.set(key, valueStr);\n this.pendingInserts.set(key, valueStr);\n this.pendingDeletes.delete(key);\n // Event\n this._onDidChangeStorage.fire({ key, external });\n // Accumulate work by scheduling after timeout\n return this.doFlush();\n }\n async delete(key, external = false) {\n if (this.state === StorageState.Closed) {\n return; // Return early if we are already closed\n }\n // Remove from cache and add to pending\n const wasDeleted = this.cache.delete(key);\n if (!wasDeleted) {\n return; // Return early if value already deleted\n }\n if (!this.pendingDeletes.has(key)) {\n this.pendingDeletes.add(key);\n }\n this.pendingInserts.delete(key);\n // Event\n this._onDidChangeStorage.fire({ key, external });\n // Accumulate work by scheduling after timeout\n return this.doFlush();\n }\n get hasPending() {\n return this.pendingInserts.size > 0 || this.pendingDeletes.size > 0;\n }\n async flushPending() {\n if (!this.hasPending) {\n return; // return early if nothing to do\n }\n // Get pending data\n const updateRequest = { insert: this.pendingInserts, delete: this.pendingDeletes };\n // Reset pending data for next run\n this.pendingDeletes = new Set();\n this.pendingInserts = new Map();\n // Update in storage and release any\n // waiters we have once done\n return this.database.updateItems(updateRequest).finally(() => {\n var _a;\n if (!this.hasPending) {\n while (this.whenFlushedCallbacks.length) {\n (_a = this.whenFlushedCallbacks.pop()) === null || _a === void 0 ? void 0 : _a();\n }\n }\n });\n }\n async doFlush(delay) {\n if (this.options.hint === StorageHint.STORAGE_IN_MEMORY) {\n return this.flushPending(); // return early if in-memory\n }\n return this.flushDelayer.trigger(() => this.flushPending(), delay);\n }\n}\nStorage.DEFAULT_FLUSH_DELAY = 100;\nclass InMemoryStorageDatabase {\n constructor() {\n this.onDidChangeItemsExternal = _common_event_js__WEBPACK_IMPORTED_MODULE_1__.Event.None;\n this.items = new Map();\n }\n async updateItems(request) {\n var _a, _b;\n (_a = request.insert) === null || _a === void 0 ? void 0 : _a.forEach((value, key) => this.items.set(key, value));\n (_b = request.delete) === null || _b === void 0 ? void 0 : _b.forEach(key => this.items.delete(key));\n }\n}\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/base/parts/storage/common/storage.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js":
+/*!*****************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js ***!
+ \*****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadLanguage: () => (/* binding */ loadLanguage),\n/* harmony export */ registerLanguage: () => (/* binding */ registerLanguage)\n/* harmony export */ });\n/* harmony import */ var _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../editor/editor.api.js */ \"./node_modules/monaco-editor/esm/vs/editor/editor.api.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\n\n// src/fillers/monaco-editor-core.ts\nvar monaco_editor_core_exports = {};\n__reExport(monaco_editor_core_exports, _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__);\n\n\n// src/basic-languages/_.contribution.ts\nvar languageDefinitions = {};\nvar lazyLanguageLoaders = {};\nvar LazyLanguageLoader = class {\n static getOrCreate(languageId) {\n if (!lazyLanguageLoaders[languageId]) {\n lazyLanguageLoaders[languageId] = new LazyLanguageLoader(languageId);\n }\n return lazyLanguageLoaders[languageId];\n }\n _languageId;\n _loadingTriggered;\n _lazyLoadPromise;\n _lazyLoadPromiseResolve;\n _lazyLoadPromiseReject;\n constructor(languageId) {\n this._languageId = languageId;\n this._loadingTriggered = false;\n this._lazyLoadPromise = new Promise((resolve, reject) => {\n this._lazyLoadPromiseResolve = resolve;\n this._lazyLoadPromiseReject = reject;\n });\n }\n load() {\n if (!this._loadingTriggered) {\n this._loadingTriggered = true;\n languageDefinitions[this._languageId].loader().then((mod) => this._lazyLoadPromiseResolve(mod), (err) => this._lazyLoadPromiseReject(err));\n }\n return this._lazyLoadPromise;\n }\n};\nasync function loadLanguage(languageId) {\n await LazyLanguageLoader.getOrCreate(languageId).load();\n const model = monaco_editor_core_exports.editor.createModel(\"\", languageId);\n model.dispose();\n}\nfunction registerLanguage(def) {\n const languageId = def.id;\n languageDefinitions[languageId] = def;\n monaco_editor_core_exports.languages.register(def);\n const lazyLanguageLoader = LazyLanguageLoader.getOrCreate(languageId);\n monaco_editor_core_exports.languages.registerTokensProviderFactory(languageId, {\n create: async () => {\n const mod = await lazyLanguageLoader.load();\n return mod.language;\n }\n });\n monaco_editor_core_exports.languages.onLanguageEncountered(languageId, async () => {\n const mod = await lazyLanguageLoader.load();\n monaco_editor_core_exports.languages.setLanguageConfiguration(languageId, mod.conf);\n });\n}\n\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/abap/abap.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"abap\",\n extensions: [\".abap\"],\n aliases: [\"abap\", \"ABAP\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_abap_abap_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./abap.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/apex/apex.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"apex\",\n extensions: [\".cls\"],\n aliases: [\"Apex\", \"apex\"],\n mimetypes: [\"text/x-apex-source\", \"text/x-apex\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_apex_apex_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./apex.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/azcli/azcli.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"azcli\",\n extensions: [\".azcli\"],\n aliases: [\"Azure CLI\", \"azcli\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_azcli_azcli_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./azcli.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/bat/bat.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"bat\",\n extensions: [\".bat\", \".cmd\"],\n aliases: [\"Batch\", \"bat\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_bat_bat_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./bat.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/bicep/bicep.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"bicep\",\n extensions: [\".bicep\"],\n aliases: [\"Bicep\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_bicep_bicep_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./bicep.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js":
+/*!*********************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js ***!
+ \*********************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/cameligo/cameligo.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"cameligo\",\n extensions: [\".mligo\"],\n aliases: [\"Cameligo\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_cameligo_cameligo_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./cameligo.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js":
+/*!*******************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js ***!
+ \*******************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/clojure/clojure.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"clojure\",\n extensions: [\".clj\", \".cljs\", \".cljc\", \".edn\"],\n aliases: [\"clojure\", \"Clojure\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_clojure_clojure_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./clojure.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/coffee/coffee.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"coffeescript\",\n extensions: [\".coffee\"],\n aliases: [\"CoffeeScript\", \"coffeescript\", \"coffee\"],\n mimetypes: [\"text/x-coffeescript\", \"text/coffeescript\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_coffee_coffee_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./coffee.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/cpp/cpp.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"c\",\n extensions: [\".c\", \".h\"],\n aliases: [\"C\", \"c\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_cpp_cpp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./cpp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.js\"));\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"cpp\",\n extensions: [\".cpp\", \".cc\", \".cxx\", \".hpp\", \".hh\", \".hxx\"],\n aliases: [\"C++\", \"Cpp\", \"cpp\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_cpp_cpp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./cpp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/csharp/csharp.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"csharp\",\n extensions: [\".cs\", \".csx\", \".cake\"],\n aliases: [\"C#\", \"csharp\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_csharp_csharp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./csharp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/csp/csp.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"csp\",\n extensions: [],\n aliases: [\"CSP\", \"csp\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_csp_csp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./csp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/css/css.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"css\",\n extensions: [\".css\"],\n aliases: [\"CSS\", \"css\"],\n mimetypes: [\"text/css\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_css_css_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./css.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/css/css.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.contribution.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.contribution.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/cypher/cypher.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"cypher\",\n extensions: [\".cypher\", \".cyp\"],\n aliases: [\"Cypher\", \"OpenCypher\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_cypher_cypher_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./cypher.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/dart/dart.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"dart\",\n extensions: [\".dart\"],\n aliases: [\"Dart\", \"dart\"],\n mimetypes: [\"text/x-dart-source\", \"text/x-dart\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_dart_dart_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./dart.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js":
+/*!*************************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js ***!
+ \*************************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/dockerfile/dockerfile.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"dockerfile\",\n extensions: [\".dockerfile\"],\n filenames: [\"Dockerfile\"],\n aliases: [\"Dockerfile\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_dockerfile_dockerfile_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./dockerfile.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/ecl/ecl.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"ecl\",\n extensions: [\".ecl\"],\n aliases: [\"ECL\", \"Ecl\", \"ecl\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_ecl_ecl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ecl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/elixir/elixir.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"elixir\",\n extensions: [\".ex\", \".exs\"],\n aliases: [\"Elixir\", \"elixir\", \"ex\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_elixir_elixir_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./elixir.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/flow9/flow9.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"flow9\",\n extensions: [\".flow\"],\n aliases: [\"Flow9\", \"Flow\", \"flow9\", \"flow\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_flow9_flow9_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./flow9.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js":
+/*!***************************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js ***!
+ \***************************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/freemarker2/freemarker2.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2\",\n extensions: [\".ftl\", \".ftlh\", \".ftlx\"],\n aliases: [\"FreeMarker2\", \"Apache FreeMarker2\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagAutoInterpolationDollar);\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2.tag-angle.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Angle/Dollar)\", \"Apache FreeMarker2 (Angle/Dollar)\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagAngleInterpolationDollar);\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2.tag-bracket.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Bracket/Dollar)\", \"Apache FreeMarker2 (Bracket/Dollar)\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagBracketInterpolationDollar);\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2.tag-angle.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Angle/Bracket)\", \"Apache FreeMarker2 (Angle/Bracket)\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagAngleInterpolationBracket);\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2.tag-bracket.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Bracket/Bracket)\", \"Apache FreeMarker2 (Bracket/Bracket)\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagBracketInterpolationBracket);\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2.tag-auto.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Auto/Dollar)\", \"Apache FreeMarker2 (Auto/Dollar)\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagAutoInterpolationDollar);\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2.tag-auto.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Auto/Bracket)\", \"Apache FreeMarker2 (Auto/Bracket)\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagAutoInterpolationBracket);\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/fsharp/fsharp.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"fsharp\",\n extensions: [\".fs\", \".fsi\", \".ml\", \".mli\", \".fsx\", \".fsscript\"],\n aliases: [\"F#\", \"FSharp\", \"fsharp\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_fsharp_fsharp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./fsharp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js":
+/*!*********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js ***!
+ \*********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/go/go.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"go\",\n extensions: [\".go\"],\n aliases: [\"Go\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_go_go_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./go.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/go/go.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js":
+/*!*******************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js ***!
+ \*******************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/graphql/graphql.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"graphql\",\n extensions: [\".graphql\", \".gql\"],\n aliases: [\"GraphQL\", \"graphql\", \"gql\"],\n mimetypes: [\"application/graphql\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_graphql_graphql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./graphql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js":
+/*!*************************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js ***!
+ \*************************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/handlebars/handlebars.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"handlebars\",\n extensions: [\".handlebars\", \".hbs\"],\n aliases: [\"Handlebars\", \"handlebars\", \"hbs\"],\n mimetypes: [\"text/x-handlebars-template\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_handlebars_handlebars_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./handlebars.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/hcl/hcl.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"hcl\",\n extensions: [\".tf\", \".tfvars\", \".hcl\"],\n aliases: [\"Terraform\", \"tf\", \"HCL\", \"hcl\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_hcl_hcl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./hcl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/html/html.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"html\",\n extensions: [\".html\", \".htm\", \".shtml\", \".xhtml\", \".mdoc\", \".jsp\", \".asp\", \".aspx\", \".jshtm\"],\n aliases: [\"HTML\", \"htm\", \"html\", \"xhtml\"],\n mimetypes: [\"text/html\", \"text/x-jshtm\", \"text/template\", \"text/ng-template\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_html_html_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./html.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/html/html.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/ini/ini.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"ini\",\n extensions: [\".ini\", \".properties\", \".gitconfig\"],\n filenames: [\"config\", \".gitattributes\", \".gitconfig\", \".editorconfig\"],\n aliases: [\"Ini\", \"ini\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_ini_ini_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ini.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/java/java.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"java\",\n extensions: [\".java\", \".jav\"],\n aliases: [\"Java\", \"java\"],\n mimetypes: [\"text/x-java-source\", \"text/x-java\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_java_java_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./java.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/java/java.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js":
+/*!*************************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js ***!
+ \*************************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/javascript/javascript.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"javascript\",\n extensions: [\".js\", \".es6\", \".jsx\", \".mjs\", \".cjs\"],\n firstLine: \"^#!.*\\\\bnode\",\n filenames: [\"jakefile\"],\n aliases: [\"JavaScript\", \"javascript\", \"js\"],\n mimetypes: [\"text/javascript\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_javascript_javascript_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./javascript.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/julia/julia.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"julia\",\n extensions: [\".jl\"],\n aliases: [\"julia\", \"Julia\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_julia_julia_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./julia.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/kotlin/kotlin.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"kotlin\",\n extensions: [\".kt\", \".kts\"],\n aliases: [\"Kotlin\", \"kotlin\"],\n mimetypes: [\"text/x-kotlin-source\", \"text/x-kotlin\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_kotlin_kotlin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./kotlin.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/less/less.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"less\",\n extensions: [\".less\"],\n aliases: [\"Less\", \"less\"],\n mimetypes: [\"text/x-less\", \"text/less\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_less_less_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./less.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/less/less.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/lexon/lexon.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"lexon\",\n extensions: [\".lex\"],\n aliases: [\"Lexon\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_lexon_lexon_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./lexon.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/liquid/liquid.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"liquid\",\n extensions: [\".liquid\", \".html.liquid\"],\n aliases: [\"Liquid\", \"liquid\"],\n mimetypes: [\"application/liquid\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_liquid_liquid_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./liquid.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/lua/lua.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"lua\",\n extensions: [\".lua\"],\n aliases: [\"Lua\", \"lua\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_lua_lua_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./lua.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js":
+/*!*********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js ***!
+ \*********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/m3/m3.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"m3\",\n extensions: [\".m3\", \".i3\", \".mg\", \".ig\"],\n aliases: [\"Modula-3\", \"Modula3\", \"modula3\", \"m3\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_m3_m3_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./m3.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js":
+/*!*********************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js ***!
+ \*********************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/markdown/markdown.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"markdown\",\n extensions: [\".md\", \".markdown\", \".mdown\", \".mkdn\", \".mkd\", \".mdwn\", \".mdtxt\", \".mdtext\"],\n aliases: [\"Markdown\", \"markdown\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_markdown_markdown_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./markdown.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/mdx/mdx.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/mdx/mdx.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/mdx/mdx.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"mdx\",\n extensions: [\".mdx\"],\n aliases: [\"MDX\", \"mdx\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_mdx_mdx_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./mdx.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mdx/mdx.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/mdx/mdx.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/mips/mips.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"mips\",\n extensions: [\".s\"],\n aliases: [\"MIPS\", \"MIPS-V\"],\n mimetypes: [\"text/x-mips\", \"text/mips\", \"text/plaintext\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_mips_mips_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./mips.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/monaco.contribution.js":
+/*!**********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/monaco.contribution.js ***!
+ \**********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../editor/editor.api.js */ \"./node_modules/monaco-editor/esm/vs/editor/editor.api.js\");\n/* harmony import */ var _abap_abap_contribution_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abap/abap.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js\");\n/* harmony import */ var _apex_apex_contribution_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apex/apex.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js\");\n/* harmony import */ var _azcli_azcli_contribution_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./azcli/azcli.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js\");\n/* harmony import */ var _bat_bat_contribution_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./bat/bat.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js\");\n/* harmony import */ var _bicep_bicep_contribution_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./bicep/bicep.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js\");\n/* harmony import */ var _cameligo_cameligo_contribution_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./cameligo/cameligo.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js\");\n/* harmony import */ var _clojure_clojure_contribution_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./clojure/clojure.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js\");\n/* harmony import */ var _coffee_coffee_contribution_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./coffee/coffee.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js\");\n/* harmony import */ var _cpp_cpp_contribution_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./cpp/cpp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js\");\n/* harmony import */ var _csharp_csharp_contribution_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./csharp/csharp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js\");\n/* harmony import */ var _csp_csp_contribution_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./csp/csp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js\");\n/* harmony import */ var _css_css_contribution_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./css/css.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js\");\n/* harmony import */ var _cypher_cypher_contribution_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./cypher/cypher.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.contribution.js\");\n/* harmony import */ var _dart_dart_contribution_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./dart/dart.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js\");\n/* harmony import */ var _dockerfile_dockerfile_contribution_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./dockerfile/dockerfile.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js\");\n/* harmony import */ var _ecl_ecl_contribution_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./ecl/ecl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js\");\n/* harmony import */ var _elixir_elixir_contribution_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./elixir/elixir.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js\");\n/* harmony import */ var _flow9_flow9_contribution_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./flow9/flow9.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js\");\n/* harmony import */ var _fsharp_fsharp_contribution_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./fsharp/fsharp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js\");\n/* harmony import */ var _freemarker2_freemarker2_contribution_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./freemarker2/freemarker2.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js\");\n/* harmony import */ var _go_go_contribution_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./go/go.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js\");\n/* harmony import */ var _graphql_graphql_contribution_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./graphql/graphql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js\");\n/* harmony import */ var _handlebars_handlebars_contribution_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./handlebars/handlebars.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js\");\n/* harmony import */ var _hcl_hcl_contribution_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./hcl/hcl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js\");\n/* harmony import */ var _html_html_contribution_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./html/html.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js\");\n/* harmony import */ var _ini_ini_contribution_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./ini/ini.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js\");\n/* harmony import */ var _java_java_contribution_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./java/java.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js\");\n/* harmony import */ var _javascript_javascript_contribution_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./javascript/javascript.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js\");\n/* harmony import */ var _julia_julia_contribution_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./julia/julia.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js\");\n/* harmony import */ var _kotlin_kotlin_contribution_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./kotlin/kotlin.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js\");\n/* harmony import */ var _less_less_contribution_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./less/less.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js\");\n/* harmony import */ var _lexon_lexon_contribution_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./lexon/lexon.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js\");\n/* harmony import */ var _lua_lua_contribution_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./lua/lua.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js\");\n/* harmony import */ var _liquid_liquid_contribution_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./liquid/liquid.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js\");\n/* harmony import */ var _m3_m3_contribution_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./m3/m3.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js\");\n/* harmony import */ var _markdown_markdown_contribution_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./markdown/markdown.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js\");\n/* harmony import */ var _mdx_mdx_contribution_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./mdx/mdx.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mdx/mdx.contribution.js\");\n/* harmony import */ var _mips_mips_contribution_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./mips/mips.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js\");\n/* harmony import */ var _msdax_msdax_contribution_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./msdax/msdax.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js\");\n/* harmony import */ var _mysql_mysql_contribution_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./mysql/mysql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js\");\n/* harmony import */ var _objective_c_objective_c_contribution_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./objective-c/objective-c.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js\");\n/* harmony import */ var _pascal_pascal_contribution_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./pascal/pascal.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js\");\n/* harmony import */ var _pascaligo_pascaligo_contribution_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./pascaligo/pascaligo.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js\");\n/* harmony import */ var _perl_perl_contribution_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./perl/perl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js\");\n/* harmony import */ var _pgsql_pgsql_contribution_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./pgsql/pgsql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js\");\n/* harmony import */ var _php_php_contribution_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./php/php.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js\");\n/* harmony import */ var _pla_pla_contribution_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./pla/pla.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js\");\n/* harmony import */ var _postiats_postiats_contribution_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./postiats/postiats.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js\");\n/* harmony import */ var _powerquery_powerquery_contribution_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./powerquery/powerquery.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js\");\n/* harmony import */ var _powershell_powershell_contribution_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./powershell/powershell.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js\");\n/* harmony import */ var _protobuf_protobuf_contribution_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./protobuf/protobuf.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js\");\n/* harmony import */ var _pug_pug_contribution_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./pug/pug.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js\");\n/* harmony import */ var _python_python_contribution_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./python/python.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js\");\n/* harmony import */ var _qsharp_qsharp_contribution_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./qsharp/qsharp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js\");\n/* harmony import */ var _r_r_contribution_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./r/r.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js\");\n/* harmony import */ var _razor_razor_contribution_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./razor/razor.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js\");\n/* harmony import */ var _redis_redis_contribution_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./redis/redis.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js\");\n/* harmony import */ var _redshift_redshift_contribution_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./redshift/redshift.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js\");\n/* harmony import */ var _restructuredtext_restructuredtext_contribution_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./restructuredtext/restructuredtext.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js\");\n/* harmony import */ var _ruby_ruby_contribution_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./ruby/ruby.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js\");\n/* harmony import */ var _rust_rust_contribution_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./rust/rust.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js\");\n/* harmony import */ var _sb_sb_contribution_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./sb/sb.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js\");\n/* harmony import */ var _scala_scala_contribution_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./scala/scala.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js\");\n/* harmony import */ var _scheme_scheme_contribution_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./scheme/scheme.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js\");\n/* harmony import */ var _scss_scss_contribution_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./scss/scss.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js\");\n/* harmony import */ var _shell_shell_contribution_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./shell/shell.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js\");\n/* harmony import */ var _solidity_solidity_contribution_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./solidity/solidity.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js\");\n/* harmony import */ var _sophia_sophia_contribution_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./sophia/sophia.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js\");\n/* harmony import */ var _sparql_sparql_contribution_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./sparql/sparql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js\");\n/* harmony import */ var _sql_sql_contribution_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./sql/sql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js\");\n/* harmony import */ var _st_st_contribution_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./st/st.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js\");\n/* harmony import */ var _swift_swift_contribution_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./swift/swift.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js\");\n/* harmony import */ var _systemverilog_systemverilog_contribution_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./systemverilog/systemverilog.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js\");\n/* harmony import */ var _tcl_tcl_contribution_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./tcl/tcl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js\");\n/* harmony import */ var _twig_twig_contribution_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./twig/twig.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js\");\n/* harmony import */ var _typescript_typescript_contribution_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./typescript/typescript.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js\");\n/* harmony import */ var _vb_vb_contribution_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./vb/vb.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js\");\n/* harmony import */ var _wgsl_wgsl_contribution_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./wgsl/wgsl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.contribution.js\");\n/* harmony import */ var _xml_xml_contribution_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./xml/xml.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js\");\n/* harmony import */ var _yaml_yaml_contribution_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./yaml/yaml.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js\");\n\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/monaco.contribution.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/monaco.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/msdax/msdax.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"msdax\",\n extensions: [\".dax\", \".msdax\"],\n aliases: [\"DAX\", \"MSDAX\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_msdax_msdax_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./msdax.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/mysql/mysql.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"mysql\",\n extensions: [],\n aliases: [\"MySQL\", \"mysql\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_mysql_mysql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./mysql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js":
+/*!***************************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js ***!
+ \***************************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/objective-c/objective-c.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"objective-c\",\n extensions: [\".m\"],\n aliases: [\"Objective-C\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_objective-c_objective-c_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./objective-c.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/pascal/pascal.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"pascal\",\n extensions: [\".pas\", \".p\", \".pp\"],\n aliases: [\"Pascal\", \"pas\"],\n mimetypes: [\"text/x-pascal-source\", \"text/x-pascal\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_pascal_pascal_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pascal.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js":
+/*!***********************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js ***!
+ \***********************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/pascaligo/pascaligo.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"pascaligo\",\n extensions: [\".ligo\"],\n aliases: [\"Pascaligo\", \"ligo\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_pascaligo_pascaligo_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pascaligo.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/perl/perl.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"perl\",\n extensions: [\".pl\", \".pm\"],\n aliases: [\"Perl\", \"pl\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_perl_perl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./perl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/pgsql/pgsql.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"pgsql\",\n extensions: [],\n aliases: [\"PostgreSQL\", \"postgres\", \"pg\", \"postgre\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_pgsql_pgsql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pgsql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/php/php.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"php\",\n extensions: [\".php\", \".php4\", \".php5\", \".phtml\", \".ctp\"],\n aliases: [\"PHP\", \"php\"],\n mimetypes: [\"application/x-php\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_php_php_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./php.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/php/php.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/pla/pla.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"pla\",\n extensions: [\".pla\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_pla_pla_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pla.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js":
+/*!*********************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js ***!
+ \*********************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/postiats/postiats.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"postiats\",\n extensions: [\".dats\", \".sats\", \".hats\"],\n aliases: [\"ATS\", \"ATS/Postiats\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_postiats_postiats_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./postiats.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js":
+/*!*************************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js ***!
+ \*************************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/powerquery/powerquery.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"powerquery\",\n extensions: [\".pq\", \".pqm\"],\n aliases: [\"PQ\", \"M\", \"Power Query\", \"Power Query M\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_powerquery_powerquery_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./powerquery.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js":
+/*!*************************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js ***!
+ \*************************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/powershell/powershell.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"powershell\",\n extensions: [\".ps1\", \".psm1\", \".psd1\"],\n aliases: [\"PowerShell\", \"powershell\", \"ps\", \"ps1\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_powershell_powershell_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./powershell.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js":
+/*!*********************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js ***!
+ \*********************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/protobuf/protobuf.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"proto\",\n extensions: [\".proto\"],\n aliases: [\"protobuf\", \"Protocol Buffers\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_protobuf_protobuf_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./protobuf.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/pug/pug.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"pug\",\n extensions: [\".jade\", \".pug\"],\n aliases: [\"Pug\", \"Jade\", \"jade\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_pug_pug_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pug.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/python/python.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"python\",\n extensions: [\".py\", \".rpy\", \".pyw\", \".cpy\", \".gyp\", \".gypi\"],\n aliases: [\"Python\", \"py\"],\n firstLine: \"^#!/.*\\\\bpython[0-9.-]*\\\\b\",\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_python_python_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./python.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/python/python.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/qsharp/qsharp.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"qsharp\",\n extensions: [\".qs\"],\n aliases: [\"Q#\", \"qsharp\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_qsharp_qsharp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./qsharp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js":
+/*!*******************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js ***!
+ \*******************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/r/r.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"r\",\n extensions: [\".r\", \".rhistory\", \".rmd\", \".rprofile\", \".rt\"],\n aliases: [\"R\", \"r\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_r_r_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./r.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/r/r.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/razor/razor.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"razor\",\n extensions: [\".cshtml\"],\n aliases: [\"Razor\", \"razor\"],\n mimetypes: [\"text/x-cshtml\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_razor_razor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./razor.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/redis/redis.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"redis\",\n extensions: [\".redis\"],\n aliases: [\"redis\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_redis_redis_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./redis.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js":
+/*!*********************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js ***!
+ \*********************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/redshift/redshift.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"redshift\",\n extensions: [],\n aliases: [\"Redshift\", \"redshift\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_redshift_redshift_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./redshift.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js":
+/*!*************************************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js ***!
+ \*************************************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/restructuredtext/restructuredtext.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"restructuredtext\",\n extensions: [\".rst\"],\n aliases: [\"reStructuredText\", \"restructuredtext\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_restructuredtext_restructuredtext_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./restructuredtext.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/ruby/ruby.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"ruby\",\n extensions: [\".rb\", \".rbx\", \".rjs\", \".gemspec\", \".pp\"],\n filenames: [\"rakefile\", \"Gemfile\"],\n aliases: [\"Ruby\", \"rb\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_ruby_ruby_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ruby.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/rust/rust.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"rust\",\n extensions: [\".rs\", \".rlib\"],\n aliases: [\"Rust\", \"rust\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_rust_rust_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./rust.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js":
+/*!*********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js ***!
+ \*********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/sb/sb.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"sb\",\n extensions: [\".sb\"],\n aliases: [\"Small Basic\", \"sb\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_sb_sb_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./sb.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/scala/scala.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"scala\",\n extensions: [\".scala\", \".sc\", \".sbt\"],\n aliases: [\"Scala\", \"scala\", \"SBT\", \"Sbt\", \"sbt\", \"Dotty\", \"dotty\"],\n mimetypes: [\"text/x-scala-source\", \"text/x-scala\", \"text/x-sbt\", \"text/x-dotty\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_scala_scala_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./scala.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/scheme/scheme.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"scheme\",\n extensions: [\".scm\", \".ss\", \".sch\", \".rkt\"],\n aliases: [\"scheme\", \"Scheme\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_scheme_scheme_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./scheme.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/scss/scss.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"scss\",\n extensions: [\".scss\"],\n aliases: [\"Sass\", \"sass\", \"scss\"],\n mimetypes: [\"text/x-scss\", \"text/scss\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_scss_scss_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./scss.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/shell/shell.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"shell\",\n extensions: [\".sh\", \".bash\"],\n aliases: [\"Shell\", \"sh\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_shell_shell_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./shell.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js":
+/*!*********************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js ***!
+ \*********************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/solidity/solidity.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"sol\",\n extensions: [\".sol\"],\n aliases: [\"sol\", \"solidity\", \"Solidity\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_solidity_solidity_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./solidity.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/sophia/sophia.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"aes\",\n extensions: [\".aes\"],\n aliases: [\"aes\", \"sophia\", \"Sophia\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_sophia_sophia_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./sophia.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js":
+/*!*****************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/sparql/sparql.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"sparql\",\n extensions: [\".rq\"],\n aliases: [\"sparql\", \"SPARQL\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_sparql_sparql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./sparql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/sql/sql.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"sql\",\n extensions: [\".sql\"],\n aliases: [\"SQL\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_sql_sql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./sql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js":
+/*!*********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js ***!
+ \*********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/st/st.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"st\",\n extensions: [\".st\", \".iecst\", \".iecplc\", \".lc3lib\", \".TcPOU\", \".TcDUT\", \".TcGVL\", \".TcIO\"],\n aliases: [\"StructuredText\", \"scl\", \"stl\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_st_st_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./st.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/st/st.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js":
+/*!***************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js ***!
+ \***************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/swift/swift.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"swift\",\n aliases: [\"Swift\", \"swift\"],\n extensions: [\".swift\"],\n mimetypes: [\"text/swift\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_swift_swift_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./swift.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js":
+/*!*******************************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js ***!
+ \*******************************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/systemverilog/systemverilog.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"systemverilog\",\n extensions: [\".sv\", \".svh\"],\n aliases: [\"SV\", \"sv\", \"SystemVerilog\", \"systemverilog\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_systemverilog_systemverilog_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./systemverilog.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.js\"));\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"verilog\",\n extensions: [\".v\", \".vh\"],\n aliases: [\"V\", \"v\", \"Verilog\", \"verilog\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_systemverilog_systemverilog_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./systemverilog.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/tcl/tcl.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"tcl\",\n extensions: [\".tcl\"],\n aliases: [\"tcl\", \"Tcl\", \"tcltk\", \"TclTk\", \"tcl/tk\", \"Tcl/Tk\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_tcl_tcl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./tcl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/twig/twig.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"twig\",\n extensions: [\".twig\"],\n aliases: [\"Twig\", \"twig\"],\n mimetypes: [\"text/x-twig\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_twig_twig_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./twig.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js":
+/*!*************************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js ***!
+ \*************************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/typescript/typescript.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"typescript\",\n extensions: [\".ts\", \".tsx\", \".cts\", \".mts\"],\n aliases: [\"TypeScript\", \"ts\", \"typescript\"],\n mimetypes: [\"text/typescript\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_typescript_typescript_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./typescript.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js":
+/*!*********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js ***!
+ \*********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/vb/vb.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"vb\",\n extensions: [\".vb\"],\n aliases: [\"Visual Basic\", \"vb\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_vb_vb_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./vb.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.contribution.js":
+/*!*************************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.contribution.js ***!
+ \*************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/wgsl/wgsl.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"wgsl\",\n extensions: [\".wgsl\"],\n aliases: [\"WebGPU Shading Language\", \"WGSL\", \"wgsl\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_wgsl_wgsl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./wgsl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://APITestManager/./node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.contribution.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js":
+/*!***********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js ***!
+ \***********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/xml/xml.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"xml\",\n extensions: [\n \".xml\",\n \".xsd\",\n \".dtd\",\n \".ascx\",\n \".csproj\",\n \".config\",\n \".props\",\n \".targets\",\n \".wxi\",\n \".wxl\",\n \".wxs\",\n \".xaml\",\n \".svg\",\n \".svgz\",\n \".opf\",\n \".xslt\",\n \".xsl\"\n ],\n firstLine: \"(\\\\<\\\\?xml.*)|(\\\\