{"version":3,"file":"static/js/3149_59138fde5dec13cf9b94.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/browser.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/canIUse.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/defaultWorkerFactory.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/dnd.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/dom.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/dompurify/dompurify.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/event.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/fonts.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/formattedTextRenderer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/globalPointerMoveMonitor.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/markdownRenderer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/iframe.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/performance.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/pixelRatio.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/base/browser/touch.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\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 *--------------------------------------------------------------------------------------------*/\nimport { mainWindow } from './window.js';\nclass WindowManager {\n constructor() {\n // --- Zoom Factor\n this.mapWindowIdToZoomFactor = new Map();\n }\n getZoomFactor(targetWindow) {\n var _a;\n return (_a = this.mapWindowIdToZoomFactor.get(this.getWindowId(targetWindow))) !== null && _a !== void 0 ? _a : 1;\n }\n getWindowId(targetWindow) {\n return targetWindow.vscodeWindowId;\n }\n}\nWindowManager.INSTANCE = new WindowManager();\nexport function addMatchMediaChangeListener(targetWindow, query, callback) {\n if (typeof query === 'string') {\n query = targetWindow.matchMedia(query);\n }\n query.addEventListener('change', callback);\n}\n/** The zoom scale for an index, e.g. 1, 1.2, 1.4 */\nexport function getZoomFactor(targetWindow) {\n return WindowManager.INSTANCE.getZoomFactor(targetWindow);\n}\nconst userAgent = navigator.userAgent;\nexport const isFirefox = (userAgent.indexOf('Firefox') >= 0);\nexport const isWebKit = (userAgent.indexOf('AppleWebKit') >= 0);\nexport const isChrome = (userAgent.indexOf('Chrome') >= 0);\nexport const isSafari = (!isChrome && (userAgent.indexOf('Safari') >= 0));\nexport const isWebkitWebView = (!isChrome && !isSafari && isWebKit);\nexport const isElectron = (userAgent.indexOf('Electron/') >= 0);\nexport const isAndroid = (userAgent.indexOf('Android') >= 0);\nlet standalone = false;\nif (typeof mainWindow.matchMedia === 'function') {\n const standaloneMatchMedia = mainWindow.matchMedia('(display-mode: standalone) or (display-mode: window-controls-overlay)');\n const fullScreenMatchMedia = mainWindow.matchMedia('(display-mode: fullscreen)');\n standalone = standaloneMatchMedia.matches;\n addMatchMediaChangeListener(mainWindow, standaloneMatchMedia, ({ matches }) => {\n // entering fullscreen would change standaloneMatchMedia.matches to false\n // if standalone is true (running as PWA) and entering fullscreen, skip this change\n if (standalone && fullScreenMatchMedia.matches) {\n return;\n }\n // otherwise update standalone (browser to PWA or PWA to browser)\n standalone = matches;\n });\n}\nexport function isStandalone() {\n return standalone;\n}\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 *--------------------------------------------------------------------------------------------*/\nimport * as browser from './browser.js';\nimport { mainWindow } from './window.js';\nimport * as platform from '../common/platform.js';\n/**\n * Browser feature we can support in current platform, browser and environment.\n */\nexport const BrowserFeatures = {\n clipboard: {\n writeText: (platform.isNative\n || (document.queryCommandSupported && document.queryCommandSupported('copy'))\n || !!(navigator && navigator.clipboard && navigator.clipboard.writeText)),\n readText: (platform.isNative\n || !!(navigator && navigator.clipboard && navigator.clipboard.readText))\n },\n keyboard: (() => {\n if (platform.isNative || browser.isStandalone()) {\n return 0 /* KeyboardSupport.Always */;\n }\n if (navigator.keyboard || browser.isSafari) {\n return 1 /* KeyboardSupport.FullScreen */;\n }\n return 2 /* KeyboardSupport.None */;\n })(),\n // 'ontouchstart' in window always evaluates to true with typescript's modern typings. This causes `window` to be\n // `never` later in `window.navigator`. That's why we need the explicit `window as Window` cast\n touch: 'ontouchstart' in mainWindow || navigator.maxTouchPoints > 0,\n pointerEvents: mainWindow.PointerEvent && ('ontouchstart' in mainWindow || navigator.maxTouchPoints > 0)\n};\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 *--------------------------------------------------------------------------------------------*/\nimport { createTrustedTypesPolicy } from './trustedTypes.js';\nimport { onUnexpectedError } from '../common/errors.js';\nimport { logOnceWebWorkerWarning } from '../common/worker/simpleWorker.js';\nimport { Disposable, toDisposable } from '../common/lifecycle.js';\nconst ttPolicy = createTrustedTypesPolicy('defaultWorkerFactory', { createScriptURL: value => value });\nfunction getWorker(label) {\n const monacoEnvironment = globalThis.MonacoEnvironment;\n if (monacoEnvironment) {\n if (typeof monacoEnvironment.getWorker === 'function') {\n return monacoEnvironment.getWorker('workerMain.js', label);\n }\n if (typeof monacoEnvironment.getWorkerUrl === 'function') {\n const workerUrl = monacoEnvironment.getWorkerUrl('workerMain.js', label);\n return new Worker(ttPolicy ? ttPolicy.createScriptURL(workerUrl) : workerUrl, { name: label });\n }\n }\n // ESM-comment-begin\n // \tif (typeof require === 'function') {\n // \t\t// check if the JS lives on a different origin\n // \t\tconst workerMain = require.toUrl('vs/base/worker/workerMain.js'); // explicitly using require.toUrl(), see https://github.com/microsoft/vscode/issues/107440#issuecomment-698982321\n // \t\tconst workerUrl = getWorkerBootstrapUrl(workerMain, label);\n // \t\treturn new Worker(ttPolicy ? ttPolicy.createScriptURL(workerUrl) as unknown as string : workerUrl, { name: label });\n // \t}\n // ESM-comment-end\n throw new Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`);\n}\n// ESM-comment-begin\n// export function getWorkerBootstrapUrl(scriptPath: string, label: string): string {\n// \tif (/^((http:)|(https:)|(file:))/.test(scriptPath) && scriptPath.substring(0, globalThis.origin.length) !== globalThis.origin) {\n// \t\t// this is the cross-origin case\n// \t\t// i.e. the webpage is running at a different origin than where the scripts are loaded from\n// \t\tconst myPath = 'vs/base/worker/defaultWorkerFactory.js';\n// \t\tconst workerBaseUrl = require.toUrl(myPath).slice(0, -myPath.length); // explicitly using require.toUrl(), see https://github.com/microsoft/vscode/issues/107440#issuecomment-698982321\n// \t\tconst js = `/*${label}*/globalThis.MonacoEnvironment={baseUrl: '${workerBaseUrl}'};const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });importScripts(ttPolicy?.createScriptURL('${scriptPath}') ?? '${scriptPath}');/*${label}*/`;\n// \t\tconst blob = new Blob([js], { type: 'application/javascript' });\n// \t\treturn URL.createObjectURL(blob);\n// \t}\n// \n// \tconst start = scriptPath.lastIndexOf('?');\n// \tconst end = scriptPath.lastIndexOf('#', start);\n// \tconst params = start > 0\n// \t\t? new URLSearchParams(scriptPath.substring(start + 1, ~end ? end : undefined))\n// \t\t: new URLSearchParams();\n// \n// \tCOI.addSearchParam(params, true, true);\n// \tconst search = params.toString();\n// \n// \tif (!search) {\n// \t\treturn `${scriptPath}#${label}`;\n// \t} else {\n// \t\treturn `${scriptPath}?${params.toString()}#${label}`;\n// \t}\n// }\n// ESM-comment-end\nfunction isPromiseLike(obj) {\n if (typeof obj.then === 'function') {\n return true;\n }\n return false;\n}\n/**\n * A worker that uses HTML5 web workers so that is has\n * its own global scope and its own thread.\n */\nclass WebWorker extends Disposable {\n constructor(moduleId, id, label, onMessageCallback, onErrorCallback) {\n super();\n this.id = id;\n this.label = label;\n const workerOrPromise = getWorker(label);\n if (isPromiseLike(workerOrPromise)) {\n this.worker = workerOrPromise;\n }\n else {\n this.worker = Promise.resolve(workerOrPromise);\n }\n this.postMessage(moduleId, []);\n this.worker.then((w) => {\n w.onmessage = function (ev) {\n onMessageCallback(ev.data);\n };\n w.onmessageerror = onErrorCallback;\n if (typeof w.addEventListener === 'function') {\n w.addEventListener('error', onErrorCallback);\n }\n });\n this._register(toDisposable(() => {\n var _a;\n (_a = this.worker) === null || _a === void 0 ? void 0 : _a.then(w => {\n w.onmessage = null;\n w.onmessageerror = null;\n w.removeEventListener('error', onErrorCallback);\n w.terminate();\n });\n this.worker = null;\n }));\n }\n getId() {\n return this.id;\n }\n postMessage(message, transfer) {\n var _a;\n (_a = this.worker) === null || _a === void 0 ? void 0 : _a.then(w => {\n try {\n w.postMessage(message, transfer);\n }\n catch (err) {\n onUnexpectedError(err);\n onUnexpectedError(new Error(`FAILED to post message to '${this.label}'-worker`, { cause: err }));\n }\n });\n }\n}\nexport class DefaultWorkerFactory {\n constructor(label) {\n this._label = label;\n this._webWorkerFailedBeforeError = false;\n }\n create(moduleId, onMessageCallback, onErrorCallback) {\n const workerId = (++DefaultWorkerFactory.LAST_WORKER_ID);\n if (this._webWorkerFailedBeforeError) {\n throw this._webWorkerFailedBeforeError;\n }\n return new WebWorker(moduleId, workerId, this._label || 'anonymous' + workerId, onMessageCallback, (err) => {\n logOnceWebWorkerWarning(err);\n this._webWorkerFailedBeforeError = err;\n onErrorCallback(err);\n });\n }\n}\nDefaultWorkerFactory.LAST_WORKER_ID = 0;\n","import { Mimes } from '../common/mime.js';\n// Common data transfers\nexport const DataTransfers = {\n /**\n * Application specific resource transfer type\n */\n RESOURCES: 'ResourceURLs',\n /**\n * Browser specific transfer type to download\n */\n DOWNLOAD_URL: 'DownloadURL',\n /**\n * Browser specific transfer type for files\n */\n FILES: 'Files',\n /**\n * Typically transfer type for copy/paste transfers.\n */\n TEXT: Mimes.text,\n /**\n * Internal type used to pass around text/uri-list data.\n *\n * This is needed to work around https://bugs.chromium.org/p/chromium/issues/detail?id=239745.\n */\n INTERNAL_URI_LIST: 'application/vnd.code.uri-list',\n};\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 *--------------------------------------------------------------------------------------------*/\nimport * as browser from './browser.js';\nimport { BrowserFeatures } from './canIUse.js';\nimport { StandardKeyboardEvent } from './keyboardEvent.js';\nimport { StandardMouseEvent } from './mouseEvent.js';\nimport { AbstractIdleValue, IntervalTimer, _runWhenIdle } from '../common/async.js';\nimport { onUnexpectedError } from '../common/errors.js';\nimport * as event from '../common/event.js';\nimport * as dompurify from './dompurify/dompurify.js';\nimport { Disposable, DisposableStore, toDisposable } from '../common/lifecycle.js';\nimport { FileAccess, RemoteAuthorities } from '../common/network.js';\nimport * as platform from '../common/platform.js';\nimport { hash } from '../common/hash.js';\nimport { ensureCodeWindow, mainWindow } from './window.js';\n//# region Multi-Window Support Utilities\nexport const { registerWindow, getWindow, getDocument, getWindows, getWindowsCount, getWindowId, getWindowById, hasWindow, onDidRegisterWindow, onWillUnregisterWindow, onDidUnregisterWindow } = (function () {\n const windows = new Map();\n ensureCodeWindow(mainWindow, 1);\n const mainWindowRegistration = { window: mainWindow, disposables: new DisposableStore() };\n windows.set(mainWindow.vscodeWindowId, mainWindowRegistration);\n const onDidRegisterWindow = new event.Emitter();\n const onDidUnregisterWindow = new event.Emitter();\n const onWillUnregisterWindow = new event.Emitter();\n function getWindowById(windowId, fallbackToMain) {\n const window = typeof windowId === 'number' ? windows.get(windowId) : undefined;\n return window !== null && window !== void 0 ? window : (fallbackToMain ? mainWindowRegistration : undefined);\n }\n return {\n onDidRegisterWindow: onDidRegisterWindow.event,\n onWillUnregisterWindow: onWillUnregisterWindow.event,\n onDidUnregisterWindow: onDidUnregisterWindow.event,\n registerWindow(window) {\n if (windows.has(window.vscodeWindowId)) {\n return Disposable.None;\n }\n const disposables = new DisposableStore();\n const registeredWindow = {\n window,\n disposables: disposables.add(new DisposableStore())\n };\n windows.set(window.vscodeWindowId, registeredWindow);\n disposables.add(toDisposable(() => {\n windows.delete(window.vscodeWindowId);\n onDidUnregisterWindow.fire(window);\n }));\n disposables.add(addDisposableListener(window, EventType.BEFORE_UNLOAD, () => {\n onWillUnregisterWindow.fire(window);\n }));\n onDidRegisterWindow.fire(registeredWindow);\n return disposables;\n },\n getWindows() {\n return windows.values();\n },\n getWindowsCount() {\n return windows.size;\n },\n getWindowId(targetWindow) {\n return targetWindow.vscodeWindowId;\n },\n hasWindow(windowId) {\n return windows.has(windowId);\n },\n getWindowById,\n getWindow(e) {\n var _a;\n const candidateNode = e;\n if ((_a = candidateNode === null || candidateNode === void 0 ? void 0 : candidateNode.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView) {\n return candidateNode.ownerDocument.defaultView.window;\n }\n const candidateEvent = e;\n if (candidateEvent === null || candidateEvent === void 0 ? void 0 : candidateEvent.view) {\n return candidateEvent.view.window;\n }\n return mainWindow;\n },\n getDocument(e) {\n const candidateNode = e;\n return getWindow(candidateNode).document;\n }\n };\n})();\n//#endregion\nexport function clearNode(node) {\n while (node.firstChild) {\n node.firstChild.remove();\n }\n}\nclass DomListener {\n constructor(node, type, handler, options) {\n this._node = node;\n this._type = type;\n this._handler = handler;\n this._options = (options || false);\n this._node.addEventListener(this._type, this._handler, this._options);\n }\n dispose() {\n if (!this._handler) {\n // Already disposed\n return;\n }\n this._node.removeEventListener(this._type, this._handler, this._options);\n // Prevent leakers from holding on to the dom or handler func\n this._node = null;\n this._handler = null;\n }\n}\nexport function addDisposableListener(node, type, handler, useCaptureOrOptions) {\n return new DomListener(node, type, handler, useCaptureOrOptions);\n}\nfunction _wrapAsStandardMouseEvent(targetWindow, handler) {\n return function (e) {\n return handler(new StandardMouseEvent(targetWindow, e));\n };\n}\nfunction _wrapAsStandardKeyboardEvent(handler) {\n return function (e) {\n return handler(new StandardKeyboardEvent(e));\n };\n}\nexport const addStandardDisposableListener = function addStandardDisposableListener(node, type, handler, useCapture) {\n let wrapHandler = handler;\n if (type === 'click' || type === 'mousedown' || type === 'contextmenu') {\n wrapHandler = _wrapAsStandardMouseEvent(getWindow(node), handler);\n }\n else if (type === 'keydown' || type === 'keypress' || type === 'keyup') {\n wrapHandler = _wrapAsStandardKeyboardEvent(handler);\n }\n return addDisposableListener(node, type, wrapHandler, useCapture);\n};\nexport const addStandardDisposableGenericMouseDownListener = function addStandardDisposableListener(node, handler, useCapture) {\n const wrapHandler = _wrapAsStandardMouseEvent(getWindow(node), handler);\n return addDisposableGenericMouseDownListener(node, wrapHandler, useCapture);\n};\nexport const addStandardDisposableGenericMouseUpListener = function addStandardDisposableListener(node, handler, useCapture) {\n const wrapHandler = _wrapAsStandardMouseEvent(getWindow(node), handler);\n return addDisposableGenericMouseUpListener(node, wrapHandler, useCapture);\n};\nexport function addDisposableGenericMouseDownListener(node, handler, useCapture) {\n return addDisposableListener(node, platform.isIOS && BrowserFeatures.pointerEvents ? EventType.POINTER_DOWN : EventType.MOUSE_DOWN, handler, useCapture);\n}\nexport function addDisposableGenericMouseUpListener(node, handler, useCapture) {\n return addDisposableListener(node, platform.isIOS && BrowserFeatures.pointerEvents ? EventType.POINTER_UP : EventType.MOUSE_UP, handler, useCapture);\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 targetWindow The window for which to run the idle callback\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 */\nexport function runWhenWindowIdle(targetWindow, callback, timeout) {\n return _runWhenIdle(targetWindow, callback, timeout);\n}\n/**\n * An implementation of the \"idle-until-urgent\"-strategy as introduced\n * here: https://philipwalton.com/articles/idle-until-urgent/\n */\nexport class WindowIdleValue extends AbstractIdleValue {\n constructor(targetWindow, executor) {\n super(targetWindow, executor);\n }\n}\n/**\n * Schedule a callback to be run at the next animation frame.\n * This allows multiple parties to register callbacks that should run at the next animation frame.\n * If currently in an animation frame, `runner` will be executed immediately.\n * @return token that can be used to cancel the scheduled runner (only if `runner` was not executed immediately).\n */\nexport let runAtThisOrScheduleAtNextAnimationFrame;\n/**\n * Schedule a callback to be run at the next animation frame.\n * This allows multiple parties to register callbacks that should run at the next animation frame.\n * If currently in an animation frame, `runner` will be executed at the next animation frame.\n * @return token that can be used to cancel the scheduled runner.\n */\nexport let scheduleAtNextAnimationFrame;\nexport class WindowIntervalTimer extends IntervalTimer {\n /**\n *\n * @param node The optional node from which the target window is determined\n */\n constructor(node) {\n super();\n this.defaultTarget = node && getWindow(node);\n }\n cancelAndSet(runner, interval, targetWindow) {\n return super.cancelAndSet(runner, interval, targetWindow !== null && targetWindow !== void 0 ? targetWindow : this.defaultTarget);\n }\n}\nclass AnimationFrameQueueItem {\n constructor(runner, priority = 0) {\n this._runner = runner;\n this.priority = priority;\n this._canceled = false;\n }\n dispose() {\n this._canceled = true;\n }\n execute() {\n if (this._canceled) {\n return;\n }\n try {\n this._runner();\n }\n catch (e) {\n onUnexpectedError(e);\n }\n }\n // Sort by priority (largest to lowest)\n static sort(a, b) {\n return b.priority - a.priority;\n }\n}\n(function () {\n /**\n * The runners scheduled at the next animation frame\n */\n const NEXT_QUEUE = new Map();\n /**\n * The runners scheduled at the current animation frame\n */\n const CURRENT_QUEUE = new Map();\n /**\n * A flag to keep track if the native requestAnimationFrame was already called\n */\n const animFrameRequested = new Map();\n /**\n * A flag to indicate if currently handling a native requestAnimationFrame callback\n */\n const inAnimationFrameRunner = new Map();\n const animationFrameRunner = (targetWindowId) => {\n var _a;\n animFrameRequested.set(targetWindowId, false);\n const currentQueue = (_a = NEXT_QUEUE.get(targetWindowId)) !== null && _a !== void 0 ? _a : [];\n CURRENT_QUEUE.set(targetWindowId, currentQueue);\n NEXT_QUEUE.set(targetWindowId, []);\n inAnimationFrameRunner.set(targetWindowId, true);\n while (currentQueue.length > 0) {\n currentQueue.sort(AnimationFrameQueueItem.sort);\n const top = currentQueue.shift();\n top.execute();\n }\n inAnimationFrameRunner.set(targetWindowId, false);\n };\n scheduleAtNextAnimationFrame = (targetWindow, runner, priority = 0) => {\n const targetWindowId = getWindowId(targetWindow);\n const item = new AnimationFrameQueueItem(runner, priority);\n let nextQueue = NEXT_QUEUE.get(targetWindowId);\n if (!nextQueue) {\n nextQueue = [];\n NEXT_QUEUE.set(targetWindowId, nextQueue);\n }\n nextQueue.push(item);\n if (!animFrameRequested.get(targetWindowId)) {\n animFrameRequested.set(targetWindowId, true);\n targetWindow.requestAnimationFrame(() => animationFrameRunner(targetWindowId));\n }\n return item;\n };\n runAtThisOrScheduleAtNextAnimationFrame = (targetWindow, runner, priority) => {\n const targetWindowId = getWindowId(targetWindow);\n if (inAnimationFrameRunner.get(targetWindowId)) {\n const item = new AnimationFrameQueueItem(runner, priority);\n let currentQueue = CURRENT_QUEUE.get(targetWindowId);\n if (!currentQueue) {\n currentQueue = [];\n CURRENT_QUEUE.set(targetWindowId, currentQueue);\n }\n currentQueue.push(item);\n return item;\n }\n else {\n return scheduleAtNextAnimationFrame(targetWindow, runner, priority);\n }\n };\n})();\nexport function getComputedStyle(el) {\n return getWindow(el).getComputedStyle(el, null);\n}\nexport function getClientArea(element, fallback) {\n const elWindow = getWindow(element);\n const elDocument = elWindow.document;\n // Try with DOM clientWidth / clientHeight\n if (element !== elDocument.body) {\n return new Dimension(element.clientWidth, element.clientHeight);\n }\n // If visual view port exits and it's on mobile, it should be used instead of window innerWidth / innerHeight, or document.body.clientWidth / document.body.clientHeight\n if (platform.isIOS && (elWindow === null || elWindow === void 0 ? void 0 : elWindow.visualViewport)) {\n return new Dimension(elWindow.visualViewport.width, elWindow.visualViewport.height);\n }\n // Try innerWidth / innerHeight\n if ((elWindow === null || elWindow === void 0 ? void 0 : elWindow.innerWidth) && elWindow.innerHeight) {\n return new Dimension(elWindow.innerWidth, elWindow.innerHeight);\n }\n // Try with document.body.clientWidth / document.body.clientHeight\n if (elDocument.body && elDocument.body.clientWidth && elDocument.body.clientHeight) {\n return new Dimension(elDocument.body.clientWidth, elDocument.body.clientHeight);\n }\n // Try with document.documentElement.clientWidth / document.documentElement.clientHeight\n if (elDocument.documentElement && elDocument.documentElement.clientWidth && elDocument.documentElement.clientHeight) {\n return new Dimension(elDocument.documentElement.clientWidth, elDocument.documentElement.clientHeight);\n }\n if (fallback) {\n return getClientArea(fallback);\n }\n throw new Error('Unable to figure out browser width and height');\n}\nclass SizeUtils {\n // Adapted from WinJS\n // Converts a CSS positioning string for the specified element to pixels.\n static convertToPixels(element, value) {\n return parseFloat(value) || 0;\n }\n static getDimension(element, cssPropertyName, jsPropertyName) {\n const computedStyle = getComputedStyle(element);\n const value = computedStyle ? computedStyle.getPropertyValue(cssPropertyName) : '0';\n return SizeUtils.convertToPixels(element, value);\n }\n static getBorderLeftWidth(element) {\n return SizeUtils.getDimension(element, 'border-left-width', 'borderLeftWidth');\n }\n static getBorderRightWidth(element) {\n return SizeUtils.getDimension(element, 'border-right-width', 'borderRightWidth');\n }\n static getBorderTopWidth(element) {\n return SizeUtils.getDimension(element, 'border-top-width', 'borderTopWidth');\n }\n static getBorderBottomWidth(element) {\n return SizeUtils.getDimension(element, 'border-bottom-width', 'borderBottomWidth');\n }\n static getPaddingLeft(element) {\n return SizeUtils.getDimension(element, 'padding-left', 'paddingLeft');\n }\n static getPaddingRight(element) {\n return SizeUtils.getDimension(element, 'padding-right', 'paddingRight');\n }\n static getPaddingTop(element) {\n return SizeUtils.getDimension(element, 'padding-top', 'paddingTop');\n }\n static getPaddingBottom(element) {\n return SizeUtils.getDimension(element, 'padding-bottom', 'paddingBottom');\n }\n static getMarginLeft(element) {\n return SizeUtils.getDimension(element, 'margin-left', 'marginLeft');\n }\n static getMarginTop(element) {\n return SizeUtils.getDimension(element, 'margin-top', 'marginTop');\n }\n static getMarginRight(element) {\n return SizeUtils.getDimension(element, 'margin-right', 'marginRight');\n }\n static getMarginBottom(element) {\n return SizeUtils.getDimension(element, 'margin-bottom', 'marginBottom');\n }\n}\nexport class Dimension {\n constructor(width, height) {\n this.width = width;\n this.height = height;\n }\n with(width = this.width, height = this.height) {\n if (width !== this.width || height !== this.height) {\n return new Dimension(width, height);\n }\n else {\n return this;\n }\n }\n static is(obj) {\n return typeof obj === 'object' && typeof obj.height === 'number' && typeof obj.width === 'number';\n }\n static lift(obj) {\n if (obj instanceof Dimension) {\n return obj;\n }\n else {\n return new Dimension(obj.width, obj.height);\n }\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.width === b.width && a.height === b.height;\n }\n}\nDimension.None = new Dimension(0, 0);\nexport function getTopLeftOffset(element) {\n // Adapted from WinJS.Utilities.getPosition\n // and added borders to the mix\n let offsetParent = element.offsetParent;\n let top = element.offsetTop;\n let left = element.offsetLeft;\n while ((element = element.parentNode) !== null\n && element !== element.ownerDocument.body\n && element !== element.ownerDocument.documentElement) {\n top -= element.scrollTop;\n const c = isShadowRoot(element) ? null : getComputedStyle(element);\n if (c) {\n left -= c.direction !== 'rtl' ? element.scrollLeft : -element.scrollLeft;\n }\n if (element === offsetParent) {\n left += SizeUtils.getBorderLeftWidth(element);\n top += SizeUtils.getBorderTopWidth(element);\n top += element.offsetTop;\n left += element.offsetLeft;\n offsetParent = element.offsetParent;\n }\n }\n return {\n left: left,\n top: top\n };\n}\nexport function size(element, width, height) {\n if (typeof width === 'number') {\n element.style.width = `${width}px`;\n }\n if (typeof height === 'number') {\n element.style.height = `${height}px`;\n }\n}\n/**\n * Returns the position of a dom node relative to the entire page.\n */\nexport function getDomNodePagePosition(domNode) {\n const bb = domNode.getBoundingClientRect();\n const window = getWindow(domNode);\n return {\n left: bb.left + window.scrollX,\n top: bb.top + window.scrollY,\n width: bb.width,\n height: bb.height\n };\n}\n/**\n * Returns the effective zoom on a given element before window zoom level is applied\n */\nexport function getDomNodeZoomLevel(domNode) {\n let testElement = domNode;\n let zoom = 1.0;\n do {\n const elementZoomLevel = getComputedStyle(testElement).zoom;\n if (elementZoomLevel !== null && elementZoomLevel !== undefined && elementZoomLevel !== '1') {\n zoom *= elementZoomLevel;\n }\n testElement = testElement.parentElement;\n } while (testElement !== null && testElement !== testElement.ownerDocument.documentElement);\n return zoom;\n}\n// Adapted from WinJS\n// Gets the width of the element, including margins.\nexport function getTotalWidth(element) {\n const margin = SizeUtils.getMarginLeft(element) + SizeUtils.getMarginRight(element);\n return element.offsetWidth + margin;\n}\nexport function getContentWidth(element) {\n const border = SizeUtils.getBorderLeftWidth(element) + SizeUtils.getBorderRightWidth(element);\n const padding = SizeUtils.getPaddingLeft(element) + SizeUtils.getPaddingRight(element);\n return element.offsetWidth - border - padding;\n}\n// Adapted from WinJS\n// Gets the height of the content of the specified element. The content height does not include borders or padding.\nexport function getContentHeight(element) {\n const border = SizeUtils.getBorderTopWidth(element) + SizeUtils.getBorderBottomWidth(element);\n const padding = SizeUtils.getPaddingTop(element) + SizeUtils.getPaddingBottom(element);\n return element.offsetHeight - border - padding;\n}\n// Adapted from WinJS\n// Gets the height of the element, including its margins.\nexport function getTotalHeight(element) {\n const margin = SizeUtils.getMarginTop(element) + SizeUtils.getMarginBottom(element);\n return element.offsetHeight + margin;\n}\n// ----------------------------------------------------------------------------------------\nexport function isAncestor(testChild, testAncestor) {\n return Boolean(testAncestor === null || testAncestor === void 0 ? void 0 : testAncestor.contains(testChild));\n}\nexport function findParentWithClass(node, clazz, stopAtClazzOrNode) {\n while (node && node.nodeType === node.ELEMENT_NODE) {\n if (node.classList.contains(clazz)) {\n return node;\n }\n if (stopAtClazzOrNode) {\n if (typeof stopAtClazzOrNode === 'string') {\n if (node.classList.contains(stopAtClazzOrNode)) {\n return null;\n }\n }\n else {\n if (node === stopAtClazzOrNode) {\n return null;\n }\n }\n }\n node = node.parentNode;\n }\n return null;\n}\nexport function hasParentWithClass(node, clazz, stopAtClazzOrNode) {\n return !!findParentWithClass(node, clazz, stopAtClazzOrNode);\n}\nexport function isShadowRoot(node) {\n return (node && !!node.host && !!node.mode);\n}\nexport function isInShadowDOM(domNode) {\n return !!getShadowRoot(domNode);\n}\nexport function getShadowRoot(domNode) {\n var _a;\n while (domNode.parentNode) {\n if (domNode === ((_a = domNode.ownerDocument) === null || _a === void 0 ? void 0 : _a.body)) {\n // reached the body\n return null;\n }\n domNode = domNode.parentNode;\n }\n return isShadowRoot(domNode) ? domNode : null;\n}\n/**\n * Returns the active element across all child windows\n * based on document focus. Falls back to the main\n * window if no window has focus.\n */\nexport function getActiveElement() {\n let result = getActiveDocument().activeElement;\n while (result === null || result === void 0 ? void 0 : result.shadowRoot) {\n result = result.shadowRoot.activeElement;\n }\n return result;\n}\n/**\n * Returns true if the focused window active element matches\n * the provided element. Falls back to the main window if no\n * window has focus.\n */\nexport function isActiveElement(element) {\n return getActiveElement() === element;\n}\n/**\n * Returns true if the focused window active element is contained in\n * `ancestor`. Falls back to the main window if no window has focus.\n */\nexport function isAncestorOfActiveElement(ancestor) {\n return isAncestor(getActiveElement(), ancestor);\n}\n/**\n * Returns the active document across main and child windows.\n * Prefers the window with focus, otherwise falls back to\n * the main windows document.\n */\nexport function getActiveDocument() {\n var _a;\n if (getWindowsCount() <= 1) {\n return mainWindow.document;\n }\n const documents = Array.from(getWindows()).map(({ window }) => window.document);\n return (_a = documents.find(doc => doc.hasFocus())) !== null && _a !== void 0 ? _a : mainWindow.document;\n}\n/**\n * Returns the active window across main and child windows.\n * Prefers the window with focus, otherwise falls back to\n * the main window.\n */\nexport function getActiveWindow() {\n var _a, _b;\n const document = getActiveDocument();\n return ((_b = (_a = document.defaultView) === null || _a === void 0 ? void 0 : _a.window) !== null && _b !== void 0 ? _b : mainWindow);\n}\nconst globalStylesheets = new Map();\n/**\n * A version of createStyleSheet which has a unified API to initialize/set the style content.\n */\nexport function createStyleSheet2() {\n return new WrappedStyleElement();\n}\nclass WrappedStyleElement {\n constructor() {\n this._currentCssStyle = '';\n this._styleSheet = undefined;\n }\n setStyle(cssStyle) {\n if (cssStyle === this._currentCssStyle) {\n return;\n }\n this._currentCssStyle = cssStyle;\n if (!this._styleSheet) {\n this._styleSheet = createStyleSheet(mainWindow.document.head, (s) => s.innerText = cssStyle);\n }\n else {\n this._styleSheet.innerText = cssStyle;\n }\n }\n dispose() {\n if (this._styleSheet) {\n this._styleSheet.remove();\n this._styleSheet = undefined;\n }\n }\n}\nexport function createStyleSheet(container = mainWindow.document.head, beforeAppend, disposableStore) {\n const style = document.createElement('style');\n style.type = 'text/css';\n style.media = 'screen';\n beforeAppend === null || beforeAppend === void 0 ? void 0 : beforeAppend(style);\n container.appendChild(style);\n if (disposableStore) {\n disposableStore.add(toDisposable(() => container.removeChild(style)));\n }\n // With
as container, the stylesheet becomes global and is tracked\n // to support auxiliary windows to clone the stylesheet.\n if (container === mainWindow.document.head) {\n const globalStylesheetClones = new Set();\n globalStylesheets.set(style, globalStylesheetClones);\n for (const { window: targetWindow, disposables } of getWindows()) {\n if (targetWindow === mainWindow) {\n continue; // main window is already tracked\n }\n const cloneDisposable = disposables.add(cloneGlobalStyleSheet(style, globalStylesheetClones, targetWindow));\n disposableStore === null || disposableStore === void 0 ? void 0 : disposableStore.add(cloneDisposable);\n }\n }\n return style;\n}\nfunction cloneGlobalStyleSheet(globalStylesheet, globalStylesheetClones, targetWindow) {\n var _a, _b;\n const disposables = new DisposableStore();\n const clone = globalStylesheet.cloneNode(true);\n targetWindow.document.head.appendChild(clone);\n disposables.add(toDisposable(() => targetWindow.document.head.removeChild(clone)));\n for (const rule of getDynamicStyleSheetRules(globalStylesheet)) {\n (_a = clone.sheet) === null || _a === void 0 ? void 0 : _a.insertRule(rule.cssText, (_b = clone.sheet) === null || _b === void 0 ? void 0 : _b.cssRules.length);\n }\n disposables.add(sharedMutationObserver.observe(globalStylesheet, disposables, { childList: true })(() => {\n clone.textContent = globalStylesheet.textContent;\n }));\n globalStylesheetClones.add(clone);\n disposables.add(toDisposable(() => globalStylesheetClones.delete(clone)));\n return disposables;\n}\nexport const sharedMutationObserver = new class {\n constructor() {\n this.mutationObservers = new Map();\n }\n observe(target, disposables, options) {\n let mutationObserversPerTarget = this.mutationObservers.get(target);\n if (!mutationObserversPerTarget) {\n mutationObserversPerTarget = new Map();\n this.mutationObservers.set(target, mutationObserversPerTarget);\n }\n const optionsHash = hash(options);\n let mutationObserverPerOptions = mutationObserversPerTarget.get(optionsHash);\n if (!mutationObserverPerOptions) {\n const onDidMutate = new event.Emitter();\n const observer = new MutationObserver(mutations => onDidMutate.fire(mutations));\n observer.observe(target, options);\n const resolvedMutationObserverPerOptions = mutationObserverPerOptions = {\n users: 1,\n observer,\n onDidMutate: onDidMutate.event\n };\n disposables.add(toDisposable(() => {\n resolvedMutationObserverPerOptions.users -= 1;\n if (resolvedMutationObserverPerOptions.users === 0) {\n onDidMutate.dispose();\n observer.disconnect();\n mutationObserversPerTarget === null || mutationObserversPerTarget === void 0 ? void 0 : mutationObserversPerTarget.delete(optionsHash);\n if ((mutationObserversPerTarget === null || mutationObserversPerTarget === void 0 ? void 0 : mutationObserversPerTarget.size) === 0) {\n this.mutationObservers.delete(target);\n }\n }\n }));\n mutationObserversPerTarget.set(optionsHash, mutationObserverPerOptions);\n }\n else {\n mutationObserverPerOptions.users += 1;\n }\n return mutationObserverPerOptions.onDidMutate;\n }\n};\nlet _sharedStyleSheet = null;\nfunction getSharedStyleSheet() {\n if (!_sharedStyleSheet) {\n _sharedStyleSheet = createStyleSheet();\n }\n return _sharedStyleSheet;\n}\nfunction getDynamicStyleSheetRules(style) {\n var _a, _b;\n if ((_a = style === null || style === void 0 ? void 0 : style.sheet) === null || _a === void 0 ? void 0 : _a.rules) {\n // Chrome, IE\n return style.sheet.rules;\n }\n if ((_b = style === null || style === void 0 ? void 0 : style.sheet) === null || _b === void 0 ? void 0 : _b.cssRules) {\n // FF\n return style.sheet.cssRules;\n }\n return [];\n}\nexport function createCSSRule(selector, cssText, style = getSharedStyleSheet()) {\n var _a, _b;\n if (!style || !cssText) {\n return;\n }\n (_a = style.sheet) === null || _a === void 0 ? void 0 : _a.insertRule(`${selector} {${cssText}}`, 0);\n // Apply rule also to all cloned global stylesheets\n for (const clonedGlobalStylesheet of (_b = globalStylesheets.get(style)) !== null && _b !== void 0 ? _b : []) {\n createCSSRule(selector, cssText, clonedGlobalStylesheet);\n }\n}\nexport function removeCSSRulesContainingSelector(ruleName, style = getSharedStyleSheet()) {\n var _a, _b;\n if (!style) {\n return;\n }\n const rules = getDynamicStyleSheetRules(style);\n const toDelete = [];\n for (let i = 0; i < rules.length; i++) {\n const rule = rules[i];\n if (isCSSStyleRule(rule) && rule.selectorText.indexOf(ruleName) !== -1) {\n toDelete.push(i);\n }\n }\n for (let i = toDelete.length - 1; i >= 0; i--) {\n (_a = style.sheet) === null || _a === void 0 ? void 0 : _a.deleteRule(toDelete[i]);\n }\n // Remove rules also from all cloned global stylesheets\n for (const clonedGlobalStylesheet of (_b = globalStylesheets.get(style)) !== null && _b !== void 0 ? _b : []) {\n removeCSSRulesContainingSelector(ruleName, clonedGlobalStylesheet);\n }\n}\nfunction isCSSStyleRule(rule) {\n return typeof rule.selectorText === 'string';\n}\nexport function isHTMLElement(e) {\n // eslint-disable-next-line no-restricted-syntax\n return e instanceof HTMLElement || e instanceof getWindow(e).HTMLElement;\n}\nexport function isHTMLAnchorElement(e) {\n // eslint-disable-next-line no-restricted-syntax\n return e instanceof HTMLAnchorElement || e instanceof getWindow(e).HTMLAnchorElement;\n}\nexport function isMouseEvent(e) {\n // eslint-disable-next-line no-restricted-syntax\n return e instanceof MouseEvent || e instanceof getWindow(e).MouseEvent;\n}\nexport function isKeyboardEvent(e) {\n // eslint-disable-next-line no-restricted-syntax\n return e instanceof KeyboardEvent || e instanceof getWindow(e).KeyboardEvent;\n}\nexport const EventType = {\n // Mouse\n CLICK: 'click',\n AUXCLICK: 'auxclick',\n DBLCLICK: 'dblclick',\n MOUSE_UP: 'mouseup',\n MOUSE_DOWN: 'mousedown',\n MOUSE_OVER: 'mouseover',\n MOUSE_MOVE: 'mousemove',\n MOUSE_OUT: 'mouseout',\n MOUSE_ENTER: 'mouseenter',\n MOUSE_LEAVE: 'mouseleave',\n MOUSE_WHEEL: 'wheel',\n POINTER_UP: 'pointerup',\n POINTER_DOWN: 'pointerdown',\n POINTER_MOVE: 'pointermove',\n POINTER_LEAVE: 'pointerleave',\n CONTEXT_MENU: 'contextmenu',\n WHEEL: 'wheel',\n // Keyboard\n KEY_DOWN: 'keydown',\n KEY_PRESS: 'keypress',\n KEY_UP: 'keyup',\n // HTML Document\n LOAD: 'load',\n BEFORE_UNLOAD: 'beforeunload',\n UNLOAD: 'unload',\n PAGE_SHOW: 'pageshow',\n PAGE_HIDE: 'pagehide',\n PASTE: 'paste',\n ABORT: 'abort',\n ERROR: 'error',\n RESIZE: 'resize',\n SCROLL: 'scroll',\n FULLSCREEN_CHANGE: 'fullscreenchange',\n WK_FULLSCREEN_CHANGE: 'webkitfullscreenchange',\n // Form\n SELECT: 'select',\n CHANGE: 'change',\n SUBMIT: 'submit',\n RESET: 'reset',\n FOCUS: 'focus',\n FOCUS_IN: 'focusin',\n FOCUS_OUT: 'focusout',\n BLUR: 'blur',\n INPUT: 'input',\n // Local Storage\n STORAGE: 'storage',\n // Drag\n DRAG_START: 'dragstart',\n DRAG: 'drag',\n DRAG_ENTER: 'dragenter',\n DRAG_LEAVE: 'dragleave',\n DRAG_OVER: 'dragover',\n DROP: 'drop',\n DRAG_END: 'dragend',\n // Animation\n ANIMATION_START: browser.isWebKit ? 'webkitAnimationStart' : 'animationstart',\n ANIMATION_END: browser.isWebKit ? 'webkitAnimationEnd' : 'animationend',\n ANIMATION_ITERATION: browser.isWebKit ? 'webkitAnimationIteration' : 'animationiteration'\n};\nexport function isEventLike(obj) {\n const candidate = obj;\n return !!(candidate && typeof candidate.preventDefault === 'function' && typeof candidate.stopPropagation === 'function');\n}\nexport const EventHelper = {\n stop: (e, cancelBubble) => {\n e.preventDefault();\n if (cancelBubble) {\n e.stopPropagation();\n }\n return e;\n }\n};\nexport function saveParentsScrollTop(node) {\n const r = [];\n for (let i = 0; node && node.nodeType === node.ELEMENT_NODE; i++) {\n r[i] = node.scrollTop;\n node = node.parentNode;\n }\n return r;\n}\nexport function restoreParentsScrollTop(node, state) {\n for (let i = 0; node && node.nodeType === node.ELEMENT_NODE; i++) {\n if (node.scrollTop !== state[i]) {\n node.scrollTop = state[i];\n }\n node = node.parentNode;\n }\n}\nclass FocusTracker extends Disposable {\n static hasFocusWithin(element) {\n if (isHTMLElement(element)) {\n const shadowRoot = getShadowRoot(element);\n const activeElement = (shadowRoot ? shadowRoot.activeElement : element.ownerDocument.activeElement);\n return isAncestor(activeElement, element);\n }\n else {\n const window = element;\n return isAncestor(window.document.activeElement, window.document);\n }\n }\n constructor(element) {\n super();\n this._onDidFocus = this._register(new event.Emitter());\n this.onDidFocus = this._onDidFocus.event;\n this._onDidBlur = this._register(new event.Emitter());\n this.onDidBlur = this._onDidBlur.event;\n let hasFocus = FocusTracker.hasFocusWithin(element);\n let loosingFocus = false;\n const onFocus = () => {\n loosingFocus = false;\n if (!hasFocus) {\n hasFocus = true;\n this._onDidFocus.fire();\n }\n };\n const onBlur = () => {\n if (hasFocus) {\n loosingFocus = true;\n (isHTMLElement(element) ? getWindow(element) : element).setTimeout(() => {\n if (loosingFocus) {\n loosingFocus = false;\n hasFocus = false;\n this._onDidBlur.fire();\n }\n }, 0);\n }\n };\n this._refreshStateHandler = () => {\n const currentNodeHasFocus = FocusTracker.hasFocusWithin(element);\n if (currentNodeHasFocus !== hasFocus) {\n if (hasFocus) {\n onBlur();\n }\n else {\n onFocus();\n }\n }\n };\n this._register(addDisposableListener(element, EventType.FOCUS, onFocus, true));\n this._register(addDisposableListener(element, EventType.BLUR, onBlur, true));\n if (isHTMLElement(element)) {\n this._register(addDisposableListener(element, EventType.FOCUS_IN, () => this._refreshStateHandler()));\n this._register(addDisposableListener(element, EventType.FOCUS_OUT, () => this._refreshStateHandler()));\n }\n }\n}\n/**\n * Creates a new `IFocusTracker` instance that tracks focus changes on the given `element` and its descendants.\n *\n * @param element The `HTMLElement` or `Window` to track focus changes on.\n * @returns An `IFocusTracker` instance.\n */\nexport function trackFocus(element) {\n return new FocusTracker(element);\n}\nexport function after(sibling, child) {\n sibling.after(child);\n return child;\n}\nexport function append(parent, ...children) {\n parent.append(...children);\n if (children.length === 1 && typeof children[0] !== 'string') {\n return children[0];\n }\n}\nexport function prepend(parent, child) {\n parent.insertBefore(child, parent.firstChild);\n return child;\n}\n/**\n * Removes all children from `parent` and appends `children`\n */\nexport function reset(parent, ...children) {\n parent.innerText = '';\n append(parent, ...children);\n}\nconst SELECTOR_REGEX = /([\\w\\-]+)?(#([\\w\\-]+))?((\\.([\\w\\-]+))*)/;\nexport var Namespace;\n(function (Namespace) {\n Namespace[\"HTML\"] = \"http://www.w3.org/1999/xhtml\";\n Namespace[\"SVG\"] = \"http://www.w3.org/2000/svg\";\n})(Namespace || (Namespace = {}));\nfunction _$(namespace, description, attrs, ...children) {\n const match = SELECTOR_REGEX.exec(description);\n if (!match) {\n throw new Error('Bad use of emmet');\n }\n const tagName = match[1] || 'div';\n let result;\n if (namespace !== Namespace.HTML) {\n result = document.createElementNS(namespace, tagName);\n }\n else {\n result = document.createElement(tagName);\n }\n if (match[3]) {\n result.id = match[3];\n }\n if (match[4]) {\n result.className = match[4].replace(/\\./g, ' ').trim();\n }\n if (attrs) {\n Object.entries(attrs).forEach(([name, value]) => {\n if (typeof value === 'undefined') {\n return;\n }\n if (/^on\\w+$/.test(name)) {\n result[name] = value;\n }\n else if (name === 'selected') {\n if (value) {\n result.setAttribute(name, 'true');\n }\n }\n else {\n result.setAttribute(name, value);\n }\n });\n }\n result.append(...children);\n return result;\n}\nexport function $(description, attrs, ...children) {\n return _$(Namespace.HTML, description, attrs, ...children);\n}\n$.SVG = function (description, attrs, ...children) {\n return _$(Namespace.SVG, description, attrs, ...children);\n};\nexport function setVisibility(visible, ...elements) {\n if (visible) {\n show(...elements);\n }\n else {\n hide(...elements);\n }\n}\nexport function show(...elements) {\n for (const element of elements) {\n element.style.display = '';\n element.removeAttribute('aria-hidden');\n }\n}\nexport function hide(...elements) {\n for (const element of elements) {\n element.style.display = 'none';\n element.setAttribute('aria-hidden', 'true');\n }\n}\n/**\n * Find a value usable for a dom node size such that the likelihood that it would be\n * displayed with constant screen pixels size is as high as possible.\n *\n * e.g. We would desire for the cursors to be 2px (CSS px) wide. Under a devicePixelRatio\n * of 1.25, the cursor will be 2.5 screen pixels wide. Depending on how the dom node aligns/\"snaps\"\n * with the screen pixels, it will sometimes be rendered with 2 screen pixels, and sometimes with 3 screen pixels.\n */\nexport function computeScreenAwareSize(window, cssPx) {\n const screenPx = window.devicePixelRatio * cssPx;\n return Math.max(1, Math.floor(screenPx)) / window.devicePixelRatio;\n}\n/**\n * Open safely a new window. This is the best way to do so, but you cannot tell\n * if the window was opened or if it was blocked by the browser's popup blocker.\n * If you want to tell if the browser blocked the new window, use {@link windowOpenWithSuccess}.\n *\n * See https://github.com/microsoft/monaco-editor/issues/601\n * To protect against malicious code in the linked site, particularly phishing attempts,\n * the window.opener should be set to null to prevent the linked site from having access\n * to change the location of the current page.\n * See https://mathiasbynens.github.io/rel-noopener/\n */\nexport function windowOpenNoOpener(url) {\n // By using 'noopener' in the `windowFeatures` argument, the newly created window will\n // not be able to use `window.opener` to reach back to the current page.\n // See https://stackoverflow.com/a/46958731\n // See https://developer.mozilla.org/en-US/docs/Web/API/Window/open#noopener\n // However, this also doesn't allow us to realize if the browser blocked\n // the creation of the window.\n mainWindow.open(url, '_blank', 'noopener');\n}\nexport function animate(targetWindow, fn) {\n const step = () => {\n fn();\n stepDisposable = scheduleAtNextAnimationFrame(targetWindow, step);\n };\n let stepDisposable = scheduleAtNextAnimationFrame(targetWindow, step);\n return toDisposable(() => stepDisposable.dispose());\n}\nRemoteAuthorities.setPreferredWebSchema(/^https:/.test(mainWindow.location.href) ? 'https' : 'http');\n/**\n * returns url('...')\n */\nexport function asCSSUrl(uri) {\n if (!uri) {\n return `url('')`;\n }\n return `url('${FileAccess.uriToBrowserUri(uri).toString(true).replace(/'/g, '%27')}')`;\n}\nexport function asCSSPropertyValue(value) {\n return `'${value.replace(/'/g, '%27')}'`;\n}\nexport function asCssValueWithDefault(cssPropertyValue, dflt) {\n if (cssPropertyValue !== undefined) {\n const variableMatch = cssPropertyValue.match(/^\\s*var\\((.+)\\)$/);\n if (variableMatch) {\n const varArguments = variableMatch[1].split(',', 2);\n if (varArguments.length === 2) {\n dflt = asCssValueWithDefault(varArguments[1].trim(), dflt);\n }\n return `var(${varArguments[0]}, ${dflt})`;\n }\n return cssPropertyValue;\n }\n return dflt;\n}\n// -- sanitize and trusted html\n/**\n * Hooks dompurify using `afterSanitizeAttributes` to check that all `href` and `src`\n * attributes are valid.\n */\nexport function hookDomPurifyHrefAndSrcSanitizer(allowedProtocols, allowDataImages = false) {\n // https://github.com/cure53/DOMPurify/blob/main/demos/hooks-scheme-allowlist.html\n // build an anchor to map URLs to\n const anchor = document.createElement('a');\n dompurify.addHook('afterSanitizeAttributes', (node) => {\n // check all href/src attributes for validity\n for (const attr of ['href', 'src']) {\n if (node.hasAttribute(attr)) {\n const attrValue = node.getAttribute(attr);\n if (attr === 'href' && attrValue.startsWith('#')) {\n // Allow fragment links\n continue;\n }\n anchor.href = attrValue;\n if (!allowedProtocols.includes(anchor.protocol.replace(/:$/, ''))) {\n if (allowDataImages && attr === 'src' && anchor.href.startsWith('data:')) {\n continue;\n }\n node.removeAttribute(attr);\n }\n }\n }\n });\n return toDisposable(() => {\n dompurify.removeHook('afterSanitizeAttributes');\n });\n}\n/**\n * List of safe, non-input html tags.\n */\nexport const basicMarkupHtmlTags = Object.freeze([\n 'a',\n 'abbr',\n 'b',\n 'bdo',\n 'blockquote',\n 'br',\n 'caption',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'figcaption',\n 'figure',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'hr',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'li',\n 'mark',\n 'ol',\n 'p',\n 'pre',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 'samp',\n 'small',\n 'small',\n 'source',\n 'span',\n 'strike',\n 'strong',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n]);\nconst defaultDomPurifyConfig = Object.freeze({\n ALLOWED_TAGS: ['a', 'button', 'blockquote', 'code', 'div', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'input', 'label', 'li', 'p', 'pre', 'select', 'small', 'span', 'strong', 'textarea', 'ul', 'ol'],\n ALLOWED_ATTR: ['href', 'data-href', 'data-command', 'target', 'title', 'name', 'src', 'alt', 'class', 'id', 'role', 'tabindex', 'style', 'data-code', 'width', 'height', 'align', 'x-dispatch', 'required', 'checked', 'placeholder', 'type', 'start'],\n RETURN_DOM: false,\n RETURN_DOM_FRAGMENT: false,\n RETURN_TRUSTED_TYPE: true\n});\nexport class ModifierKeyEmitter extends event.Emitter {\n constructor() {\n super();\n this._subscriptions = new DisposableStore();\n this._keyStatus = {\n altKey: false,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false\n };\n this._subscriptions.add(event.Event.runAndSubscribe(onDidRegisterWindow, ({ window, disposables }) => this.registerListeners(window, disposables), { window: mainWindow, disposables: this._subscriptions }));\n }\n registerListeners(window, disposables) {\n disposables.add(addDisposableListener(window, 'keydown', e => {\n if (e.defaultPrevented) {\n return;\n }\n const event = new StandardKeyboardEvent(e);\n // If Alt-key keydown event is repeated, ignore it #112347\n // Only known to be necessary for Alt-Key at the moment #115810\n if (event.keyCode === 6 /* KeyCode.Alt */ && e.repeat) {\n return;\n }\n if (e.altKey && !this._keyStatus.altKey) {\n this._keyStatus.lastKeyPressed = 'alt';\n }\n else if (e.ctrlKey && !this._keyStatus.ctrlKey) {\n this._keyStatus.lastKeyPressed = 'ctrl';\n }\n else if (e.metaKey && !this._keyStatus.metaKey) {\n this._keyStatus.lastKeyPressed = 'meta';\n }\n else if (e.shiftKey && !this._keyStatus.shiftKey) {\n this._keyStatus.lastKeyPressed = 'shift';\n }\n else if (event.keyCode !== 6 /* KeyCode.Alt */) {\n this._keyStatus.lastKeyPressed = undefined;\n }\n else {\n return;\n }\n this._keyStatus.altKey = e.altKey;\n this._keyStatus.ctrlKey = e.ctrlKey;\n this._keyStatus.metaKey = e.metaKey;\n this._keyStatus.shiftKey = e.shiftKey;\n if (this._keyStatus.lastKeyPressed) {\n this._keyStatus.event = e;\n this.fire(this._keyStatus);\n }\n }, true));\n disposables.add(addDisposableListener(window, 'keyup', e => {\n if (e.defaultPrevented) {\n return;\n }\n if (!e.altKey && this._keyStatus.altKey) {\n this._keyStatus.lastKeyReleased = 'alt';\n }\n else if (!e.ctrlKey && this._keyStatus.ctrlKey) {\n this._keyStatus.lastKeyReleased = 'ctrl';\n }\n else if (!e.metaKey && this._keyStatus.metaKey) {\n this._keyStatus.lastKeyReleased = 'meta';\n }\n else if (!e.shiftKey && this._keyStatus.shiftKey) {\n this._keyStatus.lastKeyReleased = 'shift';\n }\n else {\n this._keyStatus.lastKeyReleased = undefined;\n }\n if (this._keyStatus.lastKeyPressed !== this._keyStatus.lastKeyReleased) {\n this._keyStatus.lastKeyPressed = undefined;\n }\n this._keyStatus.altKey = e.altKey;\n this._keyStatus.ctrlKey = e.ctrlKey;\n this._keyStatus.metaKey = e.metaKey;\n this._keyStatus.shiftKey = e.shiftKey;\n if (this._keyStatus.lastKeyReleased) {\n this._keyStatus.event = e;\n this.fire(this._keyStatus);\n }\n }, true));\n disposables.add(addDisposableListener(window.document.body, 'mousedown', () => {\n this._keyStatus.lastKeyPressed = undefined;\n }, true));\n disposables.add(addDisposableListener(window.document.body, 'mouseup', () => {\n this._keyStatus.lastKeyPressed = undefined;\n }, true));\n disposables.add(addDisposableListener(window.document.body, 'mousemove', e => {\n if (e.buttons) {\n this._keyStatus.lastKeyPressed = undefined;\n }\n }, true));\n disposables.add(addDisposableListener(window, 'blur', () => {\n this.resetKeyStatus();\n }));\n }\n get keyStatus() {\n return this._keyStatus;\n }\n /**\n * Allows to explicitly reset the key status based on more knowledge (#109062)\n */\n resetKeyStatus() {\n this.doResetKeyStatus();\n this.fire(this._keyStatus);\n }\n doResetKeyStatus() {\n this._keyStatus = {\n altKey: false,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false\n };\n }\n static getInstance() {\n if (!ModifierKeyEmitter.instance) {\n ModifierKeyEmitter.instance = new ModifierKeyEmitter();\n }\n return ModifierKeyEmitter.instance;\n }\n dispose() {\n super.dispose();\n this._subscriptions.dispose();\n }\n}\nexport class DragAndDropObserver extends Disposable {\n constructor(element, callbacks) {\n super();\n this.element = element;\n this.callbacks = callbacks;\n // A helper to fix issues with repeated DRAG_ENTER / DRAG_LEAVE\n // calls see https://github.com/microsoft/vscode/issues/14470\n // when the element has child elements where the events are fired\n // repeadedly.\n this.counter = 0;\n // Allows to measure the duration of the drag operation.\n this.dragStartTime = 0;\n this.registerListeners();\n }\n registerListeners() {\n if (this.callbacks.onDragStart) {\n this._register(addDisposableListener(this.element, EventType.DRAG_START, (e) => {\n var _a, _b;\n (_b = (_a = this.callbacks).onDragStart) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n }));\n }\n if (this.callbacks.onDrag) {\n this._register(addDisposableListener(this.element, EventType.DRAG, (e) => {\n var _a, _b;\n (_b = (_a = this.callbacks).onDrag) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n }));\n }\n this._register(addDisposableListener(this.element, EventType.DRAG_ENTER, (e) => {\n var _a, _b;\n this.counter++;\n this.dragStartTime = e.timeStamp;\n (_b = (_a = this.callbacks).onDragEnter) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n }));\n this._register(addDisposableListener(this.element, EventType.DRAG_OVER, (e) => {\n var _a, _b;\n e.preventDefault(); // needed so that the drop event fires (https://stackoverflow.com/questions/21339924/drop-event-not-firing-in-chrome)\n (_b = (_a = this.callbacks).onDragOver) === null || _b === void 0 ? void 0 : _b.call(_a, e, e.timeStamp - this.dragStartTime);\n }));\n this._register(addDisposableListener(this.element, EventType.DRAG_LEAVE, (e) => {\n var _a, _b;\n this.counter--;\n if (this.counter === 0) {\n this.dragStartTime = 0;\n (_b = (_a = this.callbacks).onDragLeave) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n }\n }));\n this._register(addDisposableListener(this.element, EventType.DRAG_END, (e) => {\n var _a, _b;\n this.counter = 0;\n this.dragStartTime = 0;\n (_b = (_a = this.callbacks).onDragEnd) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n }));\n this._register(addDisposableListener(this.element, EventType.DROP, (e) => {\n var _a, _b;\n this.counter = 0;\n this.dragStartTime = 0;\n (_b = (_a = this.callbacks).onDrop) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n }));\n }\n}\nconst H_REGEX = /(?