@emailmaker/emailmaker 1.0.107-dev.3 → 1.0.107-dev.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/cli/dist/lib/cli/project.js +2 -16
- package/cli/dist/lib/config.js +20 -29
- package/cli/dist/lib/local-test.js +3 -19
- package/cli/dist/lib/paths.js +11 -0
- package/cli/dist/lib/resolveNpmSpawn.d.ts +20 -0
- package/cli/dist/lib/resolveNpmSpawn.js +71 -0
- package/cli/dist/lib/template-engine/context/pluginPackageJsonData.js +21 -19
- package/cli/dist/lib/template-engine/context/standVitePackageJsonData.js +7 -8
- package/cli/dist/lib/template-engine/resolveVariantDir.d.ts +5 -1
- package/cli/dist/lib/template-engine/resolveVariantDir.js +22 -0
- package/cli/dist/lib/templates/shared/i18n.js +2 -2
- package/cli/dist/lib/templates/shared/paths.js +3 -4
- package/cli/dist/lib/types/package-config.d.ts +1 -0
- package/cli/lib/cli/project.ts +2 -18
- package/cli/lib/config.ts +19 -30
- package/cli/lib/local-test.ts +3 -22
- package/cli/lib/paths.ts +15 -0
- package/cli/lib/resolveNpmSpawn.ts +72 -0
- package/cli/lib/template-engine/buildStandIndexHtml.test.ts +1 -0
- package/cli/lib/template-engine/context/pluginPackageJsonData.ts +23 -23
- package/cli/lib/template-engine/context/standVitePackageJsonData.ts +7 -12
- package/cli/lib/template-engine/pluginEtaParity.test.ts +1 -0
- package/cli/lib/template-engine/resolveVariantDir.ts +22 -0
- package/cli/lib/template-engine/standAdvancedViteDevHostEta.test.ts +4 -3
- package/cli/lib/template-engine/standWebpackDevHostEta.test.ts +7 -6
- package/cli/lib/templates/shared/i18n.ts +2 -2
- package/cli/lib/templates/shared/paths.ts +3 -4
- package/cli/lib/types/package-config.ts +1 -0
- package/cli/package.json +1 -1
- package/cli/project-templates/plugin/assets/vite/{plugin-build.config.mjs → plugin-build.config.ts} +7 -5
- package/cli/project-templates/plugin/assets/vite/{sandbox-build.config.mjs → sandbox-build.config.ts} +7 -5
- package/cli/project-templates/plugin/assets/webpack/{plugin-build.legacy.module.cjs → plugin-build.legacy.module.ts} +20 -7
- package/cli/project-templates/plugin/assets/webpack/{plugin-build.legacy.umd.cjs → plugin-build.legacy.umd.ts} +20 -7
- package/cli/project-templates/plugin/assets/webpack/{plugin-build.modern.module.cjs → plugin-build.modern.module.ts} +9 -4
- package/cli/project-templates/plugin/assets/webpack/{plugin-build.modern.umd.cjs → plugin-build.modern.umd.ts} +9 -4
- package/cli/project-templates/plugin/assets/webpack/{sandbox-build.config.cjs → sandbox-build.config.ts} +13 -3
- package/cli/project-templates/plugin/bundler-vite/release.html.eta +1 -0
- package/cli/project-templates/plugin/bundler-webpack/public/release.html.eta +1 -0
- package/cli/project-templates/plugin/shared-base/public/demo/product-1.svg +10 -0
- package/cli/project-templates/plugin/shared-base/public/demo/product-2.svg +10 -0
- package/cli/project-templates/plugin/shared-base/scripts/build-runner.ts +22 -0
- package/cli/project-templates/plugin/shared-base/scripts/build-types.ts +17 -0
- package/cli/project-templates/plugin/shared-base/scripts/clean.ts +16 -0
- package/cli/project-templates/plugin/shared-base/scripts/dev-runner.ts +52 -0
- package/cli/project-templates/plugin/shared-base/scripts/npmRun.ts +61 -0
- package/cli/project-templates/plugin/shared-base/scripts/release-runner.ts +18 -0
- package/cli/project-templates/plugin/shared-base/scripts/scriptRuntime.ts +10 -0
- package/cli/project-templates/plugin/shared-base/src/dev/hostApp.tsx.eta +1 -0
- package/cli/project-templates/plugin/shared-base/src/dev-release.tsx.eta +1 -0
- package/cli/project-templates/plugin/shared-base/src/dev.tsx.eta +1 -1
- package/cli/project-templates/shared/partials/plugin-dev-host-app-advanced.eta +93 -0
- package/cli/project-templates/shared/partials/plugin-dev-host-app-minimal.eta +54 -0
- package/cli/project-templates/shared/partials/plugin-dev-tsx-advanced.eta +3 -2
- package/cli/project-templates/shared/partials/plugin-dev-tsx-debug.eta +18 -0
- package/cli/project-templates/shared/partials/plugin-dev-tsx-release.eta +33 -0
- package/cli/project-templates/shared/partials/plugin-dev-tsx-runtime-helpers.eta +8 -8
- package/cli/project-templates/shared/partials/plugin-index-ts.eta +0 -1
- package/cli/project-templates/shared/partials/plugin-vite-dev-host.eta +9 -5
- package/cli/project-templates/shared/partials/plugin-vite-plugin-build.eta +7 -5
- package/cli/project-templates/shared/partials/plugin-vite-release-html.eta +12 -0
- package/cli/project-templates/shared/partials/plugin-vite-sandbox-build.eta +7 -5
- package/cli/project-templates/shared/partials/plugin-webpack-dev-host-legacy.eta +12 -5
- package/cli/project-templates/shared/partials/plugin-webpack-dev-host-modern.eta +13 -6
- package/cli/project-templates/shared/partials/plugin-webpack-release-html.eta +12 -0
- package/cli/project-templates/shared/partials/plugin-webpack-sandbox-build.eta +13 -3
- package/cli/project-templates/shared/partials/plugin-wp-legacy-module.eta +28 -10
- package/cli/project-templates/shared/partials/plugin-wp-legacy-umd.eta +28 -10
- package/cli/project-templates/shared/partials/plugin-wp-modern-module.eta +9 -4
- package/cli/project-templates/shared/partials/plugin-wp-modern-umd.eta +9 -4
- package/cli/project-templates/shared/partials/stand-dev-host-vite-memory.eta +3 -3
- package/cli/project-templates/shared/partials/stand-dev-host-vite-subpath.eta +8 -4
- package/cli/project-templates/shared/partials/stand-dev-host-vite-umd.eta +5 -5
- package/cli/project-templates/shared/partials/stand-dev-host-vite.eta +3 -3
- package/cli/project-templates/shared/partials/stand-dev-host-webpack-subpath.eta +8 -4
- package/cli/project-templates/shared/partials/stand-dev-host-webpack-umd.eta +9 -3
- package/cli/project-templates/shared/partials/stand-dev-host-webpack.eta +8 -4
- package/cli/project-templates/shared/partials/stand-dev-storage-middleware.eta +370 -0
- package/cli/project-templates/shared/stand-vite-base/config/lib/createViteStandConfig.ts +80 -0
- package/cli/project-templates/shared/stand-vite-base/scripts/devStorageMiddleware.ts.eta +1 -0
- package/cli/project-templates/shared/stand-webpack-base/config/lib/{createWebpackStandConfig.cjs → createWebpackStandConfig.ts} +31 -19
- package/cli/project-templates/{stand/advanced/umd/vite/config/lib/umdServeMiddleware.mjs → shared/stand-webpack-base/config/lib/umdServeMiddleware.ts} +19 -11
- package/cli/project-templates/shared/stand-webpack-base/scripts/devStorageMiddleware.ts.eta +1 -0
- package/cli/project-templates/stand/advanced/memory-usage/vite/config/lib/{createMemoryUsageStandConfig.mjs → createMemoryUsageStandConfig.ts} +25 -20
- package/cli/project-templates/stand/advanced/umd/vite/config/lib/umdServeMiddleware.ts +68 -0
- package/cli/project-templates/stand/react-adapter/webpack/README.md.eta +1 -0
- package/cli/project-templates/stand/react-adapter/webpack/config/dev-host.ts.eta +1 -0
- package/cli/project-templates/stand/react-adapter/webpack/package.json.eta +1 -0
- package/cli/project-templates/stand/react-adapter/webpack/public/index.html.eta +1 -0
- package/cli/project-templates/stand/react-adapter/webpack/src/dev/editorConfig.ts.eta +1 -0
- package/cli/project-templates/stand/react-adapter/webpack/src/dev/email.html.eta +1 -0
- package/cli/project-templates/stand/react-adapter/webpack/src/dev/getAuthToken.ts.eta +1 -0
- package/cli/project-templates/stand/react-adapter/webpack/src/dev/oauthCredentials.ts +9 -0
- package/cli/project-templates/stand/react-adapter/webpack/src/dev/storageProvider.ts.eta +1 -0
- package/cli/project-templates/stand/react-adapter/webpack/src/index.tsx.eta +1 -0
- package/cli/scripts/cli-matrix-smoke.ts +19 -10
- package/cli/scripts/verify-global-cli.ts +1 -1
- package/cli/scripts/vite-plugin-version-matrix.ts +299 -0
- package/cli/tsconfig.json +2 -2
- package/emailmaker-core.aa9efbce.js +1 -0
- package/emailmaker-esm.js +788 -153
- package/emailmaker.d.ts +32 -0
- package/emailmaker.js +4 -4
- package/iframe/js/amp.BGJMqoms.js +1 -1
- package/iframe/js/chunk.oX6nCJbK.js +1 -1
- package/iframe/js/iframe-eblock.js +1 -1
- package/iframe/js/iframe.js +1 -1
- package/iframe/js/rules.BSaCN7eK.js +1 -1
- package/iframe/js/sanitize-html.Dy7Uwo8P.js +1 -1
- package/images/integrations/activecampaign.svg +4 -0
- package/images/integrations/bento.svg +9 -0
- package/images/integrations/brevo.svg +7 -0
- package/images/integrations/campaign_monitor.svg +10 -0
- package/images/integrations/constant_contact.svg +24 -0
- package/images/integrations/dotdigital.svg +144 -0
- package/images/integrations/getresponse.svg +23 -0
- package/images/integrations/hubspot.svg +3 -0
- package/images/integrations/klaviyo.svg +10 -0
- package/images/integrations/mailchimp.svg +9 -0
- package/images/integrations/salesforce.svg +20 -0
- package/js/browser-image-compression.js +9 -0
- package/package.json +2 -5
- package/runtime/@ant-design/cssinjs/index.js +1 -1
- package/runtime/@ant-design/icons/index.js +1 -1
- package/runtime/@ant-design/pro-layout/index.js +1 -1
- package/runtime/README.md +13 -13
- package/runtime/antd/index.js +1 -1
- package/runtime/app-core/index.js +1 -2
- package/runtime/classnames/index.js +1 -1
- package/runtime/core/index.js +6 -6
- package/runtime/dayjs/index.js +1 -1
- package/runtime/di/index.js +1 -2
- package/runtime/disposable/index.js +1 -2
- package/runtime/errors-runtime/index.js +1 -2
- package/runtime/guid/index.js +1 -2
- package/runtime/index.js +2 -4
- package/runtime/package.json +2 -3
- package/runtime/prop-types/index.js +1 -1
- package/runtime/react/index.js +1 -1
- package/runtime/react/jsx-dev-runtime/index.js +1 -1
- package/runtime/react/jsx-runtime/index.js +1 -1
- package/runtime/react-dom/client/index.js +1 -1
- package/runtime/react-dom/index.js +1 -1
- package/runtime/react-router-dom/index.js +1 -1
- package/runtime/uuid/index.js +1 -1
- package/static/amd/{8fc2a596.js → 19aeb269.js} +88 -88
- package/static/core/192ec827.js +1 -0
- package/static/core/22c1de2e2.js +1 -0
- package/static/core/24faedf0.js +1 -0
- package/static/core/29231645.js +1 -0
- package/static/core/2a3177fc2.js +1 -0
- package/static/core/346aabd2.js +3 -0
- package/static/core/3b800ed6.js +1 -0
- package/static/core/3e840e90.js +1 -0
- package/static/core/40cc9fd7.js +1 -0
- package/static/core/421bdec22.js +1 -0
- package/static/core/4aaa358b2.js +903 -0
- package/static/core/50ff48bc.js +4 -0
- package/static/core/5282795d2.js +6 -0
- package/static/core/563a283d.js +1 -0
- package/static/core/5d47e095.js +47 -0
- package/static/core/5f574386.js +1 -0
- package/static/core/67a41193.js +1 -0
- package/static/core/698dace4.js +7 -0
- package/static/core/6b648e2d.js +1 -0
- package/static/core/7629adfd.js +1 -0
- package/static/core/7717f2932.js +3 -0
- package/static/core/776cb34a.js +1 -0
- package/static/core/78a1e31e.js +1 -0
- package/static/core/7d56d643.js +1 -0
- package/static/core/841752212.js +40 -0
- package/static/core/8477e97e.js +1 -0
- package/static/core/8756d562.js +1 -0
- package/static/core/91d328d8.js +1 -0
- package/static/core/9270dbb6.js +6 -0
- package/static/core/96371334.js +566 -0
- package/static/core/9b9ddaef2.js +168 -0
- package/static/core/af1da4b4.js +1 -0
- package/static/core/b5096b152.js +471 -0
- package/static/core/bde6775a.js +1 -0
- package/static/core/bf1b888c.js +4 -0
- package/static/core/cec8d739.js +11 -0
- package/static/core/cf45bf332.js +598 -0
- package/static/core/cfac3d32.js +1 -0
- package/static/core/d21c95cf2.js +1 -0
- package/static/core/dbd9ca52.js +1 -0
- package/static/core/dc590181.js +1 -0
- package/static/core/e0039d55.js +1 -0
- package/static/core/e4071c1a.js +4 -0
- package/static/core/ef87b75c.js +41 -0
- package/static/core/f47701f32.js +20 -0
- package/static/core/f83d7ac42.js +3 -0
- package/static/core/fcc67e6b.js +1 -0
- package/static/core/fd40d85c.js +1 -0
- package/static/core/fe638847.js +1 -0
- package/static/esm/{e8401d17.js → 203c9644.js} +3 -3
- package/static/esm/4b679053.js +27 -0
- package/static/esm/{b273a6c2.js → f31a26c6.js} +1 -1
- package/static/runtime/disposable-CD74igiJ.js +1 -0
- package/static/runtime/guid-C0wuVR8v.js +1 -0
- package/vite/index.d.ts +17 -6
- package/vite/index.js +315 -270
- package/vite/pluginDev/index.d.ts +10 -19
- package/vite/pluginDev/index.js +251 -204
- package/webpack/index.d.ts +24 -5
- package/webpack/index.js +168 -144
- package/webpack/pluginDev/index.d.ts +21 -22
- package/webpack/pluginDev/index.js +242 -177
- package/cli/dist/lib/template-engine/buildStandIndexHtml.test.d.ts +0 -2
- package/cli/dist/lib/template-engine/buildStandIndexHtml.test.js +0 -89
- package/cli/dist/lib/template-engine/emitEtaTree.test.d.ts +0 -2
- package/cli/dist/lib/template-engine/emitEtaTree.test.js +0 -34
- package/cli/dist/lib/template-engine/pluginEtaParity.test.d.ts +0 -2
- package/cli/dist/lib/template-engine/pluginEtaParity.test.js +0 -105
- package/cli/dist/lib/template-engine/resolveVariantDir.test.d.ts +0 -2
- package/cli/dist/lib/template-engine/resolveVariantDir.test.js +0 -52
- package/cli/dist/lib/template-engine/standAdvancedViteDevHostEta.test.d.ts +0 -2
- package/cli/dist/lib/template-engine/standAdvancedViteDevHostEta.test.js +0 -67
- package/cli/dist/lib/template-engine/standWebpackDevHostEta.test.d.ts +0 -2
- package/cli/dist/lib/template-engine/standWebpackDevHostEta.test.js +0 -83
- package/cli/dist/lib/template-engine/storageProviderEta.test.d.ts +0 -2
- package/cli/dist/lib/template-engine/storageProviderEta.test.js +0 -26
- package/cli/project-templates/plugin/shared-base/scripts/build-types.cjs +0 -8
- package/cli/project-templates/plugin/shared-base/scripts/clean.cjs +0 -6
- package/cli/project-templates/plugin/shared-base/scripts/dev-runner.cjs +0 -48
- package/cli/project-templates/plugin/shared-base/scripts/release-runner.cjs +0 -63
- package/cli/project-templates/shared/stand-vite-base/config/lib/createViteStandConfig.mjs +0 -80
- package/cli/project-templates/shared/stand-vite-base/scripts/devStorageMiddleware.cjs +0 -235
- package/cli/project-templates/shared/stand-webpack-base/config/lib/umdServeMiddleware.cjs +0 -38
- package/cli/project-templates/shared/stand-webpack-base/scripts/devStorageMiddleware.cjs +0 -235
- package/emailmaker-core.80d62b88.js +0 -569
- package/runtime/_core/app-core/index.js +0 -1
- package/runtime/_core/chunks/app-core-DphKKh8f.js +0 -1
- package/runtime/_core/chunks/chunk-oqAt0Dze.js +0 -1
- package/runtime/_core/chunks/di-BHUzE57z.js +0 -1
- package/runtime/_core/chunks/disposable-PhM3rJkj.js +0 -1
- package/runtime/_core/chunks/errors-runtime-VjCOXaQX.js +0 -1
- package/runtime/_core/chunks/guid-D2-FTZQG.js +0 -1
- package/runtime/_core/di/index.js +0 -1
- package/runtime/_core/disposable/index.js +0 -1
- package/runtime/_core/errors-runtime/index.js +0 -1
- package/runtime/_core/guid/index.js +0 -1
- package/runtime/_core/index.js +0 -1
- package/shared/hostBootstrap.js +0 -47
- package/shared/pluginDevOptions.js +0 -31
- package/shared/runtimeManifest.js +0 -72
- package/shared/stringCase.js +0 -16
- package/static/core/2360f32a.js +0 -3
- package/static/core/2687db56.js +0 -3
- package/static/core/2b250af6.js +0 -1261
- package/static/core/3469930c.js +0 -302
- package/static/core/34ce9042.js +0 -201
- package/static/core/4091ba5b.js +0 -25
- package/static/core/41ce3a6a.js +0 -173
- package/static/core/4ac4908c.js +0 -2213
- package/static/core/519096c1.js +0 -2597
- package/static/core/5fa1772b.js +0 -116550
- package/static/core/61312909.js +0 -3
- package/static/core/62a98c07.js +0 -75301
- package/static/core/6309c0f2.js +0 -3
- package/static/core/68d9f440.js +0 -3
- package/static/core/73b645ab.js +0 -2
- package/static/core/81019351.js +0 -280
- package/static/core/835b37ef.js +0 -591
- package/static/core/91242fb3.js +0 -3
- package/static/core/972b15b0.js +0 -92399
- package/static/core/974ef468.js +0 -493
- package/static/core/a17614422.js +0 -38078
- package/static/core/a2fa7b5b.js +0 -4232
- package/static/core/a513adfd.js +0 -89857
- package/static/core/a7c73a9b.js +0 -3813
- package/static/core/b64c7c90.js +0 -228
- package/static/core/cdc9ba92.js +0 -4711
- package/static/core/d1db685d.js +0 -2193
- package/static/core/d661febc.js +0 -3
- package/static/core/d6d2d2d0.js +0 -23
- package/static/core/df1a1225.js +0 -607
- package/static/core/e5bff179.js +0 -1302
- package/static/core/e5d602f5.js +0 -2
- package/static/core/eb029366.js +0 -1532
- package/static/core/f46c035a.js +0 -2
- package/static/core/f8b9d89a.js +0 -461
- package/static/core/fd897ad7.js +0 -3
- package/static/core/fdd890c7.js +0 -6168
- package/static/esm/29eb18ff.js +0 -164
- package/vite/mime-types.js +0 -179
- package/vite/utils.js +0 -44
- /package/cli/project-templates/plugin/bundler-vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
- /package/cli/project-templates/plugin/bundler-vite/config/{plugin-build.mjs.eta → plugin-build.ts.eta} +0 -0
- /package/cli/project-templates/plugin/bundler-vite/config/{sandbox-build.mjs.eta → sandbox-build.ts.eta} +0 -0
- /package/cli/project-templates/plugin/bundler-webpack/config/{dev-host.cjs.eta → dev-host.ts.eta} +0 -0
- /package/cli/project-templates/plugin/bundler-webpack/config/{plugin-build.cjs.eta → plugin-build.ts.eta} +0 -0
- /package/cli/project-templates/plugin/bundler-webpack/config/{sandbox-build.cjs.eta → sandbox-build.ts.eta} +0 -0
- /package/cli/project-templates/stand/advanced/memory-usage/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
- /package/cli/project-templates/stand/advanced/shadow-dom/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
- /package/cli/project-templates/stand/advanced/shadow-dom/webpack/config/{dev-host.cjs.eta → dev-host.ts.eta} +0 -0
- /package/cli/project-templates/stand/advanced/subpath/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
- /package/cli/project-templates/stand/advanced/subpath/webpack/config/{dev-host.cjs.eta → dev-host.ts.eta} +0 -0
- /package/cli/project-templates/stand/advanced/umd/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
- /package/cli/project-templates/stand/advanced/umd/webpack/config/{dev-host.cjs.eta → dev-host.ts.eta} +0 -0
- /package/cli/project-templates/stand/closed-loop/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
- /package/cli/project-templates/stand/closed-loop/webpack/config/{dev-host.cjs.eta → dev-host.ts.eta} +0 -0
- /package/cli/project-templates/stand/oauth/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
- /package/cli/project-templates/stand/oauth/webpack/config/{dev-host.cjs.eta → dev-host.ts.eta} +0 -0
- /package/cli/project-templates/stand/react-adapter/vite/config/{dev-host.mjs.eta → dev-host.ts.eta} +0 -0
- /package/iframe/{iframe-eblock.80d62b88.html → iframe-eblock.aa9efbce.html} +0 -0
- /package/iframe/{iframe.80d62b88.html → iframe.aa9efbce.html} +0 -0
- /package/{runtime/chunks → static/runtime}/DownloadOutlined-a2ZUz7zB.js +0 -0
- /package/{runtime/chunks → static/runtime}/chunk-D-iEO58U.js +0 -0
- /package/{runtime/chunks → static/runtime}/classnames-DBEldvch.js +0 -0
- /package/{runtime/chunks → static/runtime}/client-5XqXGmAI.js +0 -0
- /package/{runtime/chunks → static/runtime}/dayjs.min-CO3mzOeV.js +0 -0
- /package/{runtime/_core/chunks/defineProperty-BGJFuFMq.js → static/runtime/defineProperty-CGNmw-jw.js} +0 -0
- /package/{runtime/chunks → static/runtime}/dist-Cns8cA2n.js +0 -0
- /package/{runtime/chunks → static/runtime}/dist-Ct0xRt3Y.js +0 -0
- /package/{runtime/chunks → static/runtime}/es-0FFT3fCz.js +0 -0
- /package/{runtime/chunks → static/runtime}/es-BwJ3eGbx.js +0 -0
- /package/{runtime/chunks → static/runtime}/es-D8EsVtRL.js +0 -0
- /package/{runtime/chunks → static/runtime}/es-Da4O25Kw.js +0 -0
- /package/{runtime/chunks → static/runtime}/jsx-dev-runtime-V4_MuHNS.js +0 -0
- /package/{runtime/chunks → static/runtime}/jsx-runtime-DBeCoE0b.js +0 -0
- /package/{runtime/chunks → static/runtime}/objectWithoutProperties-Bk0EDksJ.js +0 -0
- /package/{runtime/chunks → static/runtime}/prop-types-DxD5wgQ0.js +0 -0
- /package/{runtime/chunks → static/runtime}/react-TEeeBWTl.js +0 -0
- /package/{runtime/chunks → static/runtime}/react-dom-BKKa1g6U.js +0 -0
|
@@ -0,0 +1,566 @@
|
|
|
1
|
+
__emailmaker__.define(`static/core/96371334.js`,[`require`,`exports`,`module`,`static/core/91d328d8.js`,`static/core/ef87b75c.js`],function(e,t,n){let r=e(`./91d328d8.js`),i=e(`./ef87b75c.js`);var a=class{constructor(e){this._values=e}hasChanged(e){return this._values[e]}},o=class{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}},s=class{constructor(e,t,n,r){this.id=e,this.name=t,this.defaultValue=n,this.schema=r}applyUpdate(e,t){return l(e,t)}compute(e,t,n){return n}},c=class{constructor(e,t){this.newValue=e,this.didChange=t}};function l(e,t){if(typeof e!=`object`||typeof t!=`object`||!e||!t)return new c(t,e!==t);if(Array.isArray(e)||Array.isArray(t))return new c(t,Array.isArray(e)&&Array.isArray(t)&&i.Wu(e,t));let n=!1;for(let r in t)if(t.hasOwnProperty(r)){let i=l(e[r],t[r]);i.didChange&&(e[r]=i.newValue,n=!0)}return new c(e,n)}var u=class{constructor(e){this.schema=void 0,this.id=e,this.name=`_never_`,this.defaultValue=void 0}applyUpdate(e,t){return l(e,t)}validate(e){return this.defaultValue}},d=class{constructor(e,t,n,r){this.id=e,this.name=t,this.defaultValue=n,this.schema=r}applyUpdate(e,t){return l(e,t)}validate(e){return e===void 0?this.defaultValue:e}compute(e,t,n){return n}};function f(e,t){return e===void 0?t:e===`false`?!1:!!e}var p=class extends d{constructor(e,t,n,r=void 0){r!==void 0&&(r.type=`boolean`,r.default=n),super(e,t,n,r)}validate(e){return f(e,this.defaultValue)}};function m(e,t,n,r){if(e===void 0)return t;let i=parseInt(e,10);return isNaN(i)?t:(i=Math.max(n,i),i=Math.min(r,i),i|0)}var h=class e extends d{constructor(e,t,n,r,i,a=void 0){a!==void 0&&(a.type=`integer`,a.default=n,a.minimum=r,a.maximum=i),super(e,t,n,a),this.minimum=r,this.maximum=i}static clampedInt(e,t,n,r){return m(e,t,n,r)}validate(t){return e.clampedInt(t,this.defaultValue,this.minimum,this.maximum)}},g=class e extends d{constructor(e,t,n,r,i){i!==void 0&&(i.type=`number`,i.default=n),super(e,t,n,i),this.validationFn=r}static clamp(e,t,n){return e<t?t:e>n?n:e}static float(e,t){if(typeof e==`number`)return e;if(e===void 0)return t;let n=parseFloat(e);return isNaN(n)?t:n}validate(t){return this.validationFn(e.float(t,this.defaultValue))}},_=class e extends d{static string(e,t){return typeof e==`string`?e:t}constructor(e,t,n,r=void 0){r!==void 0&&(r.type=`string`,r.default=n),super(e,t,n,r)}validate(t){return e.string(t,this.defaultValue)}};function v(e,t,n){return typeof e!=`string`||n.indexOf(e)===-1?t:e}var y=class extends d{constructor(e,t,n,r,i=void 0){i!==void 0&&(i.type=`string`,i.enum=r,i.default=n),super(e,t,n,i),this._allowedValues=r}validate(e){return v(e,this.defaultValue,this._allowedValues)}},b=class extends s{constructor(e,t,n,r,i,a,o=void 0){o!==void 0&&(o.type=`string`,o.enum=i,o.default=r),super(e,t,n,o),this._allowedValues=i,this._convert=a}validate(e){return typeof e!=`string`||this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}};function x(e){switch(e){case`none`:return 0;case`keep`:return 1;case`brackets`:return 2;case`advanced`:return 3;case`full`:return 4}}var S=class extends s{constructor(){super(2,`accessibilitySupport`,0,{type:`string`,enum:[`auto`,`on`,`off`],enumDescriptions:[i.Td(`accessibilitySupport.auto`,`The editor will use platform APIs to detect when a Screen Reader is attached.`),i.Td(`accessibilitySupport.on`,`The editor will be permanently optimized for usage with a Screen Reader. Word wrapping will be disabled.`),i.Td(`accessibilitySupport.off`,`The editor will never be optimized for usage with a Screen Reader.`)],default:`auto`,description:i.Td(`accessibilitySupport`,`Controls whether the editor should run in a mode where it is optimized for screen readers. Setting to on will disable word wrapping.`)})}validate(e){switch(e){case`auto`:return 0;case`off`:return 1;case`on`:return 2}return this.defaultValue}compute(e,t,n){return n===0?e.accessibilitySupport:n}},C=class extends s{constructor(){let e={insertSpace:!0,ignoreEmptyLines:!0};super(19,`comments`,e,{"editor.comments.insertSpace":{type:`boolean`,default:e.insertSpace,description:i.Td(`comments.insertSpace`,`Controls whether a space character is inserted when commenting.`)},"editor.comments.ignoreEmptyLines":{type:`boolean`,default:e.ignoreEmptyLines,description:i.Td(`comments.ignoreEmptyLines`,`Controls if empty lines should be ignored with toggle, add or remove actions for line comments.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{insertSpace:f(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:f(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}};function w(e){switch(e){case`blink`:return 1;case`smooth`:return 2;case`phase`:return 3;case`expand`:return 4;case`solid`:return 5}}var T;(function(e){e[e.Line=1]=`Line`,e[e.Block=2]=`Block`,e[e.Underline=3]=`Underline`,e[e.LineThin=4]=`LineThin`,e[e.BlockOutline=5]=`BlockOutline`,e[e.UnderlineThin=6]=`UnderlineThin`})(T||={});function E(e){switch(e){case`line`:return T.Line;case`block`:return T.Block;case`underline`:return T.Underline;case`line-thin`:return T.LineThin;case`block-outline`:return T.BlockOutline;case`underline-thin`:return T.UnderlineThin}}var D=class extends u{constructor(){super(129)}compute(e,t,n){let r=[`monaco-editor`];return t.get(34)&&r.push(t.get(34)),e.extraEditorClassName&&r.push(e.extraEditorClassName),t.get(67)===`default`?r.push(`mouse-default`):t.get(67)===`copy`&&r.push(`mouse-copy`),t.get(101)&&r.push(`showUnused`),t.get(127)&&r.push(`showDeprecated`),r.join(` `)}},ee=class extends p{constructor(){super(33,`emptySelectionClipboard`,!0,{description:i.Td(`emptySelectionClipboard`,`Controls whether copying without a selection copies the current line.`)})}compute(e,t,n){return n&&e.emptySelectionClipboard}},te=class extends s{constructor(){let e={cursorMoveOnType:!0,seedSearchStringFromSelection:`always`,autoFindInSelection:`never`,globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(36,`find`,e,{"editor.find.cursorMoveOnType":{type:`boolean`,default:e.cursorMoveOnType,description:i.Td(`find.cursorMoveOnType`,`Controls whether the cursor should jump to find matches while typing.`)},"editor.find.seedSearchStringFromSelection":{type:`string`,enum:[`never`,`always`,`selection`],default:e.seedSearchStringFromSelection,enumDescriptions:[i.Td(`editor.find.seedSearchStringFromSelection.never`,`Never seed search string from the editor selection.`),i.Td(`editor.find.seedSearchStringFromSelection.always`,`Always seed search string from the editor selection, including word at cursor position.`),i.Td(`editor.find.seedSearchStringFromSelection.selection`,`Only seed search string from the editor selection.`)],description:i.Td(`find.seedSearchStringFromSelection`,`Controls whether the search string in the Find Widget is seeded from the editor selection.`)},"editor.find.autoFindInSelection":{type:`string`,enum:[`never`,`always`,`multiline`],default:e.autoFindInSelection,enumDescriptions:[i.Td(`editor.find.autoFindInSelection.never`,`Never turn on Find in Selection automatically (default).`),i.Td(`editor.find.autoFindInSelection.always`,`Always turn on Find in Selection automatically.`),i.Td(`editor.find.autoFindInSelection.multiline`,`Turn on Find in Selection automatically when multiple lines of content are selected.`)],description:i.Td(`find.autoFindInSelection`,`Controls the condition for turning on Find in Selection automatically.`)},"editor.find.globalFindClipboard":{type:`boolean`,default:e.globalFindClipboard,description:i.Td(`find.globalFindClipboard`,`Controls whether the Find Widget should read or modify the shared find clipboard on macOS.`),included:i.bd},"editor.find.addExtraSpaceOnTop":{type:`boolean`,default:e.addExtraSpaceOnTop,description:i.Td(`find.addExtraSpaceOnTop`,`Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.`)},"editor.find.loop":{type:`boolean`,default:e.loop,description:i.Td(`find.loop`,`Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{cursorMoveOnType:f(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection==`boolean`?e.seedSearchStringFromSelection?`always`:`never`:v(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,[`never`,`always`,`selection`]),autoFindInSelection:typeof e.autoFindInSelection==`boolean`?e.autoFindInSelection?`always`:`never`:v(t.autoFindInSelection,this.defaultValue.autoFindInSelection,[`never`,`always`,`multiline`]),globalFindClipboard:f(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:f(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:f(t.loop,this.defaultValue.loop)}}},ne=class e extends s{constructor(){super(46,`fontLigatures`,e.OFF,{anyOf:[{type:`boolean`,description:i.Td(`fontLigatures`,`Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.`)},{type:`string`,description:i.Td(`fontFeatureSettings`,`Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.`)}],description:i.Td(`fontLigaturesGeneral`,`Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property.`),default:!1})}validate(t){return t===void 0?this.defaultValue:typeof t==`string`?t===`false`?e.OFF:t===`true`?e.ON:t:t?e.ON:e.OFF}};ne.OFF=`"liga" off, "calt" off`,ne.ON=`"liga" on, "calt" on`;var re=class extends u{constructor(){super(45)}compute(e,t,n){return e.fontInfo}},ie=class extends d{constructor(){super(47,`fontSize`,Fe.fontSize,{type:`number`,minimum:6,maximum:100,default:Fe.fontSize,description:i.Td(`fontSize`,`Controls the font size in pixels.`)})}validate(e){let t=g.float(e,this.defaultValue);return t===0?Fe.fontSize:g.clamp(t,6,100)}compute(e,t,n){return e.fontInfo.fontSize}},ae=class e extends s{constructor(){super(48,`fontWeight`,Fe.fontWeight,{anyOf:[{type:`number`,minimum:e.MINIMUM_VALUE,maximum:e.MAXIMUM_VALUE,errorMessage:i.Td(`fontWeightErrorMessage`,`Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.`)},{type:`string`,pattern:`^(normal|bold|1000|[1-9][0-9]{0,2})$`},{enum:e.SUGGESTION_VALUES}],default:Fe.fontWeight,description:i.Td(`fontWeight`,`Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.`)})}validate(t){return t===`normal`||t===`bold`?t:String(h.clampedInt(t,Fe.fontWeight,e.MINIMUM_VALUE,e.MAXIMUM_VALUE))}};ae.SUGGESTION_VALUES=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],ae.MINIMUM_VALUE=1,ae.MAXIMUM_VALUE=1e3;var oe=class extends s{constructor(){let e={multiple:`peek`,multipleDefinitions:`peek`,multipleTypeDefinitions:`peek`,multipleDeclarations:`peek`,multipleImplementations:`peek`,multipleReferences:`peek`,alternativeDefinitionCommand:`editor.action.goToReferences`,alternativeTypeDefinitionCommand:`editor.action.goToReferences`,alternativeDeclarationCommand:`editor.action.goToReferences`,alternativeImplementationCommand:``,alternativeReferenceCommand:``},t={type:`string`,enum:[`peek`,`gotoAndPeek`,`goto`],default:e.multiple,enumDescriptions:[i.Td(`editor.gotoLocation.multiple.peek`,`Show peek view of the results (default)`),i.Td(`editor.gotoLocation.multiple.gotoAndPeek`,`Go to the primary result and show a peek view`),i.Td(`editor.gotoLocation.multiple.goto`,`Go to the primary result and enable peek-less navigation to others`)]},n=[``,`editor.action.referenceSearch.trigger`,`editor.action.goToReferences`,`editor.action.peekImplementation`,`editor.action.goToImplementation`,`editor.action.peekTypeDefinition`,`editor.action.goToTypeDefinition`,`editor.action.peekDeclaration`,`editor.action.revealDeclaration`,`editor.action.peekDefinition`,`editor.action.revealDefinitionAside`,`editor.action.revealDefinition`];super(52,`gotoLocation`,e,{"editor.gotoLocation.multiple":{deprecationMessage:i.Td(`editor.gotoLocation.multiple.deprecated`,`This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.`)},"editor.gotoLocation.multipleDefinitions":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleDefinitions`,`Controls the behavior the 'Go to Definition'-command when multiple target locations exist.`)},t),"editor.gotoLocation.multipleTypeDefinitions":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleTypeDefinitions`,`Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.`)},t),"editor.gotoLocation.multipleDeclarations":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleDeclarations`,`Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.`)},t),"editor.gotoLocation.multipleImplementations":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleImplemenattions`,`Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.`)},t),"editor.gotoLocation.multipleReferences":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleReferences`,`Controls the behavior the 'Go to References'-command when multiple target locations exist.`)},t),"editor.gotoLocation.alternativeDefinitionCommand":{type:`string`,default:e.alternativeDefinitionCommand,enum:n,description:i.Td(`alternativeDefinitionCommand`,`Alternative command id that is being executed when the result of 'Go to Definition' is the current location.`)},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:`string`,default:e.alternativeTypeDefinitionCommand,enum:n,description:i.Td(`alternativeTypeDefinitionCommand`,`Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.`)},"editor.gotoLocation.alternativeDeclarationCommand":{type:`string`,default:e.alternativeDeclarationCommand,enum:n,description:i.Td(`alternativeDeclarationCommand`,`Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.`)},"editor.gotoLocation.alternativeImplementationCommand":{type:`string`,default:e.alternativeImplementationCommand,enum:n,description:i.Td(`alternativeImplementationCommand`,`Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.`)},"editor.gotoLocation.alternativeReferenceCommand":{type:`string`,default:e.alternativeReferenceCommand,enum:n,description:i.Td(`alternativeReferenceCommand`,`Alternative command id that is being executed when the result of 'Go to Reference' is the current location.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{multiple:v(t.multiple,this.defaultValue.multiple,[`peek`,`gotoAndPeek`,`goto`]),multipleDefinitions:t.multipleDefinitions??v(t.multipleDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleTypeDefinitions:t.multipleTypeDefinitions??v(t.multipleTypeDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleDeclarations:t.multipleDeclarations??v(t.multipleDeclarations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleImplementations:t.multipleImplementations??v(t.multipleImplementations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleReferences:t.multipleReferences??v(t.multipleReferences,`peek`,[`peek`,`gotoAndPeek`,`goto`]),alternativeDefinitionCommand:_.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:_.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:_.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:_.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:_.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}},se=class extends s{constructor(){let e={enabled:!0,delay:300,sticky:!0,above:!0};super(54,`hover`,e,{"editor.hover.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`hover.enabled`,`Controls whether the hover is shown.`)},"editor.hover.delay":{type:`number`,default:e.delay,minimum:0,maximum:1e4,description:i.Td(`hover.delay`,`Controls the delay in milliseconds after which the hover is shown.`)},"editor.hover.sticky":{type:`boolean`,default:e.sticky,description:i.Td(`hover.sticky`,`Controls whether the hover should remain visible when mouse is moved over it.`)},"editor.hover.above":{type:`boolean`,default:e.above,description:i.Td(`hover.above`,`Prefer showing hovers above the line, if there's space.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),delay:h.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:f(t.sticky,this.defaultValue.sticky),above:f(t.above,this.defaultValue.above)}}},ce=class e extends u{constructor(){super(132)}compute(t,n,r){return e.computeLayout(n,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio})}static computeContainedMinimapLineCount(e){let t=e.height/e.lineHeight,n=e.scrollBeyondLastLine?t-1:0,r=(e.viewLineCount+n)/(e.pixelRatio*e.height);return{typicalViewportLineCount:t,extraLinesBeyondLastLine:n,desiredRatio:r,minimapLineCount:Math.floor(e.viewLineCount/r)}}static _computeMinimapLayout(t,n){let r=t.outerWidth,i=t.outerHeight,a=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(a*i),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:i};let o=n.stableMinimapLayoutInput,s=o&&t.outerHeight===o.outerHeight&&t.lineHeight===o.lineHeight&&t.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&t.pixelRatio===o.pixelRatio&&t.scrollBeyondLastLine===o.scrollBeyondLastLine&&t.minimap.enabled===o.minimap.enabled&&t.minimap.side===o.minimap.side&&t.minimap.size===o.minimap.size&&t.minimap.showSlider===o.minimap.showSlider&&t.minimap.renderCharacters===o.minimap.renderCharacters&&t.minimap.maxColumn===o.minimap.maxColumn&&t.minimap.scale===o.minimap.scale&&t.verticalScrollbarWidth===o.verticalScrollbarWidth&&t.isViewportWrapping===o.isViewportWrapping,c=t.lineHeight,l=t.typicalHalfwidthCharacterWidth,u=t.scrollBeyondLastLine,d=t.minimap.renderCharacters,f=a>=2?Math.round(t.minimap.scale*2):t.minimap.scale,p=t.minimap.maxColumn,m=t.minimap.size,h=t.minimap.side,g=t.verticalScrollbarWidth,_=t.viewLineCount,v=t.remainingWidth,y=t.isViewportWrapping,b=d?2:3,x=Math.floor(a*i),S=x/a,C=!1,w=!1,T=b*f,E=f/a,D=1;if(m===`fill`||m===`fit`){let{typicalViewportLineCount:r,extraLinesBeyondLastLine:o,desiredRatio:l,minimapLineCount:d}=e.computeContainedMinimapLineCount({viewLineCount:_,scrollBeyondLastLine:u,height:i,lineHeight:c,pixelRatio:a});if(_/d>1)C=!0,w=!0,f=1,T=1,E=f/a;else{let e=!1,i=f+1;if(m===`fit`){let t=Math.ceil((_+o)*T);y&&s&&v<=n.stableFitRemainingWidth?(e=!0,i=n.stableFitMaxMinimapScale):e=t>x}if(m===`fill`||e){C=!0;let e=f;T=Math.min(c*a,Math.max(1,Math.floor(1/l))),y&&s&&v<=n.stableFitRemainingWidth&&(i=n.stableFitMaxMinimapScale),f=Math.min(i,Math.max(1,Math.floor(T/b))),f>e&&(D=Math.min(2,f/e)),E=f/a/D,x=Math.ceil(Math.max(r,_+o)*T),y?(n.stableMinimapLayoutInput=t,n.stableFitRemainingWidth=v,n.stableFitMaxMinimapScale=f):(n.stableMinimapLayoutInput=null,n.stableFitRemainingWidth=0)}}}let ee=Math.floor(p*E),te=Math.min(ee,Math.max(0,Math.floor((v-g-2)*E/(l+E)))+8),ne=Math.floor(a*te),re=ne/a;return ne=Math.floor(ne*D),{renderMinimap:d?1:2,minimapLeft:h===`left`?0:r-te-g,minimapWidth:te,minimapHeightIsEditorHeight:C,minimapIsSampling:w,minimapScale:f,minimapLineHeight:T,minimapCanvasInnerWidth:ne,minimapCanvasInnerHeight:x,minimapCanvasOuterWidth:re,minimapCanvasOuterHeight:S}}static computeLayout(t,n){let r=n.outerWidth|0,i=n.outerHeight|0,a=n.lineHeight|0,s=n.lineNumbersDigitCount|0,c=n.typicalHalfwidthCharacterWidth,l=n.maxDigitWidth,u=n.pixelRatio,d=n.viewLineCount,f=t.get(124),p=f===`inherit`?t.get(123):f,m=p===`inherit`?t.get(119):p,g=t.get(122),_=t.get(2),v=n.isDominatedByLongLines,y=t.get(51),b=t.get(61).renderType!==0,x=t.get(62),S=t.get(95),C=t.get(66),w=t.get(93),T=w.verticalScrollbarSize,E=w.verticalHasArrows,D=w.arrowSize,ee=w.horizontalScrollbarSize,te=t.get(59),ne=t.get(38),re=t.get(100)!==`never`,ie;if(typeof te==`string`&&/^\d+(\.\d+)?ch$/.test(te)){let e=parseFloat(te.substr(0,te.length-2));ie=h.clampedInt(e*c,0,0,1e3)}else ie=h.clampedInt(te,0,0,1e3);ne&&re&&(ie+=16);let ae=0;b&&(ae=Math.round(Math.max(s,x)*l));let oe=0;y&&(oe=a);let se=0,ce=se+oe,le=ce+ae,ue=le+ie,de=r-oe-ae-ie,fe=!1,pe=!1,me=-1;_!==2&&(p===`inherit`&&v?(fe=!0,pe=!0):m===`on`||m===`bounded`?pe=!0:m===`wordWrapColumn`&&(me=g));let he=e._computeMinimapLayout({outerWidth:r,outerHeight:i,lineHeight:a,typicalHalfwidthCharacterWidth:c,pixelRatio:u,scrollBeyondLastLine:S,minimap:C,verticalScrollbarWidth:T,viewLineCount:d,remainingWidth:de,isViewportWrapping:pe},n.memory||new o);he.renderMinimap!==0&&he.minimapLeft===0&&(se+=he.minimapWidth,ce+=he.minimapWidth,le+=he.minimapWidth,ue+=he.minimapWidth);let ge=de-he.minimapWidth,_e=Math.max(1,Math.floor((ge-T-2)/c)),ve=E?D:0;return pe&&(me=Math.max(1,_e),m===`bounded`&&(me=Math.min(me,g))),{width:r,height:i,glyphMarginLeft:se,glyphMarginWidth:oe,lineNumbersLeft:ce,lineNumbersWidth:ae,decorationsLeft:le,decorationsWidth:ie,contentLeft:ue,contentWidth:ge,minimap:he,viewportColumn:_e,isWordWrapMinified:fe,isViewportWrapping:pe,wrappingColumn:me,verticalScrollbarWidth:T,horizontalScrollbarHeight:ee,overviewRuler:{top:ve,width:T,height:i-2*ve,right:0}}}},le=class extends s{constructor(){let e={enabled:!0};super(58,`lightbulb`,e,{"editor.lightbulb.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`codeActions`,`Enables the code action lightbulb in the editor.`)}})}validate(e){return!e||typeof e!=`object`?this.defaultValue:{enabled:f(e.enabled,this.defaultValue.enabled)}}},ue=class extends s{constructor(){let e={enabled:`on`,fontSize:0,fontFamily:``,padding:!1};super(128,`inlayHints`,e,{"editor.inlayHints.enabled":{type:`string`,default:e.enabled,description:i.Td(`inlayHints.enable`,`Enables the inlay hints in the editor.`),enum:[`on`,`onUnlessPressed`,`offUnlessPressed`,`off`],markdownEnumDescriptions:[i.Td(`editor.inlayHints.on`,`Inlay hints are enabled`),i.Td(`editor.inlayHints.onUnlessPressed`,"Inlay hints are showing by default and hide when holding `Ctrl+Alt`"),i.Td(`editor.inlayHints.offUnlessPressed`,"Inlay hints are hidden by default and show when holding `Ctrl+Alt`"),i.Td(`editor.inlayHints.off`,`Inlay hints are disabled`)]},"editor.inlayHints.fontSize":{type:`number`,default:e.fontSize,markdownDescription:i.Td(`inlayHints.fontSize`,`Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.`,"`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:`string`,default:e.fontFamily,markdownDescription:i.Td(`inlayHints.fontFamily`,`Controls font family of inlay hints in the editor. When set to empty, the {0} is used.`,"`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:`boolean`,default:e.padding,description:i.Td(`inlayHints.padding`,`Enables the padding around the inlay hints in the editor.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return typeof t.enabled==`boolean`&&(t.enabled=t.enabled?`on`:`off`),{enabled:v(t.enabled,this.defaultValue.enabled,[`on`,`off`,`offUnlessPressed`,`onUnlessPressed`]),fontSize:h.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:_.string(t.fontFamily,this.defaultValue.fontFamily),padding:f(t.padding,this.defaultValue.padding)}}},de=class extends g{constructor(){super(60,`lineHeight`,Fe.lineHeight,e=>g.clamp(e,0,150),{markdownDescription:i.Td(`lineHeight`,`Controls the line height.
|
|
2
|
+
- Use 0 to automatically compute the line height from the font size.
|
|
3
|
+
- Values between 0 and 8 will be used as a multiplier with the font size.
|
|
4
|
+
- Values greater than or equal to 8 will be used as effective values.`)})}compute(e,t,n){return e.fontInfo.lineHeight}},fe=class extends s{constructor(){let e={enabled:!0,size:`proportional`,side:`right`,showSlider:`mouseover`,autohide:!1,renderCharacters:!0,maxColumn:120,scale:1};super(66,`minimap`,e,{"editor.minimap.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`minimap.enabled`,`Controls whether the minimap is shown.`)},"editor.minimap.autohide":{type:`boolean`,default:e.autohide,description:i.Td(`minimap.autohide`,`Controls whether the minimap is hidden automatically.`)},"editor.minimap.size":{type:`string`,enum:[`proportional`,`fill`,`fit`],enumDescriptions:[i.Td(`minimap.size.proportional`,`The minimap has the same size as the editor contents (and might scroll).`),i.Td(`minimap.size.fill`,`The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling).`),i.Td(`minimap.size.fit`,`The minimap will shrink as necessary to never be larger than the editor (no scrolling).`)],default:e.size,description:i.Td(`minimap.size`,`Controls the size of the minimap.`)},"editor.minimap.side":{type:`string`,enum:[`left`,`right`],default:e.side,description:i.Td(`minimap.side`,`Controls the side where to render the minimap.`)},"editor.minimap.showSlider":{type:`string`,enum:[`always`,`mouseover`],default:e.showSlider,description:i.Td(`minimap.showSlider`,`Controls when the minimap slider is shown.`)},"editor.minimap.scale":{type:`number`,default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:i.Td(`minimap.scale`,`Scale of content drawn in the minimap: 1, 2 or 3.`)},"editor.minimap.renderCharacters":{type:`boolean`,default:e.renderCharacters,description:i.Td(`minimap.renderCharacters`,`Render the actual characters on a line as opposed to color blocks.`)},"editor.minimap.maxColumn":{type:`number`,default:e.maxColumn,description:i.Td(`minimap.maxColumn`,`Limit the width of the minimap to render at most a certain number of columns.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),autohide:f(t.autohide,this.defaultValue.autohide),size:v(t.size,this.defaultValue.size,[`proportional`,`fill`,`fit`]),side:v(t.side,this.defaultValue.side,[`right`,`left`]),showSlider:v(t.showSlider,this.defaultValue.showSlider,[`always`,`mouseover`]),renderCharacters:f(t.renderCharacters,this.defaultValue.renderCharacters),scale:h.clampedInt(t.scale,1,1,3),maxColumn:h.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4)}}};function pe(e){return e===`ctrlCmd`?i.bd?`metaKey`:`ctrlKey`:`altKey`}var me=class extends s{constructor(){super(76,`padding`,{top:0,bottom:0},{"editor.padding.top":{type:`number`,default:0,minimum:0,maximum:1e3,description:i.Td(`padding.top`,`Controls the amount of space between the top edge of the editor and the first line.`)},"editor.padding.bottom":{type:`number`,default:0,minimum:0,maximum:1e3,description:i.Td(`padding.bottom`,`Controls the amount of space between the bottom edge of the editor and the last line.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{top:h.clampedInt(t.top,0,0,1e3),bottom:h.clampedInt(t.bottom,0,0,1e3)}}},he=class extends s{constructor(){let e={enabled:!0,cycle:!1};super(77,`parameterHints`,e,{"editor.parameterHints.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`parameterHints.enabled`,`Enables a pop-up that shows parameter documentation and type information as you type.`)},"editor.parameterHints.cycle":{type:`boolean`,default:e.cycle,description:i.Td(`parameterHints.cycle`,`Controls whether the parameter hints menu cycles or closes when reaching the end of the list.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),cycle:f(t.cycle,this.defaultValue.cycle)}}},ge=class extends u{constructor(){super(130)}compute(e,t,n){return e.pixelRatio}},_e=class extends s{constructor(){let e={other:`on`,comments:`off`,strings:`off`},t=[{type:`boolean`},{type:`string`,enum:[`on`,`inline`,`off`],enumDescriptions:[i.Td(`on`,`Quick suggestions show inside the suggest widget`),i.Td(`inline`,`Quick suggestions show as ghost text`),i.Td(`off`,`Quick suggestions are disabled`)]}];super(80,`quickSuggestions`,e,{type:`object`,additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:i.Td(`quickSuggestions.strings`,`Enable quick suggestions inside strings.`)},comments:{anyOf:t,default:e.comments,description:i.Td(`quickSuggestions.comments`,`Enable quick suggestions inside comments.`)},other:{anyOf:t,default:e.other,description:i.Td(`quickSuggestions.other`,`Enable quick suggestions outside of strings and comments.`)}},default:e,markdownDescription:i.Td(`quickSuggestions`,`Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.`,`#editor.suggestOnTriggerCharacters#`)}),this.defaultValue=e}validate(e){if(typeof e==`boolean`){let t=e?`on`:`off`;return{comments:t,strings:t,other:t}}if(!e||typeof e!=`object`)return this.defaultValue;let{other:t,comments:n,strings:r}=e,i=[`on`,`inline`,`off`],a,o,s;return a=typeof t==`boolean`?t?`on`:`off`:v(t,this.defaultValue.other,i),o=typeof n==`boolean`?n?`on`:`off`:v(n,this.defaultValue.comments,i),s=typeof r==`boolean`?r?`on`:`off`:v(r,this.defaultValue.strings,i),{other:a,comments:o,strings:s}}},ve=class extends s{constructor(){super(61,`lineNumbers`,{renderType:1,renderFn:null},{type:`string`,enum:[`off`,`on`,`relative`,`interval`],enumDescriptions:[i.Td(`lineNumbers.off`,`Line numbers are not rendered.`),i.Td(`lineNumbers.on`,`Line numbers are rendered as absolute number.`),i.Td(`lineNumbers.relative`,`Line numbers are rendered as distance in lines to cursor position.`),i.Td(`lineNumbers.interval`,`Line numbers are rendered every 10 lines.`)],default:`on`,description:i.Td(`lineNumbers`,`Controls the display of line numbers.`)})}validate(e){let t=this.defaultValue.renderType,n=this.defaultValue.renderFn;return e!==void 0&&(typeof e==`function`?(t=4,n=e):t=e===`interval`?3:e===`relative`?2:e===`on`?1:0),{renderType:t,renderFn:n}}};function ye(e){let t=e.get(88);return t===`editable`?e.get(82):t!==`on`}var be=class extends s{constructor(){let e=[],t={type:`number`,description:i.Td(`rulers.size`,`Number of monospace characters at which this editor ruler will render.`)};super(92,`rulers`,e,{type:`array`,items:{anyOf:[t,{type:[`object`],properties:{column:t,color:{type:`string`,description:i.Td(`rulers.color`,`Color of this editor ruler.`),format:`color-hex`}}}]},default:e,description:i.Td(`rulers`,`Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.`)})}validate(e){if(Array.isArray(e)){let t=[];for(let n of e)if(typeof n==`number`)t.push({column:h.clampedInt(n,0,0,1e4),color:null});else if(n&&typeof n==`object`){let e=n;t.push({column:h.clampedInt(e.column,0,0,1e4),color:e.color})}return t.sort((e,t)=>e.column-t.column),t}return this.defaultValue}};function xe(e,t){if(typeof e!=`string`)return t;switch(e){case`hidden`:return 2;case`visible`:return 3;default:return 1}}var Se=class extends s{constructor(){let e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1};super(93,`scrollbar`,e,{"editor.scrollbar.vertical":{type:`string`,enum:[`auto`,`visible`,`hidden`],enumDescriptions:[i.Td(`scrollbar.vertical.auto`,`The vertical scrollbar will be visible only when necessary.`),i.Td(`scrollbar.vertical.visible`,`The vertical scrollbar will always be visible.`),i.Td(`scrollbar.vertical.fit`,`The vertical scrollbar will always be hidden.`)],default:`auto`,description:i.Td(`scrollbar.vertical`,`Controls the visibility of the vertical scrollbar.`)},"editor.scrollbar.horizontal":{type:`string`,enum:[`auto`,`visible`,`hidden`],enumDescriptions:[i.Td(`scrollbar.horizontal.auto`,`The horizontal scrollbar will be visible only when necessary.`),i.Td(`scrollbar.horizontal.visible`,`The horizontal scrollbar will always be visible.`),i.Td(`scrollbar.horizontal.fit`,`The horizontal scrollbar will always be hidden.`)],default:`auto`,description:i.Td(`scrollbar.horizontal`,`Controls the visibility of the horizontal scrollbar.`)},"editor.scrollbar.verticalScrollbarSize":{type:`number`,default:e.verticalScrollbarSize,description:i.Td(`scrollbar.verticalScrollbarSize`,`The width of the vertical scrollbar.`)},"editor.scrollbar.horizontalScrollbarSize":{type:`number`,default:e.horizontalScrollbarSize,description:i.Td(`scrollbar.horizontalScrollbarSize`,`The height of the horizontal scrollbar.`)},"editor.scrollbar.scrollByPage":{type:`boolean`,default:e.scrollByPage,description:i.Td(`scrollbar.scrollByPage`,`Controls whether clicks scroll by page or jump to click position.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e,n=h.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),r=h.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:h.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:xe(t.vertical,this.defaultValue.vertical),horizontal:xe(t.horizontal,this.defaultValue.horizontal),useShadows:f(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:f(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:f(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:f(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:f(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:n,horizontalSliderSize:h.clampedInt(t.horizontalSliderSize,n,0,1e3),verticalScrollbarSize:r,verticalSliderSize:h.clampedInt(t.verticalSliderSize,r,0,1e3),scrollByPage:f(t.scrollByPage,this.defaultValue.scrollByPage)}}},Ce=`inUntrustedWorkspace`,we={allowedCharacters:`editor.unicodeHighlight.allowedCharacters`,invisibleCharacters:`editor.unicodeHighlight.invisibleCharacters`,nonBasicASCII:`editor.unicodeHighlight.nonBasicASCII`,ambiguousCharacters:`editor.unicodeHighlight.ambiguousCharacters`,includeComments:`editor.unicodeHighlight.includeComments`,includeStrings:`editor.unicodeHighlight.includeStrings`,allowedLocales:`editor.unicodeHighlight.allowedLocales`},Te=class extends s{constructor(){let e={nonBasicASCII:Ce,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Ce,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(114,`unicodeHighlight`,e,{[we.nonBasicASCII]:{restricted:!0,type:[`boolean`,`string`],enum:[!0,!1,Ce],default:e.nonBasicASCII,description:i.Td(`unicodeHighlight.nonBasicASCII`,`Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.`)},[we.invisibleCharacters]:{restricted:!0,type:`boolean`,default:e.invisibleCharacters,description:i.Td(`unicodeHighlight.invisibleCharacters`,`Controls whether characters that just reserve space or have no width at all are highlighted.`)},[we.ambiguousCharacters]:{restricted:!0,type:`boolean`,default:e.ambiguousCharacters,description:i.Td(`unicodeHighlight.ambiguousCharacters`,`Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.`)},[we.includeComments]:{restricted:!0,type:[`boolean`,`string`],enum:[!0,!1,Ce],default:e.includeComments,description:i.Td(`unicodeHighlight.includeComments`,`Controls whether characters in comments should also be subject to unicode highlighting.`)},[we.includeStrings]:{restricted:!0,type:[`boolean`,`string`],enum:[!0,!1,Ce],default:e.includeStrings,description:i.Td(`unicodeHighlight.includeStrings`,`Controls whether characters in strings should also be subject to unicode highlighting.`)},[we.allowedCharacters]:{restricted:!0,type:`object`,default:e.allowedCharacters,description:i.Td(`unicodeHighlight.allowedCharacters`,`Defines allowed characters that are not being highlighted.`),additionalProperties:{type:`boolean`}},[we.allowedLocales]:{restricted:!0,type:`object`,additionalProperties:{type:`boolean`},default:e.allowedLocales,description:i.Td(`unicodeHighlight.allowedLocales`,`Unicode characters that are common in allowed locales are not being highlighted.`)}})}applyUpdate(e,t){let n=!1;t.allowedCharacters&&e&&(i.yu(e.allowedCharacters,t.allowedCharacters)||(e=Object.assign(Object.assign({},e),{allowedCharacters:t.allowedCharacters}),n=!0)),t.allowedLocales&&e&&(i.yu(e.allowedLocales,t.allowedLocales)||(e=Object.assign(Object.assign({},e),{allowedLocales:t.allowedLocales}),n=!0));let r=super.applyUpdate(e,t);return n?new c(r.newValue,!0):r}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{nonBasicASCII:ke(t.nonBasicASCII,Ce,[!0,!1,Ce]),invisibleCharacters:f(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:f(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:ke(t.includeComments,Ce,[!0,!1,Ce]),includeStrings:ke(t.includeStrings,Ce,[!0,!1,Ce]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if(typeof e!=`object`||!e)return t;let n={};for(let[t,r]of Object.entries(e))r===!0&&(n[t]=!0);return n}},Ee=class extends s{constructor(){let e={enabled:!0,mode:`subwordSmart`};super(56,`inlineSuggest`,e,{"editor.inlineSuggest.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`inlineSuggest.enabled`,`Controls whether to automatically show inline suggestions in the editor.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),mode:v(t.mode,this.defaultValue.mode,[`prefix`,`subword`,`subwordSmart`])}}},De=class extends s{constructor(){let e={enabled:i.hu.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:i.hu.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(12,`bracketPairColorization`,e,{"editor.bracketPairColorization.enabled":{type:`boolean`,default:e.enabled,markdownDescription:i.Td(`bracketPairColorization.enabled`,`Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.`,"`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:`boolean`,default:e.independentColorPoolPerBracketType,description:i.Td(`bracketPairColorization.independentColorPoolPerBracketType`,`Controls whether each bracket type has its own independent color pool.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:f(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}},Oe=class extends s{constructor(){let e={bracketPairs:!1,bracketPairsHorizontal:`active`,highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(13,`guides`,e,{"editor.guides.bracketPairs":{type:[`boolean`,`string`],enum:[!0,`active`,!1],enumDescriptions:[i.Td(`editor.guides.bracketPairs.true`,`Enables bracket pair guides.`),i.Td(`editor.guides.bracketPairs.active`,`Enables bracket pair guides only for the active bracket pair.`),i.Td(`editor.guides.bracketPairs.false`,`Disables bracket pair guides.`)],default:e.bracketPairs,description:i.Td(`editor.guides.bracketPairs`,`Controls whether bracket pair guides are enabled or not.`)},"editor.guides.bracketPairsHorizontal":{type:[`boolean`,`string`],enum:[!0,`active`,!1],enumDescriptions:[i.Td(`editor.guides.bracketPairsHorizontal.true`,`Enables horizontal guides as addition to vertical bracket pair guides.`),i.Td(`editor.guides.bracketPairsHorizontal.active`,`Enables horizontal guides only for the active bracket pair.`),i.Td(`editor.guides.bracketPairsHorizontal.false`,`Disables horizontal bracket pair guides.`)],default:e.bracketPairsHorizontal,description:i.Td(`editor.guides.bracketPairsHorizontal`,`Controls whether horizontal bracket pair guides are enabled or not.`)},"editor.guides.highlightActiveBracketPair":{type:`boolean`,default:e.highlightActiveBracketPair,description:i.Td(`editor.guides.highlightActiveBracketPair`,`Controls whether the editor should highlight the active bracket pair.`)},"editor.guides.indentation":{type:`boolean`,default:e.indentation,description:i.Td(`editor.guides.indentation`,`Controls whether the editor should render indent guides.`)},"editor.guides.highlightActiveIndentation":{type:[`boolean`,`string`],enum:[!0,`always`,!1],enumDescriptions:[i.Td(`editor.guides.highlightActiveIndentation.true`,`Highlights the active indent guide.`),i.Td(`editor.guides.highlightActiveIndentation.always`,`Highlights the active indent guide even if bracket guides are highlighted.`),i.Td(`editor.guides.highlightActiveIndentation.false`,`Do not highlight the active indent guide.`)],default:e.highlightActiveIndentation,description:i.Td(`editor.guides.highlightActiveIndentation`,`Controls whether the editor should highlight the active indent guide.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{bracketPairs:ke(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,`active`]),bracketPairsHorizontal:ke(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,`active`]),highlightActiveBracketPair:f(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:f(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:ke(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,`always`])}}};function ke(e,t,n){let r=n.indexOf(e);return r===-1?t:n[r]}var Ae=class extends s{constructor(){let e={insertMode:`insert`,filterGraceful:!0,snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,showIcons:!0,showStatusBar:!1,preview:!1,previewMode:`subwordSmart`,showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(107,`suggest`,e,{"editor.suggest.insertMode":{type:`string`,enum:[`insert`,`replace`],enumDescriptions:[i.Td(`suggest.insertMode.insert`,`Insert suggestion without overwriting text right of the cursor.`),i.Td(`suggest.insertMode.replace`,`Insert suggestion and overwrite text right of the cursor.`)],default:e.insertMode,description:i.Td(`suggest.insertMode`,`Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.`)},"editor.suggest.filterGraceful":{type:`boolean`,default:e.filterGraceful,description:i.Td(`suggest.filterGraceful`,`Controls whether filtering and sorting suggestions accounts for small typos.`)},"editor.suggest.localityBonus":{type:`boolean`,default:e.localityBonus,description:i.Td(`suggest.localityBonus`,`Controls whether sorting favors words that appear close to the cursor.`)},"editor.suggest.shareSuggestSelections":{type:`boolean`,default:e.shareSuggestSelections,markdownDescription:i.Td(`suggest.shareSuggestSelections`,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.snippetsPreventQuickSuggestions":{type:`boolean`,default:e.snippetsPreventQuickSuggestions,description:i.Td(`suggest.snippetsPreventQuickSuggestions`,`Controls whether an active snippet prevents quick suggestions.`)},"editor.suggest.showIcons":{type:`boolean`,default:e.showIcons,description:i.Td(`suggest.showIcons`,`Controls whether to show or hide icons in suggestions.`)},"editor.suggest.showStatusBar":{type:`boolean`,default:e.showStatusBar,description:i.Td(`suggest.showStatusBar`,`Controls the visibility of the status bar at the bottom of the suggest widget.`)},"editor.suggest.preview":{type:`boolean`,default:e.preview,description:i.Td(`suggest.preview`,`Controls whether to preview the suggestion outcome in the editor.`)},"editor.suggest.showInlineDetails":{type:`boolean`,default:e.showInlineDetails,description:i.Td(`suggest.showInlineDetails`,`Controls whether suggest details show inline with the label or only in the details widget`)},"editor.suggest.maxVisibleSuggestions":{type:`number`,deprecationMessage:i.Td(`suggest.maxVisibleSuggestions.dep`,`This setting is deprecated. The suggest widget can now be resized.`)},"editor.suggest.filteredTypes":{type:`object`,deprecationMessage:i.Td(`deprecated`,`This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.`)},"editor.suggest.showMethods":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showMethods`,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showFunctions`,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showConstructors`,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showDeprecated`,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.showFields":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showFields`,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showVariables`,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showClasss`,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showStructs`,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showInterfaces`,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showModules`,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showPropertys`,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showEvents`,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showOperators`,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showUnits`,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showValues`,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showConstants`,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showEnums`,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showEnumMembers`,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showKeywords`,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showTexts`,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showColors`,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showFiles`,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showReferences`,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showCustomcolors`,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showFolders`,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showTypeParameters`,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showSnippets`,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showUsers`,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showIssues`,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{insertMode:v(t.insertMode,this.defaultValue.insertMode,[`insert`,`replace`]),filterGraceful:f(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:f(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:f(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:f(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),showIcons:f(t.showIcons,this.defaultValue.showIcons),showStatusBar:f(t.showStatusBar,this.defaultValue.showStatusBar),preview:f(t.preview,this.defaultValue.preview),previewMode:v(t.previewMode,this.defaultValue.previewMode,[`prefix`,`subword`,`subwordSmart`]),showInlineDetails:f(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:f(t.showMethods,this.defaultValue.showMethods),showFunctions:f(t.showFunctions,this.defaultValue.showFunctions),showConstructors:f(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:f(t.showDeprecated,this.defaultValue.showDeprecated),showFields:f(t.showFields,this.defaultValue.showFields),showVariables:f(t.showVariables,this.defaultValue.showVariables),showClasses:f(t.showClasses,this.defaultValue.showClasses),showStructs:f(t.showStructs,this.defaultValue.showStructs),showInterfaces:f(t.showInterfaces,this.defaultValue.showInterfaces),showModules:f(t.showModules,this.defaultValue.showModules),showProperties:f(t.showProperties,this.defaultValue.showProperties),showEvents:f(t.showEvents,this.defaultValue.showEvents),showOperators:f(t.showOperators,this.defaultValue.showOperators),showUnits:f(t.showUnits,this.defaultValue.showUnits),showValues:f(t.showValues,this.defaultValue.showValues),showConstants:f(t.showConstants,this.defaultValue.showConstants),showEnums:f(t.showEnums,this.defaultValue.showEnums),showEnumMembers:f(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:f(t.showKeywords,this.defaultValue.showKeywords),showWords:f(t.showWords,this.defaultValue.showWords),showColors:f(t.showColors,this.defaultValue.showColors),showFiles:f(t.showFiles,this.defaultValue.showFiles),showReferences:f(t.showReferences,this.defaultValue.showReferences),showFolders:f(t.showFolders,this.defaultValue.showFolders),showTypeParameters:f(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:f(t.showSnippets,this.defaultValue.showSnippets),showUsers:f(t.showUsers,this.defaultValue.showUsers),showIssues:f(t.showIssues,this.defaultValue.showIssues)}}},je=class extends s{constructor(){super(103,`smartSelect`,{selectLeadingAndTrailingWhitespace:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:i.Td(`selectLeadingAndTrailingWhitespace`,`Whether leading and trailing whitespace should always be selected.`),default:!0,type:`boolean`}})}validate(e){return!e||typeof e!=`object`?this.defaultValue:{selectLeadingAndTrailingWhitespace:f(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace)}}},Me=class extends u{constructor(){super(131)}compute(e,t,n){return t.get(82)?!0:e.tabFocusMode}};function Ne(e){switch(e){case`none`:return 0;case`same`:return 1;case`indent`:return 2;case`deepIndent`:return 3}}var Pe=class extends u{constructor(){super(133)}compute(e,t,n){let r=t.get(132);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:r.isWordWrapMinified,isViewportWrapping:r.isViewportWrapping,wrappingColumn:r.wrappingColumn}}},Fe={fontFamily:i.bd?`Menlo, Monaco, 'Courier New', monospace`:i.vd?`'Droid Sans Mono', 'monospace', monospace`:`Consolas, 'Courier New', monospace`,fontWeight:`normal`,fontSize:i.bd?12:14,lineHeight:0,letterSpacing:0},Ie=[];function O(e){return Ie[e.id]=e,e}var Le={acceptSuggestionOnCommitCharacter:O(new p(0,`acceptSuggestionOnCommitCharacter`,!0,{markdownDescription:i.Td(`acceptSuggestionOnCommitCharacter`,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`; `) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:O(new y(1,`acceptSuggestionOnEnter`,`on`,[`on`,`smart`,`off`],{markdownEnumDescriptions:[``,i.Td(`acceptSuggestionOnEnterSmart`,"Only accept a suggestion with `Enter` when it makes a textual change."),``],markdownDescription:i.Td(`acceptSuggestionOnEnter`,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:O(new S),accessibilityPageSize:O(new h(3,`accessibilityPageSize`,10,1,1073741824,{description:i.Td(`accessibilityPageSize`,`Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default.`)})),ariaLabel:O(new _(4,`ariaLabel`,i.Td(`editorViewAccessibleLabel`,`Editor content`))),autoClosingBrackets:O(new y(5,`autoClosingBrackets`,`languageDefined`,[`always`,`languageDefined`,`beforeWhitespace`,`never`],{enumDescriptions:[``,i.Td(`editor.autoClosingBrackets.languageDefined`,`Use language configurations to determine when to autoclose brackets.`),i.Td(`editor.autoClosingBrackets.beforeWhitespace`,`Autoclose brackets only when the cursor is to the left of whitespace.`),``],description:i.Td(`autoClosingBrackets`,`Controls whether the editor should automatically close brackets after the user adds an opening bracket.`)})),autoClosingDelete:O(new y(6,`autoClosingDelete`,`auto`,[`always`,`auto`,`never`],{enumDescriptions:[``,i.Td(`editor.autoClosingDelete.auto`,`Remove adjacent closing quotes or brackets only if they were automatically inserted.`),``],description:i.Td(`autoClosingDelete`,`Controls whether the editor should remove adjacent closing quotes or brackets when deleting.`)})),autoClosingOvertype:O(new y(7,`autoClosingOvertype`,`auto`,[`always`,`auto`,`never`],{enumDescriptions:[``,i.Td(`editor.autoClosingOvertype.auto`,`Type over closing quotes or brackets only if they were automatically inserted.`),``],description:i.Td(`autoClosingOvertype`,`Controls whether the editor should type over closing quotes or brackets.`)})),autoClosingQuotes:O(new y(8,`autoClosingQuotes`,`languageDefined`,[`always`,`languageDefined`,`beforeWhitespace`,`never`],{enumDescriptions:[``,i.Td(`editor.autoClosingQuotes.languageDefined`,`Use language configurations to determine when to autoclose quotes.`),i.Td(`editor.autoClosingQuotes.beforeWhitespace`,`Autoclose quotes only when the cursor is to the left of whitespace.`),``],description:i.Td(`autoClosingQuotes`,`Controls whether the editor should automatically close quotes after the user adds an opening quote.`)})),autoIndent:O(new b(9,`autoIndent`,4,`full`,[`none`,`keep`,`brackets`,`advanced`,`full`],x,{enumDescriptions:[i.Td(`editor.autoIndent.none`,`The editor will not insert indentation automatically.`),i.Td(`editor.autoIndent.keep`,`The editor will keep the current line's indentation.`),i.Td(`editor.autoIndent.brackets`,`The editor will keep the current line's indentation and honor language defined brackets.`),i.Td(`editor.autoIndent.advanced`,`The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages.`),i.Td(`editor.autoIndent.full`,`The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.`)],description:i.Td(`autoIndent`,`Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.`)})),automaticLayout:O(new p(10,`automaticLayout`,!1)),autoSurround:O(new y(11,`autoSurround`,`languageDefined`,[`languageDefined`,`quotes`,`brackets`,`never`],{enumDescriptions:[i.Td(`editor.autoSurround.languageDefined`,`Use language configurations to determine when to automatically surround selections.`),i.Td(`editor.autoSurround.quotes`,`Surround with quotes but not brackets.`),i.Td(`editor.autoSurround.brackets`,`Surround with brackets but not quotes.`),``],description:i.Td(`autoSurround`,`Controls whether the editor should automatically surround selections when typing quotes or brackets.`)})),bracketPairColorization:O(new De),bracketPairGuides:O(new Oe),stickyTabStops:O(new p(105,`stickyTabStops`,!1,{description:i.Td(`stickyTabStops`,`Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.`)})),codeLens:O(new p(14,`codeLens`,!0,{description:i.Td(`codeLens`,`Controls whether the editor shows CodeLens.`)})),codeLensFontFamily:O(new _(15,`codeLensFontFamily`,``,{description:i.Td(`codeLensFontFamily`,`Controls the font family for CodeLens.`)})),codeLensFontSize:O(new h(16,`codeLensFontSize`,0,0,100,{type:`number`,default:0,minimum:0,maximum:100,markdownDescription:i.Td(`codeLensFontSize`,"Controls the font size in pixels for CodeLens. When set to `0`, 90% of `#editor.fontSize#` is used.")})),colorDecorators:O(new p(17,`colorDecorators`,!0,{description:i.Td(`colorDecorators`,`Controls whether the editor should render the inline color decorators and color picker.`)})),columnSelection:O(new p(18,`columnSelection`,!1,{description:i.Td(`columnSelection`,`Enable that the selection with the mouse and keys is doing column selection.`)})),comments:O(new C),contextmenu:O(new p(20,`contextmenu`,!0)),copyWithSyntaxHighlighting:O(new p(21,`copyWithSyntaxHighlighting`,!0,{description:i.Td(`copyWithSyntaxHighlighting`,`Controls whether syntax highlighting should be copied into the clipboard.`)})),cursorBlinking:O(new b(22,`cursorBlinking`,1,`blink`,[`blink`,`smooth`,`phase`,`expand`,`solid`],w,{description:i.Td(`cursorBlinking`,`Control the cursor animation style.`)})),cursorSmoothCaretAnimation:O(new p(23,`cursorSmoothCaretAnimation`,!1,{description:i.Td(`cursorSmoothCaretAnimation`,`Controls whether the smooth caret animation should be enabled.`)})),cursorStyle:O(new b(24,`cursorStyle`,T.Line,`line`,[`line`,`block`,`underline`,`line-thin`,`block-outline`,`underline-thin`],E,{description:i.Td(`cursorStyle`,`Controls the cursor style.`)})),cursorSurroundingLines:O(new h(25,`cursorSurroundingLines`,0,0,1073741824,{description:i.Td(`cursorSurroundingLines`,`Controls the minimal number of visible leading and trailing lines surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.`)})),cursorSurroundingLinesStyle:O(new y(26,`cursorSurroundingLinesStyle`,`default`,[`default`,`all`],{enumDescriptions:[i.Td(`cursorSurroundingLinesStyle.default`,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),i.Td(`cursorSurroundingLinesStyle.all`,"`cursorSurroundingLines` is enforced always.")],description:i.Td(`cursorSurroundingLinesStyle`,"Controls when `cursorSurroundingLines` should be enforced.")})),cursorWidth:O(new h(27,`cursorWidth`,0,0,1073741824,{markdownDescription:i.Td(`cursorWidth`,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:O(new p(28,`disableLayerHinting`,!1)),disableMonospaceOptimizations:O(new p(29,`disableMonospaceOptimizations`,!1)),domReadOnly:O(new p(30,`domReadOnly`,!1)),dragAndDrop:O(new p(31,`dragAndDrop`,!0,{description:i.Td(`dragAndDrop`,`Controls whether the editor should allow moving selections via drag and drop.`)})),emptySelectionClipboard:O(new ee),enableDropIntoEditor:O(new p(32,`enableDropIntoEditor`,!0)),extraEditorClassName:O(new _(34,`extraEditorClassName`,``)),fastScrollSensitivity:O(new g(35,`fastScrollSensitivity`,5,e=>e<=0?5:e,{markdownDescription:i.Td(`fastScrollSensitivity`,"Scrolling speed multiplier when pressing `Alt`.")})),find:O(new te),fixedOverflowWidgets:O(new p(37,`fixedOverflowWidgets`,!1)),folding:O(new p(38,`folding`,!0,{description:i.Td(`folding`,`Controls whether the editor has code folding enabled.`)})),foldingStrategy:O(new y(39,`foldingStrategy`,`auto`,[`auto`,`indentation`],{enumDescriptions:[i.Td(`foldingStrategy.auto`,`Use a language-specific folding strategy if available, else the indentation-based one.`),i.Td(`foldingStrategy.indentation`,`Use the indentation-based folding strategy.`)],description:i.Td(`foldingStrategy`,`Controls the strategy for computing folding ranges.`)})),foldingHighlight:O(new p(40,`foldingHighlight`,!0,{description:i.Td(`foldingHighlight`,`Controls whether the editor should highlight folded ranges.`)})),foldingImportsByDefault:O(new p(41,`foldingImportsByDefault`,!1,{description:i.Td(`foldingImportsByDefault`,`Controls whether the editor automatically collapses import ranges.`)})),foldingMaximumRegions:O(new h(42,`foldingMaximumRegions`,5e3,10,65e3,{description:i.Td(`foldingMaximumRegions`,`The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.`)})),unfoldOnClickAfterEndOfLine:O(new p(43,`unfoldOnClickAfterEndOfLine`,!1,{description:i.Td(`unfoldOnClickAfterEndOfLine`,`Controls whether clicking on the empty content after a folded line will unfold the line.`)})),fontFamily:O(new _(44,`fontFamily`,Fe.fontFamily,{description:i.Td(`fontFamily`,`Controls the font family.`)})),fontInfo:O(new re),fontLigatures2:O(new ne),fontSize:O(new ie),fontWeight:O(new ae),formatOnPaste:O(new p(49,`formatOnPaste`,!1,{description:i.Td(`formatOnPaste`,`Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.`)})),formatOnType:O(new p(50,`formatOnType`,!1,{description:i.Td(`formatOnType`,`Controls whether the editor should automatically format the line after typing.`)})),glyphMargin:O(new p(51,`glyphMargin`,!0,{description:i.Td(`glyphMargin`,`Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.`)})),gotoLocation:O(new oe),hideCursorInOverviewRuler:O(new p(53,`hideCursorInOverviewRuler`,!1,{description:i.Td(`hideCursorInOverviewRuler`,`Controls whether the cursor should be hidden in the overview ruler.`)})),hover:O(new se),inDiffEditor:O(new p(55,`inDiffEditor`,!1)),letterSpacing:O(new g(57,`letterSpacing`,Fe.letterSpacing,e=>g.clamp(e,-5,20),{description:i.Td(`letterSpacing`,`Controls the letter spacing in pixels.`)})),lightbulb:O(new le),lineDecorationsWidth:O(new d(59,`lineDecorationsWidth`,10)),lineHeight:O(new de),lineNumbers:O(new ve),lineNumbersMinChars:O(new h(62,`lineNumbersMinChars`,5,1,300)),linkedEditing:O(new p(63,`linkedEditing`,!1,{description:i.Td(`linkedEditing`,`Controls whether the editor has linked editing enabled. Depending on the language, related symbols, e.g. HTML tags, are updated while editing.`)})),links:O(new p(64,`links`,!0,{description:i.Td(`links`,`Controls whether the editor should detect links and make them clickable.`)})),matchBrackets:O(new y(65,`matchBrackets`,`always`,[`always`,`near`,`never`],{description:i.Td(`matchBrackets`,`Highlight matching brackets.`)})),minimap:O(new fe),mouseStyle:O(new y(67,`mouseStyle`,`text`,[`text`,`default`,`copy`])),mouseWheelScrollSensitivity:O(new g(68,`mouseWheelScrollSensitivity`,1,e=>e===0?1:e,{markdownDescription:i.Td(`mouseWheelScrollSensitivity`,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:O(new p(69,`mouseWheelZoom`,!1,{markdownDescription:i.Td(`mouseWheelZoom`,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:O(new p(70,`multiCursorMergeOverlapping`,!0,{description:i.Td(`multiCursorMergeOverlapping`,`Merge multiple cursors when they are overlapping.`)})),multiCursorModifier:O(new b(71,`multiCursorModifier`,`altKey`,`alt`,[`ctrlCmd`,`alt`],pe,{markdownEnumDescriptions:[i.Td(`multiCursorModifier.ctrlCmd`,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),i.Td(`multiCursorModifier.alt`,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:i.Td({key:`multiCursorModifier`,comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},`The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).`)})),multiCursorPaste:O(new y(72,`multiCursorPaste`,`spread`,[`spread`,`full`],{markdownEnumDescriptions:[i.Td(`multiCursorPaste.spread`,`Each cursor pastes a single line of the text.`),i.Td(`multiCursorPaste.full`,`Each cursor pastes the full text.`)],markdownDescription:i.Td(`multiCursorPaste`,`Controls pasting when the line count of the pasted text matches the cursor count.`)})),occurrencesHighlight:O(new p(73,`occurrencesHighlight`,!0,{description:i.Td(`occurrencesHighlight`,`Controls whether the editor should highlight semantic symbol occurrences.`)})),overviewRulerBorder:O(new p(74,`overviewRulerBorder`,!0,{description:i.Td(`overviewRulerBorder`,`Controls whether a border should be drawn around the overview ruler.`)})),overviewRulerLanes:O(new h(75,`overviewRulerLanes`,3,0,3)),padding:O(new me),parameterHints:O(new he),peekWidgetDefaultFocus:O(new y(78,`peekWidgetDefaultFocus`,`tree`,[`tree`,`editor`],{enumDescriptions:[i.Td(`peekWidgetDefaultFocus.tree`,`Focus the tree when opening peek`),i.Td(`peekWidgetDefaultFocus.editor`,`Focus the editor when opening peek`)],description:i.Td(`peekWidgetDefaultFocus`,`Controls whether to focus the inline editor or the tree in the peek widget.`)})),definitionLinkOpensInPeek:O(new p(79,`definitionLinkOpensInPeek`,!1,{description:i.Td(`definitionLinkOpensInPeek`,`Controls whether the Go to Definition mouse gesture always opens the peek widget.`)})),quickSuggestions:O(new _e),quickSuggestionsDelay:O(new h(81,`quickSuggestionsDelay`,10,0,1073741824,{description:i.Td(`quickSuggestionsDelay`,`Controls the delay in milliseconds after which quick suggestions will show up.`)})),readOnly:O(new p(82,`readOnly`,!1)),renameOnType:O(new p(83,`renameOnType`,!1,{description:i.Td(`renameOnType`,`Controls whether the editor auto renames on type.`),markdownDeprecationMessage:i.Td(`renameOnTypeDeprecate`,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:O(new p(84,`renderControlCharacters`,!0,{description:i.Td(`renderControlCharacters`,`Controls whether the editor should render control characters.`),restricted:!0})),renderFinalNewline:O(new p(85,`renderFinalNewline`,!0,{description:i.Td(`renderFinalNewline`,`Render last line number when the file ends with a newline.`)})),renderLineHighlight:O(new y(86,`renderLineHighlight`,`line`,[`none`,`gutter`,`line`,`all`],{enumDescriptions:[``,``,``,i.Td(`renderLineHighlight.all`,`Highlights both the gutter and the current line.`)],description:i.Td(`renderLineHighlight`,`Controls how the editor should render the current line highlight.`)})),renderLineHighlightOnlyWhenFocus:O(new p(87,`renderLineHighlightOnlyWhenFocus`,!1,{description:i.Td(`renderLineHighlightOnlyWhenFocus`,`Controls if the editor should render the current line highlight only when the editor is focused.`)})),renderValidationDecorations:O(new y(88,`renderValidationDecorations`,`editable`,[`editable`,`on`,`off`])),renderWhitespace:O(new y(89,`renderWhitespace`,`selection`,[`none`,`boundary`,`selection`,`trailing`,`all`],{enumDescriptions:[``,i.Td(`renderWhitespace.boundary`,`Render whitespace characters except for single spaces between words.`),i.Td(`renderWhitespace.selection`,`Render whitespace characters only on selected text.`),i.Td(`renderWhitespace.trailing`,`Render only trailing whitespace characters.`),``],description:i.Td(`renderWhitespace`,`Controls how the editor should render whitespace characters.`)})),revealHorizontalRightPadding:O(new h(90,`revealHorizontalRightPadding`,30,0,1e3)),roundedSelection:O(new p(91,`roundedSelection`,!0,{description:i.Td(`roundedSelection`,`Controls whether selections should have rounded corners.`)})),rulers:O(new be),scrollbar:O(new Se),scrollBeyondLastColumn:O(new h(94,`scrollBeyondLastColumn`,4,0,1073741824,{description:i.Td(`scrollBeyondLastColumn`,`Controls the number of extra characters beyond which the editor will scroll horizontally.`)})),scrollBeyondLastLine:O(new p(95,`scrollBeyondLastLine`,!0,{description:i.Td(`scrollBeyondLastLine`,`Controls whether the editor will scroll beyond the last line.`)})),scrollPredominantAxis:O(new p(96,`scrollPredominantAxis`,!0,{description:i.Td(`scrollPredominantAxis`,`Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.`)})),selectionClipboard:O(new p(97,`selectionClipboard`,!0,{description:i.Td(`selectionClipboard`,`Controls whether the Linux primary clipboard should be supported.`),included:i.vd})),selectionHighlight:O(new p(98,`selectionHighlight`,!0,{description:i.Td(`selectionHighlight`,`Controls whether the editor should highlight matches similar to the selection.`)})),selectOnLineNumbers:O(new p(99,`selectOnLineNumbers`,!0)),showFoldingControls:O(new y(100,`showFoldingControls`,`mouseover`,[`always`,`never`,`mouseover`],{enumDescriptions:[i.Td(`showFoldingControls.always`,`Always show the folding controls.`),i.Td(`showFoldingControls.never`,`Never show the folding controls and reduce the gutter size.`),i.Td(`showFoldingControls.mouseover`,`Only show the folding controls when the mouse is over the gutter.`)],description:i.Td(`showFoldingControls`,`Controls when the folding controls on the gutter are shown.`)})),showUnused:O(new p(101,`showUnused`,!0,{description:i.Td(`showUnused`,`Controls fading out of unused code.`)})),showDeprecated:O(new p(127,`showDeprecated`,!0,{description:i.Td(`showDeprecated`,`Controls strikethrough deprecated variables.`)})),inlayHints:O(new ue),snippetSuggestions:O(new y(102,`snippetSuggestions`,`inline`,[`top`,`bottom`,`inline`,`none`],{enumDescriptions:[i.Td(`snippetSuggestions.top`,`Show snippet suggestions on top of other suggestions.`),i.Td(`snippetSuggestions.bottom`,`Show snippet suggestions below other suggestions.`),i.Td(`snippetSuggestions.inline`,`Show snippets suggestions with other suggestions.`),i.Td(`snippetSuggestions.none`,`Do not show snippet suggestions.`)],description:i.Td(`snippetSuggestions`,`Controls whether snippets are shown with other suggestions and how they are sorted.`)})),smartSelect:O(new je),smoothScrolling:O(new p(104,`smoothScrolling`,!1,{description:i.Td(`smoothScrolling`,`Controls whether the editor will scroll using an animation.`)})),stopRenderingLineAfter:O(new h(106,`stopRenderingLineAfter`,1e4,-1,1073741824)),suggest:O(new Ae),inlineSuggest:O(new Ee),suggestFontSize:O(new h(108,`suggestFontSize`,0,0,1e3,{markdownDescription:i.Td(`suggestFontSize`,`Font size for the suggest widget. When set to {0}, the value of {1} is used.`,"`0`","`#editor.fontSize#`")})),suggestLineHeight:O(new h(109,`suggestLineHeight`,0,0,1e3,{markdownDescription:i.Td(`suggestLineHeight`,`Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.`,"`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:O(new p(110,`suggestOnTriggerCharacters`,!0,{description:i.Td(`suggestOnTriggerCharacters`,`Controls whether suggestions should automatically show up when typing trigger characters.`)})),suggestSelection:O(new y(111,`suggestSelection`,`first`,[`first`,`recentlyUsed`,`recentlyUsedByPrefix`],{markdownEnumDescriptions:[i.Td(`suggestSelection.first`,`Always select the first suggestion.`),i.Td(`suggestSelection.recentlyUsed`,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),i.Td(`suggestSelection.recentlyUsedByPrefix`,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:i.Td(`suggestSelection`,`Controls how suggestions are pre-selected when showing the suggest list.`)})),tabCompletion:O(new y(112,`tabCompletion`,`off`,[`on`,`off`,`onlySnippets`],{enumDescriptions:[i.Td(`tabCompletion.on`,`Tab complete will insert the best matching suggestion when pressing tab.`),i.Td(`tabCompletion.off`,`Disable tab completions.`),i.Td(`tabCompletion.onlySnippets`,`Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.`)],description:i.Td(`tabCompletion`,`Enables tab completions.`)})),tabIndex:O(new h(113,`tabIndex`,0,-1,1073741824)),unicodeHighlight:O(new Te),unusualLineTerminators:O(new y(115,`unusualLineTerminators`,`prompt`,[`auto`,`off`,`prompt`],{enumDescriptions:[i.Td(`unusualLineTerminators.auto`,`Unusual line terminators are automatically removed.`),i.Td(`unusualLineTerminators.off`,`Unusual line terminators are ignored.`),i.Td(`unusualLineTerminators.prompt`,`Unusual line terminators prompt to be removed.`)],description:i.Td(`unusualLineTerminators`,`Remove unusual line terminators that might cause problems.`)})),useShadowDOM:O(new p(116,`useShadowDOM`,!0)),useTabStops:O(new p(117,`useTabStops`,!0,{description:i.Td(`useTabStops`,`Inserting and deleting whitespace follows tab stops.`)})),wordSeparators:O(new _(118,`wordSeparators`,i.ud,{description:i.Td(`wordSeparators`,`Characters that will be used as word separators when doing word related navigations or operations.`)})),wordWrap:O(new y(119,`wordWrap`,`off`,[`off`,`on`,`wordWrapColumn`,`bounded`],{markdownEnumDescriptions:[i.Td(`wordWrap.off`,`Lines will never wrap.`),i.Td(`wordWrap.on`,`Lines will wrap at the viewport width.`),i.Td({key:`wordWrap.wordWrapColumn`,comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),i.Td({key:`wordWrap.bounded`,comment:[`- viewport means the edge of the visible window size.`,"- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:i.Td({key:`wordWrap`,comment:[`- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.`,"- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},`Controls how lines should wrap.`)})),wordWrapBreakAfterCharacters:O(new _(120,`wordWrapBreakAfterCharacters`,` })]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」`)),wordWrapBreakBeforeCharacters:O(new _(121,`wordWrapBreakBeforeCharacters`,`([{‘“〈《「『【〔([{「£¥$£¥++`)),wordWrapColumn:O(new h(122,`wordWrapColumn`,80,1,1073741824,{markdownDescription:i.Td({key:`wordWrapColumn`,comment:["- `editor.wordWrap` refers to a different setting and should not be localized.",`- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized.`]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:O(new y(123,`wordWrapOverride1`,`inherit`,[`off`,`on`,`inherit`])),wordWrapOverride2:O(new y(124,`wordWrapOverride2`,`inherit`,[`off`,`on`,`inherit`])),wrappingIndent:O(new b(125,`wrappingIndent`,1,`same`,[`none`,`same`,`indent`,`deepIndent`],Ne,{enumDescriptions:[i.Td(`wrappingIndent.none`,`No indentation. Wrapped lines begin at column 1.`),i.Td(`wrappingIndent.same`,`Wrapped lines get the same indentation as the parent.`),i.Td(`wrappingIndent.indent`,`Wrapped lines get +1 indentation toward the parent.`),i.Td(`wrappingIndent.deepIndent`,`Wrapped lines get +2 indentation toward the parent.`)],description:i.Td(`wrappingIndent`,`Controls the indentation of wrapped lines.`)})),wrappingStrategy:O(new y(126,`wrappingStrategy`,`simple`,[`simple`,`advanced`],{enumDescriptions:[i.Td(`wrappingStrategy.simple`,`Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.`),i.Td(`wrappingStrategy.advanced`,`Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.`)],description:i.Td(`wrappingStrategy`,`Controls the algorithm that computes wrapping points.`)})),editorClassName:O(new D),pixelRatio:O(new ge),tabFocusMode:O(new Me),layoutInfo:O(new ce),wrappingInfo:O(new Pe)},Re;(function(e){e[e.Unknown=0]=`Unknown`,e[e.Disabled=1]=`Disabled`,e[e.Enabled=2]=`Enabled`})(Re||={});var ze;(function(e){e[e.KeepWhitespace=1]=`KeepWhitespace`,e[e.InsertAsSnippet=4]=`InsertAsSnippet`})(ze||={});var Be;(function(e){e[e.Method=0]=`Method`,e[e.Function=1]=`Function`,e[e.Constructor=2]=`Constructor`,e[e.Field=3]=`Field`,e[e.Variable=4]=`Variable`,e[e.Class=5]=`Class`,e[e.Struct=6]=`Struct`,e[e.Interface=7]=`Interface`,e[e.Module=8]=`Module`,e[e.Property=9]=`Property`,e[e.Event=10]=`Event`,e[e.Operator=11]=`Operator`,e[e.Unit=12]=`Unit`,e[e.Value=13]=`Value`,e[e.Constant=14]=`Constant`,e[e.Enum=15]=`Enum`,e[e.EnumMember=16]=`EnumMember`,e[e.Keyword=17]=`Keyword`,e[e.Text=18]=`Text`,e[e.Color=19]=`Color`,e[e.File=20]=`File`,e[e.Reference=21]=`Reference`,e[e.Customcolor=22]=`Customcolor`,e[e.Folder=23]=`Folder`,e[e.TypeParameter=24]=`TypeParameter`,e[e.User=25]=`User`,e[e.Issue=26]=`Issue`,e[e.Snippet=27]=`Snippet`})(Be||={});var Ve;(function(e){e[e.Deprecated=1]=`Deprecated`})(Ve||={});var He;(function(e){e[e.Invoke=0]=`Invoke`,e[e.TriggerCharacter=1]=`TriggerCharacter`,e[e.TriggerForIncompleteCompletions=2]=`TriggerForIncompleteCompletions`})(He||={});var Ue;(function(e){e[e.EXACT=0]=`EXACT`,e[e.ABOVE=1]=`ABOVE`,e[e.BELOW=2]=`BELOW`})(Ue||={});var We;(function(e){e[e.NotSet=0]=`NotSet`,e[e.ContentFlush=1]=`ContentFlush`,e[e.RecoverFromMarkers=2]=`RecoverFromMarkers`,e[e.Explicit=3]=`Explicit`,e[e.Paste=4]=`Paste`,e[e.Undo=5]=`Undo`,e[e.Redo=6]=`Redo`})(We||={});var Ge;(function(e){e[e.LF=1]=`LF`,e[e.CRLF=2]=`CRLF`})(Ge||={});var Ke;(function(e){e[e.Text=0]=`Text`,e[e.Read=1]=`Read`,e[e.Write=2]=`Write`})(Ke||={});var qe;(function(e){e[e.None=0]=`None`,e[e.Keep=1]=`Keep`,e[e.Brackets=2]=`Brackets`,e[e.Advanced=3]=`Advanced`,e[e.Full=4]=`Full`})(qe||={});var Je;(function(e){e[e.acceptSuggestionOnCommitCharacter=0]=`acceptSuggestionOnCommitCharacter`,e[e.acceptSuggestionOnEnter=1]=`acceptSuggestionOnEnter`,e[e.accessibilitySupport=2]=`accessibilitySupport`,e[e.accessibilityPageSize=3]=`accessibilityPageSize`,e[e.ariaLabel=4]=`ariaLabel`,e[e.autoClosingBrackets=5]=`autoClosingBrackets`,e[e.autoClosingDelete=6]=`autoClosingDelete`,e[e.autoClosingOvertype=7]=`autoClosingOvertype`,e[e.autoClosingQuotes=8]=`autoClosingQuotes`,e[e.autoIndent=9]=`autoIndent`,e[e.automaticLayout=10]=`automaticLayout`,e[e.autoSurround=11]=`autoSurround`,e[e.bracketPairColorization=12]=`bracketPairColorization`,e[e.guides=13]=`guides`,e[e.codeLens=14]=`codeLens`,e[e.codeLensFontFamily=15]=`codeLensFontFamily`,e[e.codeLensFontSize=16]=`codeLensFontSize`,e[e.colorDecorators=17]=`colorDecorators`,e[e.columnSelection=18]=`columnSelection`,e[e.comments=19]=`comments`,e[e.contextmenu=20]=`contextmenu`,e[e.copyWithSyntaxHighlighting=21]=`copyWithSyntaxHighlighting`,e[e.cursorBlinking=22]=`cursorBlinking`,e[e.cursorSmoothCaretAnimation=23]=`cursorSmoothCaretAnimation`,e[e.cursorStyle=24]=`cursorStyle`,e[e.cursorSurroundingLines=25]=`cursorSurroundingLines`,e[e.cursorSurroundingLinesStyle=26]=`cursorSurroundingLinesStyle`,e[e.cursorWidth=27]=`cursorWidth`,e[e.disableLayerHinting=28]=`disableLayerHinting`,e[e.disableMonospaceOptimizations=29]=`disableMonospaceOptimizations`,e[e.domReadOnly=30]=`domReadOnly`,e[e.dragAndDrop=31]=`dragAndDrop`,e[e.enableDropIntoEditor=32]=`enableDropIntoEditor`,e[e.emptySelectionClipboard=33]=`emptySelectionClipboard`,e[e.extraEditorClassName=34]=`extraEditorClassName`,e[e.fastScrollSensitivity=35]=`fastScrollSensitivity`,e[e.find=36]=`find`,e[e.fixedOverflowWidgets=37]=`fixedOverflowWidgets`,e[e.folding=38]=`folding`,e[e.foldingStrategy=39]=`foldingStrategy`,e[e.foldingHighlight=40]=`foldingHighlight`,e[e.foldingImportsByDefault=41]=`foldingImportsByDefault`,e[e.foldingMaximumRegions=42]=`foldingMaximumRegions`,e[e.unfoldOnClickAfterEndOfLine=43]=`unfoldOnClickAfterEndOfLine`,e[e.fontFamily=44]=`fontFamily`,e[e.fontInfo=45]=`fontInfo`,e[e.fontLigatures=46]=`fontLigatures`,e[e.fontSize=47]=`fontSize`,e[e.fontWeight=48]=`fontWeight`,e[e.formatOnPaste=49]=`formatOnPaste`,e[e.formatOnType=50]=`formatOnType`,e[e.glyphMargin=51]=`glyphMargin`,e[e.gotoLocation=52]=`gotoLocation`,e[e.hideCursorInOverviewRuler=53]=`hideCursorInOverviewRuler`,e[e.hover=54]=`hover`,e[e.inDiffEditor=55]=`inDiffEditor`,e[e.inlineSuggest=56]=`inlineSuggest`,e[e.letterSpacing=57]=`letterSpacing`,e[e.lightbulb=58]=`lightbulb`,e[e.lineDecorationsWidth=59]=`lineDecorationsWidth`,e[e.lineHeight=60]=`lineHeight`,e[e.lineNumbers=61]=`lineNumbers`,e[e.lineNumbersMinChars=62]=`lineNumbersMinChars`,e[e.linkedEditing=63]=`linkedEditing`,e[e.links=64]=`links`,e[e.matchBrackets=65]=`matchBrackets`,e[e.minimap=66]=`minimap`,e[e.mouseStyle=67]=`mouseStyle`,e[e.mouseWheelScrollSensitivity=68]=`mouseWheelScrollSensitivity`,e[e.mouseWheelZoom=69]=`mouseWheelZoom`,e[e.multiCursorMergeOverlapping=70]=`multiCursorMergeOverlapping`,e[e.multiCursorModifier=71]=`multiCursorModifier`,e[e.multiCursorPaste=72]=`multiCursorPaste`,e[e.occurrencesHighlight=73]=`occurrencesHighlight`,e[e.overviewRulerBorder=74]=`overviewRulerBorder`,e[e.overviewRulerLanes=75]=`overviewRulerLanes`,e[e.padding=76]=`padding`,e[e.parameterHints=77]=`parameterHints`,e[e.peekWidgetDefaultFocus=78]=`peekWidgetDefaultFocus`,e[e.definitionLinkOpensInPeek=79]=`definitionLinkOpensInPeek`,e[e.quickSuggestions=80]=`quickSuggestions`,e[e.quickSuggestionsDelay=81]=`quickSuggestionsDelay`,e[e.readOnly=82]=`readOnly`,e[e.renameOnType=83]=`renameOnType`,e[e.renderControlCharacters=84]=`renderControlCharacters`,e[e.renderFinalNewline=85]=`renderFinalNewline`,e[e.renderLineHighlight=86]=`renderLineHighlight`,e[e.renderLineHighlightOnlyWhenFocus=87]=`renderLineHighlightOnlyWhenFocus`,e[e.renderValidationDecorations=88]=`renderValidationDecorations`,e[e.renderWhitespace=89]=`renderWhitespace`,e[e.revealHorizontalRightPadding=90]=`revealHorizontalRightPadding`,e[e.roundedSelection=91]=`roundedSelection`,e[e.rulers=92]=`rulers`,e[e.scrollbar=93]=`scrollbar`,e[e.scrollBeyondLastColumn=94]=`scrollBeyondLastColumn`,e[e.scrollBeyondLastLine=95]=`scrollBeyondLastLine`,e[e.scrollPredominantAxis=96]=`scrollPredominantAxis`,e[e.selectionClipboard=97]=`selectionClipboard`,e[e.selectionHighlight=98]=`selectionHighlight`,e[e.selectOnLineNumbers=99]=`selectOnLineNumbers`,e[e.showFoldingControls=100]=`showFoldingControls`,e[e.showUnused=101]=`showUnused`,e[e.snippetSuggestions=102]=`snippetSuggestions`,e[e.smartSelect=103]=`smartSelect`,e[e.smoothScrolling=104]=`smoothScrolling`,e[e.stickyTabStops=105]=`stickyTabStops`,e[e.stopRenderingLineAfter=106]=`stopRenderingLineAfter`,e[e.suggest=107]=`suggest`,e[e.suggestFontSize=108]=`suggestFontSize`,e[e.suggestLineHeight=109]=`suggestLineHeight`,e[e.suggestOnTriggerCharacters=110]=`suggestOnTriggerCharacters`,e[e.suggestSelection=111]=`suggestSelection`,e[e.tabCompletion=112]=`tabCompletion`,e[e.tabIndex=113]=`tabIndex`,e[e.unicodeHighlighting=114]=`unicodeHighlighting`,e[e.unusualLineTerminators=115]=`unusualLineTerminators`,e[e.useShadowDOM=116]=`useShadowDOM`,e[e.useTabStops=117]=`useTabStops`,e[e.wordSeparators=118]=`wordSeparators`,e[e.wordWrap=119]=`wordWrap`,e[e.wordWrapBreakAfterCharacters=120]=`wordWrapBreakAfterCharacters`,e[e.wordWrapBreakBeforeCharacters=121]=`wordWrapBreakBeforeCharacters`,e[e.wordWrapColumn=122]=`wordWrapColumn`,e[e.wordWrapOverride1=123]=`wordWrapOverride1`,e[e.wordWrapOverride2=124]=`wordWrapOverride2`,e[e.wrappingIndent=125]=`wrappingIndent`,e[e.wrappingStrategy=126]=`wrappingStrategy`,e[e.showDeprecated=127]=`showDeprecated`,e[e.inlayHints=128]=`inlayHints`,e[e.editorClassName=129]=`editorClassName`,e[e.pixelRatio=130]=`pixelRatio`,e[e.tabFocusMode=131]=`tabFocusMode`,e[e.layoutInfo=132]=`layoutInfo`,e[e.wrappingInfo=133]=`wrappingInfo`})(Je||={});var Ye;(function(e){e[e.TextDefined=0]=`TextDefined`,e[e.LF=1]=`LF`,e[e.CRLF=2]=`CRLF`})(Ye||={});var Xe;(function(e){e[e.LF=0]=`LF`,e[e.CRLF=1]=`CRLF`})(Xe||={});var Ze;(function(e){e[e.None=0]=`None`,e[e.Indent=1]=`Indent`,e[e.IndentOutdent=2]=`IndentOutdent`,e[e.Outdent=3]=`Outdent`})(Ze||={});var Qe;(function(e){e[e.Both=0]=`Both`,e[e.Right=1]=`Right`,e[e.Left=2]=`Left`,e[e.None=3]=`None`})(Qe||={});var $e;(function(e){e[e.Type=1]=`Type`,e[e.Parameter=2]=`Parameter`})($e||={});var et;(function(e){e[e.Automatic=0]=`Automatic`,e[e.Explicit=1]=`Explicit`})(et||={});var tt;(function(e){e[e.DependsOnKbLayout=-1]=`DependsOnKbLayout`,e[e.Unknown=0]=`Unknown`,e[e.Backspace=1]=`Backspace`,e[e.Tab=2]=`Tab`,e[e.Enter=3]=`Enter`,e[e.Shift=4]=`Shift`,e[e.Ctrl=5]=`Ctrl`,e[e.Alt=6]=`Alt`,e[e.PauseBreak=7]=`PauseBreak`,e[e.CapsLock=8]=`CapsLock`,e[e.Escape=9]=`Escape`,e[e.Space=10]=`Space`,e[e.PageUp=11]=`PageUp`,e[e.PageDown=12]=`PageDown`,e[e.End=13]=`End`,e[e.Home=14]=`Home`,e[e.LeftArrow=15]=`LeftArrow`,e[e.UpArrow=16]=`UpArrow`,e[e.RightArrow=17]=`RightArrow`,e[e.DownArrow=18]=`DownArrow`,e[e.Insert=19]=`Insert`,e[e.Delete=20]=`Delete`,e[e.Digit0=21]=`Digit0`,e[e.Digit1=22]=`Digit1`,e[e.Digit2=23]=`Digit2`,e[e.Digit3=24]=`Digit3`,e[e.Digit4=25]=`Digit4`,e[e.Digit5=26]=`Digit5`,e[e.Digit6=27]=`Digit6`,e[e.Digit7=28]=`Digit7`,e[e.Digit8=29]=`Digit8`,e[e.Digit9=30]=`Digit9`,e[e.KeyA=31]=`KeyA`,e[e.KeyB=32]=`KeyB`,e[e.KeyC=33]=`KeyC`,e[e.KeyD=34]=`KeyD`,e[e.KeyE=35]=`KeyE`,e[e.KeyF=36]=`KeyF`,e[e.KeyG=37]=`KeyG`,e[e.KeyH=38]=`KeyH`,e[e.KeyI=39]=`KeyI`,e[e.KeyJ=40]=`KeyJ`,e[e.KeyK=41]=`KeyK`,e[e.KeyL=42]=`KeyL`,e[e.KeyM=43]=`KeyM`,e[e.KeyN=44]=`KeyN`,e[e.KeyO=45]=`KeyO`,e[e.KeyP=46]=`KeyP`,e[e.KeyQ=47]=`KeyQ`,e[e.KeyR=48]=`KeyR`,e[e.KeyS=49]=`KeyS`,e[e.KeyT=50]=`KeyT`,e[e.KeyU=51]=`KeyU`,e[e.KeyV=52]=`KeyV`,e[e.KeyW=53]=`KeyW`,e[e.KeyX=54]=`KeyX`,e[e.KeyY=55]=`KeyY`,e[e.KeyZ=56]=`KeyZ`,e[e.Meta=57]=`Meta`,e[e.ContextMenu=58]=`ContextMenu`,e[e.F1=59]=`F1`,e[e.F2=60]=`F2`,e[e.F3=61]=`F3`,e[e.F4=62]=`F4`,e[e.F5=63]=`F5`,e[e.F6=64]=`F6`,e[e.F7=65]=`F7`,e[e.F8=66]=`F8`,e[e.F9=67]=`F9`,e[e.F10=68]=`F10`,e[e.F11=69]=`F11`,e[e.F12=70]=`F12`,e[e.F13=71]=`F13`,e[e.F14=72]=`F14`,e[e.F15=73]=`F15`,e[e.F16=74]=`F16`,e[e.F17=75]=`F17`,e[e.F18=76]=`F18`,e[e.F19=77]=`F19`,e[e.NumLock=78]=`NumLock`,e[e.ScrollLock=79]=`ScrollLock`,e[e.Semicolon=80]=`Semicolon`,e[e.Equal=81]=`Equal`,e[e.Comma=82]=`Comma`,e[e.Minus=83]=`Minus`,e[e.Period=84]=`Period`,e[e.Slash=85]=`Slash`,e[e.Backquote=86]=`Backquote`,e[e.BracketLeft=87]=`BracketLeft`,e[e.Backslash=88]=`Backslash`,e[e.BracketRight=89]=`BracketRight`,e[e.Quote=90]=`Quote`,e[e.OEM_8=91]=`OEM_8`,e[e.IntlBackslash=92]=`IntlBackslash`,e[e.Numpad0=93]=`Numpad0`,e[e.Numpad1=94]=`Numpad1`,e[e.Numpad2=95]=`Numpad2`,e[e.Numpad3=96]=`Numpad3`,e[e.Numpad4=97]=`Numpad4`,e[e.Numpad5=98]=`Numpad5`,e[e.Numpad6=99]=`Numpad6`,e[e.Numpad7=100]=`Numpad7`,e[e.Numpad8=101]=`Numpad8`,e[e.Numpad9=102]=`Numpad9`,e[e.NumpadMultiply=103]=`NumpadMultiply`,e[e.NumpadAdd=104]=`NumpadAdd`,e[e.NUMPAD_SEPARATOR=105]=`NUMPAD_SEPARATOR`,e[e.NumpadSubtract=106]=`NumpadSubtract`,e[e.NumpadDecimal=107]=`NumpadDecimal`,e[e.NumpadDivide=108]=`NumpadDivide`,e[e.KEY_IN_COMPOSITION=109]=`KEY_IN_COMPOSITION`,e[e.ABNT_C1=110]=`ABNT_C1`,e[e.ABNT_C2=111]=`ABNT_C2`,e[e.AudioVolumeMute=112]=`AudioVolumeMute`,e[e.AudioVolumeUp=113]=`AudioVolumeUp`,e[e.AudioVolumeDown=114]=`AudioVolumeDown`,e[e.BrowserSearch=115]=`BrowserSearch`,e[e.BrowserHome=116]=`BrowserHome`,e[e.BrowserBack=117]=`BrowserBack`,e[e.BrowserForward=118]=`BrowserForward`,e[e.MediaTrackNext=119]=`MediaTrackNext`,e[e.MediaTrackPrevious=120]=`MediaTrackPrevious`,e[e.MediaStop=121]=`MediaStop`,e[e.MediaPlayPause=122]=`MediaPlayPause`,e[e.LaunchMediaPlayer=123]=`LaunchMediaPlayer`,e[e.LaunchMail=124]=`LaunchMail`,e[e.LaunchApp2=125]=`LaunchApp2`,e[e.Clear=126]=`Clear`,e[e.MAX_VALUE=127]=`MAX_VALUE`})(tt||={});var nt;(function(e){e[e.Hint=1]=`Hint`,e[e.Info=2]=`Info`,e[e.Warning=4]=`Warning`,e[e.Error=8]=`Error`})(nt||={});var rt;(function(e){e[e.Unnecessary=1]=`Unnecessary`,e[e.Deprecated=2]=`Deprecated`})(rt||={});var it;(function(e){e[e.Inline=1]=`Inline`,e[e.Gutter=2]=`Gutter`})(it||={});var at;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.TEXTAREA=1]=`TEXTAREA`,e[e.GUTTER_GLYPH_MARGIN=2]=`GUTTER_GLYPH_MARGIN`,e[e.GUTTER_LINE_NUMBERS=3]=`GUTTER_LINE_NUMBERS`,e[e.GUTTER_LINE_DECORATIONS=4]=`GUTTER_LINE_DECORATIONS`,e[e.GUTTER_VIEW_ZONE=5]=`GUTTER_VIEW_ZONE`,e[e.CONTENT_TEXT=6]=`CONTENT_TEXT`,e[e.CONTENT_EMPTY=7]=`CONTENT_EMPTY`,e[e.CONTENT_VIEW_ZONE=8]=`CONTENT_VIEW_ZONE`,e[e.CONTENT_WIDGET=9]=`CONTENT_WIDGET`,e[e.OVERVIEW_RULER=10]=`OVERVIEW_RULER`,e[e.SCROLLBAR=11]=`SCROLLBAR`,e[e.OVERLAY_WIDGET=12]=`OVERLAY_WIDGET`,e[e.OUTSIDE_EDITOR=13]=`OUTSIDE_EDITOR`})(at||={});var ot;(function(e){e[e.TOP_RIGHT_CORNER=0]=`TOP_RIGHT_CORNER`,e[e.BOTTOM_RIGHT_CORNER=1]=`BOTTOM_RIGHT_CORNER`,e[e.TOP_CENTER=2]=`TOP_CENTER`})(ot||={});var st;(function(e){e[e.Left=1]=`Left`,e[e.Center=2]=`Center`,e[e.Right=4]=`Right`,e[e.Full=7]=`Full`})(st||={});var ct;(function(e){e[e.Left=0]=`Left`,e[e.Right=1]=`Right`,e[e.None=2]=`None`,e[e.LeftOfInjectedText=3]=`LeftOfInjectedText`,e[e.RightOfInjectedText=4]=`RightOfInjectedText`})(ct||={});var lt;(function(e){e[e.Off=0]=`Off`,e[e.On=1]=`On`,e[e.Relative=2]=`Relative`,e[e.Interval=3]=`Interval`,e[e.Custom=4]=`Custom`})(lt||={});var ut;(function(e){e[e.None=0]=`None`,e[e.Text=1]=`Text`,e[e.Blocks=2]=`Blocks`})(ut||={});var dt;(function(e){e[e.Smooth=0]=`Smooth`,e[e.Immediate=1]=`Immediate`})(dt||={});var ft;(function(e){e[e.Auto=1]=`Auto`,e[e.Hidden=2]=`Hidden`,e[e.Visible=3]=`Visible`})(ft||={});var pt;(function(e){e[e.LTR=0]=`LTR`,e[e.RTL=1]=`RTL`})(pt||={});var mt;(function(e){e[e.Invoke=1]=`Invoke`,e[e.TriggerCharacter=2]=`TriggerCharacter`,e[e.ContentChange=3]=`ContentChange`})(mt||={});var ht;(function(e){e[e.File=0]=`File`,e[e.Module=1]=`Module`,e[e.Namespace=2]=`Namespace`,e[e.Package=3]=`Package`,e[e.Class=4]=`Class`,e[e.Method=5]=`Method`,e[e.Property=6]=`Property`,e[e.Field=7]=`Field`,e[e.Constructor=8]=`Constructor`,e[e.Enum=9]=`Enum`,e[e.Interface=10]=`Interface`,e[e.Function=11]=`Function`,e[e.Variable=12]=`Variable`,e[e.Constant=13]=`Constant`,e[e.String=14]=`String`,e[e.Number=15]=`Number`,e[e.Boolean=16]=`Boolean`,e[e.Array=17]=`Array`,e[e.Object=18]=`Object`,e[e.Key=19]=`Key`,e[e.Null=20]=`Null`,e[e.EnumMember=21]=`EnumMember`,e[e.Struct=22]=`Struct`,e[e.Event=23]=`Event`,e[e.Operator=24]=`Operator`,e[e.TypeParameter=25]=`TypeParameter`})(ht||={});var gt;(function(e){e[e.Deprecated=1]=`Deprecated`})(gt||={});var _t;(function(e){e[e.Hidden=0]=`Hidden`,e[e.Blink=1]=`Blink`,e[e.Smooth=2]=`Smooth`,e[e.Phase=3]=`Phase`,e[e.Expand=4]=`Expand`,e[e.Solid=5]=`Solid`})(_t||={});var vt;(function(e){e[e.Line=1]=`Line`,e[e.Block=2]=`Block`,e[e.Underline=3]=`Underline`,e[e.LineThin=4]=`LineThin`,e[e.BlockOutline=5]=`BlockOutline`,e[e.UnderlineThin=6]=`UnderlineThin`})(vt||={});var yt;(function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]=`AlwaysGrowsWhenTypingAtEdges`,e[e.NeverGrowsWhenTypingAtEdges=1]=`NeverGrowsWhenTypingAtEdges`,e[e.GrowsOnlyWhenTypingBefore=2]=`GrowsOnlyWhenTypingBefore`,e[e.GrowsOnlyWhenTypingAfter=3]=`GrowsOnlyWhenTypingAfter`})(yt||={});var bt;(function(e){e[e.None=0]=`None`,e[e.Same=1]=`Same`,e[e.Indent=2]=`Indent`,e[e.DeepIndent=3]=`DeepIndent`})(bt||={});var xt=class{static chord(e,t){return i.Rl(e,t)}};xt.CtrlCmd=2048,xt.Shift=1024,xt.Alt=512,xt.WinCtrl=256;function St(){return{editor:void 0,languages:void 0,CancellationTokenSource:i.Vl,Emitter:i.Ul,KeyCode:tt,KeyMod:xt,Position:i.kl,Range:i.Ol,Selection:i.Dl,SelectionDirection:pt,MarkerSeverity:nt,MarkerTag:rt,Uri:i.Al,Token:i.bl}}var Ct=class{constructor(e){this.domNode=e,this._maxWidth=``,this._width=``,this._height=``,this._top=``,this._left=``,this._bottom=``,this._right=``,this._fontFamily=``,this._fontWeight=``,this._fontSize=``,this._fontStyle=``,this._fontFeatureSettings=``,this._textDecoration=``,this._lineHeight=``,this._letterSpacing=``,this._className=``,this._display=``,this._position=``,this._visibility=``,this._color=``,this._backgroundColor=``,this._layerHint=!1,this._contain=`none`,this._boxShadow=``}setMaxWidth(e){let t=wt(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=wt(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=wt(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=wt(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=wt(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=wt(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=wt(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=wt(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=wt(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=wt(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function wt(e){return typeof e==`number`?`${e}px`:e}function k(e){return new Ct(e)}function Tt(e,t){e instanceof Ct?(e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+`px`,e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.lineHeight=t.lineHeight+`px`,e.style.letterSpacing=t.letterSpacing+`px`)}var Et=class{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}},Dt=class e{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(){this._createDomElements(),document.body.appendChild(this._container),this._readFromDomElements(),document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){let t=document.createElement(`div`);t.style.position=`absolute`,t.style.top=`-50000px`,t.style.width=`50000px`;let n=document.createElement(`div`);Tt(n,this._bareFontInfo),t.appendChild(n);let r=document.createElement(`div`);Tt(r,this._bareFontInfo),r.style.fontWeight=`bold`,t.appendChild(r);let i=document.createElement(`div`);Tt(i,this._bareFontInfo),i.style.fontStyle=`italic`,t.appendChild(i);let a=[];for(let t of this._requests){let o;t.type===0&&(o=n),t.type===2&&(o=r),t.type===1&&(o=i),o.appendChild(document.createElement(`br`));let s=document.createElement(`span`);e._render(s,t),o.appendChild(s),a.push(s)}this._container=t,this._testElements=a}static _render(e,t){if(t.chr===` `){let t=`\xA0`;for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let n=t.chr;for(let e=0;e<8;e++)n+=n;e.textContent=n}}_readFromDomElements(){for(let e=0,t=this._requests.length;e<t;e++){let t=this._requests[e],n=this._testElements[e];t.fulfill(n.offsetWidth/256)}}};function Ot(e,t){new Dt(e,t).read()}var kt=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new i.Ul,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(e){e=Math.min(Math.max(-5,e),20),this._zoomLevel!==e&&(this._zoomLevel=e,this._onDidChangeZoomLevel.fire(this._zoomLevel))}},At=i.bd?1.5:1.35,jt=8,Mt=class e{constructor(e){this._bareFontInfoBrand=void 0,this.pixelRatio=e.pixelRatio,this.fontFamily=String(e.fontFamily),this.fontWeight=String(e.fontWeight),this.fontSize=e.fontSize,this.fontFeatureSettings=e.fontFeatureSettings,this.lineHeight=e.lineHeight|0,this.letterSpacing=e.letterSpacing}static createFromValidatedSettings(t,n,r){let i=t.get(44),a=t.get(48),o=t.get(47),s=t.get(46),c=t.get(60),l=t.get(57);return e._create(i,a,o,s,c,l,n,r)}static _create(t,n,r,i,a,o,s,c){a===0?a=At*r:a<jt&&(a*=r),a=Math.round(a),a<jt&&(a=jt);let l=1+(c?0:kt.getZoomLevel()*.1);return r*=l,a*=l,new e({pixelRatio:s,fontFamily:t,fontWeight:n,fontSize:r,fontFeatureSettings:i,lineHeight:a,letterSpacing:o})}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){let t=Fe.fontFamily,n=e._wrapInQuotes(this.fontFamily);return t&&this.fontFamily!==t?`${n}, ${t}`:n}static _wrapInQuotes(e){return/[,"']/.test(e)?e:/[+ ]/.test(e)?`"${e}"`:e}},Nt=class extends Mt{constructor(e,t){super(e),this._editorStylingBrand=void 0,this.version=1,this.isTrusted=t,this.isMonospace=e.isMonospace,this.typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=e.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=e.canUseHalfwidthRightwardsArrow,this.spaceWidth=e.spaceWidth,this.middotWidth=e.middotWidth,this.wsmiddotWidth=e.wsmiddotWidth,this.maxDigitWidth=e.maxDigitWidth}equals(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.fontWeight&&this.fontSize===e.fontSize&&this.fontFeatureSettings===e.fontFeatureSettings&&this.lineHeight===e.lineHeight&&this.letterSpacing===e.letterSpacing&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===e.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.maxDigitWidth===e.maxDigitWidth}},Pt=class extends i.Xl{constructor(){super(),this._onDidChange=this._register(new i.Ul),this.onDidChange=this._onDidChange.event,this._cache=new Ft,this._evictUntrustedReadingsTimeout=-1}dispose(){this._evictUntrustedReadingsTimeout!==-1&&(window.clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache=new Ft,this._onDidChange.fire()}_writeToCache(e,t){this._cache.put(e,t),!t.isTrusted&&this._evictUntrustedReadingsTimeout===-1&&(this._evictUntrustedReadingsTimeout=window.setTimeout(()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()},5e3))}_evictUntrustedReadings(){let e=this._cache.getValues(),t=!1;for(let n of e)n.isTrusted||(t=!0,this._cache.remove(n));t&&this._onDidChange.fire()}readFontInfo(e){if(!this._cache.has(e)){let t=this._actualReadFontInfo(e);(t.typicalHalfwidthCharacterWidth<=2||t.typicalFullwidthCharacterWidth<=2||t.spaceWidth<=2||t.maxDigitWidth<=2)&&(t=new Nt({pixelRatio:i.hc.value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:t.isMonospace,typicalHalfwidthCharacterWidth:Math.max(t.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(t.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:t.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(t.spaceWidth,5),middotWidth:Math.max(t.middotWidth,5),wsmiddotWidth:Math.max(t.wsmiddotWidth,5),maxDigitWidth:Math.max(t.maxDigitWidth,5)},!1)),this._writeToCache(e,t)}return this._cache.get(e)}_createRequest(e,t,n,r){let i=new Et(e,t);return n.push(i),r?.push(i),i}_actualReadFontInfo(e){let t=[],n=[],r=this._createRequest(`n`,0,t,n),a=this._createRequest(`m`,0,t,null),o=this._createRequest(` `,0,t,n),s=this._createRequest(`0`,0,t,n),c=this._createRequest(`1`,0,t,n),l=this._createRequest(`2`,0,t,n),u=this._createRequest(`3`,0,t,n),d=this._createRequest(`4`,0,t,n),f=this._createRequest(`5`,0,t,n),p=this._createRequest(`6`,0,t,n),m=this._createRequest(`7`,0,t,n),h=this._createRequest(`8`,0,t,n),g=this._createRequest(`9`,0,t,n),_=this._createRequest(`→`,0,t,n),v=this._createRequest(`→`,0,t,null),y=this._createRequest(`·`,0,t,n),b=this._createRequest(`⸱`,0,t,null),x=`|/-_ilm%`;for(let e=0;e<8;e++)this._createRequest(x.charAt(e),0,t,n),this._createRequest(x.charAt(e),1,t,n),this._createRequest(x.charAt(e),2,t,n);Ot(e,t);let S=Math.max(s.width,c.width,l.width,u.width,d.width,f.width,p.width,m.width,h.width,g.width),C=e.fontFeatureSettings===ne.OFF,w=n[0].width;for(let e=1,t=n.length;C&&e<t;e++){let t=w-n[e].width;if(t<-.001||t>.001){C=!1;break}}let T=!0;return C&&v.width!==w&&(T=!1),v.width>_.width&&(T=!1),new Nt({pixelRatio:i.hc.value,fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,fontFeatureSettings:e.fontFeatureSettings,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:C,typicalHalfwidthCharacterWidth:r.width,typicalFullwidthCharacterWidth:a.width,canUseHalfwidthRightwardsArrow:T,spaceWidth:o.width,middotWidth:y.width,wsmiddotWidth:b.width,maxDigitWidth:S},!0)}},Ft=class{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){let t=e.getId();return!!this._values[t]}get(e){let t=e.getId();return this._values[t]}put(e,t){let n=e.getId();this._keys[n]=e,this._values[n]=t}remove(e){let t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}},It=new Pt,Lt={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0},Rt=class extends i.Xl{constructor(e,t={}){super(),this._onDidUpdate=this._register(new i.Ul),this._editor=e,this._options=i.bu(t,Lt,!1),this.disposed=!1,this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=!!this._options.alwaysRevealFirst,this._register(this._editor.onDidDispose(()=>this.dispose())),this._register(this._editor.onDidUpdateDiff(()=>this._onDiffUpdated())),this._options.followsCaret&&this._register(this._editor.getModifiedEditor().onDidChangeCursorPosition(e=>{this.ignoreSelectionChange||(this.nextIdx=-1)})),this._options.alwaysRevealFirst&&this._register(this._editor.getModifiedEditor().onDidChangeModel(e=>{this.revealFirst=!0})),this._init()}_init(){this._editor.getLineChanges()}_onDiffUpdated(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&this._editor.getLineChanges()!==null&&(this.revealFirst=!1,this.nextIdx=-1,this.next(1))}_compute(e){this.ranges=[],e&&e.forEach(e=>{!this._options.ignoreCharChanges&&e.charChanges?e.charChanges.forEach(e=>{this.ranges.push({rhs:!0,range:new i.Ol(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)})}):e.modifiedEndLineNumber===0?this.ranges.push({rhs:!0,range:new i.Ol(e.modifiedStartLineNumber,1,e.modifiedStartLineNumber+1,1)}):this.ranges.push({rhs:!0,range:new i.Ol(e.modifiedStartLineNumber,1,e.modifiedEndLineNumber+1,1)})}),this.ranges.sort((e,t)=>i.Ol.compareRangesUsingStarts(e.range,t.range)),this._onDidUpdate.fire(this)}_initIdx(e){let t=!1,n=this._editor.getPosition();if(!n){this.nextIdx=0;return}for(let r=0,i=this.ranges.length;r<i&&!t;r++){let i=this.ranges[r].range;n.isBeforeOrEqual(i.getStartPosition())&&(this.nextIdx=r+(e?0:-1),t=!0)}t||(this.nextIdx=e?0:this.ranges.length-1),this.nextIdx<0&&(this.nextIdx=this.ranges.length-1)}_move(e,t){if(i.uc(!this.disposed,`Illegal State - diff navigator has been disposed`),!this.canNavigate())return;this.nextIdx===-1?this._initIdx(e):e?(this.nextIdx+=1,this.nextIdx>=this.ranges.length&&(this.nextIdx=0)):(--this.nextIdx,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));let n=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{let e=n.range.getStartPosition();this._editor.setPosition(e),this._editor.revealRangeInCenter(n.range,t)}finally{this.ignoreSelectionChange=!1}}canNavigate(){return this.ranges&&this.ranges.length>0}next(e=0){this._move(!0,e)}previous(e=0){this._move(!1,e)}dispose(){super.dispose(),this.ranges=[],this.disposed=!0}},zt={ICodeEditor:`vs.editor.ICodeEditor`,IDiffEditor:`vs.editor.IDiffEditor`},Bt=`$initialize`,Vt=!1;function Ht(e){i.Sd&&(Vt||=!0,e.message)}var Ut=class{constructor(e,t,n,r){this.vsWorker=e,this.req=t,this.method=n,this.args=r,this.type=0}},Wt=class{constructor(e,t,n,r){this.vsWorker=e,this.seq=t,this.res=n,this.err=r,this.type=1}},Gt=class{constructor(e,t,n,r){this.vsWorker=e,this.req=t,this.eventName=n,this.arg=r,this.type=2}},Kt=class{constructor(e,t,n){this.vsWorker=e,this.req=t,this.event=n,this.type=3}},qt=class{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}},Jt=class{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t){let n=String(++this._lastSentReq);return new Promise((r,i)=>{this._pendingReplies[n]={resolve:r,reject:i},this._send(new Ut(this._workerId,n,e,t))})}listen(e,t){let n=null,r=new i.Ul({onFirstListenerAdd:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,r),this._send(new Gt(this._workerId,n,e,t))},onLastListenerRemove:()=>{this._pendingEmitters.delete(n),this._send(new qt(this._workerId,n)),n=null}});return r.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return;let t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;e.err.$isError&&(n=Error(),n.name=e.err.name,n.message=e.err.message,n.stack=e.err.stack),t.reject(n);return}t.resolve(e.res)}_handleRequestMessage(e){let t=e.req;this._handler.handleMessage(e.method,e.args).then(e=>{this._send(new Wt(this._workerId,t,e,void 0))},e=>{e.detail instanceof Error&&(e.detail=i.mu(e.detail)),this._send(new Wt(this._workerId,t,void 0,i.mu(e)))})}_handleSubscribeEventMessage(e){let t=e.req,n=this._handler.handleEvent(e.eventName,e.arg)(e=>{this._send(new Kt(this._workerId,t,e))});this._pendingEvents.set(t,n)}_handleEventMessage(e){this._pendingEmitters.has(e.req)&&this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)&&(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req))}_send(e){let t=[];if(e.type===0)for(let n=0;n<e.args.length;n++)e.args[n]instanceof ArrayBuffer&&t.push(e.args[n]);else e.type===1&&e.res instanceof ArrayBuffer&&t.push(e.res);this._handler.sendMessage(e,t)}},Yt=class extends i.Xl{constructor(e,t,n){super();let r=null;this._worker=this._register(e.create(`vs/base/common/worker/simpleWorker`,e=>{this._protocol.handleMessage(e)},e=>{r?.(e)})),this._protocol=new Jt({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t)=>{if(typeof n[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` on main thread host.`));try{return Promise.resolve(n[e].apply(n,t))}catch(e){return Promise.reject(e)}},handleEvent:(e,t)=>{if(Zt(e)){let r=n[e].call(n,t);if(typeof r!=`function`)throw Error(`Missing dynamic event ${e} on main thread host.`);return r}if(Xt(e)){let t=n[e];if(typeof t!=`function`)throw Error(`Missing event ${e} on main thread host.`);return t}throw Error(`Malformed event name ${e}`)}}),this._protocol.setWorkerId(this._worker.getId());let a=null;i.gd.require!==void 0&&typeof i.gd.require.getConfig==`function`?a=i.gd.require.getConfig():i.gd.requirejs!==void 0&&(a=i.gd.requirejs.s.contexts._.config);let o=i.Tu(n);this._onModuleLoaded=this._protocol.sendMessage(Bt,[this._worker.getId(),JSON.parse(JSON.stringify(a)),t,o]);let s=(e,t)=>this._request(e,t),c=(e,t)=>this._protocol.listen(e,t);this._lazyProxy=new Promise((e,n)=>{r=n,this._onModuleLoaded.then(t=>{e(Qt(t,s,c))},e=>{n(e),this._onError(`Worker failed to load `+t,e)})})}getProxyObject(){return this._lazyProxy}_request(e,t){return new Promise((n,r)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(e,t).then(n,r)},r)})}_onError(e,t){console.error(e)}};function Xt(e){return e[0]===`o`&&e[1]===`n`&&i.Xc(e.charCodeAt(2))}function Zt(e){return/^onDynamic/.test(e)&&i.Xc(e.charCodeAt(9))}function Qt(e,t,n){let r=e=>function(){return t(e,Array.prototype.slice.call(arguments,0))},i=e=>function(t){return n(e,t)},a={};for(let t of e){if(Zt(t)){a[t]=i(t);continue}if(Xt(t)){a[t]=n(t,void 0);continue}a[t]=r(t)}return a}var $t=window.trustedTypes?.createPolicy(`defaultWorkerFactory`,{createScriptURL:e=>e});function en(e){if(i.gd.emailmakerMonacoEnvironment){if(typeof i.gd.emailmakerMonacoEnvironment.getWorker==`function`)return i.gd.emailmakerMonacoEnvironment.getWorker(`workerMain.js`,e);if(typeof i.gd.emailmakerMonacoEnvironment.getWorkerUrl==`function`){let t=i.gd.emailmakerMonacoEnvironment.getWorkerUrl(`workerMain.js`,e);return new Worker($t?$t.createScriptURL(t):t,{name:e})}}throw Error(`You must define a function emailmakerMonacoEnvironment.getWorkerUrl or emailmakerMonacoEnvironment.getWorker`)}function tn(e){return typeof e.then==`function`}var nn=class{constructor(e,t,n,r,i){this.id=t;let a=en(n);tn(a)?this.worker=a:this.worker=Promise.resolve(a),this.postMessage(e,[]),this.worker.then(e=>{e.onmessage=function(e){r(e.data)},e.onmessageerror=i,typeof e.addEventListener==`function`&&e.addEventListener(`error`,i)})}getId(){return this.id}postMessage(e,t){var n;(n=this.worker)==null||n.then(n=>n.postMessage(e,t))}dispose(){var e;(e=this.worker)==null||e.then(e=>e.terminate()),this.worker=null}},rn=class e{constructor(e){this._label=e,this._webWorkerFailedBeforeError=!1}create(t,n,r){let i=++e.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new nn(t,i,this._label||`anonymous`+i,n,e=>{Ht(e),this._webWorkerFailedBeforeError=e,r(e)})}};rn.LAST_WORKER_ID=0;var an=class{constructor(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}},on=class{constructor(e){this.source=e}getElements(){let e=this.source,t=new Int32Array(e.length);for(let n=0,r=e.length;n<r;n++)t[n]=e.charCodeAt(n);return t}};function sn(e,t,n){return new dn(new on(e),new on(t)).ComputeDiff(n).changes}var cn=class{static Assert(e,t){if(!e)throw Error(t)}},ln=class{static Copy(e,t,n,r,i){for(let a=0;a<i;a++)n[r+a]=e[t+a]}static Copy2(e,t,n,r,i){for(let a=0;a<i;a++)n[r+a]=e[t+a]}},un=class{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new an(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}},dn=class e{constructor(t,n,r=null){this.ContinueProcessingPredicate=r,this._originalSequence=t,this._modifiedSequence=n;let[i,a,o]=e._getElements(t),[s,c,l]=e._getElements(n);this._hasStrings=o&&l,this._originalStringElements=i,this._originalElementsOrHash=a,this._modifiedStringElements=s,this._modifiedElementsOrHash=c,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]==`string`}static _getElements(t){let n=t.getElements();if(e._isStringArray(n)){let e=new Int32Array(n.length);for(let t=0,r=n.length;t<r;t++)e[t]=i.ds(n[t],0);return[n,e,!0]}return n instanceof Int32Array?[[],n,!1]:[[],new Int32Array(n),!1]}ElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._modifiedElementsOrHash[t]?this._hasStrings?this._originalStringElements[e]===this._modifiedStringElements[t]:!0:!1}ElementsAreStrictEqual(t,n){return this.ElementsAreEqual(t,n)?e._getStrictElement(this._originalSequence,t)===e._getStrictElement(this._modifiedSequence,n):!1}static _getStrictElement(e,t){return typeof e.getStrictElement==`function`?e.getStrictElement(t):null}OriginalElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._originalElementsOrHash[t]?this._hasStrings?this._originalStringElements[e]===this._originalStringElements[t]:!0:!1}ModifiedElementsAreEqual(e,t){return this._modifiedElementsOrHash[e]===this._modifiedElementsOrHash[t]?this._hasStrings?this._modifiedStringElements[e]===this._modifiedStringElements[t]:!0:!1}ComputeDiff(e){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,e)}_ComputeDiff(e,t,n,r,i){let a=[!1],o=this.ComputeDiffRecursive(e,t,n,r,a);return i&&(o=this.PrettifyChanges(o)),{quitEarly:a[0],changes:o}}ComputeDiffRecursive(e,t,n,r,i){for(i[0]=!1;e<=t&&n<=r&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){let i;return n<=r?(cn.Assert(e===t+1,`originalStart should only be one more than originalEnd`),i=[new an(e,0,n,r-n+1)]):e<=t?(cn.Assert(n===r+1,`modifiedStart should only be one more than modifiedEnd`),i=[new an(e,t-e+1,n,0)]):(cn.Assert(e===t+1,`originalStart should only be one more than originalEnd`),cn.Assert(n===r+1,`modifiedStart should only be one more than modifiedEnd`),i=[]),i}let a=[0],o=[0],s=this.ComputeRecursionPoint(e,t,n,r,a,o,i),c=a[0],l=o[0];if(s!==null)return s;if(!i[0]){let a=this.ComputeDiffRecursive(e,c,n,l,i),o=[];return o=i[0]?[new an(c+1,t-(c+1)+1,l+1,r-(l+1)+1)]:this.ComputeDiffRecursive(c+1,t,l+1,r,i),this.ConcatenateChanges(a,o)}return[new an(e,t-e+1,n,r-n+1)]}WALKTRACE(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=null,y=null,b=new un,x=t,S=n,C=f[0]-h[0]-r,w=-1073741824,T=this.m_forwardHistory.length-1;do{let t=C+e;t===x||t<S&&c[t-1]<c[t+1]?(u=c[t+1],p=u-C-r,u<w&&b.MarkNextChange(),w=u,b.AddModifiedElement(u+1,p),C=t+1-e):(u=c[t-1]+1,p=u-C-r,u<w&&b.MarkNextChange(),w=u-1,b.AddOriginalElement(u,p+1),C=t-1-e),T>=0&&(c=this.m_forwardHistory[T],e=c[0],x=1,S=c.length-1)}while(--T>=-1);if(v=b.getReverseChanges(),_[0]){let e=f[0]+1,t=h[0]+1;if(v!==null&&v.length>0){let n=v[v.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}y=[new an(e,d-e+1,t,m-t+1)]}else{b=new un,x=a,S=o,C=f[0]-h[0]-s,w=1073741824,T=g?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{let e=C+i;e===x||e<S&&l[e-1]>=l[e+1]?(u=l[e+1]-1,p=u-C-s,u>w&&b.MarkNextChange(),w=u+1,b.AddOriginalElement(u+1,p+1),C=e+1-i):(u=l[e-1],p=u-C-s,u>w&&b.MarkNextChange(),w=u,b.AddModifiedElement(u+1,p+1),C=e-1-i),T>=0&&(l=this.m_reverseHistory[T],i=l[0],x=1,S=l.length-1)}while(--T>=-1);y=b.getChanges()}return this.ConcatenateChanges(v,y)}ComputeRecursionPoint(e,t,n,r,i,a,o){let s=0,c=0,l=0,u=0,d=0,f=0;e--,n--,i[0]=0,a[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];let p=t-e+(r-n),m=p+1,h=new Int32Array(m),g=new Int32Array(m),_=r-n,v=t-e,y=e-n,b=t-r,x=(v-_)%2==0;h[_]=e,g[v]=t,o[0]=!1;for(let S=1;S<=p/2+1;S++){let p=0,C=0;l=this.ClipDiagonalBound(_-S,S,_,m),u=this.ClipDiagonalBound(_+S,S,_,m);for(let e=l;e<=u;e+=2){s=e===l||e<u&&h[e-1]<h[e+1]?h[e+1]:h[e-1]+1,c=s-(e-_)-y;let n=s;for(;s<t&&c<r&&this.ElementsAreEqual(s+1,c+1);)s++,c++;if(h[e]=s,s+c>p+C&&(p=s,C=c),!x&&Math.abs(e-v)<=S-1&&s>=g[e])return i[0]=s,a[0]=c,n<=g[e]&&S<=1448?this.WALKTRACE(_,l,u,y,v,d,f,b,h,g,s,t,i,c,r,a,x,o):null}let w=(p-e+(C-n)-S)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(p,w))return o[0]=!0,i[0]=p,a[0]=C,w>0&&S<=1448?this.WALKTRACE(_,l,u,y,v,d,f,b,h,g,s,t,i,c,r,a,x,o):(e++,n++,[new an(e,t-e+1,n,r-n+1)]);d=this.ClipDiagonalBound(v-S,S,v,m),f=this.ClipDiagonalBound(v+S,S,v,m);for(let p=d;p<=f;p+=2){s=p===d||p<f&&g[p-1]>=g[p+1]?g[p+1]-1:g[p-1],c=s-(p-v)-b;let m=s;for(;s>e&&c>n&&this.ElementsAreEqual(s,c);)s--,c--;if(g[p]=s,x&&Math.abs(p-_)<=S&&s<=h[p])return i[0]=s,a[0]=c,m>=h[p]&&S<=1448?this.WALKTRACE(_,l,u,y,v,d,f,b,h,g,s,t,i,c,r,a,x,o):null}if(S<=1447){let e=new Int32Array(u-l+2);e[0]=_-l+1,ln.Copy2(h,l,e,1,u-l+1),this.m_forwardHistory.push(e),e=new Int32Array(f-d+2),e[0]=v-d+1,ln.Copy2(g,d,e,1,f-d+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(_,l,u,y,v,d,f,b,h,g,s,t,i,c,r,a,x,o)}PrettifyChanges(e){for(let t=0;t<e.length;t++){let n=e[t],r=t<e.length-1?e[t+1].originalStart:this._originalElementsOrHash.length,i=t<e.length-1?e[t+1].modifiedStart:this._modifiedElementsOrHash.length,a=n.originalLength>0,o=n.modifiedLength>0;for(;n.originalStart+n.originalLength<r&&n.modifiedStart+n.modifiedLength<i&&(!a||this.OriginalElementsAreEqual(n.originalStart,n.originalStart+n.originalLength))&&(!o||this.ModifiedElementsAreEqual(n.modifiedStart,n.modifiedStart+n.modifiedLength));){let e=this.ElementsAreStrictEqual(n.originalStart,n.modifiedStart);if(this.ElementsAreStrictEqual(n.originalStart+n.originalLength,n.modifiedStart+n.modifiedLength)&&!e)break;n.originalStart++,n.modifiedStart++}let s=[null];if(t<e.length-1&&this.ChangesOverlap(e[t],e[t+1],s)){e[t]=s[0],e.splice(t+1,1),t--;continue}}for(let t=e.length-1;t>=0;t--){let n=e[t],r=0,i=0;if(t>0){let n=e[t-1];r=n.originalStart+n.originalLength,i=n.modifiedStart+n.modifiedLength}let a=n.originalLength>0,o=n.modifiedLength>0,s=0,c=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){let t=n.originalStart-e,l=n.modifiedStart-e;if(t<r||l<i||a&&!this.OriginalElementsAreEqual(t,t+n.originalLength)||o&&!this.ModifiedElementsAreEqual(l,l+n.modifiedLength))break;let u=(t===r&&l===i?5:0)+this._boundaryScore(t,n.originalLength,l,n.modifiedLength);u>c&&(c=u,s=e)}n.originalStart-=s,n.modifiedStart-=s;let l=[null];if(t>0&&this.ChangesOverlap(e[t-1],e[t],l)){e[t-1]=l[0],e.splice(t,1),t++;continue}}if(this._hasStrings)for(let t=1,n=e.length;t<n;t++){let n=e[t-1],r=e[t],i=r.originalStart-n.originalStart-n.originalLength,a=n.originalStart,o=r.originalStart+r.originalLength,s=o-a,c=n.modifiedStart,l=r.modifiedStart+r.modifiedLength,u=l-c;if(i<5&&s<20&&u<20){let e=this._findBetterContiguousSequence(a,s,c,u,i);if(e){let[t,a]=e;(t!==n.originalStart+n.originalLength||a!==n.modifiedStart+n.modifiedLength)&&(n.originalLength=t-n.originalStart,n.modifiedLength=a-n.modifiedStart,r.originalStart=t+i,r.modifiedStart=a+i,r.originalLength=o-r.originalStart,r.modifiedLength=l-r.modifiedStart)}}}return e}_findBetterContiguousSequence(e,t,n,r,i){if(t<i||r<i)return null;let a=e+t-i+1,o=n+r-i+1,s=0,c=0,l=0;for(let t=e;t<a;t++)for(let e=n;e<o;e++){let n=this._contiguousSequenceScore(t,e,i);n>0&&n>s&&(s=n,c=t,l=e)}return s>0?[c,l]:null}_contiguousSequenceScore(e,t,n){let r=0;for(let i=0;i<n;i++){if(!this.ElementsAreEqual(e+i,t+i))return 0;r+=this._originalStringElements[e+i].length}return r}_OriginalIsBoundary(e){return e<=0||e>=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){let n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){let n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)}ConcatenateChanges(e,t){let n=[];if(e.length===0||t.length===0)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){let r=Array(e.length+t.length-1);return ln.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],ln.Copy(t,1,r,e.length,t.length-1),r}else{let n=Array(e.length+t.length);return ln.Copy(e,0,n,0,e.length),ln.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(cn.Assert(e.originalStart<=t.originalStart,`Left change is not less than or equal to right change`),cn.Assert(e.modifiedStart<=t.modifiedStart,`Left change is not less than or equal to right change`),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){let r=e.originalStart,i=e.originalLength,a=e.modifiedStart,o=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(i=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(o=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new an(r,i,a,o),!0}else return n[0]=null,!1}ClipDiagonalBound(e,t,n,r){if(e>=0&&e<r)return e;let i=n,a=r-n-1,o=t%2==0;return e<0?o===(i%2==0)?0:1:o===(a%2==0)?r-1:r-2}},fn=3;function pn(e,t,n,r){return new dn(e,t,n).ComputeDiff(r)}var mn=class{constructor(e){let t=[],n=[];for(let r=0,i=e.length;r<i;r++)t[r]=bn(e[r],1),n[r]=xn(e[r],1);this.lines=e,this._startColumns=t,this._endColumns=n}getElements(){let e=[];for(let t=0,n=this.lines.length;t<n;t++)e[t]=this.lines[t].substring(this._startColumns[t]-1,this._endColumns[t]-1);return e}getStrictElement(e){return this.lines[e]}getStartLineNumber(e){return e+1}getEndLineNumber(e){return e+1}createCharSequence(e,t,n){let r=[],i=[],a=[],o=0;for(let s=t;s<=n;s++){let t=this.lines[s],c=e?this._startColumns[s]:1,l=e?this._endColumns[s]:t.length+1;for(let e=c;e<l;e++)r[o]=t.charCodeAt(e-1),i[o]=s+1,a[o]=e,o++;!e&&s<n&&(r[o]=10,i[o]=s+1,a[o]=t.length+1,o++)}return new hn(r,i,a)}},hn=class{constructor(e,t,n){this._charCodes=e,this._lineNumbers=t,this._columns=n}toString(){return`[`+this._charCodes.map((e,t)=>(e===10?`\\n`:String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`).join(`, `)+`]`}_assertIndex(e,t){if(e<0||e>=t.length)throw Error(`Illegal index`)}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return e===-1?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),this._charCodes[e]===10?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return e===-1?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),this._charCodes[e]===10?1:this._columns[e]+1)}},gn=class e{constructor(e,t,n,r,i,a,o,s){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=r,this.modifiedStartLineNumber=i,this.modifiedStartColumn=a,this.modifiedEndLineNumber=o,this.modifiedEndColumn=s}static createFromDiffChange(t,n,r){return new e(n.getStartLineNumber(t.originalStart),n.getStartColumn(t.originalStart),n.getEndLineNumber(t.originalStart+t.originalLength-1),n.getEndColumn(t.originalStart+t.originalLength-1),r.getStartLineNumber(t.modifiedStart),r.getStartColumn(t.modifiedStart),r.getEndLineNumber(t.modifiedStart+t.modifiedLength-1),r.getEndColumn(t.modifiedStart+t.modifiedLength-1))}};function _n(e){if(e.length<=1)return e;let t=[e[0]],n=t[0];for(let r=1,i=e.length;r<i;r++){let i=e[r],a=i.originalStart-(n.originalStart+n.originalLength),o=i.modifiedStart-(n.modifiedStart+n.modifiedLength);Math.min(a,o)<fn?(n.originalLength=i.originalStart+i.originalLength-n.originalStart,n.modifiedLength=i.modifiedStart+i.modifiedLength-n.modifiedStart):(t.push(i),n=i)}return t}var vn=class e{constructor(e,t,n,r,i){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=r,this.charChanges=i}static createFromDiffResult(t,n,r,i,a,o,s){let c,l,u,d,f;if(n.originalLength===0?(c=r.getStartLineNumber(n.originalStart)-1,l=0):(c=r.getStartLineNumber(n.originalStart),l=r.getEndLineNumber(n.originalStart+n.originalLength-1)),n.modifiedLength===0?(u=i.getStartLineNumber(n.modifiedStart)-1,d=0):(u=i.getStartLineNumber(n.modifiedStart),d=i.getEndLineNumber(n.modifiedStart+n.modifiedLength-1)),o&&n.originalLength>0&&n.originalLength<20&&n.modifiedLength>0&&n.modifiedLength<20&&a()){let e=r.createCharSequence(t,n.originalStart,n.originalStart+n.originalLength-1),o=i.createCharSequence(t,n.modifiedStart,n.modifiedStart+n.modifiedLength-1);if(e.getElements().length>0&&o.getElements().length>0){let t=pn(e,o,a,!0).changes;s&&(t=_n(t)),f=[];for(let n=0,r=t.length;n<r;n++)f.push(gn.createFromDiffChange(t[n],e,o))}}return new e(c,l,u,d,f)}},yn=class{constructor(e,t,n){this.shouldComputeCharChanges=n.shouldComputeCharChanges,this.shouldPostProcessCharChanges=n.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=n.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=n.shouldMakePrettyDiff,this.originalLines=e,this.modifiedLines=t,this.original=new mn(e),this.modified=new mn(t),this.continueLineDiff=Sn(n.maxComputationTime),this.continueCharDiff=Sn(n.maxComputationTime===0?0:Math.min(n.maxComputationTime,5e3))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0)return this.modified.lines.length===1&&this.modified.lines[0].length===0?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};let e=pn(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),t=e.changes,n=e.quitEarly;if(this.shouldIgnoreTrimWhitespace){let e=[];for(let n=0,r=t.length;n<r;n++)e.push(vn.createFromDiffResult(this.shouldIgnoreTrimWhitespace,t[n],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:n,changes:e}}let r=[],i=0,a=0;for(let e=-1,n=t.length;e<n;e++){let o=e+1<n?t[e+1]:null,s=o?o.originalStart:this.originalLines.length,c=o?o.modifiedStart:this.modifiedLines.length;for(;i<s&&a<c;){let e=this.originalLines[i],t=this.modifiedLines[a];if(e!==t){{let n=bn(e,1),o=bn(t,1);for(;n>1&&o>1&&e.charCodeAt(n-2)===t.charCodeAt(o-2);)n--,o--;(n>1||o>1)&&this._pushTrimWhitespaceCharChange(r,i+1,1,n,a+1,1,o)}{let n=xn(e,1),o=xn(t,1),s=e.length+1,c=t.length+1;for(;n<s&&o<c&&e.charCodeAt(n-1)===e.charCodeAt(o-1);)n++,o++;(n<s||o<c)&&this._pushTrimWhitespaceCharChange(r,i+1,n,s,a+1,o,c)}}i++,a++}o&&(r.push(vn.createFromDiffResult(this.shouldIgnoreTrimWhitespace,o,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),i+=o.originalLength,a+=o.modifiedLength)}return{quitEarly:n,changes:r}}_pushTrimWhitespaceCharChange(e,t,n,r,i,a,o){if(this._mergeTrimWhitespaceCharChange(e,t,n,r,i,a,o))return;let s;this.shouldComputeCharChanges&&(s=[new gn(t,n,t,r,i,a,i,o)]),e.push(new vn(t,t,i,i,s))}_mergeTrimWhitespaceCharChange(e,t,n,r,i,a,o){let s=e.length;if(s===0)return!1;let c=e[s-1];return c.originalEndLineNumber===0||c.modifiedEndLineNumber===0?!1:c.originalEndLineNumber+1===t&&c.modifiedEndLineNumber+1===i?(c.originalEndLineNumber=t,c.modifiedEndLineNumber=i,this.shouldComputeCharChanges&&c.charChanges&&c.charChanges.push(new gn(t,n,t,r,i,a,i,o)),!0):!1}};function bn(e,t){let n=i.Lc(e);return n===-1?t:n+1}function xn(e,t){let n=i.Zc(e);return n===-1?t:n+2}function Sn(e){if(e===0)return()=>!0;let t=Date.now();return()=>Date.now()-t<e}var Cn=class{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=i.ss(e);let n=this.values,r=this.prefixSum,a=t.length;return a===0?!1:(this.values=new Uint32Array(n.length+a),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+a),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=i.ss(e),t=i.ss(t),this.values[e]===t?!1:(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=i.ss(e),t=i.ss(t);let n=this.values,r=this.prefixSum;if(e>=n.length)return!1;let a=n.length-e;return t>=a&&(t=a),t===0?!1:(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=i.ss(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,a=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],a=i-this.values[r],e<a)n=r-1;else if(e>=i)t=r+1;else break;return new Tn(r,e-a)}},wn=class{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();let t=this._indexBySum[e];return new Tn(t,e-(t>0?this._prefixSum[t-1]:0))}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=i.Ru(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e<t;e++){let t=this._values[e],n=e>0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+t;for(let r=0;r<t;r++)this._indexBySum[n+r]=e}this._prefixSum.length=this._values.length,this._indexBySum.length=this._prefixSum[this._prefixSum.length-1],this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(e,t){this._values[e]!==t&&(this._values[e]=t,this._invalidate(e))}},Tn=class{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}},En=class{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);let t=e.changes;for(let e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new i.kl(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r<t;r++)n[r]=this._lines[r].length+e;this._lineStarts=new Cn(n)}}_setLineText(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.setValue(e,this._lines[e].length+this._eol.length)}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1));return}this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t){if(t.length===0)return;let n=i.al(t);if(n.length===1){this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1));return}n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);let r=new Uint32Array(n.length-1);for(let t=1;t<n.length;t++)this._lines.splice(e.lineNumber+t-1,0,n[t]),r[t-1]=n[t].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}},Dn=class{constructor(e,t,n){let r=new Uint8Array(e*t);for(let i=0,a=e*t;i<a;i++)r[i]=n;this._data=r,this.rows=e,this.cols=t}get(e,t){return this._data[e*this.cols+t]}set(e,t,n){this._data[e*this.cols+t]=n}},On=class{constructor(e){let t=0,n=0;for(let r=0,i=e.length;r<i;r++){let[i,a,o]=e[r];a>t&&(t=a),i>n&&(n=i),o>n&&(n=o)}t++,n++;let r=new Dn(n,t,0);for(let t=0,n=e.length;t<n;t++){let[n,i,a]=e[t];r.set(n,i,a)}this._states=r,this._maxCharCode=t}nextState(e,t){return t<0||t>=this._maxCharCode?0:this._states.get(e,t)}},kn=null;function An(){return kn===null&&(kn=new On([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),kn}var jn=null;function Mn(){if(jn===null){jn=new i.as(0);for(let e=0;e<35;e++)jn.set(` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`.charCodeAt(e),1);for(let e=0;e<4;e++)jn.set(`.,;:`.charCodeAt(e),2)}return jn}var Nn=class e{static _createLink(e,t,n,r,i){let a=i-1;do{let n=t.charCodeAt(a);if(e.get(n)!==2)break;a--}while(a>r);if(r>0){let e=t.charCodeAt(r-1),n=t.charCodeAt(a);(e===40&&n===41||e===91&&n===93||e===123&&n===125)&&a--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:a+2},url:t.substring(r,a+1)}}static computeLinks(t,n=An()){let r=Mn(),i=[];for(let a=1,o=t.getLineCount();a<=o;a++){let o=t.getLineContent(a),s=o.length,c=0,l=0,u=0,d=1,f=!1,p=!1,m=!1,h=!1;for(;c<s;){let t=!1,s=o.charCodeAt(c);if(d===13){let n;switch(s){case 40:f=!0,n=0;break;case 41:n=f?0:1;break;case 91:m=!0,p=!0,n=0;break;case 93:m=!1,n=p?0:1;break;case 123:h=!0,n=0;break;case 125:n=h?0:1;break;case 39:n=u===39?1:0;break;case 34:n=u===34?1:0;break;case 96:n=u===96?1:0;break;case 42:n=u===42?1:0;break;case 124:n=u===124?1:0;break;case 32:n=m?0:1;break;default:n=r.get(s)}n===1&&(i.push(e._createLink(r,o,a,l,c)),t=!0)}else if(d===12){let e;s===91?(p=!0,e=0):e=r.get(s),e===1?t=!0:d=13}else d=n.nextState(d,s),d===0&&(t=!0);t&&(d=1,f=!1,p=!1,h=!1,l=c+1,u=s),c++}d===13&&i.push(e._createLink(r,o,a,l,s))}return i}};function Pn(e){return!e||typeof e.getLineCount!=`function`||typeof e.getLineContent!=`function`?[]:Nn.computeLinks(e)}var Fn=class{constructor(){this._defaultValueSet=[[`true`,`false`],[`True`,`False`],[`Private`,`Public`,`Friend`,`ReadOnly`,`Partial`,`Protected`,`WriteOnly`],[`public`,`protected`,`private`]]}navigateValueSet(e,t,n,r,i){if(e&&t){let n=this.doNavigateValueSet(t,i);if(n)return{range:e,value:n}}if(n&&r){let e=this.doNavigateValueSet(r,i);if(e)return{range:n,value:e}}return null}doNavigateValueSet(e,t){let n=this.numberReplace(e,t);return n===null?this.textReplace(e,t):n}numberReplace(e,t){let n=10**(e.length-(e.lastIndexOf(`.`)+1)),r=Number(e),i=parseFloat(e);return!isNaN(r)&&!isNaN(i)&&r===i?r===0&&!t?null:(r=Math.floor(r*n),r+=t?n:-n,String(r/n)):null}textReplace(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)}valueSetsReplace(e,t,n){let r=null;for(let i=0,a=e.length;r===null&&i<a;i++)r=this.valueSetReplace(e[i],t,n);return r}valueSetReplace(e,t,n){let r=e.indexOf(t);return r>=0?(r+=n?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}};Fn.INSTANCE=new Fn;var In=class{static computeUnicodeHighlights(e,t,n){let r=n?n.startLineNumber:1,a=n?n.endLineNumber:e.getLineCount(),o=new Rn(t),s=o.getCandidateCodePoints(),c;c=RegExp(s===`allNonBasicAscii`?`[^\\t\\n\\r\\x20-\\x7E]`:`${Ln(Array.from(s))}`,`g`);let l=new i.rs(null,c),u=[],d=!1,f,p=0,m=0,h=0;forLoop:for(let t=r,n=a;t<=n;t++){let n=e.getLineContent(t),r=n.length;l.reset(0);do if(f=l.next(n),f){let e=f.index,a=f.index+f[0].length;if(e>0){let t=n.charCodeAt(e-1);i.qc(t)&&e--}if(a+1<r){let e=n.charCodeAt(a-1);i.qc(e)&&a++}let s=n.substring(e,a),c=i.fd(e+1,i.ld,n,0),l=o.shouldHighlightNonBasicASCII(s,c?c.word:null);if(l!==0){if(l===3?p++:l===2?m++:l===1?h++:i.Su(l),u.length>=1e3){d=!0;break forLoop}u.push(new i.Ol(t,e+1,t,a+1))}}while(f)}return{ranges:u,hasMore:d,ambiguousCharacterCount:p,invisibleCharacterCount:m,nonBasicAsciiCharacterCount:h}}static computeUnicodeHighlightReason(e,t){let n=new Rn(t);switch(n.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{let r=e.codePointAt(0),a=n.ambiguousCharacters.getPrimaryConfusable(r),o=i.Tc.getLocales().filter(e=>!i.Tc.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(r));return{kind:0,confusableWith:String.fromCodePoint(a),notAmbiguousInLocales:o}}case 1:return{kind:2}}}};function Ln(e,t){return`[${i.Ic(e.map(e=>String.fromCodePoint(e)).join(``))}]`}var Rn=class{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=i.Tc.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return`allNonBasicAscii`;let e=new Set;if(this.options.invisibleCharacters)for(let t of i.Ec.codePoints)zn(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(let t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(let t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){let n=e.codePointAt(0);if(this.allowedCodePoints.has(n))return 0;if(this.options.nonBasicASCII)return 1;let r=!1,a=!1;if(t)for(let e of t){let t=e.codePointAt(0),n=i.Uc(e);r||=n,!n&&!this.ambiguousCharacters.isAmbiguous(t)&&!i.Ec.isInvisibleCharacter(t)&&(a=!0)}return!r&&a?0:this.options.invisibleCharacters&&!zn(e)&&i.Ec.isInvisibleCharacter(n)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(n)?3:0}};function zn(e){return e===` `||e===`
|
|
5
|
+
`||e===` `}var Bn=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Vn=class extends En{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,t){let n=i.fd(e.column,i.dd(t),this._lines[e.lineNumber-1],0);return n?new i.Ol(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){let t=this._lines,n=this._wordenize.bind(this),r=0,i=``,a=0,o=[];return{*[Symbol.iterator](){for(;;)if(a<o.length){let e=i.substring(o[a].start,o[a].end);a+=1,yield e}else if(r<t.length)i=t[r],o=n(i,e),a=0,r+=1;else break}}}getLineWords(e,t){let n=this._lines[e-1],r=this._wordenize(n,t),i=[];for(let e of r)i.push({word:n.substring(e.start,e.end),startColumn:e.start+1,endColumn:e.end+1});return i}_wordenize(e,t){let n=[],r;for(t.lastIndex=0;(r=t.exec(e))&&r[0].length!==0;)n.push({start:r.index,end:r.index+r[0].length});return n}getValueInRange(e){if(e=this._validateRange(e),e.startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);let t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(let e=n+1;e<r;e++)i.push(this._lines[e]);return i.push(this._lines[r].substring(0,e.endColumn-1)),i.join(t)}offsetAt(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getPrefixSum(e.lineNumber-2)+(e.column-1)}positionAt(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();let t=this._lineStarts.getIndexOf(e),n=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,n)}}_validateRange(e){let t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||n.lineNumber!==e.endLineNumber||n.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}:e}_validatePosition(e){if(!i.kl.isIPosition(e))throw Error(`bad position`);let{lineNumber:t,column:n}=e,r=!1;if(t<1)t=1,n=1,r=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{let e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}},Hn=class e{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){let e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}acceptNewModel(e){this._models[e.url]=new Vn(i.Al.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}computeUnicodeHighlights(e,t,n){return Bn(this,void 0,void 0,function*(){let r=this._getModel(e);return r?In.computeUnicodeHighlights(r,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(t,n,r,i){return Bn(this,void 0,void 0,function*(){let a=this._getModel(t),o=this._getModel(n);return!a||!o?null:e.computeDiff(a,o,r,i)})}static computeDiff(e,t,n,r){let i=new yn(e.getLinesContent(),t.getLinesContent(),{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0,maxComputationTime:r}).computeDiff(),a=i.changes.length>0?!1:this._modelsAreIdentical(e,t);return{quitEarly:i.quitEarly,identical:a,changes:i.changes}}static _modelsAreIdentical(e,t){let n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let r=1;r<=n;r++)if(e.getLineContent(r)!==t.getLineContent(r))return!1;return!0}computeMoreMinimalEdits(t,n){return Bn(this,void 0,void 0,function*(){let r=this._getModel(t);if(!r)return n;let a=[],o;n=n.slice(0).sort((e,t)=>e.range&&t.range?i.Ol.compareRangesUsingStarts(e.range,t.range):(e.range?0:1)-(t.range?0:1));for(let{range:t,text:s,eol:c}of n){if(typeof c==`number`&&(o=c),i.Ol.isEmpty(t)&&!s)continue;let n=r.getValueInRange(t);if(s=s.replace(/\r\n|\n|\r/g,r.eol),n===s)continue;if(Math.max(s.length,n.length)>e._diffLimit){a.push({range:t,text:s});continue}let l=sn(n,s,!1),u=r.offsetAt(i.Ol.lift(t).getStartPosition());for(let e of l){let t=r.positionAt(u+e.originalStart),n=r.positionAt(u+e.originalStart+e.originalLength),i={text:s.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};r.getValueInRange(i.range)!==i.text&&a.push(i)}}return typeof o==`number`&&a.push({eol:o,text:``,range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),a})}computeLinks(e){return Bn(this,void 0,void 0,function*(){let t=this._getModel(e);return t?Pn(t):null})}textualSuggest(t,n,r,a){return Bn(this,void 0,void 0,function*(){let o=new i.Yl(!0),s=new RegExp(r,a),c=new Set;outer:for(let r of t){let t=this._getModel(r);if(t){for(let r of t.words(s))if(!(r===n||!isNaN(Number(r)))&&(c.add(r),c.size>e._suggestionsLimit))break outer}}return{words:Array.from(c),duration:o.elapsed()}})}computeWordRanges(e,t,n,r){return Bn(this,void 0,void 0,function*(){let i=this._getModel(e);if(!i)return Object.create(null);let a=new RegExp(n,r),o=Object.create(null);for(let e=t.startLineNumber;e<t.endLineNumber;e++){let t=i.getLineWords(e,a);for(let n of t){if(!isNaN(Number(n.word)))continue;let t=o[n.word];t||(t=[],o[n.word]=t),t.push({startLineNumber:e,startColumn:n.startColumn,endLineNumber:e,endColumn:n.endColumn})}}return o})}navigateValueSet(e,t,n,r,i){return Bn(this,void 0,void 0,function*(){let a=this._getModel(e);if(!a)return null;let o=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});let s=a.getValueInRange(t),c=a.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!c)return null;let l=a.getValueInRange(c);return Fn.INSTANCE.navigateValueSet(t,s,c,l,n)})}loadForeignModule(e,t,n){let r={host:i.wu(n,(e,t)=>this._host.fhr(e,t)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(r,t),Promise.resolve(i.Tu(this._foreignModule))):Promise.reject(Error(`Unexpected usage`))}fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!=`function`)return Promise.reject(Error(`Missing requestHandler or method: `+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}};Hn._diffLimit=1e5,Hn._suggestionsLimit=1e4,typeof importScripts==`function`&&(i.gd.monaco=St());var Un=i.mc(`textResourceConfigurationService`),Wn=i.mc(`textResourcePropertiesService`),Gn=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Kn=function(e,t){return function(n,r){t(n,r,e)}},qn=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Jn=60*1e3,Yn=300*1e3;function Xn(e,t){let n=e.getModel(t);return!(!n||n.isTooLargeForSyncing())}var Zn=class extends i.Xl{constructor(e,t,n,r,i){super(),this._modelService=e,this._workerManager=this._register(new $n(this._modelService,r)),this._logService=n,this._register(i.linkProvider.register({language:`*`,hasAccessToAllModels:!0},{provideLinks:(e,t)=>Xn(this._modelService,e.uri)?this._workerManager.withWorker().then(t=>t.computeLinks(e.uri)).then(e=>e&&{links:e}):Promise.resolve({links:[]})})),this._register(i.completionProvider.register(`*`,new Qn(this._workerManager,t,this._modelService,r)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return Xn(this._modelService,e)}computedUnicodeHighlights(e,t,n){return this._workerManager.withWorker().then(r=>r.computedUnicodeHighlights(e,t,n))}computeDiff(e,t,n,r){return this._workerManager.withWorker().then(i=>i.computeDiff(e,t,n,r))}computeMoreMinimalEdits(e,t){if(i.$u(t)){if(!Xn(this._modelService,e))return Promise.resolve(t);let n=i.Yl.create(!0),r=this._workerManager.withWorker().then(n=>n.computeMoreMinimalEdits(e,t));return r.finally(()=>this._logService.trace(`FORMAT#computeMoreMinimalEdits`,e.toString(!0),n.elapsed())),Promise.race([r,i.ks(1e3).then(()=>t)])}else return Promise.resolve(void 0)}canNavigateValueSet(e){return Xn(this._modelService,e)}navigateValueSet(e,t,n){return this._workerManager.withWorker().then(r=>r.navigateValueSet(e,t,n))}canComputeWordRanges(e){return Xn(this._modelService,e)}computeWordRanges(e,t){return this._workerManager.withWorker().then(n=>n.computeWordRanges(e,t))}};Zn=Gn([Kn(0,i.As),Kn(1,Un),Kn(2,i.$o),Kn(3,i.Ps),Kn(4,i.Zo)],Zn);var Qn=class{constructor(e,t,n,r){this.languageConfigurationService=r,this._debugDisplayName=`wordbasedCompletions`,this._workerManager=e,this._configurationService=t,this._modelService=n}provideCompletionItems(e,t){return qn(this,void 0,void 0,function*(){let n=this._configurationService.getValue(e.uri,t,`editor`);if(!n.wordBasedSuggestions)return;let r=[];if(n.wordBasedSuggestionsMode===`currentDocument`)Xn(this._modelService,e.uri)&&r.push(e.uri);else for(let t of this._modelService.getModels())Xn(this._modelService,t.uri)&&(t===e?r.unshift(t.uri):(n.wordBasedSuggestionsMode===`allDocuments`||t.getLanguageId()===e.getLanguageId())&&r.push(t.uri));if(r.length===0)return;let a=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),o=e.getWordAtPosition(t),s=o?new i.Ol(t.lineNumber,o.startColumn,t.lineNumber,o.endColumn):i.Ol.fromPositions(t),c=s.setEndPosition(t.lineNumber,t.column),l=yield(yield this._workerManager.withWorker()).textualSuggest(r,o?.word,a);if(l)return{duration:l.duration,suggestions:l.words.map(e=>({kind:18,label:e,insertText:e,range:{insert:c,replace:s}}))}})}},$n=class extends i.Xl{constructor(e,t){super(),this.languageConfigurationService=t,this._modelService=e,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new i.gs).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(Yn/2)),this._register(this._modelService.onModelRemoved(e=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&=(this._editorWorkerClient.dispose(),null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&new Date().getTime()-this._lastWorkerUsedTime>Yn&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||=new rr(this._modelService,!1,`editorWorkerService`,this.languageConfigurationService),Promise.resolve(this._editorWorkerClient)}},er=class extends i.Xl{constructor(e,t,n){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){let e=new i.gs;e.cancelAndSet(()=>this._checkStopModelSync(),Math.round(Jn/2)),this._register(e)}}dispose(){for(let e in this._syncedModels)i.nu(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t){for(let n of e){let e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=new Date().getTime())}}_checkStopModelSync(){let e=new Date().getTime(),t=[];for(let n in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[n]>Jn&&t.push(n);for(let e of t)this._stopModelSync(e)}_beginModelSync(e,t){let n=this._modelService.getModel(e);if(!n||!t&&n.isTooLargeForSyncing())return;let r=e.toString();this._proxy.acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});let a=new i.Zl;a.add(n.onDidChangeContent(e=>{this._proxy.acceptModelChanged(r.toString(),e)})),a.add(n.onWillDispose(()=>{this._stopModelSync(r)})),a.add(i.au(()=>{this._proxy.acceptRemovedModel(r)})),this._syncedModels[r]=a}_stopModelSync(e){let t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],i.nu(t)}},tr=class{constructor(e){this._instance=e,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}},nr=class{constructor(e){this._workerClient=e}fhr(e,t){return this._workerClient.fhr(e,t)}},rr=class extends i.Xl{constructor(e,t,n,r){super(),this.languageConfigurationService=r,this._disposed=!1,this._modelService=e,this._keepIdleModels=t,this._workerFactory=new rn(n),this._worker=null,this._modelManager=null}fhr(e,t){throw Error(`Not implemented!`)}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new Yt(this._workerFactory,`vs/editor/common/services/editorSimpleWorker`,new nr(this)))}catch(e){Ht(e),this._worker=new tr(new Hn(new nr(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,e=>(Ht(e),this._worker=new tr(new Hn(new nr(this),null)),this._getOrCreateWorker().getProxyObject()))}_getOrCreateModelManager(e){return this._modelManager||=this._register(new er(e,this._modelService,this._keepIdleModels)),this._modelManager}_withSyncedResources(e,t=!1){return qn(this,void 0,void 0,function*(){return this._disposed?Promise.reject(i.cu()):this._getProxy().then(n=>(this._getOrCreateModelManager(n).ensureSyncedResources(e,t),n))})}computedUnicodeHighlights(e,t,n){return this._withSyncedResources([e]).then(r=>r.computeUnicodeHighlights(e.toString(),t,n))}computeDiff(e,t,n,r){return this._withSyncedResources([e,t],!0).then(i=>i.computeDiff(e.toString(),t.toString(),n,r))}computeMoreMinimalEdits(e,t){return this._withSyncedResources([e]).then(n=>n.computeMoreMinimalEdits(e.toString(),t))}computeLinks(e){return this._withSyncedResources([e]).then(t=>t.computeLinks(e.toString()))}textualSuggest(e,t,n){return qn(this,void 0,void 0,function*(){let r=yield this._withSyncedResources(e),a=n.source,o=i.tl(n);return r.textualSuggest(e.map(e=>e.toString()),t,a,o)})}computeWordRanges(e,t){return this._withSyncedResources([e]).then(n=>{let r=this._modelService.getModel(e);if(!r)return Promise.resolve(null);let a=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),o=a.source,s=i.tl(a);return n.computeWordRanges(e.toString(),t,o,s)})}navigateValueSet(e,t,n){return this._withSyncedResources([e]).then(r=>{let a=this._modelService.getModel(e);if(!a)return null;let o=this.languageConfigurationService.getLanguageConfiguration(a.getLanguageId()).getWordDefinition(),s=o.source,c=i.tl(o);return r.navigateValueSet(e.toString(),t,n,s,c)})}dispose(){super.dispose(),this._disposed=!0}};function ir(e,t,n){return new ar(e,t,n)}var ar=class extends rr{constructor(e,t,n){super(e,n.keepIdleModels||!1,n.label,t),this._foreignModuleId=n.moduleId,this._foreignModuleCreateData=n.createData||null,this._foreignModuleHost=n.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` or missing main thread foreign host.`));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(e){return Promise.reject(e)}}_getForeignProxy(){return this._foreignProxy||=this._getProxy().then(e=>{let t=this._foreignModuleHost?i.Tu(this._foreignModuleHost):[];return e.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then(t=>{this._foreignModuleCreateData=null;let n=(t,n)=>e.fmr(t,n),r=(e,t)=>function(){return t(e,Array.prototype.slice.call(arguments,0))},i={};for(let e of t)i[e]=r(e,n);return i})}),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this._withSyncedResources(e).then(e=>this.getProxy())}},or=class e{constructor(e,t,n,r){this.startColumn=e,this.endColumn=t,this.className=n,this.type=r,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(t,n){let r=t.length;if(r!==n.length)return!1;for(let i=0;i<r;i++)if(!e._equals(t[i],n[i]))return!1;return!0}static extractWrapped(t,n,r){if(t.length===0)return t;let i=n+1,a=r+1,o=r-n,s=[],c=0;for(let n of t)n.endColumn<=i||n.startColumn>=a||(s[c++]=new e(Math.max(1,n.startColumn-i+1),Math.min(o+1,n.endColumn-i+1),n.className,n.type));return s}static filter(t,n,r,i){if(t.length===0)return[];let a=[],o=0;for(let s=0,c=t.length;s<c;s++){let c=t[s],l=c.range;if(l.endLineNumber<n||l.startLineNumber>n||l.isEmpty()&&(c.type===0||c.type===3))continue;let u=l.startLineNumber===n?l.startColumn:r,d=l.endLineNumber===n?l.endColumn:i;a[o++]=new e(u,d,c.inlineClassName,c.type)}return a}static _typeCompare(e,t){let n=[2,0,1,3];return n[e]-n[t]}static compare(t,n){if(t.startColumn!==n.startColumn)return t.startColumn-n.startColumn;if(t.endColumn!==n.endColumn)return t.endColumn-n.endColumn;let r=e._typeCompare(t.type,n.type);return r===0?t.className===n.className?0:t.className<n.className?-1:1:r}},sr=class{constructor(e,t,n,r){this.startOffset=e,this.endOffset=t,this.className=n,this.metadata=r}},cr=class e{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(e){let t=0;for(let n=0,r=e.length;n<r;n++)t|=e[n];return t}consumeLowerThan(t,n,r){for(;this.count>0&&this.stopOffsets[0]<t;){let t=0;for(;t+1<this.count&&this.stopOffsets[t]===this.stopOffsets[t+1];)t++;r.push(new sr(n,this.stopOffsets[t],this.classNames.join(` `),e._metadata(this.metadata))),n=this.stopOffsets[t]+1,this.stopOffsets.splice(0,t+1),this.classNames.splice(0,t+1),this.metadata.splice(0,t+1),this.count-=t+1}return this.count>0&&n<t&&(r.push(new sr(n,t-1,this.classNames.join(` `),e._metadata(this.metadata))),n=t),n}insert(e,t,n){if(this.count===0||this.stopOffsets[this.count-1]<=e)this.stopOffsets.push(e),this.classNames.push(t),this.metadata.push(n);else for(let r=0;r<this.count;r++)if(this.stopOffsets[r]>=e){this.stopOffsets.splice(r,0,e),this.classNames.splice(r,0,t),this.metadata.splice(r,0,n);break}this.count++}},lr=class{static normalize(e,t){if(t.length===0)return[];let n=[],r=new cr,a=0;for(let o=0,s=t.length;o<s;o++){let s=t[o],c=s.startColumn,l=s.endColumn,u=s.className,d=s.type===1?2:s.type===2?4:0;if(c>1){let t=e.charCodeAt(c-2);i.qc(t)&&c--}if(l>1){let t=e.charCodeAt(l-2);i.qc(t)&&l--}let f=c-1,p=l-2;a=r.consumeLowerThan(f,a,n),r.count===0&&(a=f),r.insert(p,u,d)}return r.consumeLowerThan(1073741824,a,n),n}},A=class{constructor(e,t,n,r){this.endIndex=e,this.type=t,this.metadata=n,this.containsRTL=r,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}},ur=class{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}},dr=class{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.continuesWithWrappedLine=r,this.isBasicASCII=i,this.containsRTL=a,this.fauxIndentLength=o,this.lineTokens=s,this.lineDecorations=c.sort(or.compare),this.tabSize=l,this.startVisibleColumn=u,this.spaceWidth=d,this.stopRenderingLineAfter=m,this.renderWhitespace=h===`all`?4:h===`boundary`?1:h===`selection`?2:h===`trailing`?3:0,this.renderControlCharacters=g,this.fontLigatures=_,this.selectionsOnLine=v&&v.sort((e,t)=>e.startOffset<t.startOffset?-1:1),Math.abs(p-d)<Math.abs(f-d)?(this.renderSpaceWidth=p,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=f,this.renderSpaceCharCode=183)}sameSelection(e){if(this.selectionsOnLine===null)return e===null;if(e===null||e.length!==this.selectionsOnLine.length)return!1;for(let t=0;t<this.selectionsOnLine.length;t++)if(!this.selectionsOnLine[t].equals(e[t]))return!1;return!0}equals(e){return this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineContent===e.lineContent&&this.continuesWithWrappedLine===e.continuesWithWrappedLine&&this.isBasicASCII===e.isBasicASCII&&this.containsRTL===e.containsRTL&&this.fauxIndentLength===e.fauxIndentLength&&this.tabSize===e.tabSize&&this.startVisibleColumn===e.startVisibleColumn&&this.spaceWidth===e.spaceWidth&&this.renderSpaceWidth===e.renderSpaceWidth&&this.renderSpaceCharCode===e.renderSpaceCharCode&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.fontLigatures===e.fontLigatures&&or.equalsArr(this.lineDecorations,e.lineDecorations)&&this.lineTokens.equals(e.lineTokens)&&this.sameSelection(e.selectionsOnLine)}},fr=class{constructor(e,t){this.partIndex=e,this.charIndex=t}},pr=class e{constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}static getPartIndex(e){return(e&4294901760)>>>16}static getCharIndex(e){return(e&65535)>>>0}setColumnInfo(e,t,n,r){let i=(t<<16|n<<0)>>>0;this._data[e-1]=i,this._horizontalOffset[e-1]=r}getHorizontalOffset(e){return this._horizontalOffset.length===0?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return this.length===0?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(t){let n=this.charOffsetToPartData(t-1);return new fr(e.getPartIndex(n),e.getCharIndex(n))}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(t,n,r){if(this.length===0)return 0;let i=(t<<16|r<<0)>>>0,a=0,o=this.length-1;for(;a+1<o;){let e=a+o>>>1,t=this._data[e];if(t===i)return e;t>i?o=e:a=e}if(a===o)return a;let s=this._data[a],c=this._data[o];if(s===i)return a;if(c===i)return o;let l=e.getPartIndex(s),u=e.getCharIndex(s),d=e.getPartIndex(c),f;return f=l===d?e.getCharIndex(c):n,r-u<=f-r?a:o}},mr=class{constructor(e,t,n){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=n}};function hr(e,t){if(e.lineContent.length===0){if(e.lineDecorations.length>0){t.appendASCIIString(`<span>`);let n=0,r=0,i=0;for(let a of e.lineDecorations)(a.type===1||a.type===2)&&(t.appendASCIIString(`<span class="`),t.appendASCIIString(a.className),t.appendASCIIString(`"></span>`),a.type===1&&(i|=1,n++),a.type===2&&(i|=2,r++));t.appendASCIIString(`</span>`);let a=new pr(1,n+r);return a.setColumnInfo(1,n,0,0),new mr(a,!1,i)}return t.appendASCIIString(`<span><span></span></span>`),new mr(new pr(0,0),!1,0)}return Er(yr(e),t)}var gr=class{constructor(e,t,n,r){this.characterMapping=e,this.html=t,this.containsRTL=n,this.containsForeignElements=r}};function _r(e){let t=i.ec(1e4),n=hr(e,t);return new gr(n.characterMapping,t.build(),n.containsRTL,n.containsForeignElements)}var vr=class{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.len=r,this.isOverflowing=i,this.parts=a,this.containsForeignElements=o,this.fauxIndentLength=s,this.tabSize=c,this.startVisibleColumn=l,this.containsRTL=u,this.spaceWidth=d,this.renderSpaceCharCode=f,this.renderWhitespace=p,this.renderControlCharacters=m}};function yr(e){let t=e.lineContent,n,r;e.stopRenderingLineAfter!==-1&&e.stopRenderingLineAfter<t.length?(n=!0,r=e.stopRenderingLineAfter):(n=!1,r=t.length);let i=br(t,e.containsRTL,e.lineTokens,e.fauxIndentLength,r);e.renderControlCharacters&&!e.isBasicASCII&&(i=Cr(t,i)),(e.renderWhitespace===4||e.renderWhitespace===1||e.renderWhitespace===2&&e.selectionsOnLine||e.renderWhitespace===3)&&(i=wr(e,t,r,i));let a=0;if(e.lineDecorations.length>0){for(let t=0,n=e.lineDecorations.length;t<n;t++){let n=e.lineDecorations[t];n.type===3||n.type===1?a|=1:n.type===2&&(a|=2)}i=Tr(t,r,i,e.lineDecorations)}return e.containsRTL||(i=xr(t,i,!e.isBasicASCII||e.fontLigatures)),new vr(e.useMonospaceOptimizations,e.canUseHalfwidthRightwardsArrow,t,r,n,i,a,e.fauxIndentLength,e.tabSize,e.startVisibleColumn,e.containsRTL,e.spaceWidth,e.renderSpaceCharCode,e.renderWhitespace,e.renderControlCharacters)}function br(e,t,n,r,a){let o=[],s=0;r>0&&(o[s++]=new A(r,``,0,!1));let c=r;for(let l=0,u=n.getCount();l<u;l++){let u=n.getEndOffset(l);if(u<=r)continue;let d=n.getClassName(l);if(u>=a){let n=t?i.jc(e.substring(c,a)):!1;o[s++]=new A(a,d,0,n);break}let f=t?i.jc(e.substring(c,u)):!1;o[s++]=new A(u,d,0,f),c=u}return o}function xr(e,t,n){let r=0,i=[],a=0;if(n)for(let n=0,o=t.length;n<o;n++){let o=t[n],s=o.endIndex;if(r+50<s){let t=o.type,n=o.metadata,c=o.containsRTL,l=-1,u=r;for(let o=r;o<s;o++)e.charCodeAt(o)===32&&(l=o),l!==-1&&o-u>=50&&(i[a++]=new A(l+1,t,n,c),u=l+1,l=-1);u!==s&&(i[a++]=new A(s,t,n,c))}else i[a++]=o;r=s}else for(let e=0,n=t.length;e<n;e++){let n=t[e],o=n.endIndex,s=o-r;if(s>50){let e=n.type,t=n.metadata,c=n.containsRTL,l=Math.ceil(s/50);for(let n=1;n<l;n++){let o=r+n*50;i[a++]=new A(o,e,t,c)}i[a++]=new A(o,e,t,c)}else i[a++]=n;r=o}return i}function Sr(e){return e<32?e!==9:e===127||e>=8234&&e<=8238||e>=8294&&e<=8297||e>=8206&&e<=8207||e===1564}function Cr(e,t){let n=[],r=new A(0,``,0,!1),i=0;for(let a of t){let t=a.endIndex;for(;i<t;i++)Sr(e.charCodeAt(i))&&(i>r.endIndex&&(r=new A(i,a.type,a.metadata,a.containsRTL),n.push(r)),r=new A(i+1,`mtkcontrol`,a.metadata,!1),n.push(r));i>r.endIndex&&(r=new A(t,a.type,a.metadata,a.containsRTL),n.push(r))}return n}function wr(e,t,n,r){let a=e.continuesWithWrappedLine,o=e.fauxIndentLength,s=e.tabSize,c=e.startVisibleColumn,l=e.useMonospaceOptimizations,u=e.selectionsOnLine,d=e.renderWhitespace===1,f=e.renderWhitespace===3,p=e.renderSpaceWidth!==e.spaceWidth,m=[],h=0,g=0,_=r[g].type,v=r[g].containsRTL,y=r[g].endIndex,b=r.length,x=!1,S=i.Lc(t),C;S===-1?(x=!0,S=n,C=n):C=i.Zc(t);let w=!1,T=0,E=u&&u[T],D=c%s;for(let e=o;e<n;e++){let a=t.charCodeAt(e);E&&e>=E.endOffset&&(T++,E=u&&u[T]);let c;if(e<S||e>C)c=!0;else if(a===9)c=!0;else if(a===32)if(d)if(w)c=!0;else{let r=e+1<n?t.charCodeAt(e+1):0;c=r===32||r===9}else c=!0;else c=!1;if(c&&u&&(c=!!E&&E.startOffset<=e&&E.endOffset>e),c&&f&&(c=x||e>C),c&&v&&e>=S&&e<=C&&(c=!1),w){if(!c||!l&&D>=s){if(p){let t=h>0?m[h-1].endIndex:o;for(let n=t+1;n<=e;n++)m[h++]=new A(n,`mtkw`,1,!1)}else m[h++]=new A(e,`mtkw`,1,!1);D%=s}}else (e===y||c&&e>o)&&(m[h++]=new A(e,_,0,v),D%=s);for(a===9?D=s:i.Kc(a)?D+=2:D++,w=c;e===y&&(g++,g<b);)_=r[g].type,v=r[g].containsRTL,y=r[g].endIndex}let ee=!1;if(w)if(a&&d){let e=n>0?t.charCodeAt(n-1):0,r=n>1?t.charCodeAt(n-2):0;e===32&&r!==32&&r!==9||(ee=!0)}else ee=!0;if(ee)if(p){let e=h>0?m[h-1].endIndex:o;for(let t=e+1;t<=n;t++)m[h++]=new A(t,`mtkw`,1,!1)}else m[h++]=new A(n,`mtkw`,1,!1);else m[h++]=new A(n,_,0,v);return m}function Tr(e,t,n,r){r.sort(or.compare);let i=lr.normalize(e,r),a=i.length,o=0,s=[],c=0,l=0;for(let e=0,t=n.length;e<t;e++){let t=n[e],r=t.endIndex,u=t.type,d=t.metadata,f=t.containsRTL;for(;o<a&&i[o].startOffset<r;){let e=i[o];if(e.startOffset>l&&(l=e.startOffset,s[c++]=new A(l,u,d,f)),e.endOffset+1<=r)l=e.endOffset+1,s[c++]=new A(l,u+` `+e.className,d|e.metadata,f),o++;else{l=r,s[c++]=new A(l,u+` `+e.className,d|e.metadata,f);break}}r>l&&(l=r,s[c++]=new A(l,u,d,f))}let u=n[n.length-1].endIndex;if(o<a&&i[o].startOffset===u)for(;o<a&&i[o].startOffset===u;){let e=i[o];s[c++]=new A(l,e.className,e.metadata,!1),o++}return s}function Er(e,t){let n=e.fontIsMonospace,r=e.canUseHalfwidthRightwardsArrow,a=e.containsForeignElements,o=e.lineContent,s=e.len,c=e.isOverflowing,l=e.parts,u=e.fauxIndentLength,d=e.tabSize,f=e.startVisibleColumn,p=e.containsRTL,m=e.spaceWidth,h=e.renderSpaceCharCode,g=e.renderWhitespace,_=e.renderControlCharacters,v=new pr(s+1,l.length),y=!1,b=0,x=f,S=0,C=0,w=0;p?t.appendASCIIString(`<span dir="ltr">`):t.appendASCIIString(`<span>`);for(let e=0,c=l.length;e<c;e++){let c=l[e],f=c.endIndex,p=c.type,T=c.containsRTL,E=g!==0&&c.isWhitespace(),D=E&&!n&&(p===`mtkw`||!a),ee=b===f&&c.isPseudoAfter();if(S=0,t.appendASCIIString(`<span `),T&&t.appendASCIIString(`style="unicode-bidi:isolate" `),t.appendASCIIString(`class="`),t.appendASCIIString(D?`mtkz`:p),t.appendASCII(34),E){let n=0;{let e=b,t=x;for(;e<f;e++){let r=(o.charCodeAt(e)===9?d-t%d:1)|0;n+=r,e>=u&&(t+=r)}}for(D&&(t.appendASCIIString(` style="width:`),t.appendASCIIString(String(m*n)),t.appendASCIIString(`px"`)),t.appendASCII(62);b<f;b++){v.setColumnInfo(b+1,e-w,S,C),w=0;let n=o.charCodeAt(b),i,a;if(n===9){i=d-x%d|0,a=i,!r||a>1?t.write1(8594):t.write1(65515);for(let e=2;e<=a;e++)t.write1(160)}else i=2,a=1,t.write1(h),t.write1(8204);S+=i,C+=a,b>=u&&(x+=a)}}else for(t.appendASCII(62);b<f;b++){v.setColumnInfo(b+1,e-w,S,C),w=0;let n=o.charCodeAt(b),r=1,a=1;switch(n){case 9:r=d-x%d,a=r;for(let e=1;e<=r;e++)t.write1(160);break;case 32:t.write1(160);break;case 60:t.appendASCIIString(`<`);break;case 62:t.appendASCIIString(`>`);break;case 38:t.appendASCIIString(`&`);break;case 0:_?t.write1(9216):t.appendASCIIString(`�`);break;case 65279:case 8232:case 8233:case 133:t.write1(65533);break;default:i.Kc(n)&&a++,_&&n<32?t.write1(9216+n):_&&n===127?t.write1(9249):_&&Sr(n)?(t.appendASCIIString(`[U+`),t.appendASCIIString(Dr(n)),t.appendASCIIString(`]`),r=8,a=r):t.write1(n)}S+=r,C+=a,b>=u&&(x+=a)}ee?w++:w=0,b>=s&&!y&&c.isPseudoAfter()&&(y=!0,v.setColumnInfo(b+1,e,S,C)),t.appendASCIIString(`</span>`)}return y||v.setColumnInfo(s+1,l.length-1,S,C),c&&t.appendASCIIString(`<span>…</span>`),t.appendASCIIString(`</span>`),new mr(v,p,a)}function Dr(e){return e.toString(16).toUpperCase().padStart(4,`0`)}var Or=class{constructor(e,t,n,r){this._viewportBrand=void 0,this.top=e|0,this.left=t|0,this.width=n|0,this.height=r|0}},kr=class{constructor(e,t){this.tabSize=e,this.data=t}},Ar=class{constructor(e,t,n,r,i,a,o){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=n,this.maxColumn=r,this.startVisibleColumn=i,this.tokens=a,this.inlineDecorations=o}},jr=class e{constructor(t,n,r,i,a,o,s,c,l,u){this.minColumn=t,this.maxColumn=n,this.content=r,this.continuesWithWrappedLine=i,this.isBasicASCII=e.isBasicASCII(r,o),this.containsRTL=e.containsRTL(r,this.isBasicASCII,a),this.tokens=s,this.inlineDecorations=c,this.tabSize=l,this.startVisibleColumn=u}static isBasicASCII(e,t){return t?i.Uc(e):!0}static containsRTL(e,t,n){return!t&&n?i.jc(e):!1}},Mr=class{constructor(e,t,n){this.range=e,this.inlineClassName=t,this.type=n}},Nr=class{constructor(e,t,n,r){this.startOffset=e,this.endOffset=t,this.inlineClassName=n,this.inlineClassNameAffectsLetterSpacing=r}toInlineDecoration(e){return new Mr(new i.Ol(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}},Pr=class{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}},Fr=class{constructor(e,t,n){this.color=e,this.zIndex=t,this.data=n}static cmp(e,t){return e.zIndex===t.zIndex?e.color<t.color?-1:e.color>t.color?1:0:e.zIndex-t.zIndex}};function Ir(e){return Array.isArray(e)}function Lr(e){return!Ir(e)}function Rr(e){return typeof e==`string`}function zr(e){return!Rr(e)}function Br(e){return!e}function Vr(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function Hr(e){return e.replace(/[&<>'"_]/g,`-`)}function Ur(e,t){`${e.languageId}${t}`}function j(e,t){return Error(`${e.languageId}: ${t}`)}function Wr(e,t,n,r,i){let a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,o=null;return t.replace(a,function(t,a,s,c,l,u,d,f,p){return Br(s)?Br(c)?!Br(l)&&l<r.length?Vr(e,r[l]):!Br(d)&&e&&typeof e[d]==`string`?e[d]:(o===null&&(o=i.split(`.`),o.unshift(i)),!Br(u)&&u<o.length?Vr(e,o[u]):``):Vr(e,n):`$`})}function Gr(e,t){let n=t;for(;n&&n.length>0;){let t=e.tokenizer[n];if(t)return t;let r=n.lastIndexOf(`.`);n=r<0?null:n.substr(0,r)}return null}function Kr(e,t){let n=t;for(;n&&n.length>0;){if(e.stateNames[n])return!0;let t=n.lastIndexOf(`.`);n=t<0?null:n.substr(0,t)}return!1}var qr=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Jr=function(e,t){return function(n,r){t(n,r,e)}},Yr=5,Xr=class{constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}static create(e,t){return this._INSTANCE.create(e,t)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new Zr(e,t);let n=Zr.getStackElementId(e);n.length>0&&(n+=`|`),n+=t;let r=this._entries[n];return r||(r=new Zr(e,t),this._entries[n]=r,r)}};Xr._INSTANCE=new Xr(Yr);var Zr=class e{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t=``;for(;e!==null;)t.length>0&&(t+=`|`),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(t){return e._equals(this,t)}push(e){return Xr.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return Xr.create(this.parent,e)}},Qr=class e{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new e(this.languageId,this.state)}},$r=class{constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}static create(e,t){return this._INSTANCE.create(e,t)}create(e,t){if(t!==null||e!==null&&e.depth>=this._maxCacheDepth)return new ei(e,t);let n=Zr.getStackElementId(e),r=this._entries[n];return r||(r=new ei(e,null),this._entries[n]=r,r)}};$r._INSTANCE=new $r(Yr);var ei=class e{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:$r.create(this.stack,this.embeddedLanguageData)}equals(t){return!(t instanceof e)||!this.stack.equals(t.stack)?!1:this.embeddedLanguageData===null&&t.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||t.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(t.embeddedLanguageData)}},ti=class{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new i.bl(e,t,this._languageId)))}nestedLanguageTokenize(e,t,n,r){let a=n.languageId,o=n.state,s=i.xl.get(a);if(!s)return this.enterLanguage(a),this.emit(r,``),o;let c=s.tokenize(e,t,o);if(r!==0)for(let e of c.tokens)this._tokens.push(new i.bl(e.offset+r,e.type,e.language));else this._tokens=this._tokens.concat(c.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,c.endState}finalize(e){return new i.Sl(this._tokens,e)}},ni=class e{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){let n=this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))}static _merge(e,t,n){let r=e===null?0:e.length,i=t.length,a=n===null?0:n.length;if(r===0&&i===0&&a===0)return new Uint32Array;if(r===0&&i===0)return n;if(i===0&&a===0)return e;let o=new Uint32Array(r+i+a);e!==null&&o.set(e);for(let e=0;e<i;e++)o[r+e]=t[e];return n!==null&&o.set(n,r+i),o}nestedLanguageTokenize(t,n,r,a){let o=r.languageId,s=r.state,c=i.xl.get(o);if(!c)return this.enterLanguage(o),this.emit(a,``),s;let l=c.tokenizeEncoded(t,n,s);if(a!==0)for(let e=0,t=l.tokens.length;e<t;e+=2)l.tokens[e]+=a;return this._prependTokens=e._merge(this._prependTokens,this._tokens,l.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,l.endState}finalize(t){return new i.ml(e._merge(this._prependTokens,this._tokens,null),t)}},ri=class e{constructor(e,t,n,r,a){this._configurationService=a,this._languageService=e,this._standaloneThemeService=t,this._languageId=n,this._lexer=r,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let o=!1;this._tokenizationRegistryListener=i.xl.onDidChange(e=>{if(o)return;let t=!1;for(let n=0,r=e.changedLanguages.length;n<r;n++){let r=e.changedLanguages[n];if(this._embeddedLanguages[r]){t=!0;break}}t&&(o=!0,i.xl.fire([this._languageId]),o=!1)}),this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}),this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.maxTokenizationLineLength`)&&(this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}))})}dispose(){this._tokenizationRegistryListener.dispose()}getLoadStatus(){let t=[];for(let n in this._embeddedLanguages){let r=i.xl.get(n);if(r){if(r instanceof e){let e=r.getLoadStatus();e.loaded===!1&&t.push(e.promise)}continue}i.xl.isResolved(n)||t.push(i.xl.getOrCreate(n))}return t.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(t).then(e=>void 0)}}getInitialState(){let e=Xr.create(null,this._lexer.start);return $r.create(e,null)}tokenize(e,t,n){if(e.length>=this._maxTokenizationLineLength)return i.Ms(this._languageId,n);let r=new ti,a=this._tokenize(e,t,n,r);return r.finalize(a)}tokenizeEncoded(e,t,n){if(e.length>=this._maxTokenizationLineLength)return i.Ns(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),n);let r=new ni(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),a=this._tokenize(e,t,n,r);return r.finalize(a)}_tokenize(e,t,n,r){return n.embeddedLanguageData?this._nestedTokenize(e,t,n,0,r):this._myTokenize(e,t,n,0,r)}_findLeavingNestedLanguageOffset(e,t){let n=this._lexer.tokenizer[t.stack.state];if(!n&&(n=Gr(this._lexer,t.stack.state),!n))throw j(this._lexer,`tokenizer state is not defined: `+t.stack.state);let r=-1,i=!1;for(let t of n){if(!zr(t.action)||t.action.nextEmbedded!==`@pop`)continue;i=!0;let n=t.regex,a=t.regex.source;if(a.substr(0,4)===`^(?:`&&a.substr(a.length-1,1)===`)`){let e=(n.ignoreCase?`i`:``)+(n.unicode?`u`:``);n=new RegExp(a.substr(4,a.length-5),e)}let o=e.search(n);o===-1||o!==0&&t.matchOnlyAtLineStart||(r===-1||o<r)&&(r=o)}if(!i)throw j(this._lexer,`no rule containing nextEmbedded: "@pop" in tokenizer embedded state: `+t.stack.state);return r}_nestedTokenize(e,t,n,r,i){let a=this._findLeavingNestedLanguageOffset(e,n);if(a===-1){let a=i.nestedLanguageTokenize(e,t,n.embeddedLanguageData,r);return $r.create(n.stack,new Qr(n.embeddedLanguageData.languageId,a))}let o=e.substring(0,a);o.length>0&&i.nestedLanguageTokenize(o,!1,n.embeddedLanguageData,r);let s=e.substring(a);return this._myTokenize(s,t,n,r+a,i)}_safeRuleName(e){return e?e.name:`(unknown)`}_myTokenize(e,t,n,r,i){i.enterLanguage(this._languageId);let a=e.length,o=t&&this._lexer.includeLF?e+`
|
|
6
|
+
`:e,s=o.length,c=n.embeddedLanguageData,l=n.stack,u=0,d=null,f=!0;for(;f||u<s;){let n=u,p=l.depth,m=d?d.groups.length:0,h=l.state,g=null,_=null,v=null,y=null,b=null;if(d){g=d.matches;let e=d.groups.shift();_=e.matched,v=e.action,y=d.rule,d.groups.length===0&&(d=null)}else{if(!f&&u>=s)break;f=!1;let e=this._lexer.tokenizer[h];if(!e&&(e=Gr(this._lexer,h),!e))throw j(this._lexer,`tokenizer state is not defined: `+h);let t=o.substr(u);for(let n of e)if((u===0||!n.matchOnlyAtLineStart)&&(g=t.match(n.regex),g)){_=g[0],v=n.action;break}}if(g||(g=[``],_=``),v||=(u<s&&(g=[o.charAt(u)],_=g[0]),this._lexer.defaultToken),_===null)break;for(u+=_.length;Lr(v)&&zr(v)&&v.test;)v=v.test(_,g,h,u===s);let x=null;if(typeof v==`string`||Array.isArray(v))x=v;else if(v.group)x=v.group;else if(v.token!==null&&v.token!==void 0){if(x=v.tokenSubst?Wr(this._lexer,v.token,_,g,h):v.token,v.nextEmbedded)if(v.nextEmbedded===`@pop`){if(!c)throw j(this._lexer,`cannot pop embedded language if not inside one`);c=null}else if(c)throw j(this._lexer,`cannot enter embedded language from within an embedded language`);else b=Wr(this._lexer,v.nextEmbedded,_,g,h);if(v.goBack&&(u=Math.max(0,u-v.goBack)),v.switchTo&&typeof v.switchTo==`string`){let e=Wr(this._lexer,v.switchTo,_,g,h);if(e[0]===`@`&&(e=e.substr(1)),Gr(this._lexer,e))l=l.switchTo(e);else throw j(this._lexer,`trying to switch to a state '`+e+`' that is undefined in rule: `+this._safeRuleName(y))}else if(v.transform&&typeof v.transform==`function`)throw j(this._lexer,`action.transform not supported`);else if(v.next)if(v.next===`@push`){if(l.depth>=this._lexer.maxStack)throw j(this._lexer,`maximum tokenizer stack size reached: [`+l.state+`,`+l.parent.state+`,...]`);l=l.push(h)}else if(v.next===`@pop`){if(l.depth<=1)throw j(this._lexer,`trying to pop an empty stack in rule: `+this._safeRuleName(y));l=l.pop()}else if(v.next===`@popall`)l=l.popall();else{let e=Wr(this._lexer,v.next,_,g,h);if(e[0]===`@`&&(e=e.substr(1)),Gr(this._lexer,e))l=l.push(e);else throw j(this._lexer,`trying to set a next state '`+e+`' that is undefined in rule: `+this._safeRuleName(y))}v.log&&typeof v.log==`string`&&Ur(this._lexer,this._lexer.languageId+`: `+Wr(this._lexer,v.log,_,g,h))}if(x===null)throw j(this._lexer,`lexer rule has no well-defined action in rule: `+this._safeRuleName(y));let S=n=>{let a=this._languageService.getLanguageIdByLanguageName(n)||this._languageService.getLanguageIdByMimeType(n)||n,o=this._getNestedEmbeddedLanguageData(a);if(u<s){let n=e.substr(u);return this._nestedTokenize(n,t,$r.create(l,o),r+u,i)}else return $r.create(l,o)};if(Array.isArray(x)){if(d&&d.groups.length>0)throw j(this._lexer,`groups cannot be nested: `+this._safeRuleName(y));if(g.length!==x.length+1)throw j(this._lexer,`matched number of groups does not match the number of actions in rule: `+this._safeRuleName(y));let e=0;for(let t=1;t<g.length;t++)e+=g[t].length;if(e!==_.length)throw j(this._lexer,`with groups, all characters should be matched in consecutive groups in rule: `+this._safeRuleName(y));d={rule:y,matches:g,groups:[]};for(let e=0;e<x.length;e++)d.groups[e]={action:x[e],matched:g[e+1]};u-=_.length;continue}else{if(x===`@rematch`&&(u-=_.length,_=``,g=null,x=``,b!==null))return S(b);if(_.length===0){if(s===0||p!==l.depth||h!==l.state||(d?d.groups.length:0)!==m)continue;throw j(this._lexer,`no progress in tokenizer in rule: `+this._safeRuleName(y))}let e=null;if(Rr(x)&&x.indexOf(`@brackets`)===0){let t=x.substr(9),n=ii(this._lexer,_);if(!n)throw j(this._lexer,`@brackets token returned but no bracket defined as: `+_);e=Hr(n.token+t)}else e=Hr(x===``?``:x+this._lexer.tokenPostfix);n<a&&i.emit(n+r,e)}if(b!==null)return S(b)}return $r.create(l,c)}_getNestedEmbeddedLanguageData(e){if(!this._languageService.isRegisteredLanguageId(e))return new Qr(e,i.js);e!==this._languageId&&(i.xl.getOrCreate(e),this._embeddedLanguages[e]=!0);let t=i.xl.get(e);return t?new Qr(e,t.getInitialState()):new Qr(e,i.js)}};ri=qr([Jr(4,i.Ys)],ri);function ii(e,t){if(!t)return null;t=Vr(e,t);let n=e.brackets;for(let e of n)if(e.open===t)return{token:e.token,bracketType:1};else if(e.close===t)return{token:e.token,bracketType:-1};return null}var ai=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},oi=window.trustedTypes?.createPolicy(`standaloneColorizer`,{createHTML:e=>e}),si=class{static colorizeElement(e,t,n,r){r||={};let i=r.theme||`vs`,a=r.mimeType||n.getAttribute(`lang`)||n.getAttribute(`data-lang`);if(!a)return console.error(`Mode not detected`),Promise.resolve();let o=t.getLanguageIdByMimeType(a)||a;e.setTheme(i);let s=n.firstChild?n.firstChild.nodeValue:``;return n.className+=` `+i,this.colorize(t,s||``,o,r).then(e=>{n.innerHTML=oi?.createHTML(e)??e},e=>console.error(e))}static colorize(e,t,n,r){return ai(this,void 0,void 0,function*(){let a=e.languageIdCodec,o=4;r&&typeof r.tabSize==`number`&&(o=r.tabSize),i.sl(t)&&(t=t.substr(1));let s=i.al(t);if(!e.isRegisteredLanguageId(n))return li(s,o,a);let c=yield i.xl.getOrCreate(n);return c?ci(s,o,c,a):li(s,o,a)})}static colorizeLine(e,t,n,r,i=4){let a=jr.isBasicASCII(e,t);return _r(new dr(!1,!0,e,!1,a,jr.containsRTL(e,a,n),0,r,[],i,0,0,0,0,-1,`none`,!1,!1,null)).html}static colorizeModelLine(e,t,n=4){let r=e.getLineContent(t);e.tokenization.forceTokenization(t);let i=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(r,e.mightContainNonBasicASCII(),e.mightContainRTL(),i,n)}};function ci(e,t,n,r){return new Promise((i,a)=>{let o=()=>{let s=ui(e,t,n,r);if(n instanceof ri){let e=n.getLoadStatus();if(e.loaded===!1){e.promise.then(o,a);return}}i(s)};o()})}function li(e,t,n){let r=[],a=new Uint32Array(2);a[0]=0,a[1]=33587200;for(let o=0,s=e.length;o<s;o++){let s=e[o];a[0]=s.length;let c=new i.Yo(a,s,n),l=jr.isBasicASCII(s,!0),u=_r(new dr(!1,!0,s,!1,l,jr.containsRTL(s,l,!0),0,c,[],t,0,0,0,0,-1,`none`,!1,!1,null));r=r.concat(u.html),r.push(`<br/>`)}return r.join(``)}function ui(e,t,n,r){let a=[],o=n.getInitialState();for(let s=0,c=e.length;s<c;s++){let c=e[s],l=n.tokenizeEncoded(c,!0,o);i.Yo.convertToEndOffset(l.tokens,c.length);let u=new i.Yo(l.tokens,c,r),d=jr.isBasicASCII(c,!0),f=_r(new dr(!1,!0,c,!1,d,jr.containsRTL(c,d,!0),0,u.inflate(),[],t,0,0,0,0,-1,`none`,!1,!1,null));a=a.concat(f.html),a.push(`<br/>`),o=l.endState}return a.join(``)}var di=2e4,fi,pi,mi,hi,gi;function _i(e){fi=document.createElement(`div`),fi.className=`monaco-aria-container`;let t=()=>{let e=document.createElement(`div`);return e.className=`monaco-alert`,e.setAttribute(`role`,`alert`),e.setAttribute(`aria-atomic`,`true`),fi.appendChild(e),e};pi=t(),mi=t();let n=()=>{let e=document.createElement(`div`);return e.className=`monaco-status`,e.setAttribute(`role`,`complementary`),e.setAttribute(`aria-live`,`polite`),e.setAttribute(`aria-atomic`,`true`),fi.appendChild(e),e};hi=n(),gi=n(),e.appendChild(fi)}function vi(e){fi&&(pi.textContent===e?(i.$a(pi),bi(mi,e)):(i.$a(mi),bi(pi,e)))}function yi(e){fi&&(i.bd?vi(e):hi.textContent===e?(i.$a(hi),bi(gi,e)):(i.$a(gi),bi(hi,e)))}function bi(e,t){i.$a(e),t.length>di&&(t=t.substr(0,di)),e.textContent=t,e.style.visibility=`hidden`,e.style.visibility=`visible`}var xi=i.mc(`markerDecorationsService`),Si=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ci=function(e,t){return function(n,r){t(n,r,e)}},wi=class{constructor(e,t){}dispose(){}};wi.ID=`editor.contrib.markerDecorations`,wi=Si([Ci(1,xi)],wi),i.ta(wi.ID,wi);var Ti=class extends i.Xl{constructor(e,t){super(),this._onDidChange=this._register(new i.Ul),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){!this._resizeObserver&&this._referenceDomElement&&(this._resizeObserver=new ResizeObserver(e=>{e&&e[0]&&e[0].contentRect?this.observe({width:e[0].contentRect.width,height:e[0].contentRect.height}):this.observe()}),this._resizeObserver.observe(this._referenceDomElement))}stopObserving(){this._resizeObserver&&=(this._resizeObserver.disconnect(),null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let n=0,r=0;t?(n=t.width,r=t.height):this._referenceDomElement&&(n=this._referenceDomElement.clientWidth,r=this._referenceDomElement.clientHeight),n=Math.max(5,n),r=Math.max(5,r),(this._width!==n||this._height!==r)&&(this._width=n,this._height=r,e&&this._onDidChange.fire())}},Ei=class e{constructor(e,t){this.key=e,this.migrate=t}apply(t){let n=e._read(t,this.key);this.migrate(n,n=>e._read(t,n),(n,r)=>e._write(t,n,r))}static _read(e,t){if(e===void 0)return;let n=t.indexOf(`.`);if(n>=0){let r=t.substring(0,n);return this._read(e[r],t.substring(n+1))}return e[t]}static _write(e,t,n){let r=t.indexOf(`.`);if(r>=0){let i=t.substring(0,r);e[i]=e[i]||{},this._write(e[i],t.substring(r+1),n);return}e[t]=n}};Ei.items=[];function Di(e,t){Ei.items.push(new Ei(e,t))}function Oi(e,t){Di(e,(n,r,i)=>{if(n!==void 0){for(let[r,a]of t)if(n===r){i(e,a);return}}})}function ki(e){Ei.items.forEach(t=>t.apply(e))}Oi(`wordWrap`,[[!0,`on`],[!1,`off`]]),Oi(`lineNumbers`,[[!0,`on`],[!1,`off`]]),Oi(`cursorBlinking`,[[`visible`,`solid`]]),Oi(`renderWhitespace`,[[!0,`boundary`],[!1,`none`]]),Oi(`renderLineHighlight`,[[!0,`line`],[!1,`none`]]),Oi(`acceptSuggestionOnEnter`,[[!0,`on`],[!1,`off`]]),Oi(`tabCompletion`,[[!1,`off`],[!0,`onlySnippets`]]),Oi(`hover`,[[!0,{enabled:!0}],[!1,{enabled:!1}]]),Oi(`parameterHints`,[[!0,{enabled:!0}],[!1,{enabled:!1}]]),Oi(`autoIndent`,[[!1,`advanced`],[!0,`full`]]),Oi(`matchBrackets`,[[!0,`always`],[!1,`never`]]),Di(`autoClosingBrackets`,(e,t,n)=>{e===!1&&(n(`autoClosingBrackets`,`never`),t(`autoClosingQuotes`)===void 0&&n(`autoClosingQuotes`,`never`),t(`autoSurround`)===void 0&&n(`autoSurround`,`never`))}),Di(`renderIndentGuides`,(e,t,n)=>{e!==void 0&&(n(`renderIndentGuides`,void 0),t(`guides.indentation`)===void 0&&n(`guides.indentation`,!!e))}),Di(`highlightActiveIndentGuide`,(e,t,n)=>{e!==void 0&&(n(`highlightActiveIndentGuide`,void 0),t(`guides.highlightActiveIndentation`)===void 0&&n(`guides.highlightActiveIndentation`,!!e))});var Ai={method:`showMethods`,function:`showFunctions`,constructor:`showConstructors`,deprecated:`showDeprecated`,field:`showFields`,variable:`showVariables`,class:`showClasses`,struct:`showStructs`,interface:`showInterfaces`,module:`showModules`,property:`showProperties`,event:`showEvents`,operator:`showOperators`,unit:`showUnits`,value:`showValues`,constant:`showConstants`,enum:`showEnums`,enumMember:`showEnumMembers`,keyword:`showKeywords`,text:`showWords`,color:`showColors`,file:`showFiles`,reference:`showReferences`,folder:`showFolders`,typeParameter:`showTypeParameters`,snippet:`showSnippets`};Di(`suggest.filteredTypes`,(e,t,n)=>{if(e&&typeof e==`object`){for(let r of Object.entries(Ai))e[r[0]]===!1&&t(`suggest.${r[1]}`)===void 0&&n(`suggest.${r[1]}`,!1);n(`suggest.filteredTypes`,void 0)}}),Di(`quickSuggestions`,(e,t,n)=>{if(typeof e==`boolean`){let t=e?`on`:`off`;n(`quickSuggestions`,{comments:t,strings:t,other:t})}});var ji=new class{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new i.Ul,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus!==e&&(this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus))}},Mi=i.mc(`accessibilityService`),Ni=new i.Da(`accessibilityModeEnabled`,!1),Pi=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Fi=function(e,t){return function(n,r){t(n,r,e)}},Ii=class extends i.Xl{constructor(e,t,n,r){super(),this._accessibilityService=r,this._onDidChange=this._register(new i.Ul),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new i.Ul),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._computeOptionsMemory=new o,this.isSimpleWidget=e,this._containerObserver=this._register(new Ti(n,t.dimension)),this._rawOptions=Hi(t),this._validatedOptions=Vi.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(10)&&this._containerObserver.startObserving(),this._register(kt.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(ji.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(It.onDidChange(()=>this._recomputeOptions())),this._register(i.hc.onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions()))}_recomputeOptions(){let e=this._computeOptions(),t=Vi.checkEquals(this.options,e);t!==null&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){let e=this._readEnvConfiguration(),t=Mt.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),n=this._readFontInfo(t),r={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:n,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:ji.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport};return Vi.computeOptions(this._validatedOptions,r)}_readEnvConfiguration(){return{extraEditorClassName:Ri(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:i.Cc||i.bc,pixelRatio:i.hc.value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return It.readFontInfo(e)}getRawOptions(){return this._rawOptions}updateOptions(e){let t=Hi(e);Vi.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=Vi.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){let t=Li(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}};Ii=Pi([Fi(3,Mi)],Ii);function Li(e){let t=0;for(;e;)e=Math.floor(e/10),t++;return t||1}function Ri(){let e=``;return!i.xc&&!i.wc&&(e+=`no-user-select `),i.xc&&(e+=`no-minimap-shadow `,e+=`enable-user-select `),i.bd&&(e+=`mac `),e}var zi=class{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}},Bi=class{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw Error(`Cannot read uninitialized value`);return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}},Vi=class e{static validateOptions(e){let t=new zi;for(let n of Ie){let r=n.name===`_never_`?void 0:e[n.name];t._write(n.id,n.validate(r))}return t}static computeOptions(e,t){let n=new Bi;for(let r of Ie)n._write(r.id,r.compute(t,n,e._read(r.id)));return n}static _deepEquals(t,n){if(typeof t!=`object`||typeof n!=`object`||!t||!n)return t===n;if(Array.isArray(t)||Array.isArray(n))return Array.isArray(t)&&Array.isArray(n)?i.Wu(t,n):!1;if(Object.keys(t).length!==Object.keys(n).length)return!1;for(let r in t)if(!e._deepEquals(t[r],n[r]))return!1;return!0}static checkEquals(t,n){let r=[],i=!1;for(let a of Ie){let o=!e._deepEquals(t._read(a.id),n._read(a.id));r[a.id]=o,o&&(i=!0)}return i?new a(r):null}static applyUpdate(e,t){let n=!1;for(let r of Ie)if(t.hasOwnProperty(r.name)){let i=r.applyUpdate(e[r.name],t[r.name]);e[r.name]=i.newValue,n||=i.didChange}return n}};function Hi(e){let t=i._u(e);return ki(t),t}function M(e,t,n){let r=null,i=null;if(typeof n.value==`function`?(r=`value`,i=n.value,i.length):typeof n.get==`function`&&(r=`get`,i=n.get),!i)throw Error(`not supported`);let a=`$memoize$${t}`;n[r]=function(...e){return this.hasOwnProperty(a)||Object.defineProperty(this,a,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[a]}}var Ui=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},N;(function(e){e.Tap=`-monaco-gesturetap`,e.Change=`-monaco-gesturechange`,e.Start=`-monaco-gesturestart`,e.End=`-monaco-gesturesend`,e.Contextmenu=`-monaco-gesturecontextmenu`})(N||={});var Wi=class e extends i.Xl{constructor(){super(),this.dispatched=!1,this.activeTouches={},this.handle=null,this.targets=[],this.ignoreTargets=[],this._lastSetTapCountTime=0,this._register(i.Ka(document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),this._register(i.Ka(document,`touchend`,e=>this.onTouchEnd(e))),this._register(i.Ka(document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=new e,e.INSTANCE.targets.push(t),{dispose:()=>{e.INSTANCE.targets=e.INSTANCE.targets.filter(e=>e!==t)}}):i.Xl.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=new e,e.INSTANCE.ignoreTargets.push(t),{dispose:()=>{e.INSTANCE.ignoreTargets=e.INSTANCE.ignoreTargets.filter(e=>e!==t)}}):i.Xl.None}static isTouchDevice(){return`ontouchstart`in window||navigator.maxTouchPoints>0}dispose(){this.handle&&=(this.handle.dispose(),null),super.dispose()}onTouchStart(e){let t=Date.now();this.handle&&=(this.handle.dispose(),null);for(let n=0,r=e.targetTouches.length;n<r;n++){let r=e.targetTouches.item(n);this.activeTouches[r.identifier]={id:r.identifier,initialTarget:r.target,initialTimeStamp:t,initialPageX:r.pageX,initialPageY:r.pageY,rollingTimestamps:[t],rollingPageX:[r.pageX],rollingPageY:[r.pageY]};let i=this.newGestureEvent(N.Start,r.target);i.pageX=r.pageX,i.pageY=r.pageY,this.dispatchEvent(i)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}onTouchEnd(t){let n=Date.now(),r=Object.keys(this.activeTouches).length;for(let a=0,o=t.changedTouches.length;a<o;a++){let o=t.changedTouches.item(a);if(!this.activeTouches.hasOwnProperty(String(o.identifier)))continue;let s=this.activeTouches[o.identifier],c=Date.now()-s.initialTimeStamp;if(c<e.HOLD_DELAY&&Math.abs(s.initialPageX-i.sd(s.rollingPageX))<30&&Math.abs(s.initialPageY-i.sd(s.rollingPageY))<30){let e=this.newGestureEvent(N.Tap,s.initialTarget);e.pageX=i.sd(s.rollingPageX),e.pageY=i.sd(s.rollingPageY),this.dispatchEvent(e)}else if(c>=e.HOLD_DELAY&&Math.abs(s.initialPageX-i.sd(s.rollingPageX))<30&&Math.abs(s.initialPageY-i.sd(s.rollingPageY))<30){let e=this.newGestureEvent(N.Contextmenu,s.initialTarget);e.pageX=i.sd(s.rollingPageX),e.pageY=i.sd(s.rollingPageY),this.dispatchEvent(e)}else if(r===1){let e=i.sd(s.rollingPageX),t=i.sd(s.rollingPageY),r=i.sd(s.rollingTimestamps)-s.rollingTimestamps[0],a=e-s.rollingPageX[0],o=t-s.rollingPageY[0],c=this.targets.filter(e=>s.initialTarget instanceof Node&&e.contains(s.initialTarget));this.inertia(c,n,Math.abs(a)/r,a>0?1:-1,e,Math.abs(o)/r,o>0?1:-1,t)}this.dispatchEvent(this.newGestureEvent(N.End,s.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&=(t.preventDefault(),t.stopPropagation(),!1)}newGestureEvent(e,t){let n=document.createEvent(`CustomEvent`);return n.initEvent(e,!1,!0),n.initialTarget=t,n.tapCount=0,n}dispatchEvent(t){if(t.type===N.Tap){let n=new Date().getTime(),r=0;r=n-this._lastSetTapCountTime>e.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=n,t.tapCount=r}else (t.type===N.Change||t.type===N.Contextmenu)&&(this._lastSetTapCountTime=0);for(let e=0;e<this.ignoreTargets.length;e++)if(t.initialTarget instanceof Node&&this.ignoreTargets[e].contains(t.initialTarget))return;this.targets.forEach(e=>{t.initialTarget instanceof Node&&e.contains(t.initialTarget)&&(e.dispatchEvent(t),this.dispatched=!0)})}inertia(t,n,r,a,o,s,c,l){this.handle=i.Ao(()=>{let i=Date.now(),u=i-n,d=0,f=0,p=!0;r+=e.SCROLL_FRICTION*u,s+=e.SCROLL_FRICTION*u,r>0&&(p=!1,d=a*r*u),s>0&&(p=!1,f=c*s*u);let m=this.newGestureEvent(N.Change);m.translationX=d,m.translationY=f,t.forEach(e=>e.dispatchEvent(m)),p||this.inertia(t,i,r,a,o+d,s,c,l+f)})}onTouchMove(e){let t=Date.now();for(let n=0,r=e.changedTouches.length;n<r;n++){let r=e.changedTouches.item(n);if(!this.activeTouches.hasOwnProperty(String(r.identifier)))continue;let a=this.activeTouches[r.identifier],o=this.newGestureEvent(N.Change,a.initialTarget);o.translationX=r.pageX-i.sd(a.rollingPageX),o.translationY=r.pageY-i.sd(a.rollingPageY),o.pageX=r.pageX,o.pageY=r.pageY,this.dispatchEvent(o),a.rollingPageX.length>3&&(a.rollingPageX.shift(),a.rollingPageY.shift(),a.rollingTimestamps.shift()),a.rollingPageX.push(r.pageX),a.rollingPageY.push(r.pageY),a.rollingTimestamps.push(t)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}};Wi.SCROLL_FRICTION=-.005,Wi.HOLD_DELAY=700,Wi.CLEAR_TAP_COUNT_TIME=400,Ui([M],Wi,`isTouchDevice`,null);var Gi=class extends i.Xl{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let n=0,r=e.length;n<r;n++){let r=e[n];switch(r.type){case 0:this.onCompositionStart(r)&&(t=!0);break;case 1:this.onCompositionEnd(r)&&(t=!0);break;case 2:this.onConfigurationChanged(r)&&(t=!0);break;case 3:this.onCursorStateChanged(r)&&(t=!0);break;case 4:this.onDecorationsChanged(r)&&(t=!0);break;case 5:this.onFlushed(r)&&(t=!0);break;case 6:this.onFocusChanged(r)&&(t=!0);break;case 7:this.onLanguageConfigurationChanged(r)&&(t=!0);break;case 8:this.onLineMappingChanged(r)&&(t=!0);break;case 9:this.onLinesChanged(r)&&(t=!0);break;case 10:this.onLinesDeleted(r)&&(t=!0);break;case 11:this.onLinesInserted(r)&&(t=!0);break;case 12:this.onRevealRangeRequest(r)&&(t=!0);break;case 13:this.onScrollChanged(r)&&(t=!0);break;case 15:this.onTokensChanged(r)&&(t=!0);break;case 14:this.onThemeChanged(r)&&(t=!0);break;case 16:this.onTokensColorsChanged(r)&&(t=!0);break;case 17:this.onZonesChanged(r)&&(t=!0);break;default:}}t&&(this._shouldRender=!0)}},Ki=class extends Gi{constructor(e){super(),this._context=e,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}},qi=class{static write(e,t){e.setAttribute(`data-mprt`,String(t))}static read(e){let t=e.getAttribute(`data-mprt`);return t===null?0:parseInt(t,10)}static collect(e,t){let n=[],r=0;for(;e&&e!==document.body&&e!==t;)e.nodeType===e.ELEMENT_NODE&&(n[r++]=this.read(e)),e=e.parentElement;let i=new Uint8Array(r);for(let e=0;e<r;e++)i[e]=n[r-e-1];return i}},Ji=class{constructor(e,t){this._restrictedRenderingContextBrand=void 0,this._viewLayout=e,this.viewportData=t,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;let n=this._viewLayout.getCurrentViewport();this.scrollTop=n.top,this.scrollLeft=n.left,this.viewportWidth=n.width,this.viewportHeight=n.height}getScrolledTopFromAbsoluteTop(e){return e-this.scrollTop}getVerticalOffsetForLineNumber(e){return this._viewLayout.getVerticalOffsetForLineNumber(e)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}},Yi=class extends Ji{constructor(e,t,n){super(e,t),this._renderingContextBrand=void 0,this._viewLines=n}linesVisibleRangesForRange(e,t){return this._viewLines.linesVisibleRangesForRange(e,t)}visibleRangeForPosition(e){return this._viewLines.visibleRangeForPosition(e)}},Xi=class{constructor(e,t,n){this.outsideRenderedLine=e,this.lineNumber=t,this.ranges=n}},Zi=class e{constructor(e,t){this._horizontalRangeBrand=void 0,this.left=Math.round(e),this.width=Math.round(t)}static from(t){let n=Array(t.length);for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]=new e(i.left,i.width)}return n}toString(){return`[${this.left},${this.width}]`}},Qi=class{constructor(e,t){this._floatHorizontalRangeBrand=void 0,this.left=e,this.width=t}toString(){return`[${this.left},${this.width}]`}static compare(e,t){return e.left-t.left}},$i=class{constructor(e,t){this.outsideRenderedLine=e,this.originalLeft=t,this.left=Math.round(this.originalLeft)}},ea=class{constructor(e,t){this.outsideRenderedLine=e,this.ranges=t}},ta=class{static _createRange(){return this._handyReadyRange||=document.createRange(),this._handyReadyRange}static _detachRange(e,t){e.selectNodeContents(t)}static _readClientRects(e,t,n,r,i){let a=this._createRange();try{return a.setStart(e,t),a.setEnd(n,r),a.getClientRects()}catch{return null}finally{this._detachRange(a,i)}}static _mergeAdjacentRanges(e){if(e.length===1)return e;e.sort(Qi.compare);let t=[],n=0,r=e[0];for(let i=1,a=e.length;i<a;i++){let a=e[i];r.left+r.width+.9>=a.left?r.width=Math.max(r.width,a.left+a.width-r.left):(t[n++]=r,r=a)}return t[n++]=r,t}static _createHorizontalRangesFromClientRects(e,t,n){if(!e||e.length===0)return null;let r=[];for(let i=0,a=e.length;i<a;i++){let a=e[i];r[i]=new Qi(Math.max(0,(a.left-t)/n),a.width/n)}return this._mergeAdjacentRanges(r)}static readHorizontalRanges(e,t,n,r,i,a,o,s){let c=e.children.length-1;if(0>c)return null;if(t=Math.min(c,Math.max(0,t)),r=Math.min(c,Math.max(0,r)),t===r&&n===i&&n===0&&!e.children[t].firstChild){let n=e.children[t].getClientRects();return this._createHorizontalRangesFromClientRects(n,a,o)}t!==r&&r>0&&i===0&&(r--,i=1073741824);let l=e.children[t].firstChild,u=e.children[r].firstChild;if((!l||!u)&&(!l&&n===0&&t>0&&(l=e.children[t-1].firstChild,n=1073741824),!u&&i===0&&r>0&&(u=e.children[r-1].firstChild,i=1073741824)),!l||!u)return null;n=Math.min(l.textContent.length,Math.max(0,n)),i=Math.min(u.textContent.length,Math.max(0,i));let d=this._readClientRects(l,n,u,i,s);return this._createHorizontalRangesFromClientRects(d,a,o)}},na=(function(){return i.xd?!0:!(i.vd||i.bc||i.xc)})(),ra=!0,ia=class{constructor(e,t){this._domNode=e,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1,this.endNode=t}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;let e=this._domNode.getBoundingClientRect();this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}},aa=class{constructor(e,t){this.themeType=t;let n=e.options,r=n.get(45);this.renderWhitespace=n.get(89),this.renderControlCharacters=n.get(84),this.spaceWidth=r.spaceWidth,this.middotWidth=r.middotWidth,this.wsmiddotWidth=r.wsmiddotWidth,this.useMonospaceOptimizations=r.isMonospace&&!n.get(29),this.canUseHalfwidthRightwardsArrow=r.canUseHalfwidthRightwardsArrow,this.lineHeight=n.get(60),this.stopRenderingLineAfter=n.get(106),this.fontLigatures=n.get(46)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}},oa=class e{constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(this._renderedViewLine)this._renderedViewLine.domNode=k(e);else throw Error(`I have no rendered view line to set the dom node to...`)}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return i.wa(this._options.themeType)||this._options.renderWhitespace===`selection`?(this._isMaybeInvalid=!0,!0):!1}renderLine(t,n,r,a){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;let o=r.getViewLineRenderingData(t),s=this._options,c=or.filter(o.inlineDecorations,t,o.minColumn,o.maxColumn),l=null;if(i.wa(s.themeType)||this._options.renderWhitespace===`selection`){let e=r.selections;for(let n of e){if(n.endLineNumber<t||n.startLineNumber>t)continue;let e=n.startLineNumber===t?n.startColumn:o.minColumn,r=n.endLineNumber===t?n.endColumn:o.maxColumn;e<r&&(i.wa(s.themeType)||this._options.renderWhitespace!==`selection`?c.push(new or(e,r,`inline-selected-text`,0)):(l||=[],l.push(new ur(e-1,r-1))))}}let u=new dr(s.useMonospaceOptimizations,s.canUseHalfwidthRightwardsArrow,o.content,o.continuesWithWrappedLine,o.isBasicASCII,o.containsRTL,o.minColumn-1,o.tokens,c,o.tabSize,o.startVisibleColumn,s.spaceWidth,s.middotWidth,s.wsmiddotWidth,s.stopRenderingLineAfter,s.renderWhitespace,s.renderControlCharacters,s.fontLigatures!==ne.OFF,l);if(this._renderedViewLine&&this._renderedViewLine.input.equals(u))return!1;a.appendASCIIString(`<div style="top:`),a.appendASCIIString(String(n)),a.appendASCIIString(`px;height:`),a.appendASCIIString(String(this._options.lineHeight)),a.appendASCIIString(`px;" class="`),a.appendASCIIString(e.CLASS_NAME),a.appendASCIIString(`">`);let d=hr(u,a);a.appendASCIIString(`</div>`);let f=null;return ra&&na&&o.isBasicASCII&&s.useMonospaceOptimizations&&d.containsForeignElements===0&&o.content.length<300&&u.lineTokens.getCount()<100&&(f=new sa(this._renderedViewLine?this._renderedViewLine.domNode:null,u,d.characterMapping)),f||=ua(this._renderedViewLine?this._renderedViewLine.domNode:null,u,d.characterMapping,d.containsRTL,d.containsForeignElements),this._renderedViewLine=f,!0}layoutLine(e,t){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))}getWidth(){return this._renderedViewLine?this._renderedViewLine.getWidth():0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof sa:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof sa?this._renderedViewLine.monospaceAssumptionsAreValid():ra}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof sa&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,n,r){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),n=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,n));let i=this._renderedViewLine.input.stopRenderingLineAfter,a=!1;i!==-1&&t>i+1&&n>i+1&&(a=!0),i!==-1&&t>i+1&&(t=i+1),i!==-1&&n>i+1&&(n=i+1);let o=this._renderedViewLine.getVisibleRangesForRange(e,t,n,r);return o&&o.length>0?new ea(a,o):null}getColumnOfNodeOffset(e,t,n){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t,n):1}};oa.CLASS_NAME=`view-line`;var sa=class{constructor(e,t,n){this.domNode=e,this.input=t,this._characterMapping=n,this._charWidth=t.spaceWidth}getWidth(){return Math.round(this._getCharPosition(this._characterMapping.length))}getWidthIsFast(){return!0}monospaceAssumptionsAreValid(){if(!this.domNode)return ra;let e=this.getWidth(),t=this.domNode.domNode.firstChild.offsetWidth;return Math.abs(e-t)>=2&&(ra=!1),ra}toSlowRenderedLine(){return ua(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,n,r){let i=this._getCharPosition(t);return[new Qi(i,this._getCharPosition(n)-i)]}_getCharPosition(e){let t=this._characterMapping.getHorizontalOffset(e);return this._charWidth*t}getColumnOfNodeOffset(e,t,n){let r=t.textContent.length,i=-1;for(;t;)t=t.previousSibling,i++;return this._characterMapping.getColumn(new fr(i,n),r)}},ca=class{constructor(e,t,n,r,i){if(this.domNode=e,this.input=t,this._characterMapping=n,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=i,this._cachedWidth=-1,this._pixelOffsetCache=null,!r||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let e=0,t=this._characterMapping.length;e<=t;e++)this._pixelOffsetCache[e]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(e,t,n,r){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){let i=this._readPixelOffset(this.domNode,e,t,r);if(i===-1)return null;let a=this._readPixelOffset(this.domNode,e,n,r);return a===-1?null:[new Qi(i,a-i)]}return this._readVisibleRangesForRange(this.domNode,e,t,n,r)}_readVisibleRangesForRange(e,t,n,r,i){if(n===r){let r=this._readPixelOffset(e,t,n,i);return r===-1?null:[new Qi(r,0)]}else return this._readRawVisibleRangesForRange(e,n,r,i)}_readPixelOffset(e,t,n,r){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth();let t=this._getReadingTarget(e);return t.firstChild?t.firstChild.offsetWidth:0}if(this._pixelOffsetCache!==null){let i=this._pixelOffsetCache[n];if(i!==-1)return i;let a=this._actualReadPixelOffset(e,t,n,r);return this._pixelOffsetCache[n]=a,a}return this._actualReadPixelOffset(e,t,n,r)}_actualReadPixelOffset(e,t,n,r){if(this._characterMapping.length===0){let t=ta.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,r.clientRectDeltaLeft,r.clientRectScale,r.endNode);return!t||t.length===0?-1:t[0].left}if(n===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth();let i=this._characterMapping.getDomPosition(n),a=ta.readHorizontalRanges(this._getReadingTarget(e),i.partIndex,i.charIndex,i.partIndex,i.charIndex,r.clientRectDeltaLeft,r.clientRectScale,r.endNode);if(!a||a.length===0)return-1;let o=a[0].left;if(this.input.isBasicASCII){let e=this._characterMapping.getHorizontalOffset(n),t=Math.round(this.input.spaceWidth*e);if(Math.abs(t-o)<=1)return t}return o}_readRawVisibleRangesForRange(e,t,n,r){if(t===1&&n===this._characterMapping.length)return[new Qi(0,this.getWidth())];let i=this._characterMapping.getDomPosition(t),a=this._characterMapping.getDomPosition(n);return ta.readHorizontalRanges(this._getReadingTarget(e),i.partIndex,i.charIndex,a.partIndex,a.charIndex,r.clientRectDeltaLeft,r.clientRectScale,r.endNode)}getColumnOfNodeOffset(e,t,n){let r=t.textContent.length,i=-1;for(;t;)t=t.previousSibling,i++;return this._characterMapping.getColumn(new fr(i,n),r)}},la=class extends ca{_readVisibleRangesForRange(e,t,n,r,i){let a=super._readVisibleRangesForRange(e,t,n,r,i);if(!a||a.length===0||n===r||n===1&&r===this._characterMapping.length)return a;if(!this.input.containsRTL){let n=this._readPixelOffset(e,t,r,i);if(n!==-1){let e=a[a.length-1];e.left<n&&(e.width=n-e.left)}}return a}},ua=(function(){return i.Cc?da:fa})();function da(e,t,n,r,i){return new la(e,t,n,r,i)}function fa(e,t,n,r,i){return new ca(e,t,n,r,i)}var pa=class e{static whitespaceVisibleColumn(e,t,n){let r=e.length,a=0,o=-1,s=-1;for(let c=0;c<r;c++){if(c===t)return[o,s,a];switch(a%n===0&&(o=c,s=a),e.charCodeAt(c)){case 32:a+=1;break;case 9:a=i.It.nextRenderTabStop(a,n);break;default:return[-1,-1,-1]}}return t===r?[o,s,a]:[-1,-1,-1]}static atomicPosition(t,n,r,a){let o=t.length,[s,c,l]=e.whitespaceVisibleColumn(t,n,r);if(l===-1)return-1;let u;switch(a){case 0:u=!0;break;case 1:u=!1;break;case 2:if(l%r===0)return n;u=l%r<=r/2;break}if(u){if(s===-1)return-1;let e=c;for(let n=s;n<o;++n){if(e===c+r)return s;switch(t.charCodeAt(n)){case 32:e+=1;break;case 9:e=i.It.nextRenderTabStop(e,r);break;default:return-1}}return e===c+r?s:-1}let d=i.It.nextRenderTabStop(l,r),f=l;for(let e=n;e<o;e++){if(f===d)return e;switch(t.charCodeAt(e)){case 32:f+=1;break;case 9:f=i.It.nextRenderTabStop(f,r);break;default:return-1}}return f===d?o:-1}},ma=class{constructor(e=null){this.hitTarget=e,this.type=0}},ha=class{constructor(e,t,n){this.position=e,this.spanNode=t,this.injectedText=n,this.type=1}},ga;(function(e){function t(e,t,n){let r=e.getPositionFromDOMInfo(t,n);return r?new ha(r,t,null):new ma(t)}e.createFromDOMInfo=t})(ga||={});var _a=class{constructor(e,t){this.lastViewCursorsRenderData=e,this.lastTextareaPosition=t}},va=class{static _deduceRage(e,t=null){return!t&&e?new i.Ol(e.lineNumber,e.column,e.lineNumber,e.column):t??null}static createUnknown(e,t,n){return{type:0,element:e,mouseColumn:t,position:n,range:this._deduceRage(n)}}static createTextarea(e,t){return{type:1,element:e,mouseColumn:t,position:null,range:null}}static createMargin(e,t,n,r,i,a){return{type:e,element:t,mouseColumn:n,position:r,range:i,detail:a}}static createViewZone(e,t,n,r,i){return{type:e,element:t,mouseColumn:n,position:r,range:this._deduceRage(r),detail:i}}static createContentText(e,t,n,r,i){return{type:6,element:e,mouseColumn:t,position:n,range:this._deduceRage(n,r),detail:i}}static createContentEmpty(e,t,n,r){return{type:7,element:e,mouseColumn:t,position:n,range:this._deduceRage(n),detail:r}}static createContentWidget(e,t,n){return{type:9,element:e,mouseColumn:t,position:null,range:null,detail:n}}static createScrollbar(e,t,n){return{type:11,element:e,mouseColumn:t,position:n,range:this._deduceRage(n)}}static createOverlayWidget(e,t,n){return{type:12,element:e,mouseColumn:t,position:null,range:null,detail:n}}static createOutsideEditor(e,t){return{type:13,element:null,mouseColumn:e,position:t,range:this._deduceRage(t)}}static _typeToString(e){return e===1?`TEXTAREA`:e===2?`GUTTER_GLYPH_MARGIN`:e===3?`GUTTER_LINE_NUMBERS`:e===4?`GUTTER_LINE_DECORATIONS`:e===5?`GUTTER_VIEW_ZONE`:e===6?`CONTENT_TEXT`:e===7?`CONTENT_EMPTY`:e===8?`CONTENT_VIEW_ZONE`:e===9?`CONTENT_WIDGET`:e===10?`OVERVIEW_RULER`:e===11?`SCROLLBAR`:e===12?`OVERLAY_WIDGET`:`UNKNOWN`}static toString(e){return this._typeToString(e.type)+`: `+e.position+` - `+e.range+` - `+JSON.stringify(e.detail)}},ya=class{static isTextArea(e){return e.length===2&&e[0]===3&&e[1]===6}static isChildOfViewLines(e){return e.length>=4&&e[0]===3&&e[3]===7}static isStrictChildOfViewLines(e){return e.length>4&&e[0]===3&&e[3]===7}static isChildOfScrollableElement(e){return e.length>=2&&e[0]===3&&e[1]===5}static isChildOfMinimap(e){return e.length>=2&&e[0]===3&&e[1]===8}static isChildOfContentWidgets(e){return e.length>=4&&e[0]===3&&e[3]===1}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&e[0]===2}static isChildOfOverlayWidgets(e){return e.length>=2&&e[0]===3&&e[1]===4}},ba=class e{constructor(e,t,n){this.viewModel=e.viewModel;let r=e.configuration.options;this.layoutInfo=r.get(132),this.viewDomNode=t.viewDomNode,this.lineHeight=r.get(60),this.stickyTabStops=r.get(105),this.typicalHalfwidthCharacterWidth=r.get(45).typicalHalfwidthCharacterWidth,this.lastRenderData=n,this._context=e,this._viewHelper=t}getZoneAtCoord(t){return e.getZoneAtCoord(this._context,t)}static getZoneAtCoord(e,t){let n=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(n){let r=n.verticalOffset+n.height/2,a=e.viewModel.getLineCount(),o=null,s,c=null;return n.afterLineNumber!==a&&(c=new i.kl(n.afterLineNumber+1,1)),n.afterLineNumber>0&&(o=new i.kl(n.afterLineNumber,e.viewModel.getLineMaxColumn(n.afterLineNumber))),s=c===null?o:o===null?c:t<r?o:c,{viewZoneId:n.id,afterLineNumber:n.afterLineNumber,positionBefore:o,positionAfter:c,position:s}}return null}getFullLineRangeAtCoord(e){if(this._context.viewLayout.isAfterLines(e)){let e=this._context.viewModel.getLineCount(),t=this._context.viewModel.getLineMaxColumn(e);return{range:new i.Ol(e,t,e,t),isAfterLines:!0}}let t=this._context.viewLayout.getLineNumberAtVerticalOffset(e);return{range:new i.Ol(t,1,t,this._context.viewModel.getLineMaxColumn(t)),isAfterLines:!1}}getLineNumberAtVerticalOffset(e){return this._context.viewLayout.getLineNumberAtVerticalOffset(e)}isAfterLines(e){return this._context.viewLayout.isAfterLines(e)}isInTopPadding(e){return this._context.viewLayout.isInTopPadding(e)}isInBottomPadding(e){return this._context.viewLayout.isInBottomPadding(e)}getVerticalOffsetForLineNumber(e){return this._context.viewLayout.getVerticalOffsetForLineNumber(e)}findAttribute(t,n){return e._findAttribute(t,n,this._viewHelper.viewDomNode)}static _findAttribute(e,t,n){for(;e&&e!==document.body;){if(e.hasAttribute&&e.hasAttribute(t))return e.getAttribute(t);if(e===n)return null;e=e.parentNode}return null}getLineWidth(e){return this._viewHelper.getLineWidth(e)}visibleRangeForPosition(e,t){return this._viewHelper.visibleRangeForPosition(e,t)}getPositionFromDOMInfo(e,t){return this._viewHelper.getPositionFromDOMInfo(e,t)}getCurrentScrollTop(){return this._context.viewLayout.getCurrentScrollTop()}getCurrentScrollLeft(){return this._context.viewLayout.getCurrentScrollLeft()}},xa=class{constructor(e,t,n,r){this.editorPos=t,this.pos=n,this.relativePos=r,this.mouseVerticalOffset=Math.max(0,e.getCurrentScrollTop()+this.relativePos.y),this.mouseContentHorizontalOffset=e.getCurrentScrollLeft()+this.relativePos.x-e.layoutInfo.contentLeft,this.isInMarginArea=this.relativePos.x<e.layoutInfo.contentLeft&&this.relativePos.x>=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,Ta._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}},Sa=class e extends xa{constructor(e,t,n,r,i){super(e,t,n,r),this._ctx=e,i?(this.target=i,this.targetPath=qi.collect(i,e.viewDomNode)):(this.target=null,this.targetPath=new Uint8Array)}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}_getMouseColumn(e=null){return e&&e.column<this._ctx.viewModel.getLineMaxColumn(e.lineNumber)?i.It.visibleColumnFromColumn(this._ctx.viewModel.getLineContent(e.lineNumber),e.column,this._ctx.viewModel.model.getOptions().tabSize)+1:this.mouseColumn}fulfillUnknown(e=null){return va.createUnknown(this.target,this._getMouseColumn(e),e)}fulfillTextarea(){return va.createTextarea(this.target,this._getMouseColumn())}fulfillMargin(e,t,n,r){return va.createMargin(e,this.target,this._getMouseColumn(t),t,n,r)}fulfillViewZone(e,t,n){return va.createViewZone(e,this.target,this._getMouseColumn(t),t,n)}fulfillContentText(e,t,n){return va.createContentText(this.target,this._getMouseColumn(e),e,t,n)}fulfillContentEmpty(e,t){return va.createContentEmpty(this.target,this._getMouseColumn(e),e,t)}fulfillContentWidget(e){return va.createContentWidget(this.target,this._getMouseColumn(),e)}fulfillScrollbar(e){return va.createScrollbar(this.target,this._getMouseColumn(e),e)}fulfillOverlayWidget(e){return va.createOverlayWidget(this.target,this._getMouseColumn(),e)}withTarget(t){return new e(this._ctx,this.editorPos,this.pos,this.relativePos,t)}},Ca={isAfterLines:!0};function wa(e){return{isAfterLines:!1,horizontalDistanceToText:e}}var Ta=class e{constructor(e,t){this._context=e,this._viewHelper=t}mouseTargetIsWidget(e){let t=e.target,n=qi.collect(t,this._viewHelper.viewDomNode);return!!(ya.isChildOfContentWidgets(n)||ya.isChildOfOverflowingContentWidgets(n)||ya.isChildOfOverlayWidgets(n))}createMouseTarget(t,n,r,i,a){let o=new ba(this._context,this._viewHelper,t),s=new Sa(o,n,r,i,a);try{return e._createMouseTarget(o,s,!1)}catch{return s.fulfillUnknown()}}static _createMouseTarget(t,n,r){if(n.target===null){if(r)return n.fulfillUnknown();let i=e._doHitTest(t,n);return i.type===1?e.createMouseTargetFromHitTestPosition(t,n,i.spanNode,i.position,i.injectedText):this._createMouseTarget(t,n.withTarget(i.hitTarget),!0)}let i=n,a=null;return a||=e._hitTestContentWidget(t,i),a||=e._hitTestOverlayWidget(t,i),a||=e._hitTestMinimap(t,i),a||=e._hitTestScrollbarSlider(t,i),a||=e._hitTestViewZone(t,i),a||=e._hitTestMargin(t,i),a||=e._hitTestViewCursor(t,i),a||=e._hitTestTextArea(t,i),a||=e._hitTestViewLines(t,i,r),a||=e._hitTestScrollbar(t,i),a||n.fulfillUnknown()}static _hitTestContentWidget(e,t){if(ya.isChildOfContentWidgets(t.targetPath)||ya.isChildOfOverflowingContentWidgets(t.targetPath)){let n=e.findAttribute(t.target,`widgetId`);return n?t.fulfillContentWidget(n):t.fulfillUnknown()}return null}static _hitTestOverlayWidget(e,t){if(ya.isChildOfOverlayWidgets(t.targetPath)){let n=e.findAttribute(t.target,`widgetId`);return n?t.fulfillOverlayWidget(n):t.fulfillUnknown()}return null}static _hitTestViewCursor(e,t){if(t.target){let n=e.lastRenderData.lastViewCursorsRenderData;for(let e of n)if(t.target===e.domNode)return t.fulfillContentText(e.position,null,{mightBeForeignElement:!1,injectedText:null})}if(t.isInContentArea){let n=e.lastRenderData.lastViewCursorsRenderData,r=t.mouseContentHorizontalOffset,i=t.mouseVerticalOffset;for(let a of n){if(r<a.contentLeft||r>a.contentLeft+a.width)continue;let n=e.getVerticalOffsetForLineNumber(a.position.lineNumber);if(n<=i&&i<=n+a.height)return t.fulfillContentText(a.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){let n=e.getZoneAtCoord(t.mouseVerticalOffset);if(n){let e=t.isInContentArea?8:5;return t.fulfillViewZone(e,n.position,n)}return null}static _hitTestTextArea(e,t){return ya.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){let n=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),r=n.range.getStartPosition(),i=Math.abs(t.relativePos.x),a={isAfterLines:n.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:i};return i-=e.layoutInfo.glyphMarginLeft,i<=e.layoutInfo.glyphMarginWidth?t.fulfillMargin(2,r,n.range,a):(i-=e.layoutInfo.glyphMarginWidth,i<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,r,n.range,a):(i-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,r,n.range,a)))}return null}static _hitTestViewLines(t,n,r){if(!ya.isChildOfViewLines(n.targetPath))return null;if(t.isInTopPadding(n.mouseVerticalOffset))return n.fulfillContentEmpty(new i.kl(1,1),Ca);if(t.isAfterLines(n.mouseVerticalOffset)||t.isInBottomPadding(n.mouseVerticalOffset)){let e=t.viewModel.getLineCount(),r=t.viewModel.getLineMaxColumn(e);return n.fulfillContentEmpty(new i.kl(e,r),Ca)}if(r){if(ya.isStrictChildOfViewLines(n.targetPath)){let e=t.getLineNumberAtVerticalOffset(n.mouseVerticalOffset);if(t.viewModel.getLineLength(e)===0){let r=t.getLineWidth(e),a=wa(n.mouseContentHorizontalOffset-r);return n.fulfillContentEmpty(new i.kl(e,1),a)}let r=t.getLineWidth(e);if(n.mouseContentHorizontalOffset>=r){let a=wa(n.mouseContentHorizontalOffset-r),o=new i.kl(e,t.viewModel.getLineMaxColumn(e));return n.fulfillContentEmpty(o,a)}}return n.fulfillUnknown()}let a=e._doHitTest(t,n);return a.type===1?e.createMouseTargetFromHitTestPosition(t,n,a.spanNode,a.position,a.injectedText):this._createMouseTarget(t,n.withTarget(a.hitTarget),!0)}static _hitTestMinimap(e,t){if(ya.isChildOfMinimap(t.targetPath)){let n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new i.kl(n,r))}return null}static _hitTestScrollbarSlider(e,t){if(ya.isChildOfScrollableElement(t.targetPath)&&t.target&&t.target.nodeType===1){let n=t.target.className;if(n&&/\b(slider|scrollbar)\b/.test(n)){let n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new i.kl(n,r))}}return null}static _hitTestScrollbar(e,t){if(ya.isChildOfScrollableElement(t.targetPath)){let n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new i.kl(n,r))}return null}getMouseColumn(t){let n=this._context.configuration.options,r=n.get(132),i=this._context.viewLayout.getCurrentScrollLeft()+t.x-r.contentLeft;return e._getMouseColumn(i,n.get(45).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){return e<0?1:Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,n,r,a){let o=r.lineNumber,s=r.column,c=e.getLineWidth(o);if(t.mouseContentHorizontalOffset>c){let e=wa(t.mouseContentHorizontalOffset-c);return t.fulfillContentEmpty(r,e)}let l=e.visibleRangeForPosition(o,s);if(!l)return t.fulfillUnknown(r);let u=l.left;if(t.mouseContentHorizontalOffset===u)return t.fulfillContentText(r,null,{mightBeForeignElement:!!a,injectedText:a});let d=[];if(d.push({offset:l.left,column:s}),s>1){let t=e.visibleRangeForPosition(o,s-1);t&&d.push({offset:t.left,column:s-1})}if(s<e.viewModel.getLineMaxColumn(o)){let t=e.visibleRangeForPosition(o,s+1);t&&d.push({offset:t.left,column:s+1})}d.sort((e,t)=>e.offset-t.offset);let f=t.pos.toClientCoordinates(),p=n.getBoundingClientRect(),m=p.left<=f.clientX&&f.clientX<=p.right;for(let e=1;e<d.length;e++){let n=d[e-1],r=d[e];if(n.offset<=t.mouseContentHorizontalOffset&&t.mouseContentHorizontalOffset<=r.offset){let e=new i.Ol(o,n.column,o,r.column),s=Math.abs(n.offset-t.mouseContentHorizontalOffset)<Math.abs(r.offset-t.mouseContentHorizontalOffset)?new i.kl(o,n.column):new i.kl(o,r.column);return t.fulfillContentText(s,e,{mightBeForeignElement:!m||!!a,injectedText:a})}}return t.fulfillContentText(r,null,{mightBeForeignElement:!m||!!a,injectedText:a})}static _doHitTestWithCaretRangeFromPoint(e,t){let n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.getVerticalOffsetForLineNumber(n)+Math.floor(e.lineHeight/2),a=t.pos.y+(r-t.mouseVerticalOffset);a<=t.editorPos.y&&(a=t.editorPos.y+1),a>=t.editorPos.y+t.editorPos.height&&(a=t.editorPos.y+t.editorPos.height-1);let o=new i.Ut(t.pos.x,a),s=this._actualDoHitTestWithCaretRangeFromPoint(e,o.toClientCoordinates());return s.type===1?s:this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates())}static _actualDoHitTestWithCaretRangeFromPoint(e,t){let n=i.po(e.viewDomNode),r;if(r=n?n.caretRangeFromPoint===void 0?Ea(n,t.clientX,t.clientY):n.caretRangeFromPoint(t.clientX,t.clientY):document.caretRangeFromPoint(t.clientX,t.clientY),!r||!r.startContainer)return new ma;let a=r.startContainer;if(a.nodeType===a.TEXT_NODE){let t=a.parentNode,n=t?t.parentNode:null,i=n?n.parentNode:null;return(i&&i.nodeType===i.ELEMENT_NODE?i.className:null)===oa.CLASS_NAME?ga.createFromDOMInfo(e,t,r.startOffset):new ma(a.parentNode)}else if(a.nodeType===a.ELEMENT_NODE){let t=a.parentNode,n=t?t.parentNode:null;return(n&&n.nodeType===n.ELEMENT_NODE?n.className:null)===oa.CLASS_NAME?ga.createFromDOMInfo(e,a,a.textContent.length):new ma(a)}return new ma}static _doHitTestWithCaretPositionFromPoint(e,t){let n=document.caretPositionFromPoint(t.clientX,t.clientY);if(n.offsetNode.nodeType===n.offsetNode.TEXT_NODE){let t=n.offsetNode.parentNode,r=t?t.parentNode:null,i=r?r.parentNode:null;return(i&&i.nodeType===i.ELEMENT_NODE?i.className:null)===oa.CLASS_NAME?ga.createFromDOMInfo(e,n.offsetNode.parentNode,n.offset):new ma(n.offsetNode.parentNode)}if(n.offsetNode.nodeType===n.offsetNode.ELEMENT_NODE){let t=n.offsetNode.parentNode,r=t&&t.nodeType===t.ELEMENT_NODE?t.className:null,i=t?t.parentNode:null,a=i&&i.nodeType===i.ELEMENT_NODE?i.className:null;if(r===oa.CLASS_NAME){let t=n.offsetNode.childNodes[Math.min(n.offset,n.offsetNode.childNodes.length-1)];if(t)return ga.createFromDOMInfo(e,t,0)}else if(a===oa.CLASS_NAME)return ga.createFromDOMInfo(e,n.offsetNode,0)}return new ma(n.offsetNode)}static _snapToSoftTabBoundary(e,t){let n=t.getLineContent(e.lineNumber),{tabSize:r}=t.model.getOptions(),a=pa.atomicPosition(n,e.column-1,r,2);return a===-1?e:new i.kl(e.lineNumber,a+1)}static _doHitTest(e,t){let n=new ma;if(typeof document.caretRangeFromPoint==`function`?n=this._doHitTestWithCaretRangeFromPoint(e,t):document.caretPositionFromPoint&&(n=this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates())),n.type===1){let t=e.viewModel.getInjectedTextAt(n.position),r=e.viewModel.normalizePosition(n.position,2);(t||!r.equals(n.position))&&(n=new ha(r,n.spanNode,t))}return n.type===1&&e.stickyTabStops&&(n=new ha(this._snapToSoftTabBoundary(n.position,e.viewModel),n.spanNode,n.injectedText)),n}};function Ea(e,t,n){let r=document.createRange(),i=e.elementFromPoint(t,n);if(i!==null){for(;i&&i.firstChild&&i.firstChild.nodeType!==i.firstChild.TEXT_NODE&&i.lastChild&&i.lastChild.firstChild;)i=i.lastChild;let e=i.getBoundingClientRect(),n=window.getComputedStyle(i,null).getPropertyValue(`font`),a=i.innerText,o=e.left,s=0,c;if(t>e.left+e.width)s=a.length;else{let e=Da.getInstance();for(let r=0;r<a.length+1;r++){if(c=e.getCharWidth(a.charAt(r),n)/2,o+=c,t<o){s=r;break}o+=c}}r.setStart(i.firstChild,s),r.setEnd(i.firstChild,s)}return r}var Da=class e{constructor(){this._cache={},this._canvas=document.createElement(`canvas`)}static getInstance(){return e._INSTANCE||=new e,e._INSTANCE}getCharWidth(e,t){let n=e+t;if(this._cache[n])return this._cache[n];let r=this._canvas.getContext(`2d`);r.font=t;let i=r.measureText(e).width;return this._cache[n]=i,i}};Da._INSTANCE=null;var Oa=class extends Gi{constructor(e,t,n){super(),this._mouseLeaveMonitor=null,this._context=e,this.viewController=t,this.viewHelper=n,this.mouseTargetFactory=new Ta(this._context,n),this._mouseDownOperation=this._register(new ka(this._context,this.viewController,this.viewHelper,(e,t)=>this._createMouseTarget(e,t),e=>this._getMouseColumn(e))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(132).height;let r=new i.Bt(this.viewHelper.viewDomNode);this._register(r.onContextMenu(this.viewHelper.viewDomNode,e=>this._onContextMenu(e,!0))),this._register(r.onMouseMove(this.viewHelper.viewDomNode,e=>{this._onMouseMove(e),this._mouseLeaveMonitor||=i.Ka(document,`mousemove`,e=>{this.viewHelper.viewDomNode.contains(e.target)||this._onMouseLeave(new i.zt(e,!1,this.viewHelper.viewDomNode))})})),this._register(r.onMouseUp(this.viewHelper.viewDomNode,e=>this._onMouseUp(e))),this._register(r.onMouseLeave(this.viewHelper.viewDomNode,e=>this._onMouseLeave(e)));let a=0;this._register(r.onPointerDown(this.viewHelper.viewDomNode,(e,t)=>{a=t})),this._register(i.Ka(this.viewHelper.viewDomNode,i.Ua.POINTER_UP,e=>{this._mouseDownOperation.onPointerUp()})),this._register(r.onMouseDown(this.viewHelper.viewDomNode,e=>this._onMouseDown(e,a))),this._register(i.Ka(this.viewHelper.viewDomNode,i.Ua.MOUSE_WHEEL,e=>{if(this.viewController.emitMouseWheel(e),!this._context.configuration.options.get(69))return;let t=new i.Vo(e);if(i.bd?(e.metaKey||e.ctrlKey)&&!e.shiftKey&&!e.altKey:e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey){let e=kt.getZoomLevel(),n=t.deltaY>0?1:-1;kt.setZoomLevel(e+n),t.preventDefault(),t.stopPropagation()}},{capture:!0,passive:!1})),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&=(this._mouseLeaveMonitor.dispose(),null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(132)){let e=this._context.configuration.options.get(132).height;this._height!==e&&(this._height=e,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}onScrollChanged(e){return this._mouseDownOperation.onScrollChanged(),!1}getTargetAtClientPoint(e,t){let n=new i.Lt(e,t).toPageCoordinates(),r=i.Gt(this.viewHelper.viewDomNode);if(n.y<r.y||n.y>r.y+r.height||n.x<r.x||n.x>r.x+r.width)return null;let a=i.Wt(this.viewHelper.viewDomNode,r,n);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),r,n,a,null)}_createMouseTarget(e,t){let n=e.target;if(!this.viewHelper.viewDomNode.contains(n)){let t=i.po(this.viewHelper.viewDomNode);t&&(n=t.elementsFromPoint(e.posx,e.posy).find(e=>this.viewHelper.viewDomNode.contains(e)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?n:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),!this._mouseDownOperation.isActive()&&(e.timestamp<this.lastMouseLeaveTime||this.viewController.emitMouseMove({event:e,target:this._createMouseTarget(e,!0)}))}_onMouseLeave(e){this._mouseLeaveMonitor&&=(this._mouseLeaveMonitor.dispose(),null),this.lastMouseLeaveTime=new Date().getTime(),this.viewController.emitMouseLeave({event:e,target:null})}_onMouseUp(e){this.viewController.emitMouseUp({event:e,target:this._createMouseTarget(e,!0)})}_onMouseDown(e,t){let n=this._createMouseTarget(e,!0),r=n.type===6||n.type===7,a=n.type===2||n.type===3||n.type===4,o=n.type===3,s=this._context.configuration.options.get(99),c=n.type===8||n.type===5,l=n.type===9,u=e.leftButton||e.middleButton;i.bd&&e.leftButton&&e.ctrlKey&&(u=!1);let d=()=>{e.preventDefault(),this.viewHelper.focusTextArea()};if(u&&(r||o&&s))d(),this._mouseDownOperation.start(n.type,e,t);else if(a)e.preventDefault();else if(c){let r=n.detail;u&&this.viewHelper.shouldSuppressMouseDownOnViewZone(r.viewZoneId)&&(d(),this._mouseDownOperation.start(n.type,e,t),e.preventDefault())}else l&&this.viewHelper.shouldSuppressMouseDownOnWidget(n.detail)&&(d(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:n})}},ka=class extends i.Xl{constructor(e,t,n,r,a){super(),this._context=e,this._viewController=t,this._viewHelper=n,this._createMouseTarget=r,this._getMouseColumn=a,this._mouseMoveMonitor=this._register(new i.Ht(this._viewHelper.viewDomNode)),this._onScrollTimeout=this._register(new i.xs),this._mouseState=new Aa,this._currentSelection=new i.Dl(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);let t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):this._dispatchMouse(t,!0))}start(e,t,n){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(e===3),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);let r=this._findMousePosition(t,!0);if(!r||!r.position)return;this._mouseState.trySetCount(t.detail,r.position),t.detail=this._mouseState.count;let i=this._context.configuration.options;if(!i.get(82)&&i.get(31)&&!i.get(18)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&r.type===6&&r.position&&this._currentSelection.containsPosition(r.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,n,t.buttons,e=>this._onMouseDownThenMove(e),e=>{let t=this._findMousePosition(this._lastMouseEvent,!1);e&&e instanceof KeyboardEvent?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:t?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(r,t.shiftKey),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,n,t.buttons,e=>this._onMouseDownThenMove(e),()=>this._stop()))}_stop(){this._isActive=!1,this._onScrollTimeout.cancel()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onScrollChanged(){this._isActive&&this._onScrollTimeout.setIfNotSet(()=>{if(!this._lastMouseEvent)return;let e=this._findMousePosition(this._lastMouseEvent,!1);e&&(this._mouseState.isDragAndDrop||this._dispatchMouse(e,!0))},10)}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){let t=e.editorPos,n=this._context.viewModel,r=this._context.viewLayout,a=this._getMouseColumn(e);if(e.posy<t.y){let n=Math.max(r.getCurrentScrollTop()-(t.y-e.posy),0),o=ba.getZoneAtCoord(this._context,n);if(o){let e=this._helpPositionJumpOverViewZone(o);if(e)return va.createOutsideEditor(a,e)}let s=r.getLineNumberAtVerticalOffset(n);return va.createOutsideEditor(a,new i.kl(s,1))}if(e.posy>t.y+t.height){let t=r.getCurrentScrollTop()+e.relativePos.y,o=ba.getZoneAtCoord(this._context,t);if(o){let e=this._helpPositionJumpOverViewZone(o);if(e)return va.createOutsideEditor(a,e)}let s=r.getLineNumberAtVerticalOffset(t);return va.createOutsideEditor(a,new i.kl(s,n.getLineMaxColumn(s)))}let o=r.getLineNumberAtVerticalOffset(r.getCurrentScrollTop()+e.relativePos.y);return e.posx<t.x?va.createOutsideEditor(a,new i.kl(o,1)):e.posx>t.x+t.width?va.createOutsideEditor(a,new i.kl(o,n.getLineMaxColumn(o))):null}_findMousePosition(e,t){let n=this._getPositionOutsideEditor(e);if(n)return n;let r=this._createMouseTarget(e,t);if(!r.position)return null;if(r.type===8||r.type===5){let e=this._helpPositionJumpOverViewZone(r.detail);if(e)return va.createViewZone(r.type,r.element,r.mouseColumn,e,r.detail)}return r}_helpPositionJumpOverViewZone(e){let t=new i.kl(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),n=e.positionBefore,r=e.positionAfter;return n&&r?n.isBefore(t)?n:r:null}_dispatchMouse(e,t){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:e.type===6&&e.detail.injectedText!==null})}},Aa=class e{constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(t,n){let r=new Date().getTime();r-this._lastSetMouseDownCountTime>e.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=r,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(n)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=n,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)}};Aa.CLEAR_MOUSE_DOWN_COUNT_TIME=400;var P=class e{constructor(e,t,n,r,i){this.value=e,this.selectionStart=t,this.selectionEnd=n,this.selectionStartPosition=r,this.selectionEndPosition=i}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(t){return new e(t.getValue(),t.getSelectionStart(),t.getSelectionEnd(),null,null)}collapseSelection(){return new e(this.value,this.value.length,this.value.length,null,null)}writeToTextArea(e,t,n){t.setValue(e,this.value),n&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){if(e<=this.selectionStart){let t=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(this.selectionStartPosition,t,-1)}if(e>=this.selectionEnd){let t=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(this.selectionEndPosition,t,1)}let t=this.value.substring(this.selectionStart,e);if(t.indexOf(`…`)===-1)return this._finishDeduceEditorPosition(this.selectionStartPosition,t,1);let n=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,n,-1)}_finishDeduceEditorPosition(e,t,n){let r=0,i=-1;for(;(i=t.indexOf(`
|
|
7
|
+
`,i+1))!==-1;)r++;return[e,n*t.length,r]}static deduceInput(e,t,n){if(!e)return{text:``,replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};let r=Math.min(i.Dc(e.value,t.value),e.selectionStart,t.selectionStart),a=Math.min(i.Oc(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd);e.value.substring(r,e.value.length-a);let o=t.value.substring(r,t.value.length-a),s=e.selectionStart-r,c=e.selectionEnd-r;return t.selectionStart-r===t.selectionEnd-r?{text:o,replacePrevCharCnt:e.selectionStart-r,replaceNextCharCnt:0,positionDelta:0}:{text:o,replacePrevCharCnt:c-s,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:``,replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:``,replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};let n=Math.min(i.Dc(e.value,t.value),e.selectionEnd),r=Math.min(i.Oc(e.value,t.value),e.value.length-e.selectionEnd),a=e.value.substring(n,e.value.length-r),o=t.value.substring(n,t.value.length-r);e.selectionStart-n;let s=e.selectionEnd-n;t.selectionStart-n;let c=t.selectionEnd-n;return{text:o,replacePrevCharCnt:s,replaceNextCharCnt:a.length-s,positionDelta:c-o.length}}};P.EMPTY=new P(``,0,0,null,null);var ja=class e{static _getPageOfLine(e,t){return Math.floor((e-1)/t)}static _getRangeForPage(e,t){let n=e*t;return new i.Ol(n+1,1,n+t+1,1)}static fromEditorSelection(t,n,r,a,o){let s=e._getPageOfLine(r.startLineNumber,a),c=e._getRangeForPage(s,a),l=e._getPageOfLine(r.endLineNumber,a),u=e._getRangeForPage(l,a),d=c.intersectRanges(new i.Ol(1,1,r.startLineNumber,r.startColumn)),f=n.getValueInRange(d,1),p=n.getLineCount(),m=n.getLineMaxColumn(p),h=u.intersectRanges(new i.Ol(r.endLineNumber,r.endColumn,p,m)),g=n.getValueInRange(h,1),_;if(s===l||s+1===l)_=n.getValueInRange(r,1);else{let e=c.intersectRanges(r),t=u.intersectRanges(r);_=n.getValueInRange(e,1)+`…`+n.getValueInRange(t,1)}return o&&(f.length>500&&(f=f.substring(f.length-500,f.length)),g.length>500&&(g=g.substring(0,500)),_.length>2*500&&(_=_.substring(0,500)+`…`+_.substring(_.length-500,_.length))),new P(f+_+g,f.length,f.length+_.length,new i.kl(r.startLineNumber,r.startColumn),new i.kl(r.endLineNumber,r.endColumn))}},Ma;(function(e){e.Tap=`-monaco-textarea-synthetic-tap`})(Ma||={});var Na={forceCopyWithSyntaxHighlighting:!1},Pa=class{constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}};Pa.INSTANCE=new Pa;var Fa=class{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){e||=``;let t={text:e,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}},Ia=class extends i.Xl{constructor(e,t,n,r){super(),this._host=e,this._textArea=t,this._OS=n,this._browser=r,this._onFocus=this._register(new i.Ul),this.onFocus=this._onFocus.event,this._onBlur=this._register(new i.Ul),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new i.Ul),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new i.Ul),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new i.Ul),this.onCut=this._onCut.event,this._onPaste=this._register(new i.Ul),this.onPaste=this._onPaste.event,this._onType=this._register(new i.Ul),this.onType=this._onType.event,this._onCompositionStart=this._register(new i.Ul),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new i.Ul),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new i.Ul),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new i.Ul),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncTriggerCut=this._register(new i.ys(()=>this._onCut.fire(),0)),this._asyncFocusGainWriteScreenReaderContent=this._register(new i.ys(()=>this.writeScreenReaderContent(`asyncFocusGain`),0)),this._textAreaState=P.EMPTY,this._selectionChangeListener=null,this.writeScreenReaderContent(`ctor`),this._hasFocus=!1,this._currentComposition=null;let a=null;this._register(this._textArea.onKeyDown(e=>{let t=new i.Ho(e);(t.keyCode===109||this._currentComposition&&t.keyCode===1)&&t.stopPropagation(),t.equals(9)&&t.preventDefault(),a=t,this._onKeyDown.fire(t)})),this._register(this._textArea.onKeyUp(e=>{let t=new i.Ho(e);this._onKeyUp.fire(t)})),this._register(this._textArea.onCompositionStart(e=>{let t=new Fa;if(this._currentComposition){this._currentComposition=t;return}if(this._currentComposition=t,this._OS===2&&a&&a.equals(109)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===e.data&&(a.code===`ArrowRight`||a.code===`ArrowLeft`)){t.handleCompositionUpdate(`x`),this._onCompositionStart.fire({data:e.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:e.data});return}this._onCompositionStart.fire({data:e.data})})),this._register(this._textArea.onCompositionUpdate(e=>{let t=this._currentComposition;if(!t)return;if(this._browser.isAndroid){let t=P.readFromTextArea(this._textArea),n=P.deduceAndroidCompositionInput(this._textAreaState,t);this._textAreaState=t,this._onType.fire(n),this._onCompositionUpdate.fire(e);return}let n=t.handleCompositionUpdate(e.data);this._textAreaState=P.readFromTextArea(this._textArea),this._onType.fire(n),this._onCompositionUpdate.fire(e)})),this._register(this._textArea.onCompositionEnd(e=>{let t=this._currentComposition;if(!t)return;if(this._currentComposition=null,this._browser.isAndroid){let e=P.readFromTextArea(this._textArea),t=P.deduceAndroidCompositionInput(this._textAreaState,e);this._textAreaState=e,this._onType.fire(t),this._onCompositionEnd.fire();return}let n=t.handleCompositionUpdate(e.data);this._textAreaState=P.readFromTextArea(this._textArea),this._onType.fire(n),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(e=>{if(this._textArea.setIgnoreSelectionChangeTime(`received input event`),this._currentComposition)return;let t=P.readFromTextArea(this._textArea),n=P.deduceInput(this._textAreaState,t,this._OS===2);n.replacePrevCharCnt===0&&n.text.length===1&&i.qc(n.text.charCodeAt(0))||(this._textAreaState=t,(n.text!==``||n.replacePrevCharCnt!==0||n.replaceNextCharCnt!==0||n.positionDelta!==0)&&this._onType.fire(n))})),this._register(this._textArea.onCut(e=>{this._textArea.setIgnoreSelectionChangeTime(`received cut event`),this._ensureClipboardGetsEditorSelection(e),this._asyncTriggerCut.schedule()})),this._register(this._textArea.onCopy(e=>{this._ensureClipboardGetsEditorSelection(e)})),this._register(this._textArea.onPaste(e=>{if(this._textArea.setIgnoreSelectionChangeTime(`received paste event`),e.preventDefault(),!e.clipboardData)return;let[t,n]=La.getTextData(e.clipboardData);t&&(n||=Pa.INSTANCE.get(t),this._onPaste.fire({text:t,metadata:n}))})),this._register(this._textArea.onFocus(()=>{let e=this._hasFocus;this._setHasFocus(!0),this._browser.isSafari&&!e&&this._hasFocus&&this._asyncFocusGainWriteScreenReaderContent.schedule()})),this._register(this._textArea.onBlur(()=>{this._currentComposition&&(this._currentComposition=null,this.writeScreenReaderContent(`blurWithoutCompositionEnd`),this._onCompositionEnd.fire()),this._setHasFocus(!1)})),this._register(this._textArea.onSyntheticTap(()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeScreenReaderContent(`tapWithoutCompositionEnd`),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let e=0;return i.Ka(document,`selectionchange`,t=>{if(!this._hasFocus||this._currentComposition||!this._browser.isChrome)return;let n=Date.now(),r=n-e;if(e=n,r<5)return;let a=n-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),a<100||!this._textAreaState.selectionStartPosition||!this._textAreaState.selectionEndPosition)return;let o=this._textArea.getValue();if(this._textAreaState.value!==o)return;let s=this._textArea.getSelectionStart(),c=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===s&&this._textAreaState.selectionEnd===c)return;let l=this._textAreaState.deduceEditorPosition(s),u=this._host.deduceModelPosition(l[0],l[1],l[2]),d=this._textAreaState.deduceEditorPosition(c),f=this._host.deduceModelPosition(d[0],d[1],d[2]),p=new i.Dl(u.lineNumber,u.column,f.lineNumber,f.column);this._onSelectionChangeRequest.fire(p)})}dispose(){super.dispose(),this._selectionChangeListener&&=(this._selectionChangeListener.dispose(),null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(e){this._hasFocus!==e&&(this._hasFocus=e,this._selectionChangeListener&&=(this._selectionChangeListener.dispose(),null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeScreenReaderContent(`focusgain`),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t}writeScreenReaderContent(e){this._currentComposition||this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent(this._textAreaState))}_ensureClipboardGetsEditorSelection(e){let t=this._host.getDataToCopy(),n={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};Pa.INSTANCE.set(this._browser.isFirefox?t.text.replace(/\r\n/g,`
|
|
8
|
+
`):t.text,n),e.preventDefault(),e.clipboardData&&La.setTextData(e.clipboardData,t.text,t.html,n)}},La=class{static getTextData(e){let t=e.getData(i.Us.text),n=null,r=e.getData(`vscode-editor-data`);if(typeof r==`string`)try{n=JSON.parse(r),n.version!==1&&(n=null)}catch{}return t.length===0&&n===null&&e.files.length>0?[Array.prototype.slice.call(e.files,0).map(e=>e.name).join(`
|
|
9
|
+
`),null]:[t,n]}static setTextData(e,t,n,r){e.setData(i.Us.text,t),typeof n==`string`&&e.setData(`text/html`,n),e.setData(`vscode-editor-data`,JSON.stringify(r))}},Ra=class extends i.Xl{constructor(e){super(),this._actual=e,this.onKeyDown=this._register(i.no(this._actual,`keydown`)).event,this.onKeyUp=this._register(i.no(this._actual,`keyup`)).event,this.onCompositionStart=this._register(i.no(this._actual,`compositionstart`)).event,this.onCompositionUpdate=this._register(i.no(this._actual,`compositionupdate`)).event,this.onCompositionEnd=this._register(i.no(this._actual,`compositionend`)).event,this.onInput=this._register(i.no(this._actual,`input`)).event,this.onCut=this._register(i.no(this._actual,`cut`)).event,this.onCopy=this._register(i.no(this._actual,`copy`)).event,this.onPaste=this._register(i.no(this._actual,`paste`)).event,this.onFocus=this._register(i.no(this._actual,`focus`)).event,this.onBlur=this._register(i.no(this._actual,`blur`)).event,this._onSyntheticTap=this._register(new i.Ul),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(i.Ka(this._actual,Ma.Tap,()=>this._onSyntheticTap.fire()))}hasFocus(){let e=i.po(this._actual);return e?e.activeElement===this._actual:i.So(this._actual)?document.activeElement===this._actual:!1}setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(e,t){let n=this._actual;n.value!==t&&(this.setIgnoreSelectionChangeTime(`setValue`),n.value=t)}getSelectionStart(){return this._actual.selectionDirection===`backward`?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return this._actual.selectionDirection===`backward`?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(e,t,n){let r=this._actual,a=null,o=i.po(r);a=o?o.activeElement:document.activeElement;let s=a===r,c=r.selectionStart,l=r.selectionEnd;if(s&&c===t&&l===n){i.bc&&window.parent!==window&&r.focus();return}if(s){this.setIgnoreSelectionChangeTime(`setSelectionRange`),r.setSelectionRange(t,n),i.bc&&window.parent!==window&&r.focus();return}try{let e=i.ko(r);this.setIgnoreSelectionChangeTime(`setSelectionRange`),r.focus(),r.setSelectionRange(t,n),i.Do(r,e)}catch{}}},za=class extends Oa{constructor(e,t,n){super(e,t,n),this._register(Wi.addTarget(this.viewHelper.linesContentDomNode)),this._register(i.Ka(this.viewHelper.linesContentDomNode,N.Tap,e=>this.onTap(e))),this._register(i.Ka(this.viewHelper.linesContentDomNode,N.Change,e=>this.onChange(e))),this._register(i.Ka(this.viewHelper.linesContentDomNode,N.Contextmenu,e=>this._onContextMenu(new i.zt(e,!1,this.viewHelper.viewDomNode),!1))),this._lastPointerType=`mouse`,this._register(i.Ka(this.viewHelper.linesContentDomNode,`pointerdown`,e=>{let t=e.pointerType;if(t===`mouse`){this._lastPointerType=`mouse`;return}else t===`touch`?this._lastPointerType=`touch`:this._lastPointerType=`pen`}));let r=new i.Vt(this.viewHelper.viewDomNode);this._register(r.onPointerMove(this.viewHelper.viewDomNode,e=>this._onMouseMove(e))),this._register(r.onPointerUp(this.viewHelper.viewDomNode,e=>this._onMouseUp(e))),this._register(r.onPointerLeave(this.viewHelper.viewDomNode,e=>this._onMouseLeave(e))),this._register(r.onPointerDown(this.viewHelper.viewDomNode,(e,t)=>this._onMouseDown(e,t)))}onTap(e){if(!e.initialTarget||!this.viewHelper.linesContentDomNode.contains(e.initialTarget))return;e.preventDefault(),this.viewHelper.focusTextArea();let t=this._createMouseTarget(new i.zt(e,!1,this.viewHelper.viewDomNode),!1);t.position&&this.viewController.dispatchMouse({position:t.position,mouseColumn:t.position.column,startedOnLineNumbers:!1,mouseDownCount:e.tapCount,inSelectionMode:!1,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:t.type===6&&t.detail.injectedText!==null})}onChange(e){this._lastPointerType===`touch`&&this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}_onMouseDown(e,t){e.browserEvent.pointerType!==`touch`&&super._onMouseDown(e,t)}},Ba=class extends Oa{constructor(e,t,n){super(e,t,n),this._register(Wi.addTarget(this.viewHelper.linesContentDomNode)),this._register(i.Ka(this.viewHelper.linesContentDomNode,N.Tap,e=>this.onTap(e))),this._register(i.Ka(this.viewHelper.linesContentDomNode,N.Change,e=>this.onChange(e))),this._register(i.Ka(this.viewHelper.linesContentDomNode,N.Contextmenu,e=>this._onContextMenu(new i.zt(e,!1,this.viewHelper.viewDomNode),!1)))}onTap(e){e.preventDefault(),this.viewHelper.focusTextArea();let t=this._createMouseTarget(new i.zt(e,!1,this.viewHelper.viewDomNode),!1);if(t.position){let e=document.createEvent(`CustomEvent`);e.initEvent(Ma.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(e),this.viewController.moveTo(t.position)}}onChange(e){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}},Va=class extends i.Xl{constructor(e,t,n){super(),i._d&&i.Jo.pointerEvents?this.handler=this._register(new za(e,t,n)):window.TouchEvent?this.handler=this._register(new Ba(e,t,n)):this.handler=this._register(new Oa(e,t,n))}getTargetAtClientPoint(e,t){return this.handler.getTargetAtClientPoint(e,t)}},Ha=class extends Gi{},Ua=class e extends Ha{constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new i.kl(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){let e=this._context.configuration.options;this._lineHeight=e.get(60);let t=e.get(61);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(85);let n=e.get(132);this._lineNumbersLeft=n.lineNumbersLeft,this._lineNumbersWidth=n.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){let t=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t);let n=!1;return this._activeLineNumber!==t.lineNumber&&(this._activeLineNumber=t.lineNumber,n=!0),(this._renderLineNumbers===2||this._renderLineNumbers===3)&&(n=!0),n}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getLineRenderLineNumber(e){let t=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new i.kl(e,1));if(t.column!==1)return``;let n=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(n);if(this._renderLineNumbers===2){let e=Math.abs(this._lastCursorModelPosition.lineNumber-n);return e===0?`<span class="relative-current-line-number">`+n+`</span>`:String(e)}return this._renderLineNumbers===3?this._lastCursorModelPosition.lineNumber===n||n%10==0?String(n):``:String(n)}prepareRender(t){if(this._renderLineNumbers===0){this._renderResult=null;return}let n=i.vd?this._lineHeight%2==0?` lh-even`:` lh-odd`:``,r=t.visibleRange.startLineNumber,a=t.visibleRange.endLineNumber,o=`<div class="`+e.CLASS_NAME+n+`" style="left:`+this._lineNumbersLeft+`px;width:`+this._lineNumbersWidth+`px;">`,s=this._context.viewModel.getLineCount(),c=[];for(let t=r;t<=a;t++){let i=t-r;if(!this._renderFinalNewline&&t===s&&this._context.viewModel.getLineLength(t)===0){c[i]=``;continue}let a=this._getLineRenderLineNumber(t);a?t===this._activeLineNumber?c[i]=`<div class="active-line-number `+e.CLASS_NAME+n+`" style="left:`+this._lineNumbersLeft+`px;width:`+this._lineNumbersWidth+`px;">`+a+`</div>`:c[i]=o+a+`</div>`:c[i]=``}this._renderResult=c}render(e,t){if(!this._renderResult)return``;let n=t-e;return n<0||n>=this._renderResult.length?``:this._renderResult[n]}};Ua.CLASS_NAME=`line-numbers`,i.ba((e,t)=>{let n=e.getColor(i.Ct);n&&t.addRule(`.monaco-editor .line-numbers { color: ${n}; }`);let r=e.getColor(i.Z);r&&t.addRule(`.monaco-editor .line-numbers.active-line-number { color: ${r}; }`)});var Wa=class e extends Ki{constructor(t){super(t);let n=this._context.configuration.options,r=n.get(132);this._canUseLayerHinting=!n.get(28),this._contentLeft=r.contentLeft,this._glyphMarginLeft=r.glyphMarginLeft,this._glyphMarginWidth=r.glyphMarginWidth,this._domNode=k(document.createElement(`div`)),this._domNode.setClassName(e.OUTER_CLASS_NAME),this._domNode.setPosition(`absolute`),this._domNode.setAttribute(`role`,`presentation`),this._domNode.setAttribute(`aria-hidden`,`true`),this._glyphMarginBackgroundDomNode=k(document.createElement(`div`)),this._glyphMarginBackgroundDomNode.setClassName(e.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){let t=this._context.configuration.options,n=t.get(132);return this._canUseLayerHinting=!t.get(28),this._contentLeft=n.contentLeft,this._glyphMarginLeft=n.glyphMarginLeft,this._glyphMarginWidth=n.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain(`strict`);let t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);let n=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(n),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(n)}};Wa.CLASS_NAME=`glyph-margin`,Wa.OUTER_CLASS_NAME=`margin`;var Ga=`monaco-mouse-cursor-text`,Ka=class{constructor(e,t,n,r,i){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=n,this.widthOfHiddenLineTextBefore=r,this.distanceToModelLineEnd=i,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){let t=new i.kl(this.modelLineNumber,this.distanceToModelLineStart+1),n=new i.kl(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(e?this._previousPresentation=e:this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}},qa=i.bc,Ja=class extends Ki{constructor(e,t,n){super(e),this._primaryCursorPosition=new i.kl(1,1),this._primaryCursorVisibleRange=null,this._viewController=t,this._visibleRangeProvider=n,this._scrollLeft=0,this._scrollTop=0;let r=this._context.configuration.options,a=r.get(132);this._setAccessibilityOptions(r),this._contentLeft=a.contentLeft,this._contentWidth=a.contentWidth,this._contentHeight=a.height,this._fontInfo=r.get(45),this._lineHeight=r.get(60),this._emptySelectionClipboard=r.get(33),this._copyWithSyntaxHighlighting=r.get(21),this._visibleTextArea=null,this._selections=[new i.Dl(1,1,1,1)],this._modelSelections=[new i.Dl(1,1,1,1)],this._lastRenderPosition=null,this.textArea=k(document.createElement(`textarea`)),qi.write(this.textArea,6),this.textArea.setClassName(`inputarea ${Ga}`),this.textArea.setAttribute(`wrap`,`off`),this.textArea.setAttribute(`autocorrect`,`off`),this.textArea.setAttribute(`autocapitalize`,`off`),this.textArea.setAttribute(`autocomplete`,`off`),this.textArea.setAttribute(`spellcheck`,`false`),this.textArea.setAttribute(`aria-label`,this._getAriaLabel(r)),this.textArea.setAttribute(`tabindex`,String(r.get(113))),this.textArea.setAttribute(`role`,`textbox`),this.textArea.setAttribute(`aria-roledescription`,i.Td(`editor`,`editor`)),this.textArea.setAttribute(`aria-multiline`,`true`),this.textArea.setAttribute(`aria-haspopup`,`false`),this.textArea.setAttribute(`aria-autocomplete`,`both`),r.get(30)&&r.get(82)&&this.textArea.setAttribute(`readonly`,`true`),this.textAreaCover=k(document.createElement(`div`)),this.textAreaCover.setPosition(`absolute`);let o={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:e=>this._context.viewModel.getLineMaxColumn(e),getValueInRange:(e,t)=>this._context.viewModel.getValueInRange(e,t)},s={getDataToCopy:()=>{let e=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,i.Cd),t=this._context.viewModel.model.getEOL(),n=this._emptySelectionClipboard&&this._modelSelections.length===1&&this._modelSelections[0].isEmpty(),r=Array.isArray(e)?e:null,a=Array.isArray(e)?e.join(t):e,o,s=null;if(Na.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&a.length<65536){let e=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);e&&(o=e.html,s=e.mode)}return{isFromEmptySelection:n,multicursorText:r,text:a,html:o,mode:s}},getScreenReaderContent:e=>{if(this._accessibilitySupport===1){let e=this._selections[0];if(i.bd&&e.isEmpty()){let t=e.getStartPosition(),n=this._getWordBeforePosition(t);if(n.length===0&&(n=this._getCharacterBeforePosition(t)),n.length>0)return new P(n,n.length,n.length,t,t)}return i.xc&&!e.isEmpty()?new P(`vscode-placeholder`,0,18,null,null):P.EMPTY}if(i.yc){let e=this._selections[0];if(e.isEmpty()){let t=e.getStartPosition(),[n,r]=this._getAndroidWordAtPosition(t);if(n.length>0)return new P(n,r,r,t,t)}return P.EMPTY}return ja.fromEditorSelection(e,o,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0)},deduceModelPosition:(e,t,n)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(e,t,n)},c=this._register(new Ra(this.textArea.domNode));this._textAreaInput=this._register(new Ia(s,c,i.hd,i._c)),this._register(this._textAreaInput.onKeyDown(e=>{this._viewController.emitKeyDown(e)})),this._register(this._textAreaInput.onKeyUp(e=>{this._viewController.emitKeyUp(e)})),this._register(this._textAreaInput.onPaste(e=>{let t=!1,n=null,r=null;e.metadata&&(t=this._emptySelectionClipboard&&!!e.metadata.isFromEmptySelection,n=e.metadata.multicursorText===void 0?null:e.metadata.multicursorText,r=e.metadata.mode),this._viewController.paste(e.text,t,n,r)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(e=>{e.replacePrevCharCnt||e.replaceNextCharCnt||e.positionDelta?this._viewController.compositionType(e.text,e.replacePrevCharCnt,e.replaceNextCharCnt,e.positionDelta):this._viewController.type(e.text)})),this._register(this._textAreaInput.onSelectionChangeRequest(e=>{this._viewController.setSelection(e)})),this._register(this._textAreaInput.onCompositionStart(e=>{let t=this.textArea.domNode,n=this._modelSelections[0],{distanceToModelLineStart:r,widthOfHiddenTextBefore:a}=(()=>{let e=t.value.substring(0,Math.min(t.selectionStart,t.selectionEnd)),r=e.lastIndexOf(`
|
|
10
|
+
`),i=e.substring(r+1),a=i.lastIndexOf(` `),o=i.length-a-1,s=n.getStartPosition(),c=Math.min(s.column-1,o);return{distanceToModelLineStart:s.column-1-c,widthOfHiddenTextBefore:Ya(i.substring(0,i.length-c),this._fontInfo)}})(),{distanceToModelLineEnd:o}=(()=>{let e=t.value.substring(Math.max(t.selectionStart,t.selectionEnd)),r=e.indexOf(`
|
|
11
|
+
`),i=r===-1?e:e.substring(0,r),a=i.indexOf(` `),o=a===-1?i.length:i.length-a-1,s=n.getEndPosition(),c=Math.min(this._context.viewModel.model.getLineMaxColumn(s.lineNumber)-s.column,o);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(s.lineNumber)-s.column-c}})();this._context.viewModel.revealRange(`keyboard`,!0,i.Ol.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new Ka(this._context,n.startLineNumber,r,a,o),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${Ga} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(e=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this._render(),this.textArea.setClassName(`inputarea ${Ga}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.viewModel.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.viewModel.setHasFocus(!1)}))}dispose(){super.dispose()}_getAndroidWordAtPosition(e){let t=this._context.viewModel.getLineContent(e.lineNumber),n=i.is('`~!@#$%^&*()-=+[{]}\\|;:",.<>/?'),r=!0,a=e.column,o=!0,s=e.column,c=0;for(;c<50&&(r||o);){if(r&&a<=1&&(r=!1),r){let e=t.charCodeAt(a-2);n.get(e)===0?a--:r=!1}if(o&&s>t.length&&(o=!1),o){let e=t.charCodeAt(s-1);n.get(e)===0?s++:o=!1}c++}return[t.substring(a-1,s-1),e.column-a]}_getWordBeforePosition(e){let t=this._context.viewModel.getLineContent(e.lineNumber),n=i.is(this._context.configuration.options.get(118)),r=e.column,a=0;for(;r>1;){let i=t.charCodeAt(r-2);if(n.get(i)!==0||a>50)return t.substring(r-1,e.column-1);a++,r--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){let t=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!i.qc(t.charCodeAt(0)))return t}return``}_getAriaLabel(e){return e.get(2)===1?i.Td(`accessibilityOffAriaLabel`,`The editor is not accessible at this time. Press {0} for options.`,i.vd?`Shift+Alt+F1`:`Alt+F1`):e.get(4)}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);let t=e.get(3);this._accessibilitySupport===2&&t===Le.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t}onConfigurationChanged(e){let t=this._context.configuration.options,n=t.get(132);return this._setAccessibilityOptions(t),this._contentLeft=n.contentLeft,this._contentWidth=n.contentWidth,this._contentHeight=n.height,this._fontInfo=t.get(45),this._lineHeight=t.get(60),this._emptySelectionClipboard=t.get(33),this._copyWithSyntaxHighlighting=t.get(21),this.textArea.setAttribute(`aria-label`,this._getAriaLabel(t)),this.textArea.setAttribute(`tabindex`,String(t.get(113))),(e.hasChanged(30)||e.hasChanged(82))&&(t.get(30)&&t.get(82)?this.textArea.setAttribute(`readonly`,`true`):this.textArea.removeAttribute(`readonly`)),e.hasChanged(2)&&this._textAreaInput.writeScreenReaderContent(`strategy changed`),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeScreenReaderContent(`selection changed`),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute(`aria-haspopup`,`true`),this.textArea.setAttribute(`aria-autocomplete`,`list`),this.textArea.setAttribute(`aria-activedescendant`,e.activeDescendant)):(this.textArea.setAttribute(`aria-haspopup`,`false`),this.textArea.setAttribute(`aria-autocomplete`,`both`),this.textArea.removeAttribute(`aria-activedescendant`)),e.role&&this.textArea.setAttribute(`role`,e.role)}prepareRender(e){var t;this._primaryCursorPosition=new i.kl(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition),(t=this._visibleTextArea)==null||t.prepareRender(e)}render(e){this._textAreaInput.writeScreenReaderContent(`render`),this._render()}_render(){if(this._visibleTextArea){let e=this._visibleTextArea.visibleTextareaStart,t=this._visibleTextArea.visibleTextareaEnd,n=this._visibleTextArea.startPosition,r=this._visibleTextArea.endPosition;if(n&&r&&e&&t&&t.left>=this._scrollLeft&&e.left<=this._scrollLeft+this._contentWidth){let a=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,o=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart)),s=this._visibleTextArea.widthOfHiddenLineTextBefore,c=this._contentLeft+e.left-this._scrollLeft,l=t.left-e.left+1;if(c<this._contentLeft){let e=this._contentLeft-c;c+=e,s+=e,l-=e}l>this._contentWidth&&(l=this._contentWidth);let u=this._context.viewModel.getViewLineData(n.lineNumber),d=u.tokens.findTokenIndexAtOffset(n.column-1),f=d===u.tokens.findTokenIndexAtOffset(r.column-1),p=this._visibleTextArea.definePresentation(f?u.tokens.getPresentation(d):null);this.textArea.domNode.scrollTop=o*this._lineHeight,this.textArea.domNode.scrollLeft=s,this._doRender({lastRenderPosition:null,top:a,left:c,width:l,height:this._lineHeight,useCover:!1,color:(i.xl.getColorMap()||[])[p.foreground],italic:p.italic,bold:p.bold,underline:p.underline,strikethrough:p.strikethrough})}return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}let e=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(e<this._contentLeft||e>this._contentLeft+this._contentWidth){this._renderAtTopLeft();return}let t=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(t<0||t>this._contentHeight){this._renderAtTopLeft();return}if(i.bd){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:e,width:qa?0:1,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;let n=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=n*this._lineHeight;return}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:e,width:qa?0:1,height:qa?0:1,useCover:!1})}_newlinecount(e){let t=0,n=-1;do{if(n=e.indexOf(`
|
|
12
|
+
`,n+1),n===-1)break;t++}while(!0);return t}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:qa?0:1,height:qa?0:1,useCover:!0})}_doRender(e){this._lastRenderPosition=e.lastRenderPosition;let t=this.textArea,n=this.textAreaCover;Tt(t,this._fontInfo),t.setTop(e.top),t.setLeft(e.left),t.setWidth(e.width),t.setHeight(e.height),t.setColor(e.color?i.Bi.Format.CSS.formatHex(e.color):``),t.setFontStyle(e.italic?`italic`:``),e.bold&&t.setFontWeight(`bold`),t.setTextDecoration(`${e.underline?` underline`:``}${e.strikethrough?` line-through`:``}`),n.setTop(e.useCover?e.top:0),n.setLeft(e.useCover?e.left:0),n.setWidth(e.useCover?e.width:0),n.setHeight(e.useCover?e.height:0);let r=this._context.configuration.options;r.get(51)?n.setClassName(`monaco-editor-background textAreaCover `+Wa.OUTER_CLASS_NAME):r.get(61).renderType===0?n.setClassName(`monaco-editor-background textAreaCover`):n.setClassName(`monaco-editor-background textAreaCover `+Ua.CLASS_NAME)}};function Ya(e,t){if(e.length===0)return 0;let n=document.createElement(`div`);n.style.position=`absolute`,n.style.top=`-50000px`,n.style.width=`50000px`;let r=document.createElement(`span`);Tt(r,t),r.style.whiteSpace=`pre`,r.append(e),n.appendChild(r),document.body.appendChild(n);let i=r.offsetWidth;return document.body.removeChild(n),i}var Xa=()=>!0,Za=()=>!1,Qa=e=>e===` `||e===` `,$a=class{constructor(e,t,n,r){this.languageConfigurationService=r,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;let i=n.options,a=i.get(132);this.readOnly=i.get(82),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=i.get(105),this.lineHeight=i.get(60),this.pageSize=Math.max(1,Math.floor(a.height/this.lineHeight)-2),this.useTabStops=i.get(117),this.wordSeparators=i.get(118),this.emptySelectionClipboard=i.get(33),this.copyWithSyntaxHighlighting=i.get(21),this.multiCursorMergeOverlapping=i.get(70),this.multiCursorPaste=i.get(72),this.autoClosingBrackets=i.get(5),this.autoClosingQuotes=i.get(8),this.autoClosingDelete=i.get(6),this.autoClosingOvertype=i.get(7),this.autoSurround=i.get(11),this.autoIndent=i.get(9),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();let o=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(o)for(let e of o)this.surroundingPairs[e.open]=e.close}static shouldRecreate(e){return e.hasChanged(132)||e.hasChanged(118)||e.hasChanged(33)||e.hasChanged(70)||e.hasChanged(72)||e.hasChanged(5)||e.hasChanged(8)||e.hasChanged(6)||e.hasChanged(7)||e.hasChanged(11)||e.hasChanged(117)||e.hasChanged(60)||e.hasChanged(82)}get electricChars(){if(!this._electricChars){this._electricChars={};let e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter?.getElectricCharacters();if(e)for(let t of e)this._electricChars[t]=!0}return this._electricChars}onElectricCharacter(e,t,n){let r=i.nc(t,n-1),a=this.languageConfigurationService.getLanguageConfiguration(r.languageId).electricCharacter;return a?a.onElectricCharacter(e,r,n-r.firstCharOffset):null}normalizeIndentation(e){return i.Y(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t){switch(t){case`beforeWhitespace`:return Qa;case`languageDefined`:return this._getLanguageDefinedShouldAutoClose(e);case`always`:return Xa;case`never`:return Za}}_getLanguageDefinedShouldAutoClose(e){let t=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet();return e=>t.indexOf(e)!==-1}visibleColumnFromColumn(e,t){return i.It.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,n){let r=i.It.columnFromVisibleColumn(e.getLineContent(t),n,this.tabSize),a=e.getLineMinColumn(t);if(r<a)return a;let o=e.getLineMaxColumn(t);return r>o?o:r}},F=class e{constructor(e,t){this._cursorStateBrand=void 0,this.modelState=e,this.viewState=t}static fromModelState(e){return new eo(e)}static fromViewState(e){return new to(e)}static fromModelSelection(t){let n=i.Dl.liftSelection(t),r=new no(i.Ol.fromPositions(n.getSelectionStart()),0,n.getPosition(),0);return e.fromModelState(r)}static fromModelSelections(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=this.fromModelSelection(e[n]);return t}equals(e){return this.viewState.equals(e.viewState)&&this.modelState.equals(e.modelState)}},eo=class{constructor(e){this.modelState=e,this.viewState=null}},to=class{constructor(e){this.modelState=null,this.viewState=e}},no=class e{constructor(t,n,r,i){this._singleCursorStateBrand=void 0,this.selectionStart=t,this.selectionStartLeftoverVisibleColumns=n,this.position=r,this.leftoverVisibleColumns=i,this.selection=e._computeSelection(this.selectionStart,this.position)}equals(e){return this.selectionStartLeftoverVisibleColumns===e.selectionStartLeftoverVisibleColumns&&this.leftoverVisibleColumns===e.leftoverVisibleColumns&&this.position.equals(e.position)&&this.selectionStart.equalsRange(e.selectionStart)}hasSelection(){return!this.selection.isEmpty()||!this.selectionStart.isEmpty()}move(t,n,r,a){return t?new e(this.selectionStart,this.selectionStartLeftoverVisibleColumns,new i.kl(n,r),a):new e(new i.Ol(n,r,n,r),a,new i.kl(n,r),a)}static _computeSelection(e,t){return e.isEmpty()||!t.isBeforeOrEqual(e.getStartPosition())?i.Dl.fromPositions(e.getStartPosition(),t):i.Dl.fromPositions(e.getEndPosition(),t)}},ro=class{constructor(e,t,n){this._editOperationResultBrand=void 0,this.type=e,this.commands=t,this.shouldPushStackElementBefore=n.shouldPushStackElementBefore,this.shouldPushStackElementAfter=n.shouldPushStackElementAfter}};function io(e){return e===`'`||e===`"`||e==="`"}var ao=class e{static columnSelect(e,t,n,r,a,o){let s=Math.abs(a-n)+1,c=n>a,l=r>o,u=r<o,d=[];for(let a=0;a<s;a++){let s=n+(c?-a:a),f=e.columnFromVisibleColumn(t,s,r),p=e.columnFromVisibleColumn(t,s,o),m=e.visibleColumnFromColumn(t,new i.kl(s,f)),h=e.visibleColumnFromColumn(t,new i.kl(s,p));u&&(m>o||h<r)||l&&(h>r||m<o)||d.push(new no(new i.Ol(s,f,s,f),0,new i.kl(s,p),0))}if(d.length===0)for(let e=0;e<s;e++){let r=n+(c?-e:e),a=t.getLineMaxColumn(r);d.push(new no(new i.Ol(r,a,r,a),0,new i.kl(r,a),0))}return{viewStates:d,reversed:c,fromLineNumber:n,fromVisualColumn:r,toLineNumber:a,toVisualColumn:o}}static columnSelectLeft(t,n,r){let i=r.toViewVisualColumn;return i>0&&i--,e.columnSelect(t,n,r.fromViewLineNumber,r.fromViewVisualColumn,r.toViewLineNumber,i)}static columnSelectRight(e,t,n){let r=0,a=Math.min(n.fromViewLineNumber,n.toViewLineNumber),o=Math.max(n.fromViewLineNumber,n.toViewLineNumber);for(let n=a;n<=o;n++){let a=t.getLineMaxColumn(n),o=e.visibleColumnFromColumn(t,new i.kl(n,a));r=Math.max(r,o)}let s=n.toViewVisualColumn;return s<r&&s++,this.columnSelect(e,t,n.fromViewLineNumber,n.fromViewVisualColumn,n.toViewLineNumber,s)}static columnSelectUp(e,t,n,r){let i=r?e.pageSize:1,a=Math.max(1,n.toViewLineNumber-i);return this.columnSelect(e,t,n.fromViewLineNumber,n.fromViewVisualColumn,a,n.toViewVisualColumn)}static columnSelectDown(e,t,n,r){let i=r?e.pageSize:1,a=Math.min(t.getLineCount(),n.toViewLineNumber+i);return this.columnSelect(e,t,n.fromViewLineNumber,n.fromViewVisualColumn,a,n.toViewVisualColumn)}},oo=class{constructor(e,t,n=!1){this._range=e,this._text=t,this.insertsAutoWhitespace=n}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return i.Dl.fromPositions(n.getEndPosition())}},so=class{constructor(e,t){this._range=e,this._text=t}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return i.Dl.fromRange(n,0)}},co=class{constructor(e,t,n=!1){this._range=e,this._text=t,this.insertsAutoWhitespace=n}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return i.Dl.fromPositions(n.getStartPosition())}},lo=class{constructor(e,t,n,r,i=!1){this._range=e,this._text=t,this._columnDeltaOffset=r,this._lineNumberDeltaOffset=n,this.insertsAutoWhitespace=i}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return i.Dl.fromPositions(n.getEndPosition().delta(this._lineNumberDeltaOffset,this._columnDeltaOffset))}},uo=class{constructor(e,t,n,r=!1){this._range=e,this._text=t,this._initialSelection=n,this._forceMoveMarkers=r,this._selectionId=null}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text,this._forceMoveMarkers),this._selectionId=t.trackSelection(this._initialSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}},fo=class{constructor(e,t,n){this._cursorPositionBrand=void 0,this.lineNumber=e,this.column=t,this.leftoverVisibleColumns=n}},I=class e{static leftPosition(e,t){if(t.column>e.getLineMinColumn(t.lineNumber))return t.delta(void 0,-i.el(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){let n=t.lineNumber-1;return new i.kl(n,e.getLineMaxColumn(n))}else return t}static leftPositionAtomicSoftTabs(e,t,n){if(t.column<=e.getLineIndentColumn(t.lineNumber)){let r=e.getLineMinColumn(t.lineNumber),a=e.getLineContent(t.lineNumber),o=pa.atomicPosition(a,t.column-1,n,0);if(o!==-1&&o+1>=r)return new i.kl(t.lineNumber,o+1)}return this.leftPosition(e,t)}static left(t,n,r){let i=t.stickyTabStops?e.leftPositionAtomicSoftTabs(n,r,t.tabSize):e.leftPosition(n,r);return new fo(i.lineNumber,i.column,0)}static moveLeft(t,n,r,i,a){let o,s;if(r.hasSelection()&&!i)o=r.selection.startLineNumber,s=r.selection.startColumn;else{let i=r.position.delta(void 0,-(a-1)),c=n.normalizePosition(e.clipPositionColumn(i,n),0),l=e.left(t,n,c);o=l.lineNumber,s=l.column}return r.move(i,o,s,0)}static clipPositionColumn(t,n){return new i.kl(t.lineNumber,e.clipRange(t.column,n.getLineMinColumn(t.lineNumber),n.getLineMaxColumn(t.lineNumber)))}static clipRange(e,t,n){return e<t?t:e>n?n:e}static rightPosition(e,t,n){return n<e.getLineMaxColumn(t)?n+=i.$c(e.getLineContent(t),n-1):t<e.getLineCount()&&(t+=1,n=e.getLineMinColumn(t)),new i.kl(t,n)}static rightPositionAtomicSoftTabs(e,t,n,r,a){if(n<e.getLineIndentColumn(t)){let a=e.getLineContent(t),o=pa.atomicPosition(a,n-1,r,1);if(o!==-1)return new i.kl(t,o+1)}return this.rightPosition(e,t,n)}static right(t,n,r){let i=t.stickyTabStops?e.rightPositionAtomicSoftTabs(n,r.lineNumber,r.column,t.tabSize,t.indentSize):e.rightPosition(n,r.lineNumber,r.column);return new fo(i.lineNumber,i.column,0)}static moveRight(t,n,r,i,a){let o,s;if(r.hasSelection()&&!i)o=r.selection.endLineNumber,s=r.selection.endColumn;else{let i=r.position.delta(void 0,a-1),c=n.normalizePosition(e.clipPositionColumn(i,n),1),l=e.right(t,n,c);o=l.lineNumber,s=l.column}return r.move(i,o,s,0)}static vertical(e,t,n,r,a,o,s,c){let l=i.It.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize)+a,u=t.getLineCount(),d=n===1&&r===1,f=n===u&&r===t.getLineMaxColumn(n),p=o<n?d:f;if(n=o,n<1?(n=1,r=s?t.getLineMinColumn(n):Math.min(t.getLineMaxColumn(n),r)):n>u?(n=u,r=s?t.getLineMaxColumn(n):Math.min(t.getLineMaxColumn(n),r)):r=e.columnFromVisibleColumn(t,n,l),a=p?0:l-i.It.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize),c!==void 0){let e=new i.kl(n,r),o=t.normalizePosition(e,c);a+=r-o.column,n=o.lineNumber,r=o.column}return new fo(n,r,a)}static down(e,t,n,r,i,a,o){return this.vertical(e,t,n,r,i,n+a,o,4)}static moveDown(t,n,r,i,a){let o,s;r.hasSelection()&&!i?(o=r.selection.endLineNumber,s=r.selection.endColumn):(o=r.position.lineNumber,s=r.position.column);let c=e.down(t,n,o,s,r.leftoverVisibleColumns,a,!0);return r.move(i,c.lineNumber,c.column,c.leftoverVisibleColumns)}static translateDown(t,n,r){let a=r.selection,o=e.down(t,n,a.selectionStartLineNumber,a.selectionStartColumn,r.selectionStartLeftoverVisibleColumns,1,!1),s=e.down(t,n,a.positionLineNumber,a.positionColumn,r.leftoverVisibleColumns,1,!1);return new no(new i.Ol(o.lineNumber,o.column,o.lineNumber,o.column),o.leftoverVisibleColumns,new i.kl(s.lineNumber,s.column),s.leftoverVisibleColumns)}static up(e,t,n,r,i,a,o){return this.vertical(e,t,n,r,i,n-a,o,3)}static moveUp(t,n,r,i,a){let o,s;r.hasSelection()&&!i?(o=r.selection.startLineNumber,s=r.selection.startColumn):(o=r.position.lineNumber,s=r.position.column);let c=e.up(t,n,o,s,r.leftoverVisibleColumns,a,!0);return r.move(i,c.lineNumber,c.column,c.leftoverVisibleColumns)}static translateUp(t,n,r){let a=r.selection,o=e.up(t,n,a.selectionStartLineNumber,a.selectionStartColumn,r.selectionStartLeftoverVisibleColumns,1,!1),s=e.up(t,n,a.positionLineNumber,a.positionColumn,r.leftoverVisibleColumns,1,!1);return new no(new i.Ol(o.lineNumber,o.column,o.lineNumber,o.column),o.leftoverVisibleColumns,new i.kl(s.lineNumber,s.column),s.leftoverVisibleColumns)}static _isBlankLine(e,t){return e.getLineFirstNonWhitespaceColumn(t)===0}static moveToPrevBlankLine(e,t,n,r){let i=n.position.lineNumber;for(;i>1&&this._isBlankLine(t,i);)i--;for(;i>1&&!this._isBlankLine(t,i);)i--;return n.move(r,i,t.getLineMinColumn(i),0)}static moveToNextBlankLine(e,t,n,r){let i=t.getLineCount(),a=n.position.lineNumber;for(;a<i&&this._isBlankLine(t,a);)a++;for(;a<i&&!this._isBlankLine(t,a);)a++;return n.move(r,a,t.getLineMinColumn(a),0)}static moveToBeginningOfLine(e,t,n,r){let i=n.position.lineNumber,a=t.getLineMinColumn(i),o=t.getLineFirstNonWhitespaceColumn(i)||a,s;return s=n.position.column===o?a:o,n.move(r,i,s,0)}static moveToEndOfLine(e,t,n,r,i){let a=n.position.lineNumber,o=t.getLineMaxColumn(a);return n.move(r,a,o,i?1073741824-o:0)}static moveToBeginningOfBuffer(e,t,n,r){return n.move(r,1,1,0)}static moveToEndOfBuffer(e,t,n,r){let i=t.getLineCount(),a=t.getLineMaxColumn(i);return n.move(r,i,a,0)}},po=class e{static deleteRight(e,t,n,r){let a=[],o=e!==3;for(let e=0,s=r.length;e<s;e++){let s=r[e],c=s;if(c.isEmpty()){let e=s.getPosition(),r=I.right(t,n,e);c=new i.Ol(r.lineNumber,r.column,e.lineNumber,e.column)}if(c.isEmpty()){a[e]=null;continue}c.startLineNumber!==c.endLineNumber&&(o=!0),a[e]=new oo(c,``)}return[o,a]}static isAutoClosingPairDelete(e,t,n,r,i,a,o){if(t===`never`&&n===`never`||e===`never`)return!1;for(let s=0,c=a.length;s<c;s++){let c=a[s],l=c.getPosition();if(!c.isEmpty())return!1;let u=i.getLineContent(l.lineNumber);if(l.column<2||l.column>=u.length+1)return!1;let d=u.charAt(l.column-2),f=r.get(d);if(!f)return!1;if(io(d)){if(n===`never`)return!1}else if(t===`never`)return!1;let p=u.charAt(l.column-1),m=!1;for(let e of f)e.open===d&&e.close===p&&(m=!0);if(!m)return!1;if(e===`auto`){let e=!1;for(let t=0,n=o.length;t<n;t++){let n=o[t];if(l.lineNumber===n.startLineNumber&&l.column===n.startColumn){e=!0;break}}if(!e)return!1}}return!0}static _runAutoClosingPairDelete(e,t,n){let r=[];for(let e=0,t=n.length;e<t;e++){let t=n[e].getPosition();r[e]=new oo(new i.Ol(t.lineNumber,t.column-1,t.lineNumber,t.column+1),``)}return[!0,r]}static deleteLeft(t,n,r,i,a){if(this.isAutoClosingPairDelete(n.autoClosingDelete,n.autoClosingBrackets,n.autoClosingQuotes,n.autoClosingPairs.autoClosingPairsOpenByEnd,r,i,a))return this._runAutoClosingPairDelete(n,r,i);let o=[],s=t!==2;for(let t=0,a=i.length;t<a;t++){let a=e.getDeleteRange(i[t],r,n);if(a.isEmpty()){o[t]=null;continue}a.startLineNumber!==a.endLineNumber&&(s=!0),o[t]=new oo(a,``)}return[s,o]}static getDeleteRange(t,n,r){if(!t.isEmpty())return t;let a=t.getPosition();if(r.useTabStops&&a.column>1){let e=n.getLineContent(a.lineNumber),t=i.Lc(e),o=t===-1?e.length+1:t+1;if(a.column<=o){let e=r.visibleColumnFromColumn(n,a),t=i.It.prevIndentTabStop(e,r.indentSize),o=r.columnFromVisibleColumn(n,a.lineNumber,t);return new i.Ol(a.lineNumber,o,a.lineNumber,a.column)}}return i.Ol.fromPositions(e.getPositionAfterDeleteLeft(a,n),a)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){let n=i.Vc(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,n+1)}else if(e.lineNumber>1){let n=e.lineNumber-1;return new i.kl(n,t.getLineMaxColumn(n))}else return e}static cut(e,t,n){let r=[],a=null;n.sort((e,t)=>i.kl.compare(e.getStartPosition(),t.getEndPosition()));for(let o=0,s=n.length;o<s;o++){let s=n[o];if(s.isEmpty())if(e.emptySelectionClipboard){let e=s.getPosition(),n,c,l,u;e.lineNumber<t.getLineCount()?(n=e.lineNumber,c=1,l=e.lineNumber+1,u=1):e.lineNumber>1&&a?.endLineNumber!==e.lineNumber?(n=e.lineNumber-1,c=t.getLineMaxColumn(e.lineNumber-1),l=e.lineNumber,u=t.getLineMaxColumn(e.lineNumber)):(n=e.lineNumber,c=1,l=e.lineNumber,u=t.getLineMaxColumn(e.lineNumber));let d=new i.Ol(n,c,l,u);a=d,d.isEmpty()?r[o]=null:r[o]=new oo(d,``)}else r[o]=null;else r[o]=new oo(s,``)}return new ro(0,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}},mo=class e{static _createWord(e,t,n,r,i){return{start:r,end:i,wordType:t,nextCharClass:n}}static _findPreviousWordOnLine(e,t,n){let r=t.getLineContent(n.lineNumber);return this._doFindPreviousWordOnLine(r,e,n)}static _doFindPreviousWordOnLine(e,t,n){let r=0;for(let i=n.column-2;i>=0;i--){let n=e.charCodeAt(i),a=t.get(n);if(a===0){if(r===2)return this._createWord(e,r,a,i+1,this._findEndOfWord(e,t,r,i+1));r=1}else if(a===2){if(r===1)return this._createWord(e,r,a,i+1,this._findEndOfWord(e,t,r,i+1));r=2}else if(a===1&&r!==0)return this._createWord(e,r,a,i+1,this._findEndOfWord(e,t,r,i+1))}return r===0?null:this._createWord(e,r,1,0,this._findEndOfWord(e,t,r,0))}static _findEndOfWord(e,t,n,r){let i=e.length;for(let a=r;a<i;a++){let r=e.charCodeAt(a),i=t.get(r);if(i===1||n===1&&i===2||n===2&&i===0)return a}return i}static _findNextWordOnLine(e,t,n){let r=t.getLineContent(n.lineNumber);return this._doFindNextWordOnLine(r,e,n)}static _doFindNextWordOnLine(e,t,n){let r=0,i=e.length;for(let a=n.column-1;a<i;a++){let n=e.charCodeAt(a),i=t.get(n);if(i===0){if(r===2)return this._createWord(e,r,i,this._findStartOfWord(e,t,r,a-1),a);r=1}else if(i===2){if(r===1)return this._createWord(e,r,i,this._findStartOfWord(e,t,r,a-1),a);r=2}else if(i===1&&r!==0)return this._createWord(e,r,i,this._findStartOfWord(e,t,r,a-1),a)}return r===0?null:this._createWord(e,r,1,this._findStartOfWord(e,t,r,i-1),i)}static _findStartOfWord(e,t,n,r){for(let i=r;i>=0;i--){let r=e.charCodeAt(i),a=t.get(r);if(a===1||n===1&&a===2||n===2&&a===0)return i+1}return 0}static moveWordLeft(t,n,r,a){let o=r.lineNumber,s=r.column;s===1&&o>1&&(--o,s=n.getLineMaxColumn(o));let c=e._findPreviousWordOnLine(t,n,new i.kl(o,s));if(a===0)return new i.kl(o,c?c.start+1:1);if(a===1)return c&&c.wordType===2&&c.end-c.start===1&&c.nextCharClass===0&&(c=e._findPreviousWordOnLine(t,n,new i.kl(o,c.start+1))),new i.kl(o,c?c.start+1:1);if(a===3){for(;c&&c.wordType===2;)c=e._findPreviousWordOnLine(t,n,new i.kl(o,c.start+1));return new i.kl(o,c?c.start+1:1)}return c&&s<=c.end+1&&(c=e._findPreviousWordOnLine(t,n,new i.kl(o,c.start+1))),new i.kl(o,c?c.end+1:1)}static _moveWordPartLeft(e,t){let n=t.lineNumber,r=e.getLineMaxColumn(n);if(t.column===1)return n>1?new i.kl(n-1,e.getLineMaxColumn(n-1)):t;let a=e.getLineContent(n);for(let e=t.column-1;e>1;e--){let t=a.charCodeAt(e-2),o=a.charCodeAt(e-1);if(t===95&&o!==95||(i.Yc(t)||i.Hc(t))&&i.Xc(o))return new i.kl(n,e);if(i.Xc(t)&&i.Xc(o)&&e+1<r){let t=a.charCodeAt(e);if(i.Yc(t)||i.Hc(t))return new i.kl(n,e)}}return new i.kl(n,1)}static moveWordRight(t,n,r,a){let o=r.lineNumber,s=r.column,c=!1;s===n.getLineMaxColumn(o)&&o<n.getLineCount()&&(c=!0,o+=1,s=1);let l=e._findNextWordOnLine(t,n,new i.kl(o,s));if(a===2)l&&l.wordType===2&&l.end-l.start===1&&l.nextCharClass===0&&(l=e._findNextWordOnLine(t,n,new i.kl(o,l.end+1))),s=l?l.end+1:n.getLineMaxColumn(o);else if(a===3){for(c&&(s=0);l&&(l.wordType===2||l.start+1<=s);)l=e._findNextWordOnLine(t,n,new i.kl(o,l.end+1));s=l?l.start+1:n.getLineMaxColumn(o)}else l&&!c&&s>=l.start+1&&(l=e._findNextWordOnLine(t,n,new i.kl(o,l.end+1))),s=l?l.start+1:n.getLineMaxColumn(o);return new i.kl(o,s)}static _moveWordPartRight(e,t){let n=t.lineNumber,r=e.getLineMaxColumn(n);if(t.column===r)return n<e.getLineCount()?new i.kl(n+1,1):t;let a=e.getLineContent(n);for(let e=t.column+1;e<r;e++){let t=a.charCodeAt(e-2),o=a.charCodeAt(e-1);if(t!==95&&o===95||(i.Yc(t)||i.Hc(t))&&i.Xc(o))return new i.kl(n,e);if(i.Xc(t)&&i.Xc(o)&&e+1<r){let t=a.charCodeAt(e);if(i.Yc(t)||i.Hc(t))return new i.kl(n,e)}}return new i.kl(n,r)}static _deleteWordLeftWhitespace(e,t){let n=e.getLineContent(t.lineNumber),r=t.column-2,a=i.Zc(n,r);return a+1<r?new i.Ol(t.lineNumber,a+2,t.lineNumber,t.column):null}static deleteWordLeft(t,n){let r=t.wordSeparators,a=t.model,o=t.selection,s=t.whitespaceHeuristics;if(!o.isEmpty())return o;if(po.isAutoClosingPairDelete(t.autoClosingDelete,t.autoClosingBrackets,t.autoClosingQuotes,t.autoClosingPairs.autoClosingPairsOpenByEnd,t.model,[t.selection],t.autoClosedCharacters)){let e=t.selection.getPosition();return new i.Ol(e.lineNumber,e.column-1,e.lineNumber,e.column+1)}let c=new i.kl(o.positionLineNumber,o.positionColumn),l=c.lineNumber,u=c.column;if(l===1&&u===1)return null;if(s){let e=this._deleteWordLeftWhitespace(a,c);if(e)return e}let d=e._findPreviousWordOnLine(r,a,c);return n===0?d?u=d.start+1:u>1?u=1:(l--,u=a.getLineMaxColumn(l)):(d&&u<=d.end+1&&(d=e._findPreviousWordOnLine(r,a,new i.kl(l,d.start+1))),d?u=d.end+1:u>1?u=1:(l--,u=a.getLineMaxColumn(l))),new i.Ol(l,u,c.lineNumber,c.column)}static deleteInsideWord(e,t,n){if(!n.isEmpty())return n;let r=new i.kl(n.positionLineNumber,n.positionColumn);return this._deleteInsideWordWhitespace(t,r)||this._deleteInsideWordDetermineDeleteRange(e,t,r)}static _charAtIsWhitespace(e,t){let n=e.charCodeAt(t);return n===32||n===9}static _deleteInsideWordWhitespace(e,t){let n=e.getLineContent(t.lineNumber),r=n.length;if(r===0)return null;let a=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(n,a))return null;let o=Math.min(t.column-1,r-1);if(!this._charAtIsWhitespace(n,o))return null;for(;a>0&&this._charAtIsWhitespace(n,a-1);)a--;for(;o+1<r&&this._charAtIsWhitespace(n,o+1);)o++;return new i.Ol(t.lineNumber,a+1,t.lineNumber,o+2)}static _deleteInsideWordDetermineDeleteRange(t,n,r){let a=n.getLineContent(r.lineNumber),o=a.length;if(o===0)return r.lineNumber>1?new i.Ol(r.lineNumber-1,n.getLineMaxColumn(r.lineNumber-1),r.lineNumber,1):r.lineNumber<n.getLineCount()?new i.Ol(r.lineNumber,1,r.lineNumber+1,1):new i.Ol(r.lineNumber,1,r.lineNumber,1);let s=e=>e.start+1<=r.column&&r.column<=e.end+1,c=(e,t)=>(e=Math.min(e,r.column),t=Math.max(t,r.column),new i.Ol(r.lineNumber,e,r.lineNumber,t)),l=e=>{let t=e.start+1,n=e.end+1,r=!1;for(;n-1<o&&this._charAtIsWhitespace(a,n-1);)r=!0,n++;if(!r)for(;t>1&&this._charAtIsWhitespace(a,t-2);)t--;return c(t,n)},u=e._findPreviousWordOnLine(t,n,r);if(u&&s(u))return l(u);let d=e._findNextWordOnLine(t,n,r);return d&&s(d)?l(d):u&&d?c(u.end+1,d.start+1):u?c(u.start+1,u.end+1):d?c(d.start+1,d.end+1):c(1,o+1)}static _deleteWordPartLeft(t,n){if(!n.isEmpty())return n;let r=n.getPosition(),a=e._moveWordPartLeft(t,r);return new i.Ol(r.lineNumber,r.column,a.lineNumber,a.column)}static _findFirstNonWhitespaceChar(e,t){let n=e.length;for(let r=t;r<n;r++){let t=e.charAt(r);if(t!==` `&&t!==` `)return r}return n}static _deleteWordRightWhitespace(e,t){let n=e.getLineContent(t.lineNumber),r=t.column-1,a=this._findFirstNonWhitespaceChar(n,r);return r+1<a?new i.Ol(t.lineNumber,t.column,t.lineNumber,a+1):null}static deleteWordRight(t,n){let r=t.wordSeparators,a=t.model,o=t.selection,s=t.whitespaceHeuristics;if(!o.isEmpty())return o;let c=new i.kl(o.positionLineNumber,o.positionColumn),l=c.lineNumber,u=c.column,d=a.getLineCount(),f=a.getLineMaxColumn(l);if(l===d&&u===f)return null;if(s){let e=this._deleteWordRightWhitespace(a,c);if(e)return e}let p=e._findNextWordOnLine(r,a,c);return n===2?p?u=p.end+1:u<f||l===d?u=f:(l++,p=e._findNextWordOnLine(r,a,new i.kl(l,1)),u=p?p.start+1:a.getLineMaxColumn(l)):(p&&u>=p.start+1&&(p=e._findNextWordOnLine(r,a,new i.kl(l,p.end+1))),p?u=p.start+1:u<f||l===d?u=f:(l++,p=e._findNextWordOnLine(r,a,new i.kl(l,1)),u=p?p.start+1:a.getLineMaxColumn(l))),new i.Ol(l,u,c.lineNumber,c.column)}static _deleteWordPartRight(t,n){if(!n.isEmpty())return n;let r=n.getPosition(),a=e._moveWordPartRight(t,r);return new i.Ol(r.lineNumber,r.column,a.lineNumber,a.column)}static _createWordAtPosition(e,t,n){let r=new i.Ol(t,n.start+1,t,n.end+1);return{word:e.getValueInRange(r),startColumn:r.startColumn,endColumn:r.endColumn}}static getWordAtPosition(t,n,r){let a=i.is(n),o=e._findPreviousWordOnLine(a,t,r);if(o&&o.wordType===1&&o.start<=r.column-1&&r.column-1<=o.end)return e._createWordAtPosition(t,r.lineNumber,o);let s=e._findNextWordOnLine(a,t,r);return s&&s.wordType===1&&s.start<=r.column-1&&r.column-1<=s.end?e._createWordAtPosition(t,r.lineNumber,s):null}static word(t,n,r,a,o){let s=i.is(t.wordSeparators),c=e._findPreviousWordOnLine(s,n,o),l=e._findNextWordOnLine(s,n,o);if(!a){let e,t;return c&&c.wordType===1&&c.start<=o.column-1&&o.column-1<=c.end?(e=c.start+1,t=c.end+1):l&&l.wordType===1&&l.start<=o.column-1&&o.column-1<=l.end?(e=l.start+1,t=l.end+1):(e=c?c.end+1:1,t=l?l.start+1:n.getLineMaxColumn(o.lineNumber)),new no(new i.Ol(o.lineNumber,e,o.lineNumber,t),0,new i.kl(o.lineNumber,t),0)}let u,d;c&&c.wordType===1&&c.start<o.column-1&&o.column-1<c.end?(u=c.start+1,d=c.end+1):l&&l.wordType===1&&l.start<o.column-1&&o.column-1<l.end?(u=l.start+1,d=l.end+1):(u=o.column,d=o.column);let f=o.lineNumber,p;if(r.selectionStart.containsPosition(o))p=r.selectionStart.endColumn;else if(o.isBeforeOrEqual(r.selectionStart.getStartPosition())){p=u;let e=new i.kl(f,p);r.selectionStart.containsPosition(e)&&(p=r.selectionStart.endColumn)}else{p=d;let e=new i.kl(f,p);r.selectionStart.containsPosition(e)&&(p=r.selectionStart.startColumn)}return r.move(!0,f,p,0)}},ho=class extends mo{static deleteWordPartLeft(e){let t=go([mo.deleteWordLeft(e,0),mo.deleteWordLeft(e,2),mo._deleteWordPartLeft(e.model,e.selection)]);return t.sort(i.Ol.compareRangesUsingEnds),t[2]}static deleteWordPartRight(e){let t=go([mo.deleteWordRight(e,0),mo.deleteWordRight(e,2),mo._deleteWordPartRight(e.model,e.selection)]);return t.sort(i.Ol.compareRangesUsingStarts),t[0]}static moveWordPartLeft(e,t,n){let r=go([mo.moveWordLeft(e,t,n,0),mo.moveWordLeft(e,t,n,2),mo._moveWordPartLeft(t,n)]);return r.sort(i.kl.compare),r[2]}static moveWordPartRight(e,t,n){let r=go([mo.moveWordRight(e,t,n,0),mo.moveWordRight(e,t,n,2),mo._moveWordPartRight(t,n)]);return r.sort(i.kl.compare),r[0]}};function go(e){return e.filter(e=>!!e)}var L=class{static addCursorDown(e,t,n){let r=[],i=0;for(let a=0,o=t.length;a<o;a++){let o=t[a];r[i++]=new F(o.modelState,o.viewState),n?r[i++]=F.fromModelState(I.translateDown(e.cursorConfig,e.model,o.modelState)):r[i++]=F.fromViewState(I.translateDown(e.cursorConfig,e,o.viewState))}return r}static addCursorUp(e,t,n){let r=[],i=0;for(let a=0,o=t.length;a<o;a++){let o=t[a];r[i++]=new F(o.modelState,o.viewState),n?r[i++]=F.fromModelState(I.translateUp(e.cursorConfig,e.model,o.modelState)):r[i++]=F.fromViewState(I.translateUp(e.cursorConfig,e,o.viewState))}return r}static moveToBeginningOfLine(e,t,n){let r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i];r[i]=this._moveToLineStart(e,a,n)}return r}static _moveToLineStart(e,t,n){let r=t.viewState.position.column,i=r===t.modelState.position.column,a=t.viewState.position.lineNumber,o=r===e.getLineFirstNonWhitespaceColumn(a);return!i&&!o?this._moveToLineStartByView(e,t,n):this._moveToLineStartByModel(e,t,n)}static _moveToLineStartByView(e,t,n){return F.fromViewState(I.moveToBeginningOfLine(e.cursorConfig,e,t.viewState,n))}static _moveToLineStartByModel(e,t,n){return F.fromModelState(I.moveToBeginningOfLine(e.cursorConfig,e.model,t.modelState,n))}static moveToEndOfLine(e,t,n,r){let i=[];for(let a=0,o=t.length;a<o;a++){let o=t[a];i[a]=this._moveToLineEnd(e,o,n,r)}return i}static _moveToLineEnd(e,t,n,r){let i=t.viewState.position,a=e.getLineMaxColumn(i.lineNumber),o=i.column===a,s=t.modelState.position,c=e.model.getLineMaxColumn(s.lineNumber),l=a-i.column===c-s.column;return o||l?this._moveToLineEndByModel(e,t,n,r):this._moveToLineEndByView(e,t,n,r)}static _moveToLineEndByView(e,t,n,r){return F.fromViewState(I.moveToEndOfLine(e.cursorConfig,e,t.viewState,n,r))}static _moveToLineEndByModel(e,t,n,r){return F.fromModelState(I.moveToEndOfLine(e.cursorConfig,e.model,t.modelState,n,r))}static expandLineSelection(e,t){let n=[];for(let r=0,a=t.length;r<a;r++){let a=t[r],o=a.modelState.selection.startLineNumber,s=e.model.getLineCount(),c=a.modelState.selection.endLineNumber,l;c===s?l=e.model.getLineMaxColumn(s):(c++,l=1),n[r]=F.fromModelState(new no(new i.Ol(o,1,o,1),0,new i.kl(c,l),0))}return n}static moveToBeginningOfBuffer(e,t,n){let r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i];r[i]=F.fromModelState(I.moveToBeginningOfBuffer(e.cursorConfig,e.model,a.modelState,n))}return r}static moveToEndOfBuffer(e,t,n){let r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i];r[i]=F.fromModelState(I.moveToEndOfBuffer(e.cursorConfig,e.model,a.modelState,n))}return r}static selectAll(e,t){let n=e.model.getLineCount(),r=e.model.getLineMaxColumn(n);return F.fromModelState(new no(new i.Ol(1,1,1,1),0,new i.kl(n,r),0))}static line(e,t,n,r,a){let o=e.model.validatePosition(r),s=a?e.coordinatesConverter.validateViewPosition(new i.kl(a.lineNumber,a.column),o):e.coordinatesConverter.convertModelPositionToViewPosition(o);if(!n||!t.modelState.hasSelection()){let t=e.model.getLineCount(),n=o.lineNumber+1,r=1;return n>t&&(n=t,r=e.model.getLineMaxColumn(n)),F.fromModelState(new no(new i.Ol(o.lineNumber,1,n,r),0,new i.kl(n,r),0))}let c=t.modelState.selectionStart.getStartPosition().lineNumber;if(o.lineNumber<c)return F.fromViewState(t.viewState.move(t.modelState.hasSelection(),s.lineNumber,1,0));if(o.lineNumber>c){let n=e.getLineCount(),r=s.lineNumber+1,i=1;return r>n&&(r=n,i=e.getLineMaxColumn(r)),F.fromViewState(t.viewState.move(t.modelState.hasSelection(),r,i,0))}else{let e=t.modelState.selectionStart.getEndPosition();return F.fromModelState(t.modelState.move(t.modelState.hasSelection(),e.lineNumber,e.column,0))}}static word(e,t,n,r){let i=e.model.validatePosition(r);return F.fromModelState(mo.word(e.cursorConfig,e.model,t.modelState,n,i))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new F(t.modelState,t.viewState);let n=t.viewState.position.lineNumber,r=t.viewState.position.column;return F.fromViewState(new no(new i.Ol(n,r,n,r),0,new i.kl(n,r),0))}static moveTo(e,t,n,r,a){let o=e.model.validatePosition(r),s=a?e.coordinatesConverter.validateViewPosition(new i.kl(a.lineNumber,a.column),o):e.coordinatesConverter.convertModelPositionToViewPosition(o);return F.fromViewState(t.viewState.move(n,s.lineNumber,s.column,0))}static simpleMove(e,t,n,r,i,a){switch(n){case 0:return a===4?this._moveHalfLineLeft(e,t,r):this._moveLeft(e,t,r,i);case 1:return a===4?this._moveHalfLineRight(e,t,r):this._moveRight(e,t,r,i);case 2:return a===2?this._moveUpByViewLines(e,t,r,i):this._moveUpByModelLines(e,t,r,i);case 3:return a===2?this._moveDownByViewLines(e,t,r,i):this._moveDownByModelLines(e,t,r,i);case 4:return a===2?t.map(t=>F.fromViewState(I.moveToPrevBlankLine(e.cursorConfig,e,t.viewState,r))):t.map(t=>F.fromModelState(I.moveToPrevBlankLine(e.cursorConfig,e.model,t.modelState,r)));case 5:return a===2?t.map(t=>F.fromViewState(I.moveToNextBlankLine(e.cursorConfig,e,t.viewState,r))):t.map(t=>F.fromModelState(I.moveToNextBlankLine(e.cursorConfig,e.model,t.modelState,r)));case 6:return this._moveToViewMinColumn(e,t,r);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,r);case 8:return this._moveToViewCenterColumn(e,t,r);case 9:return this._moveToViewMaxColumn(e,t,r);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,r);default:return null}}static viewportMove(e,t,n,r,i){let a=e.getCompletelyVisibleViewRange(),o=e.coordinatesConverter.convertViewRangeToModelRange(a);switch(n){case 11:{let n=this._firstLineNumberInRange(e.model,o,i),a=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],r,n,a)]}case 13:{let n=this._lastLineNumberInRange(e.model,o,i),a=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],r,n,a)]}case 12:{let n=Math.round((o.startLineNumber+o.endLineNumber)/2),i=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],r,n,i)]}case 14:{let n=[];for(let i=0,o=t.length;i<o;i++){let o=t[i];n[i]=this.findPositionInViewportIfOutside(e,o,a,r)}return n}default:return null}}static findPositionInViewportIfOutside(e,t,n,r){let i=t.viewState.position.lineNumber;if(n.startLineNumber<=i&&i<=n.endLineNumber-1)return new F(t.modelState,t.viewState);{let a;a=i>n.endLineNumber-1?n.endLineNumber-1:i<n.startLineNumber?n.startLineNumber:i;let o=I.vertical(e.cursorConfig,e,i,t.viewState.position.column,t.viewState.leftoverVisibleColumns,a,!1);return F.fromViewState(t.viewState.move(r,o.lineNumber,o.column,o.leftoverVisibleColumns))}}static _firstLineNumberInRange(e,t,n){let r=t.startLineNumber;return t.startColumn!==e.getLineMinColumn(r)&&r++,Math.min(t.endLineNumber,r+n-1)}static _lastLineNumberInRange(e,t,n){let r=t.startLineNumber;return t.startColumn!==e.getLineMinColumn(r)&&r++,Math.max(r,t.endLineNumber-n+1)}static _moveLeft(e,t,n,r){return t.map(t=>F.fromViewState(I.moveLeft(e.cursorConfig,e,t.viewState,n,r)))}static _moveHalfLineLeft(e,t,n){let r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i],o=a.viewState.position.lineNumber,s=Math.round(e.getLineContent(o).length/2);r[i]=F.fromViewState(I.moveLeft(e.cursorConfig,e,a.viewState,n,s))}return r}static _moveRight(e,t,n,r){return t.map(t=>F.fromViewState(I.moveRight(e.cursorConfig,e,t.viewState,n,r)))}static _moveHalfLineRight(e,t,n){let r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i],o=a.viewState.position.lineNumber,s=Math.round(e.getLineContent(o).length/2);r[i]=F.fromViewState(I.moveRight(e.cursorConfig,e,a.viewState,n,s))}return r}static _moveDownByViewLines(e,t,n,r){let i=[];for(let a=0,o=t.length;a<o;a++){let o=t[a];i[a]=F.fromViewState(I.moveDown(e.cursorConfig,e,o.viewState,n,r))}return i}static _moveDownByModelLines(e,t,n,r){let i=[];for(let a=0,o=t.length;a<o;a++){let o=t[a];i[a]=F.fromModelState(I.moveDown(e.cursorConfig,e.model,o.modelState,n,r))}return i}static _moveUpByViewLines(e,t,n,r){let i=[];for(let a=0,o=t.length;a<o;a++){let o=t[a];i[a]=F.fromViewState(I.moveUp(e.cursorConfig,e,o.viewState,n,r))}return i}static _moveUpByModelLines(e,t,n,r){let i=[];for(let a=0,o=t.length;a<o;a++){let o=t[a];i[a]=F.fromModelState(I.moveUp(e.cursorConfig,e.model,o.modelState,n,r))}return i}static _moveToViewPosition(e,t,n,r,i){return F.fromViewState(t.viewState.move(n,r,i,0))}static _moveToModelPosition(e,t,n,r,i){return F.fromModelState(t.modelState.move(n,r,i,0))}static _moveToViewMinColumn(e,t,n){let r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i],o=a.viewState.position.lineNumber,s=e.getLineMinColumn(o);r[i]=this._moveToViewPosition(e,a,n,o,s)}return r}static _moveToViewFirstNonWhitespaceColumn(e,t,n){let r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i],o=a.viewState.position.lineNumber,s=e.getLineFirstNonWhitespaceColumn(o);r[i]=this._moveToViewPosition(e,a,n,o,s)}return r}static _moveToViewCenterColumn(e,t,n){let r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i],o=a.viewState.position.lineNumber,s=Math.round((e.getLineMaxColumn(o)+e.getLineMinColumn(o))/2);r[i]=this._moveToViewPosition(e,a,n,o,s)}return r}static _moveToViewMaxColumn(e,t,n){let r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i],o=a.viewState.position.lineNumber,s=e.getLineMaxColumn(o);r[i]=this._moveToViewPosition(e,a,n,o,s)}return r}static _moveToViewLastNonWhitespaceColumn(e,t,n){let r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i],o=a.viewState.position.lineNumber,s=e.getLineLastNonWhitespaceColumn(o);r[i]=this._moveToViewPosition(e,a,n,o,s)}return r}},_o;(function(e){e.description={description:`Move cursor to a logical position in the view`,args:[{name:`Cursor move argument object`,description:`Property-value pairs that can be passed through this argument:
|
|
13
|
+
* 'to': A mandatory logical position value providing where to move the cursor.
|
|
14
|
+
\`\`\`
|
|
15
|
+
'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',
|
|
16
|
+
'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'
|
|
17
|
+
'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'
|
|
18
|
+
'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'
|
|
19
|
+
\`\`\`
|
|
20
|
+
* 'by': Unit to move. Default is computed based on 'to' value.
|
|
21
|
+
\`\`\`
|
|
22
|
+
'line', 'wrappedLine', 'character', 'halfLine'
|
|
23
|
+
\`\`\`
|
|
24
|
+
* 'value': Number of units to move. Default is '1'.
|
|
25
|
+
* 'select': If 'true' makes the selection. Default is 'false'.
|
|
26
|
+
`,constraint:function(e){if(!i.Mu(e))return!1;let t=e;return!(!i.Nu(t.to)||!i.Pu(t.select)&&!i.Du(t.select)||!i.Pu(t.by)&&!i.Nu(t.by)||!i.Pu(t.value)&&!i.ju(t.value))},schema:{type:`object`,required:[`to`],properties:{to:{type:`string`,enum:[`left`,`right`,`up`,`down`,`prevBlankLine`,`nextBlankLine`,`wrappedLineStart`,`wrappedLineEnd`,`wrappedLineColumnCenter`,`wrappedLineFirstNonWhitespaceCharacter`,`wrappedLineLastNonWhitespaceCharacter`,`viewPortTop`,`viewPortCenter`,`viewPortBottom`,`viewPortIfOutside`]},by:{type:`string`,enum:[`line`,`wrappedLine`,`character`,`halfLine`]},value:{type:`number`,default:1},select:{type:`boolean`,default:!1}}}}]},e.RawDirection={Left:`left`,Right:`right`,Up:`up`,Down:`down`,PrevBlankLine:`prevBlankLine`,NextBlankLine:`nextBlankLine`,WrappedLineStart:`wrappedLineStart`,WrappedLineFirstNonWhitespaceCharacter:`wrappedLineFirstNonWhitespaceCharacter`,WrappedLineColumnCenter:`wrappedLineColumnCenter`,WrappedLineEnd:`wrappedLineEnd`,WrappedLineLastNonWhitespaceCharacter:`wrappedLineLastNonWhitespaceCharacter`,ViewPortTop:`viewPortTop`,ViewPortCenter:`viewPortCenter`,ViewPortBottom:`viewPortBottom`,ViewPortIfOutside:`viewPortIfOutside`},e.RawUnit={Line:`line`,WrappedLine:`wrappedLine`,Character:`character`,HalfLine:`halfLine`};function t(t){if(!t.to)return null;let n;switch(t.to){case e.RawDirection.Left:n=0;break;case e.RawDirection.Right:n=1;break;case e.RawDirection.Up:n=2;break;case e.RawDirection.Down:n=3;break;case e.RawDirection.PrevBlankLine:n=4;break;case e.RawDirection.NextBlankLine:n=5;break;case e.RawDirection.WrappedLineStart:n=6;break;case e.RawDirection.WrappedLineFirstNonWhitespaceCharacter:n=7;break;case e.RawDirection.WrappedLineColumnCenter:n=8;break;case e.RawDirection.WrappedLineEnd:n=9;break;case e.RawDirection.WrappedLineLastNonWhitespaceCharacter:n=10;break;case e.RawDirection.ViewPortTop:n=11;break;case e.RawDirection.ViewPortBottom:n=13;break;case e.RawDirection.ViewPortCenter:n=12;break;case e.RawDirection.ViewPortIfOutside:n=14;break;default:return null}let r=0;switch(t.by){case e.RawUnit.Line:r=1;break;case e.RawUnit.WrappedLine:r=2;break;case e.RawUnit.Character:r=3;break;case e.RawUnit.HalfLine:r=4;break}return{direction:n,unit:r,select:!!t.select,value:t.value||1}}e.parse=t})(_o||={});function vo(e,t,n,r){let a=i.Is(t,n.startLineNumber,n.startColumn),o=r.getLanguageConfiguration(a.languageId);if(!o)return null;let s=a.getLineContent(),c=s.substr(0,n.startColumn-1-a.firstCharOffset),l;l=n.isEmpty()?s.substr(n.startColumn-1-a.firstCharOffset):i.Is(t,n.endLineNumber,n.endColumn).getLineContent().substr(n.endColumn-1-a.firstCharOffset);let u=``;if(n.startLineNumber>1&&a.firstCharOffset===0){let e=i.Is(t,n.startLineNumber-1);e.languageId===a.languageId&&(u=e.getLineContent())}let d=o.onEnter(e,u,c,l);if(!d)return null;let f=d.indentAction,p=d.appendText,m=d.removeText||0;p?f===i.rc.Indent&&(p=` `+p):p=f===i.rc.Indent||f===i.rc.IndentOutdent?` `:``;let h=i.Fs(t,n.startLineNumber,n.startColumn);return m&&(h=h.substring(0,h.length-m)),{indentAction:f,appendText:p,removeText:m,indentation:h}}var yo=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},bo=function(e,t){return function(n,r){t(n,r,e)}},xo=Object.create(null);function So(e,t){if(t<=0)return``;xo[e]||(xo[e]=[``,e]);let n=xo[e];for(let r=n.length;r<=t;r++)n[r]=n[r-1]+e;return n[t]}var Co=class e{constructor(e,t,n){this._languageConfigurationService=n,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}static unshiftIndent(e,t,n,r,a){let o=i.It.visibleColumnFromColumn(e,t,n);return a?So(So(` `,r),i.It.prevIndentTabStop(o,r)/r):So(` `,i.It.prevRenderTabStop(o,n)/n)}static shiftIndent(e,t,n,r,a){let o=i.It.visibleColumnFromColumn(e,t,n);return a?So(So(` `,r),i.It.nextIndentTabStop(o,r)/r):So(` `,i.It.nextRenderTabStop(o,n)/n)}_addEditOperation(e,t,n){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,n):e.addEditOperation(t,n)}getEditOperations(t,n){let r=this._selection.startLineNumber,a=this._selection.endLineNumber;this._selection.endColumn===1&&r!==a&&--a;let{tabSize:o,indentSize:s,insertSpaces:c}=this._opts,l=r===a;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(t.getLineContent(r))&&(this._useLastEditRangeForCursorEndPosition=!0);let u=0,d=0;for(let f=r;f<=a;f++,u=d){d=0;let a=t.getLineContent(f),p=i.Lc(a);if(this._opts.isUnshift&&(a.length===0||p===0)||!l&&!this._opts.isUnshift&&a.length===0)continue;if(p===-1&&(p=a.length),f>1&&i.It.visibleColumnFromColumn(a,p+1,o)%s!==0&&t.tokenization.isCheapToTokenize(f-1)){let e=vo(this._opts.autoIndent,t,new i.Ol(f-1,t.getLineMaxColumn(f-1),f-1,t.getLineMaxColumn(f-1)),this._languageConfigurationService);if(e){if(d=u,e.appendText)for(let t=0,n=e.appendText.length;t<n&&d<s&&e.appendText.charCodeAt(t)===32;t++)d++;e.removeText&&(d=Math.max(0,d-e.removeText));for(let e=0;e<d&&!(p===0||a.charCodeAt(p-1)!==32);e++)p--}}if(this._opts.isUnshift&&p===0)continue;let m;m=this._opts.isUnshift?e.unshiftIndent(a,p+1,o,s,c):e.shiftIndent(a,p+1,o,s,c),this._addEditOperation(n,new i.Ol(f,1,f,p+1),m),f===r&&!this._selection.isEmpty()&&(this._selectionStartColumnStaysPut=this._selection.startColumn<=p+1)}}else{!this._opts.isUnshift&&this._selection.isEmpty()&&t.getLineLength(r)===0&&(this._useLastEditRangeForCursorEndPosition=!0);let e=c?So(` `,s):` `;for(let o=r;o<=a;o++){let a=t.getLineContent(o),c=i.Lc(a);if(!(this._opts.isUnshift&&(a.length===0||c===0))&&!(!l&&!this._opts.isUnshift&&a.length===0)&&(c===-1&&(c=a.length),!(this._opts.isUnshift&&c===0)))if(this._opts.isUnshift){c=Math.min(c,s);for(let e=0;e<c;e++)if(a.charCodeAt(e)===9){c=e+1;break}this._addEditOperation(n,new i.Ol(o,1,o,c+1),``)}else this._addEditOperation(n,new i.Ol(o,1,o,1),e),o===r&&!this._selection.isEmpty()&&(this._selectionStartColumnStaysPut=this._selection.startColumn===1)}}this._selectionId=n.trackSelection(this._selection)}computeCursorState(e,t){if(this._useLastEditRangeForCursorEndPosition){let e=t.getInverseEditOperations()[0];return new i.Dl(e.range.endLineNumber,e.range.endColumn,e.range.endLineNumber,e.range.endColumn)}let n=t.getTrackedSelection(this._selectionId);if(this._selectionStartColumnStaysPut){let e=this._selection.startColumn;return n.startColumn<=e?n:n.getDirection()===0?new i.Dl(n.startLineNumber,e,n.endLineNumber,n.endColumn):new i.Dl(n.endLineNumber,n.endColumn,n.startLineNumber,e)}return n}};Co=yo([bo(2,i.Ps)],Co);var wo=class{constructor(e,t,n){this._range=e,this._charBeforeSelection=t,this._charAfterSelection=n}getEditOperations(e,t){t.addTrackedEditOperation(new i.Ol(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),t.addTrackedEditOperation(new i.Ol(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(e,t){let n=t.getInverseEditOperations(),r=n[0].range,a=n[1].range;return new i.Dl(r.endLineNumber,r.endColumn,a.endLineNumber,a.endColumn-this._charAfterSelection.length)}},To=class{constructor(e,t,n){this._position=e,this._text=t,this._charAfter=n}getEditOperations(e,t){t.addTrackedEditOperation(new i.Ol(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column),this._text+this._charAfter)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return new i.Dl(n.endLineNumber,n.startColumn,n.endLineNumber,n.endColumn-this._charAfter.length)}};function Eo(e,t,n){let r=e.tokenization.getLanguageIdAtPosition(t,0);if(t>1){let i,a=-1;for(i=t-1;i>=1;i--){if(e.tokenization.getLanguageIdAtPosition(i,0)!==r)return a;let t=e.getLineContent(i);if(n.shouldIgnore(t)||/^\s+$/.test(t)||t===``){a=i;continue}return i}}return-1}function Do(e,t,n,r=!0,a){if(e<4)return null;let o=a.getLanguageConfiguration(t.tokenization.getLanguageId()).indentRulesSupport;if(!o)return null;if(n<=1)return{indentation:``,action:null};let s=Eo(t,n,o);if(s<0)return null;if(s<1)return{indentation:``,action:null};let c=t.getLineContent(s);if(o.shouldIncrease(c)||o.shouldIndentNextLine(c))return{indentation:i.Bc(c),action:i.rc.Indent,line:s};if(o.shouldDecrease(c))return{indentation:i.Bc(c),action:null,line:s};{if(s===1)return{indentation:i.Bc(t.getLineContent(s)),action:null,line:s};let e=s-1,n=o.getIndentMetadata(t.getLineContent(e));if(!(n&3)&&n&4){let n=0;for(let r=e-1;r>0;r--)if(!o.shouldIndentNextLine(t.getLineContent(r))){n=r;break}return{indentation:i.Bc(t.getLineContent(n+1)),action:null,line:n+1}}if(r)return{indentation:i.Bc(t.getLineContent(s)),action:null,line:s};for(let e=s;e>0;e--){let n=t.getLineContent(e);if(o.shouldIncrease(n))return{indentation:i.Bc(n),action:i.rc.Indent,line:e};if(o.shouldIndentNextLine(n)){let n=0;for(let r=e-1;r>0;r--)if(!o.shouldIndentNextLine(t.getLineContent(e))){n=r;break}return{indentation:i.Bc(t.getLineContent(n+1)),action:null,line:n+1}}else if(o.shouldDecrease(n))return{indentation:i.Bc(n),action:null,line:e}}return{indentation:i.Bc(t.getLineContent(1)),action:null,line:1}}}function Oo(e,t,n,r,a,o){if(e<4)return null;let s=o.getLanguageConfiguration(n);if(!s)return null;let c=o.getLanguageConfiguration(n).indentRulesSupport;if(!c)return null;let l=Do(e,t,r,void 0,o),u=t.getLineContent(r);if(l){let n=l.line;if(n!==void 0){let r=s.onEnter(e,``,t.getLineContent(n),``);if(r){let e=i.Bc(t.getLineContent(n));return r.removeText&&(e=e.substring(0,e.length-r.removeText)),r.indentAction===i.rc.Indent||r.indentAction===i.rc.IndentOutdent?e=a.shiftIndent(e):r.indentAction===i.rc.Outdent&&(e=a.unshiftIndent(e)),c.shouldDecrease(u)&&(e=a.unshiftIndent(e)),r.appendText&&(e+=r.appendText),i.Bc(e)}}return c.shouldDecrease(u)?l.action===i.rc.Indent?l.indentation:a.unshiftIndent(l.indentation):l.action===i.rc.Indent?a.shiftIndent(l.indentation):l.indentation}return null}function ko(e,t,n,r,a){if(e<4)return null;t.tokenization.forceTokenization(n.startLineNumber);let o=t.tokenization.getLineTokens(n.startLineNumber),s=i.nc(o,n.startColumn-1),c=s.getLineContent(),l=!1,u;s.firstCharOffset>0&&o.getLanguageId(0)!==s.languageId?(l=!0,u=c.substr(0,n.startColumn-1-s.firstCharOffset)):u=o.getLineContent().substring(0,n.startColumn-1);let d;d=n.isEmpty()?c.substr(n.startColumn-1-s.firstCharOffset):i.Is(t,n.endLineNumber,n.endColumn).getLineContent().substr(n.endColumn-1-s.firstCharOffset);let f=a.getLanguageConfiguration(s.languageId).indentRulesSupport;if(!f)return null;let p=u,m=i.Bc(u),h={tokenization:{getLineTokens:e=>t.tokenization.getLineTokens(e),getLanguageId:()=>t.getLanguageId(),getLanguageIdAtPosition:(e,n)=>t.getLanguageIdAtPosition(e,n)},getLineContent:e=>e===n.startLineNumber?p:t.getLineContent(e)},g=i.Bc(o.getLineContent()),_=Do(e,h,n.startLineNumber+1,void 0,a);if(!_){let e=l?g:m;return{beforeEnter:e,afterEnter:e}}let v=l?g:_.indentation;return _.action===i.rc.Indent&&(v=r.shiftIndent(v)),f.shouldDecrease(d)&&(v=r.unshiftIndent(v)),{beforeEnter:l?g:m,afterEnter:v}}function Ao(e,t,n,r,a,o){if(e<4)return null;let s=i.Is(t,n.startLineNumber,n.startColumn);if(s.firstCharOffset)return null;let c=o.getLanguageConfiguration(s.languageId).indentRulesSupport;if(!c)return null;let l=s.getLineContent(),u=l.substr(0,n.startColumn-1-s.firstCharOffset),d;if(d=n.isEmpty()?l.substr(n.startColumn-1-s.firstCharOffset):i.Is(t,n.endLineNumber,n.endColumn).getLineContent().substr(n.endColumn-1-s.firstCharOffset),!c.shouldDecrease(u+d)&&c.shouldDecrease(u+r+d)){let r=Do(e,t,n.startLineNumber,!1,o);if(!r)return null;let s=r.indentation;return r.action!==i.rc.Indent&&(s=a.unshiftIndent(s)),s}return null}function jo(e,t,n){let r=n.getLanguageConfiguration(e.getLanguageId()).indentRulesSupport;return!r||t<1||t>e.getLineCount()?null:r.getIndentMetadata(e.getLineContent(t))}var Mo=class e{static indent(e,t,n){if(t===null||n===null)return[];let r=[];for(let t=0,i=n.length;t<i;t++)r[t]=new Co(n[t],{isUnshift:!1,tabSize:e.tabSize,indentSize:e.indentSize,insertSpaces:e.insertSpaces,useTabStops:e.useTabStops,autoIndent:e.autoIndent},e.languageConfigurationService);return r}static outdent(e,t,n){let r=[];for(let t=0,i=n.length;t<i;t++)r[t]=new Co(n[t],{isUnshift:!0,tabSize:e.tabSize,indentSize:e.indentSize,insertSpaces:e.insertSpaces,useTabStops:e.useTabStops,autoIndent:e.autoIndent},e.languageConfigurationService);return r}static shiftIndent(e,t,n){return n||=1,Co.shiftIndent(t,t.length+n,e.tabSize,e.indentSize,e.insertSpaces)}static unshiftIndent(e,t,n){return n||=1,Co.unshiftIndent(t,t.length+n,e.tabSize,e.indentSize,e.insertSpaces)}static _distributedPaste(e,t,n,r){let i=[];for(let e=0,t=n.length;e<t;e++)i[e]=new oo(n[e],r[e]);return new ro(0,i,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _simplePaste(e,t,n,r,a){let o=[];for(let e=0,t=n.length;e<t;e++){let t=n[e],s=t.getPosition();a&&!t.isEmpty()&&(a=!1),a&&r.indexOf(`
|
|
27
|
+
`)!==r.length-1&&(a=!1),a?o[e]=new uo(new i.Ol(s.lineNumber,1,s.lineNumber,1),r,t,!0):o[e]=new oo(t,r)}return new ro(0,o,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _distributePasteToCursors(e,t,n,r,a){if(r||t.length===1)return null;if(a&&a.length===t.length)return a;if(e.multiCursorPaste===`spread`){n.charCodeAt(n.length-1)===10&&(n=n.substr(0,n.length-1)),n.charCodeAt(n.length-1)===13&&(n=n.substr(0,n.length-1));let e=i.al(n);if(e.length===t.length)return e}return null}static paste(e,t,n,r,a,o){let s=this._distributePasteToCursors(e,n,r,a,o);return s?(n=n.sort(i.Ol.compareRangesUsingStarts),this._distributedPaste(e,t,n,s)):this._simplePaste(e,t,n,r,a)}static _goodIndentForLine(t,n,r){let a=null,o=``,s=Do(t.autoIndent,n,r,!1,t.languageConfigurationService);if(s)a=s.action,o=s.indentation;else if(r>1){let e;for(e=r-1;e>=1;e--){let t=n.getLineContent(e);if(i.Zc(t)>=0)break}if(e<1)return null;let a=n.getLineMaxColumn(e),s=vo(t.autoIndent,n,new i.Ol(e,a,e,a),t.languageConfigurationService);s&&(o=s.indentation+s.appendText)}return a&&(a===i.rc.Indent&&(o=e.shiftIndent(t,o)),a===i.rc.Outdent&&(o=e.unshiftIndent(t,o)),o=t.normalizeIndentation(o)),o||null}static _replaceJumpToNextIndent(e,t,n,r){let i=``,a=n.getStartPosition();if(e.insertSpaces){let n=e.visibleColumnFromColumn(t,a),r=e.indentSize,o=r-n%r;for(let e=0;e<o;e++)i+=` `}else i=` `;return new oo(n,i,r)}static tab(e,t,n){let r=[];for(let a=0,o=n.length;a<o;a++){let o=n[a];if(o.isEmpty()){let n=t.getLineContent(o.startLineNumber);if(/^\s*$/.test(n)&&t.tokenization.isCheapToTokenize(o.startLineNumber)){let s=this._goodIndentForLine(e,t,o.startLineNumber);s||=` `;let c=e.normalizeIndentation(s);if(!n.startsWith(c)){r[a]=new oo(new i.Ol(o.startLineNumber,1,o.startLineNumber,n.length+1),c,!0);continue}}r[a]=this._replaceJumpToNextIndent(e,t,o,!0)}else{if(o.startLineNumber===o.endLineNumber){let n=t.getLineMaxColumn(o.startLineNumber);if(o.startColumn!==1||o.endColumn!==n){r[a]=this._replaceJumpToNextIndent(e,t,o,!1);continue}}r[a]=new Co(o,{isUnshift:!1,tabSize:e.tabSize,indentSize:e.indentSize,insertSpaces:e.insertSpaces,useTabStops:e.useTabStops,autoIndent:e.autoIndent},e.languageConfigurationService)}}return r}static compositionType(e,t,n,r,i,a,o,s){return new ro(4,r.map(e=>this._compositionType(n,e,i,a,o,s)),{shouldPushStackElementBefore:Io(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,n,r,a,o){if(!t.isEmpty())return null;let s=t.getPosition(),c=Math.max(1,s.column-r),l=Math.min(e.getLineMaxColumn(s.lineNumber),s.column+a),u=new i.Ol(s.lineNumber,c,s.lineNumber,l);return e.getValueInRange(u)===n&&o===0?null:new lo(u,n,0,o)}static _typeCommand(e,t,n){return n?new co(e,t,!0):new oo(e,t,!0)}static _enter(t,n,r,a){if(t.autoIndent===0)return e._typeCommand(a,`
|
|
28
|
+
`,r);if(!n.tokenization.isCheapToTokenize(a.getStartPosition().lineNumber)||t.autoIndent===1){let o=n.getLineContent(a.startLineNumber),s=i.Bc(o).substring(0,a.startColumn-1);return e._typeCommand(a,`
|
|
29
|
+
`+t.normalizeIndentation(s),r)}let o=vo(t.autoIndent,n,a,t.languageConfigurationService);if(o){if(o.indentAction===i.rc.None||o.indentAction===i.rc.Indent)return e._typeCommand(a,`
|
|
30
|
+
`+t.normalizeIndentation(o.indentation+o.appendText),r);if(o.indentAction===i.rc.IndentOutdent){let e=t.normalizeIndentation(o.indentation),n=t.normalizeIndentation(o.indentation+o.appendText),i=`
|
|
31
|
+
`+n+`
|
|
32
|
+
`+e;return r?new co(a,i,!0):new lo(a,i,-1,n.length-e.length,!0)}else if(o.indentAction===i.rc.Outdent){let n=e.unshiftIndent(t,o.indentation);return e._typeCommand(a,`
|
|
33
|
+
`+t.normalizeIndentation(n+o.appendText),r)}}let s=n.getLineContent(a.startLineNumber),c=i.Bc(s).substring(0,a.startColumn-1);if(t.autoIndent>=4){let o=ko(t.autoIndent,n,a,{unshiftIndent:n=>e.unshiftIndent(t,n),shiftIndent:n=>e.shiftIndent(t,n),normalizeIndentation:e=>t.normalizeIndentation(e)},t.languageConfigurationService);if(o){let e=t.visibleColumnFromColumn(n,a.getEndPosition()),s=a.endColumn,c=n.getLineContent(a.endLineNumber),l=i.Lc(c);if(a=l>=0?a.setEndPosition(a.endLineNumber,Math.max(a.endColumn,l+1)):a.setEndPosition(a.endLineNumber,n.getLineMaxColumn(a.endLineNumber)),r)return new co(a,`
|
|
34
|
+
`+t.normalizeIndentation(o.afterEnter),!0);{let n=0;return s<=l+1&&(t.insertSpaces||(e=Math.ceil(e/t.indentSize)),n=Math.min(e+1-t.normalizeIndentation(o.afterEnter).length-1,0)),new lo(a,`
|
|
35
|
+
`+t.normalizeIndentation(o.afterEnter),0,n,!0)}}}return e._typeCommand(a,`
|
|
36
|
+
`+t.normalizeIndentation(c),r)}static _isAutoIndentType(e,t,n){if(e.autoIndent<4)return!1;for(let e=0,r=n.length;e<r;e++)if(!t.tokenization.isCheapToTokenize(n[e].getEndPosition().lineNumber))return!1;return!0}static _runAutoIndentType(t,n,r,a){let o=i.Fs(n,r.startLineNumber,r.startColumn),s=Ao(t.autoIndent,n,r,a,{shiftIndent:n=>e.shiftIndent(t,n),unshiftIndent:n=>e.unshiftIndent(t,n)},t.languageConfigurationService);if(s===null)return null;if(s!==t.normalizeIndentation(o)){let o=n.getLineFirstNonWhitespaceColumn(r.startLineNumber);return o===0?e._typeCommand(new i.Ol(r.startLineNumber,1,r.endLineNumber,r.endColumn),t.normalizeIndentation(s)+a,!1):e._typeCommand(new i.Ol(r.startLineNumber,1,r.endLineNumber,r.endColumn),t.normalizeIndentation(s)+n.getLineContent(r.startLineNumber).substring(o-1,r.startColumn-1)+a,!1)}return null}static _isAutoClosingOvertype(e,t,n,r,i){if(e.autoClosingOvertype===`never`||!e.autoClosingPairs.autoClosingPairsCloseSingleChar.has(i))return!1;for(let a=0,o=n.length;a<o;a++){let o=n[a];if(!o.isEmpty())return!1;let s=o.getPosition(),c=t.getLineContent(s.lineNumber);if(c.charAt(s.column-1)!==i)return!1;let l=io(i);if((s.column>2?c.charCodeAt(s.column-2):0)===92&&l)return!1;if(e.autoClosingOvertype===`auto`){let e=!1;for(let t=0,n=r.length;t<n;t++){let n=r[t];if(s.lineNumber===n.startLineNumber&&s.column===n.startColumn){e=!0;break}}if(!e)return!1}}return!0}static _runAutoClosingOvertype(e,t,n,r,a){let o=[];for(let e=0,t=r.length;e<t;e++){let t=r[e].getPosition();o[e]=new oo(new i.Ol(t.lineNumber,t.column,t.lineNumber,t.column+1),a)}return new ro(4,o,{shouldPushStackElementBefore:Io(e,4),shouldPushStackElementAfter:!1})}static _isBeforeClosingBrace(e,t){let n=t.charAt(0),r=e.autoClosingPairs.autoClosingPairsOpenByStart.get(n)||[],i=e.autoClosingPairs.autoClosingPairsCloseByStart.get(n)||[],a=r.some(e=>t.startsWith(e.open)),o=i.some(e=>t.startsWith(e.close));return!a&&o}static _findAutoClosingPairOpen(e,t,n,r){let a=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(r);if(!a)return null;let o=null;for(let e of a)if(o===null||e.open.length>o.open.length){let a=!0;for(let o of n)if(t.getValueInRange(new i.Ol(o.lineNumber,o.column-e.open.length+1,o.lineNumber,o.column))+r!==e.open){a=!1;break}a&&(o=e)}return o}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;let n=t.close.charAt(t.close.length-1),r=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(n)||[],i=null;for(let e of r)e.open!==t.open&&t.open.includes(e.open)&&t.close.endsWith(e.close)&&(!i||e.open.length>i.open.length)&&(i=e);return i}static _getAutoClosingPairClose(t,n,r,a,o){let s=io(a),c=s?t.autoClosingQuotes:t.autoClosingBrackets,l=s?t.shouldAutoCloseBefore.quote:t.shouldAutoCloseBefore.bracket;if(c===`never`)return null;for(let e of r)if(!e.isEmpty())return null;let u=r.map(e=>{let t=e.getPosition();return o?{lineNumber:t.lineNumber,beforeColumn:t.column-a.length,afterColumn:t.column}:{lineNumber:t.lineNumber,beforeColumn:t.column,afterColumn:t.column}}),d=this._findAutoClosingPairOpen(t,n,u.map(e=>new i.kl(e.lineNumber,e.beforeColumn)),a);if(!d)return null;let f=this._findContainedAutoClosingPair(t,d),p=f?f.close:``,m=!0;for(let r of u){let{lineNumber:o,beforeColumn:s,afterColumn:u}=r,f=n.getLineContent(o),h=f.substring(0,s-1),g=f.substring(u-1);if(g.startsWith(p)||(m=!1),g.length>0){let n=g.charAt(0);if(!e._isBeforeClosingBrace(t,g)&&!l(n))return null}if(d.open.length===1&&(a===`'`||a===`"`)&&c!==`always`){let e=i.is(t.wordSeparators);if(h.length>0){let t=h.charCodeAt(h.length-1);if(e.get(t)===0)return null}}if(!n.tokenization.isCheapToTokenize(o))return null;n.tokenization.forceTokenization(o);let _=i.nc(n.tokenization.getLineTokens(o),s-1);if(!d.shouldAutoClose(_,s-_.firstCharOffset))return null;let v=d.findNeutralCharacter();if(v){let e=n.tokenization.getTokenTypeIfInsertingCharacter(o,s,v);if(!d.isOK(e))return null}}return m?d.close.substring(0,d.close.length-p.length):d.close}static _runAutoClosingOpenCharType(e,t,n,r,i,a,o){let s=[];for(let e=0,t=r.length;e<t;e++){let t=r[e];s[e]=new No(t,i,!a,o)}return new ro(4,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}static _shouldSurroundChar(e,t){return io(t)?e.autoSurround===`quotes`||e.autoSurround===`languageDefined`:e.autoSurround===`brackets`||e.autoSurround===`languageDefined`}static _isSurroundSelectionType(t,n,r,i){if(!e._shouldSurroundChar(t,i)||!t.surroundingPairs.hasOwnProperty(i))return!1;let a=io(i);for(let e of r){if(e.isEmpty())return!1;let t=!0;for(let r=e.startLineNumber;r<=e.endLineNumber;r++){let i=n.getLineContent(r),a=r===e.startLineNumber?e.startColumn-1:0,o=r===e.endLineNumber?e.endColumn-1:i.length,s=i.substring(a,o);if(/[^ \t]/.test(s)){t=!1;break}}if(t||a&&e.startLineNumber===e.endLineNumber&&e.startColumn+1===e.endColumn&&io(n.getValueInRange(e)))return!1}return!0}static _runSurroundSelectionType(e,t,n,r,i){let a=[];for(let e=0,n=r.length;e<n;e++){let n=r[e],o=t.surroundingPairs[i];a[e]=new wo(n,i,o)}return new ro(0,a,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _isTypeInterceptorElectricChar(e,t,n){return!!(n.length===1&&t.tokenization.isCheapToTokenize(n[0].getEndPosition().lineNumber))}static _typeInterceptorElectricChar(e,t,n,r,a){if(!t.electricChars.hasOwnProperty(a)||!r.isEmpty())return null;let o=r.getPosition();n.tokenization.forceTokenization(o.lineNumber);let s=n.tokenization.getLineTokens(o.lineNumber),c;try{c=t.onElectricCharacter(a,s,o.column)}catch(e){return i.fu(e),null}if(!c)return null;if(c.matchOpenBracket){let r=(s.getLineContent()+a).lastIndexOf(c.matchOpenBracket)+1,l=n.bracketPairs.findMatchingBracketUp(c.matchOpenBracket,{lineNumber:o.lineNumber,column:r},500);if(l){if(l.startLineNumber===o.lineNumber)return null;let r=n.getLineContent(l.startLineNumber),s=i.Bc(r),c=t.normalizeIndentation(s),u=n.getLineContent(o.lineNumber),d=n.getLineFirstNonWhitespaceColumn(o.lineNumber)||o.column,f=c+u.substring(d-1,o.column-1)+a,p=new oo(new i.Ol(o.lineNumber,1,o.lineNumber,o.column),f);return new ro(Fo(f,e),[p],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!0})}}return null}static compositionEndWithInterceptors(t,n,r,a,o,s){if(!a)return null;let c=null;for(let e of a)if(c===null)c=e.insertedText;else if(c!==e.insertedText)return null;if(!c||c.length!==1)return null;let l=c,u=!1;for(let e of a)if(e.deletedText.length!==0){u=!0;break}if(u){if(!e._shouldSurroundChar(n,l)||!n.surroundingPairs.hasOwnProperty(l))return null;let t=io(l);for(let e of a)if(e.deletedSelectionStart!==0||e.deletedSelectionEnd!==e.deletedText.length||/^[ \t]+$/.test(e.deletedText)||t&&io(e.deletedText))return null;let r=[];for(let e of o){if(!e.isEmpty())return null;r.push(e.getPosition())}if(r.length!==a.length)return null;let i=[];for(let e=0,t=r.length;e<t;e++)i.push(new To(r[e],a[e].deletedText,l));return new ro(4,i,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(this._isAutoClosingOvertype(n,r,o,s,l))return new ro(4,o.map(e=>new oo(new i.Ol(e.positionLineNumber,e.positionColumn,e.positionLineNumber,e.positionColumn+1),``,!1)),{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1});let d=this._getAutoClosingPairClose(n,r,o,l,!0);return d===null?null:this._runAutoClosingOpenCharType(t,n,r,o,l,!0,d)}static typeWithInterceptors(t,n,r,i,a,o,s){if(!t&&s===`
|
|
37
|
+
`){let t=[];for(let n=0,o=a.length;n<o;n++)t[n]=e._enter(r,i,!1,a[n]);return new ro(4,t,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(!t&&this._isAutoIndentType(r,i,a)){let e=[],t=!1;for(let n=0,o=a.length;n<o;n++)if(e[n]=this._runAutoIndentType(r,i,a[n],s),!e[n]){t=!0;break}if(!t)return new ro(4,e,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(this._isAutoClosingOvertype(r,i,a,o,s))return this._runAutoClosingOvertype(n,r,i,a,s);if(!t){let e=this._getAutoClosingPairClose(r,i,a,s,!1);if(e)return this._runAutoClosingOpenCharType(n,r,i,a,s,!1,e)}if(!t&&this._isSurroundSelectionType(r,i,a,s))return this._runSurroundSelectionType(n,r,i,a,s);if(!t&&this._isTypeInterceptorElectricChar(r,i,a)){let e=this._typeInterceptorElectricChar(n,r,i,a[0],s);if(e)return e}let c=[];for(let e=0,t=a.length;e<t;e++)c[e]=new oo(a[e],s);let l=Fo(s,n);return new ro(l,c,{shouldPushStackElementBefore:Io(n,l),shouldPushStackElementAfter:!1})}static typeWithoutInterceptors(e,t,n,r,i){let a=[];for(let e=0,t=r.length;e<t;e++)a[e]=new oo(r[e],i);let o=Fo(i,e);return new ro(o,a,{shouldPushStackElementBefore:Io(e,o),shouldPushStackElementAfter:!1})}static lineInsertBefore(e,t,n){if(t===null||n===null)return[];let r=[];for(let a=0,o=n.length;a<o;a++){let o=n[a].positionLineNumber;if(o===1)r[a]=new co(new i.Ol(1,1,1,1),`
|
|
38
|
+
`);else{o--;let n=t.getLineMaxColumn(o);r[a]=this._enter(e,t,!1,new i.Ol(o,n,o,n))}}return r}static lineInsertAfter(e,t,n){if(t===null||n===null)return[];let r=[];for(let a=0,o=n.length;a<o;a++){let o=n[a].positionLineNumber,s=t.getLineMaxColumn(o);r[a]=this._enter(e,t,!1,new i.Ol(o,s,o,s))}return r}static lineBreakInsert(e,t,n){let r=[];for(let i=0,a=n.length;i<a;i++)r[i]=this._enter(e,t,!0,n[i]);return r}},No=class extends lo{constructor(e,t,n,r){super(e,(n?t:``)+r,0,-r.length),this._openCharacter=t,this._closeCharacter=r,this.closeCharacterRange=null,this.enclosingRange=null}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return this.closeCharacterRange=new i.Ol(n.startLineNumber,n.endColumn-this._closeCharacter.length,n.endLineNumber,n.endColumn),this.enclosingRange=new i.Ol(n.startLineNumber,n.endColumn-this._openCharacter.length-this._closeCharacter.length,n.endLineNumber,n.endColumn),super.computeCursorState(e,t)}},Po=class{constructor(e,t,n,r,i,a){this.deletedText=e,this.deletedSelectionStart=t,this.deletedSelectionEnd=n,this.insertedText=r,this.insertedSelectionStart=i,this.insertedSelectionEnd=a}};function Fo(e,t){return e===` `?t===5||t===6?6:5:4}function Io(e,t){return Ro(e)&&!Ro(t)?!0:e===5?!1:Lo(e)!==Lo(t)}function Lo(e){return e===6||e===5?`space`:e}function Ro(e){return e===4||e===5||e===6}var R;(function(e){e.editorSimpleInput=new i.Da(`editorSimpleInput`,!1,!0),e.editorTextFocus=new i.Da(`editorTextFocus`,!1,i.Td(`editorTextFocus`,`Whether the editor text has focus (cursor is blinking)`)),e.focus=new i.Da(`editorFocus`,!1,i.Td(`editorFocus`,`Whether the editor or an editor widget has focus (e.g. focus is in the find widget)`)),e.textInputFocus=new i.Da(`textInputFocus`,!1,i.Td(`textInputFocus`,`Whether an editor or a rich text input has focus (cursor is blinking)`)),e.readOnly=new i.Da(`editorReadonly`,!1,i.Td(`editorReadonly`,`Whether the editor is read only`)),e.inDiffEditor=new i.Da(`inDiffEditor`,!1,i.Td(`inDiffEditor`,`Whether the context is a diff editor`)),e.columnSelection=new i.Da(`editorColumnSelection`,!1,i.Td(`editorColumnSelection`,"Whether `editor.columnSelection` is enabled")),e.writable=e.readOnly.toNegated(),e.hasNonEmptySelection=new i.Da(`editorHasSelection`,!1,i.Td(`editorHasSelection`,`Whether the editor has text selected`)),e.hasOnlyEmptySelection=e.hasNonEmptySelection.toNegated(),e.hasMultipleSelections=new i.Da(`editorHasMultipleSelections`,!1,i.Td(`editorHasMultipleSelections`,`Whether the editor has multiple selections`)),e.hasSingleSelection=e.hasMultipleSelections.toNegated(),e.tabMovesFocus=new i.Da(`editorTabMovesFocus`,!1,i.Td(`editorTabMovesFocus`,"Whether `Tab` will move focus out of the editor")),e.tabDoesNotMoveFocus=e.tabMovesFocus.toNegated(),e.isInWalkThroughSnippet=new i.Da(`isInEmbeddedEditor`,!1,!0),e.canUndo=new i.Da(`canUndo`,!1,!0),e.canRedo=new i.Da(`canRedo`,!1,!0),e.hoverVisible=new i.Da(`editorHoverVisible`,!1,i.Td(`editorHoverVisible`,`Whether the editor hover is visible`)),e.inCompositeEditor=new i.Da(`inCompositeEditor`,void 0,i.Td(`inCompositeEditor`,`Whether the editor is part of a larger editor (e.g. notebooks)`)),e.notInCompositeEditor=e.inCompositeEditor.toNegated(),e.languageId=new i.Da(`editorLangId`,``,i.Td(`editorLangId`,`The language identifier of the editor`)),e.hasCompletionItemProvider=new i.Da(`editorHasCompletionItemProvider`,!1,i.Td(`editorHasCompletionItemProvider`,`Whether the editor has a completion item provider`)),e.hasCodeActionsProvider=new i.Da(`editorHasCodeActionsProvider`,!1,i.Td(`editorHasCodeActionsProvider`,`Whether the editor has a code actions provider`)),e.hasCodeLensProvider=new i.Da(`editorHasCodeLensProvider`,!1,i.Td(`editorHasCodeLensProvider`,`Whether the editor has a code lens provider`)),e.hasDefinitionProvider=new i.Da(`editorHasDefinitionProvider`,!1,i.Td(`editorHasDefinitionProvider`,`Whether the editor has a definition provider`)),e.hasDeclarationProvider=new i.Da(`editorHasDeclarationProvider`,!1,i.Td(`editorHasDeclarationProvider`,`Whether the editor has a declaration provider`)),e.hasImplementationProvider=new i.Da(`editorHasImplementationProvider`,!1,i.Td(`editorHasImplementationProvider`,`Whether the editor has an implementation provider`)),e.hasTypeDefinitionProvider=new i.Da(`editorHasTypeDefinitionProvider`,!1,i.Td(`editorHasTypeDefinitionProvider`,`Whether the editor has a type definition provider`)),e.hasHoverProvider=new i.Da(`editorHasHoverProvider`,!1,i.Td(`editorHasHoverProvider`,`Whether the editor has a hover provider`)),e.hasDocumentHighlightProvider=new i.Da(`editorHasDocumentHighlightProvider`,!1,i.Td(`editorHasDocumentHighlightProvider`,`Whether the editor has a document highlight provider`)),e.hasDocumentSymbolProvider=new i.Da(`editorHasDocumentSymbolProvider`,!1,i.Td(`editorHasDocumentSymbolProvider`,`Whether the editor has a document symbol provider`)),e.hasReferenceProvider=new i.Da(`editorHasReferenceProvider`,!1,i.Td(`editorHasReferenceProvider`,`Whether the editor has a reference provider`)),e.hasRenameProvider=new i.Da(`editorHasRenameProvider`,!1,i.Td(`editorHasRenameProvider`,`Whether the editor has a rename provider`)),e.hasSignatureHelpProvider=new i.Da(`editorHasSignatureHelpProvider`,!1,i.Td(`editorHasSignatureHelpProvider`,`Whether the editor has a signature help provider`)),e.hasInlayHintsProvider=new i.Da(`editorHasInlayHintsProvider`,!1,i.Td(`editorHasInlayHintsProvider`,`Whether the editor has an inline hints provider`)),e.hasDocumentFormattingProvider=new i.Da(`editorHasDocumentFormattingProvider`,!1,i.Td(`editorHasDocumentFormattingProvider`,`Whether the editor has a document formatting provider`)),e.hasDocumentSelectionFormattingProvider=new i.Da(`editorHasDocumentSelectionFormattingProvider`,!1,i.Td(`editorHasDocumentSelectionFormattingProvider`,`Whether the editor has a document selection formatting provider`)),e.hasMultipleDocumentFormattingProvider=new i.Da(`editorHasMultipleDocumentFormattingProvider`,!1,i.Td(`editorHasMultipleDocumentFormattingProvider`,`Whether the editor has multiple document formatting providers`)),e.hasMultipleDocumentSelectionFormattingProvider=new i.Da(`editorHasMultipleDocumentSelectionFormattingProvider`,!1,i.Td(`editorHasMultipleDocumentSelectionFormattingProvider`,`Whether the editor has multiple document selection formatting providers`))})(R||={});var z=0,B=class extends i.Ki{runEditorCommand(e,t,n){let r=t._getViewModel();r&&this.runCoreEditorCommand(r,n||{})}},zo;(function(e){e.description={description:`Scroll editor in the given direction`,args:[{name:`Editor scroll argument object`,description:"Property-value pairs that can be passed through this argument:\n * 'to': A mandatory direction value.\n ```\n 'up', 'down'\n ```\n * 'by': Unit to move. Default is computed based on 'to' value.\n ```\n 'line', 'wrappedLine', 'page', 'halfPage'\n ```\n * 'value': Number of units to move. Default is '1'.\n * 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n ",constraint:function(e){if(!i.Mu(e))return!1;let t=e;return!(!i.Nu(t.to)||!i.Pu(t.by)&&!i.Nu(t.by)||!i.Pu(t.value)&&!i.ju(t.value)||!i.Pu(t.revealCursor)&&!i.Du(t.revealCursor))},schema:{type:`object`,required:[`to`],properties:{to:{type:`string`,enum:[`up`,`down`]},by:{type:`string`,enum:[`line`,`wrappedLine`,`page`,`halfPage`]},value:{type:`number`,default:1},revealCursor:{type:`boolean`}}}}]},e.RawDirection={Up:`up`,Down:`down`},e.RawUnit={Line:`line`,WrappedLine:`wrappedLine`,Page:`page`,HalfPage:`halfPage`};function t(t){let n;switch(t.to){case e.RawDirection.Up:n=1;break;case e.RawDirection.Down:n=2;break;default:return null}let r;switch(t.by){case e.RawUnit.Line:r=1;break;case e.RawUnit.WrappedLine:r=2;break;case e.RawUnit.Page:r=3;break;case e.RawUnit.HalfPage:r=4;break;default:r=2}let i=Math.floor(t.value||1),a=!!t.revealCursor;return{direction:n,unit:r,value:i,revealCursor:a,select:!!t.select}}e.parse=t})(zo||={});var Bo;(function(e){e.description={description:`Reveal the given line at the given logical position`,args:[{name:`Reveal line argument object`,description:`Property-value pairs that can be passed through this argument:
|
|
39
|
+
* 'lineNumber': A mandatory line number value.
|
|
40
|
+
* 'at': Logical position at which line has to be revealed.
|
|
41
|
+
\`\`\`
|
|
42
|
+
'top', 'center', 'bottom'
|
|
43
|
+
\`\`\`
|
|
44
|
+
`,constraint:function(e){if(!i.Mu(e))return!1;let t=e;return!(!i.ju(t.lineNumber)&&!i.Nu(t.lineNumber)||!i.Pu(t.at)&&!i.Nu(t.at))},schema:{type:`object`,required:[`lineNumber`],properties:{lineNumber:{type:[`number`,`string`]},at:{type:`string`,enum:[`top`,`center`,`bottom`]}}}}]},e.RawAtArgument={Top:`top`,Center:`center`,Bottom:`bottom`}})(Bo||={});var Vo=class{constructor(e){e.addImplementation(1e4,`code-editor`,(e,t)=>{let n=e.get(i.dc).getFocusedCodeEditor();return n&&n.hasTextFocus()?this._runEditorCommand(e,n,t):!1}),e.addImplementation(1e3,`generic-dom-input-textarea`,(e,t)=>{let n=document.activeElement;return n&&[`input`,`textarea`].indexOf(n.tagName.toLowerCase())>=0?(this.runDOMCommand(),!0):!1}),e.addImplementation(0,`generic-dom`,(e,t)=>{let n=e.get(i.dc).getActiveCodeEditor();return n?(n.focus(),this._runEditorCommand(e,n,t)):!1})}_runEditorCommand(e,t,n){return this.runEditorCommand(e,t,n)||!0}},V;(function(e){class t extends B{constructor(e){super(e),this._minimalReveal=e.minimalReveal,this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,[L.moveTo(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)])&&e.revealPrimaryCursor(t.source,!0,this._minimalReveal)}}e.MoveTo=i.ea(new t({id:`_moveTo`,minimalReveal:!0,inSelectionMode:!1,precondition:void 0})),e.MoveToSelect=i.ea(new t({id:`_moveToSelect`,minimalReveal:!1,inSelectionMode:!0,precondition:void 0}));class n extends B{runCoreEditorCommand(e,t){e.model.pushStackElement();let n=this._getColumnSelectResult(e,e.getPrimaryCursorState(),e.getCursorColumnSelectData(),t);e.setCursorStates(t.source,3,n.viewStates.map(e=>F.fromViewState(e))),e.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:n.fromLineNumber,fromViewVisualColumn:n.fromVisualColumn,toViewLineNumber:n.toLineNumber,toViewVisualColumn:n.toVisualColumn}),n.reversed?e.revealTopMostCursor(t.source):e.revealBottomMostCursor(t.source)}}e.ColumnSelect=i.ea(new class extends n{constructor(){super({id:`columnSelect`,precondition:void 0})}_getColumnSelectResult(e,t,n,r){let a=e.model.validatePosition(r.position),o=e.coordinatesConverter.validateViewPosition(new i.kl(r.viewPosition.lineNumber,r.viewPosition.column),a),s=r.doColumnSelect?n.fromViewLineNumber:o.lineNumber,c=r.doColumnSelect?n.fromViewVisualColumn:r.mouseColumn-1;return ao.columnSelect(e.cursorConfig,e,s,c,o.lineNumber,r.mouseColumn-1)}}),e.CursorColumnSelectLeft=i.ea(new class extends n{constructor(){super({id:`cursorColumnSelectLeft`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(e,t,n,r){return ao.columnSelectLeft(e.cursorConfig,e,n)}}),e.CursorColumnSelectRight=i.ea(new class extends n{constructor(){super({id:`cursorColumnSelectRight`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(e,t,n,r){return ao.columnSelectRight(e.cursorConfig,e,n)}});class r extends n{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,n,r){return ao.columnSelectUp(e.cursorConfig,e,n,this._isPaged)}}e.CursorColumnSelectUp=i.ea(new r({isPaged:!1,id:`cursorColumnSelectUp`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=i.ea(new r({isPaged:!0,id:`cursorColumnSelectPageUp`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:3595,linux:{primary:0}}}));class a extends n{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,n,r){return ao.columnSelectDown(e.cursorConfig,e,n,this._isPaged)}}e.CursorColumnSelectDown=i.ea(new a({isPaged:!1,id:`cursorColumnSelectDown`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=i.ea(new a({isPaged:!0,id:`cursorColumnSelectPageDown`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:3596,linux:{primary:0}}}));class o extends B{constructor(){super({id:`cursorMove`,precondition:void 0,description:_o.description})}runCoreEditorCommand(e,t){let n=_o.parse(t);n&&this._runCursorMove(e,t.source,n)}_runCursorMove(e,t,n){e.model.pushStackElement(),e.setCursorStates(t,3,o._move(e,e.getCursorStates(),n)),e.revealPrimaryCursor(t,!0)}static _move(e,t,n){let r=n.select,i=n.value;switch(n.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return L.simpleMove(e,t,n.direction,r,i,n.unit);case 11:case 13:case 12:case 14:return L.viewportMove(e,t,n.direction,r,i);default:return null}}}e.CursorMoveImpl=o,e.CursorMove=i.ea(new o);class s extends B{constructor(e){super(e),this._staticArgs=e.args}runCoreEditorCommand(e,t){let n=this._staticArgs;this._staticArgs.value===-1&&(n={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.pageSize||e.cursorConfig.pageSize}),e.model.pushStackElement(),e.setCursorStates(t.source,3,L.simpleMove(e,e.getCursorStates(),n.direction,n.select,n.value,n.unit)),e.revealPrimaryCursor(t.source,!0)}}e.CursorLeft=i.ea(new s({args:{direction:0,unit:0,select:!1,value:1},id:`cursorLeft`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=i.ea(new s({args:{direction:0,unit:0,select:!0,value:1},id:`cursorLeftSelect`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:1039}})),e.CursorRight=i.ea(new s({args:{direction:1,unit:0,select:!1,value:1},id:`cursorRight`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=i.ea(new s({args:{direction:1,unit:0,select:!0,value:1},id:`cursorRightSelect`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:1041}})),e.CursorUp=i.ea(new s({args:{direction:2,unit:2,select:!1,value:1},id:`cursorUp`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=i.ea(new s({args:{direction:2,unit:2,select:!0,value:1},id:`cursorUpSelect`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=i.ea(new s({args:{direction:2,unit:2,select:!1,value:-1},id:`cursorPageUp`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:11}})),e.CursorPageUpSelect=i.ea(new s({args:{direction:2,unit:2,select:!0,value:-1},id:`cursorPageUpSelect`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:1035}})),e.CursorDown=i.ea(new s({args:{direction:3,unit:2,select:!1,value:1},id:`cursorDown`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=i.ea(new s({args:{direction:3,unit:2,select:!0,value:1},id:`cursorDownSelect`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=i.ea(new s({args:{direction:3,unit:2,select:!1,value:-1},id:`cursorPageDown`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:12}})),e.CursorPageDownSelect=i.ea(new s({args:{direction:3,unit:2,select:!0,value:-1},id:`cursorPageDownSelect`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:1036}})),e.CreateCursor=i.ea(new class extends B{constructor(){super({id:`createCursor`,precondition:void 0})}runCoreEditorCommand(e,t){let n;n=t.wholeLine?L.line(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition):L.moveTo(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition);let r=e.getCursorStates();if(r.length>1){let i=n.modelState?n.modelState.position:null,a=n.viewState?n.viewState.position:null;for(let n=0,o=r.length;n<o;n++){let o=r[n];if(!(i&&!o.modelState.selection.containsPosition(i))&&!(a&&!o.viewState.selection.containsPosition(a))){r.splice(n,1),e.model.pushStackElement(),e.setCursorStates(t.source,3,r);return}}}r.push(n),e.model.pushStackElement(),e.setCursorStates(t.source,3,r)}}),e.LastCursorMoveToSelect=i.ea(new class extends B{constructor(){super({id:`_lastCursorMoveToSelect`,precondition:void 0})}runCoreEditorCommand(e,t){let n=e.getLastAddedCursorIndex(),r=e.getCursorStates(),i=r.slice(0);i[n]=L.moveTo(e,r[n],!0,t.position,t.viewPosition),e.model.pushStackElement(),e.setCursorStates(t.source,3,i)}});class c extends B{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,L.moveToBeginningOfLine(e,e.getCursorStates(),this._inSelectionMode)),e.revealPrimaryCursor(t.source,!0)}}e.CursorHome=i.ea(new c({inSelectionMode:!1,id:`cursorHome`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:14,mac:{primary:14,secondary:[2063]}}})),e.CursorHomeSelect=i.ea(new c({inSelectionMode:!0,id:`cursorHomeSelect`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:1038,mac:{primary:1038,secondary:[3087]}}}));class l extends B{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,this._exec(e.getCursorStates())),e.revealPrimaryCursor(t.source,!0)}_exec(e){let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n],i=r.modelState.position.lineNumber;t[n]=F.fromModelState(r.modelState.move(this._inSelectionMode,i,1,0))}return t}}e.CursorLineStart=i.ea(new l({inSelectionMode:!1,id:`cursorLineStart`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:0,mac:{primary:287}}})),e.CursorLineStartSelect=i.ea(new l({inSelectionMode:!0,id:`cursorLineStartSelect`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:0,mac:{primary:1311}}}));class u extends B{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,L.moveToEndOfLine(e,e.getCursorStates(),this._inSelectionMode,t.sticky||!1)),e.revealPrimaryCursor(t.source,!0)}}e.CursorEnd=i.ea(new u({inSelectionMode:!1,id:`cursorEnd`,precondition:void 0,kbOpts:{args:{sticky:!1},weight:z,kbExpr:R.textInputFocus,primary:13,mac:{primary:13,secondary:[2065]}},description:{description:`Go to End`,args:[{name:`args`,schema:{type:`object`,properties:{sticky:{description:i.Td(`stickydesc`,`Stick to the end even when going to longer lines`),type:`boolean`,default:!1}}}}]}})),e.CursorEndSelect=i.ea(new u({inSelectionMode:!0,id:`cursorEndSelect`,precondition:void 0,kbOpts:{args:{sticky:!1},weight:z,kbExpr:R.textInputFocus,primary:1037,mac:{primary:1037,secondary:[3089]}},description:{description:`Select to End`,args:[{name:`args`,schema:{type:`object`,properties:{sticky:{description:i.Td(`stickydesc`,`Stick to the end even when going to longer lines`),type:`boolean`,default:!1}}}}]}}));class d extends B{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,this._exec(e,e.getCursorStates())),e.revealPrimaryCursor(t.source,!0)}_exec(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r],a=i.modelState.position.lineNumber,o=e.model.getLineMaxColumn(a);n[r]=F.fromModelState(i.modelState.move(this._inSelectionMode,a,o,0))}return n}}e.CursorLineEnd=i.ea(new d({inSelectionMode:!1,id:`cursorLineEnd`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:0,mac:{primary:291}}})),e.CursorLineEndSelect=i.ea(new d({inSelectionMode:!0,id:`cursorLineEndSelect`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:0,mac:{primary:1315}}}));class f extends B{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,L.moveToBeginningOfBuffer(e,e.getCursorStates(),this._inSelectionMode)),e.revealPrimaryCursor(t.source,!0)}}e.CursorTop=i.ea(new f({inSelectionMode:!1,id:`cursorTop`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:2062,mac:{primary:2064}}})),e.CursorTopSelect=i.ea(new f({inSelectionMode:!0,id:`cursorTopSelect`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:3086,mac:{primary:3088}}}));class p extends B{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,L.moveToEndOfBuffer(e,e.getCursorStates(),this._inSelectionMode)),e.revealPrimaryCursor(t.source,!0)}}e.CursorBottom=i.ea(new p({inSelectionMode:!1,id:`cursorBottom`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:2061,mac:{primary:2066}}})),e.CursorBottomSelect=i.ea(new p({inSelectionMode:!0,id:`cursorBottomSelect`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:3085,mac:{primary:3090}}}));class m extends B{constructor(){super({id:`editorScroll`,precondition:void 0,description:zo.description})}runCoreEditorCommand(e,t){let n=zo.parse(t);n&&this._runEditorScroll(e,t.source,n)}_runEditorScroll(e,t,n){let r=this._computeDesiredScrollTop(e,n);if(n.revealCursor){let i=e.getCompletelyVisibleViewRangeAtScrollTop(r);e.setCursorStates(t,3,[L.findPositionInViewportIfOutside(e,e.getPrimaryCursorState(),i,n.select)])}e.viewLayout.setScrollPosition({scrollTop:r},0)}_computeDesiredScrollTop(e,t){if(t.unit===1){let n=e.getCompletelyVisibleViewRange(),r=e.coordinatesConverter.convertViewRangeToModelRange(n),a;a=t.direction===1?Math.max(1,r.startLineNumber-t.value):Math.min(e.model.getLineCount(),r.startLineNumber+t.value);let o=e.coordinatesConverter.convertModelPositionToViewPosition(new i.kl(a,1));return e.viewLayout.getVerticalOffsetForLineNumber(o.lineNumber)}let n;n=t.unit===3?e.cursorConfig.pageSize*t.value:t.unit===4?Math.round(e.cursorConfig.pageSize/2)*t.value:t.value;let r=(t.direction===1?-1:1)*n;return e.viewLayout.getCurrentScrollTop()+r*e.cursorConfig.lineHeight}}e.EditorScrollImpl=m,e.EditorScroll=i.ea(new m),e.ScrollLineUp=i.ea(new class extends B{constructor(){super({id:`scrollLineUp`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:2064,mac:{primary:267}}})}runCoreEditorCommand(t,n){e.EditorScroll._runEditorScroll(t,n.source,{direction:1,unit:2,value:1,revealCursor:!1,select:!1})}}),e.ScrollPageUp=i.ea(new class extends B{constructor(){super({id:`scrollPageUp`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:2059,win:{primary:523},linux:{primary:523}}})}runCoreEditorCommand(t,n){e.EditorScroll._runEditorScroll(t,n.source,{direction:1,unit:3,value:1,revealCursor:!1,select:!1})}}),e.ScrollLineDown=i.ea(new class extends B{constructor(){super({id:`scrollLineDown`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:2066,mac:{primary:268}}})}runCoreEditorCommand(t,n){e.EditorScroll._runEditorScroll(t,n.source,{direction:2,unit:2,value:1,revealCursor:!1,select:!1})}}),e.ScrollPageDown=i.ea(new class extends B{constructor(){super({id:`scrollPageDown`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:2060,win:{primary:524},linux:{primary:524}}})}runCoreEditorCommand(t,n){e.EditorScroll._runEditorScroll(t,n.source,{direction:2,unit:3,value:1,revealCursor:!1,select:!1})}});class h extends B{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,[L.word(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position)]),e.revealPrimaryCursor(t.source,!0)}}e.WordSelect=i.ea(new h({inSelectionMode:!1,id:`_wordSelect`,precondition:void 0})),e.WordSelectDrag=i.ea(new h({inSelectionMode:!0,id:`_wordSelectDrag`,precondition:void 0})),e.LastCursorWordSelect=i.ea(new class extends B{constructor(){super({id:`lastCursorWordSelect`,precondition:void 0})}runCoreEditorCommand(e,t){let n=e.getLastAddedCursorIndex(),r=e.getCursorStates(),i=r.slice(0),a=r[n];i[n]=L.word(e,a,a.modelState.hasSelection(),t.position),e.model.pushStackElement(),e.setCursorStates(t.source,3,i)}});class g extends B{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,[L.line(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)]),e.revealPrimaryCursor(t.source,!1)}}e.LineSelect=i.ea(new g({inSelectionMode:!1,id:`_lineSelect`,precondition:void 0})),e.LineSelectDrag=i.ea(new g({inSelectionMode:!0,id:`_lineSelectDrag`,precondition:void 0}));class _ extends B{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){let n=e.getLastAddedCursorIndex(),r=e.getCursorStates(),i=r.slice(0);i[n]=L.line(e,r[n],this._inSelectionMode,t.position,t.viewPosition),e.model.pushStackElement(),e.setCursorStates(t.source,3,i)}}e.LastCursorLineSelect=i.ea(new _({inSelectionMode:!1,id:`lastCursorLineSelect`,precondition:void 0})),e.LastCursorLineSelectDrag=i.ea(new _({inSelectionMode:!0,id:`lastCursorLineSelectDrag`,precondition:void 0})),e.CancelSelection=i.ea(new class extends B{constructor(){super({id:`cancelSelection`,precondition:R.hasNonEmptySelection,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,[L.cancelSelection(e,e.getPrimaryCursorState())]),e.revealPrimaryCursor(t.source,!0)}}),e.RemoveSecondaryCursors=i.ea(new class extends B{constructor(){super({id:`removeSecondaryCursors`,precondition:R.hasMultipleSelections,kbOpts:{weight:z+1,kbExpr:R.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,[e.getPrimaryCursorState()]),e.revealPrimaryCursor(t.source,!0),yi(i.Td(`removedCursor`,`Removed secondary cursors`))}}),e.RevealLine=i.ea(new class extends B{constructor(){super({id:`revealLine`,precondition:void 0,description:Bo.description})}runCoreEditorCommand(e,t){let n=t,r=n.lineNumber||0,a=typeof r==`number`?r+1:parseInt(r)+1;a<1&&(a=1);let o=e.model.getLineCount();a>o&&(a=o);let s=new i.Ol(a,1,a,e.model.getLineMaxColumn(a)),c=0;if(n.at)switch(n.at){case Bo.RawAtArgument.Top:c=3;break;case Bo.RawAtArgument.Center:c=1;break;case Bo.RawAtArgument.Bottom:c=4;break;default:break}let l=e.coordinatesConverter.convertModelRangeToViewRange(s);e.revealRange(t.source,!1,l,c,0)}}),e.SelectAll=new class extends Vo{constructor(){super(i.Zi)}runDOMCommand(){i.bc&&(document.activeElement.focus(),document.activeElement.select()),document.execCommand(`selectAll`)}runEditorCommand(e,t,n){let r=t._getViewModel();r&&this.runCoreEditorCommand(r,n)}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(`keyboard`,3,[L.selectAll(e,e.getPrimaryCursorState())])}},e.SetSelection=i.ea(new class extends B{constructor(){super({id:`setSelection`,precondition:void 0})}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,[F.fromModelSelection(t.selection)])}})})(V||={});var Ho=i.Ta.and(R.textInputFocus,R.columnSelection);function Uo(e,t){i.oa.registerKeybindingRule({id:e,primary:t,when:Ho,weight:z+1})}Uo(V.CursorColumnSelectLeft.id,1039),Uo(V.CursorColumnSelectRight.id,1041),Uo(V.CursorColumnSelectUp.id,1040),Uo(V.CursorColumnSelectPageUp.id,1035),Uo(V.CursorColumnSelectDown.id,1042),Uo(V.CursorColumnSelectPageDown.id,1036);function Wo(e){return e.register(),e}var Go;(function(e){class t extends i.Ki{runEditorCommand(e,t,n){let r=t._getViewModel();r&&this.runCoreEditingCommand(t,r,n||{})}}e.CoreEditingCommand=t,e.LineBreakInsert=i.ea(new class extends t{constructor(){super({id:`lineBreakInsert`,precondition:R.writable,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,Mo.lineBreakInsert(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection)))}}),e.Outdent=i.ea(new class extends t{constructor(){super({id:`outdent`,precondition:R.writable,kbOpts:{weight:z,kbExpr:i.Ta.and(R.editorTextFocus,R.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,Mo.outdent(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection))),e.pushUndoStop()}}),e.Tab=i.ea(new class extends t{constructor(){super({id:`tab`,precondition:R.writable,kbOpts:{weight:z,kbExpr:i.Ta.and(R.editorTextFocus,R.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,Mo.tab(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection))),e.pushUndoStop()}}),e.DeleteLeft=i.ea(new class extends t{constructor(){super({id:`deleteLeft`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(e,t,n){let[r,i]=po.deleteLeft(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection),t.getCursorAutoClosedCharacters());r&&e.pushUndoStop(),e.executeCommands(this.id,i),t.setPrevEditOperationType(2)}}),e.DeleteRight=i.ea(new class extends t{constructor(){super({id:`deleteRight`,precondition:void 0,kbOpts:{weight:z,kbExpr:R.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(e,t,n){let[r,i]=po.deleteRight(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection));r&&e.pushUndoStop(),e.executeCommands(this.id,i),t.setPrevEditOperationType(3)}}),e.Undo=new class extends Vo{constructor(){super(i.Qi)}runDOMCommand(){document.execCommand(`undo`)}runEditorCommand(e,t,n){if(!(!t.hasModel()||t.getOption(82)===!0))return t.getModel().undo()}},e.Redo=new class extends Vo{constructor(){super(i.Xi)}runDOMCommand(){document.execCommand(`redo`)}runEditorCommand(e,t,n){if(!(!t.hasModel()||t.getOption(82)===!0))return t.getModel().redo()}}})(Go||={});var Ko=class extends i.Wi{constructor(e,t,n){super({id:e,precondition:void 0,description:n}),this._handlerId=t}runCommand(e,t){let n=e.get(i.dc).getFocusedCodeEditor();n&&n.trigger(`keyboard`,this._handlerId,t)}};function qo(e,t){Wo(new Ko(`default:`+e,e)),Wo(new Ko(e,e,t))}qo(`type`,{description:`Type`,args:[{name:`args`,schema:{type:`object`,required:[`text`],properties:{text:{type:`string`}}}}]}),qo(`replacePreviousChar`),qo(`compositionType`),qo(`compositionStart`),qo(`compositionEnd`),qo(`paste`),qo(`cut`);var Jo=class{constructor(e,t,n,r){this.configuration=e,this.viewModel=t,this.userInputEvents=n,this.commandDelegate=r}paste(e,t,n,r){this.commandDelegate.paste(e,t,n,r)}type(e){this.commandDelegate.type(e)}compositionType(e,t,n,r){this.commandDelegate.compositionType(e,t,n,r)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){V.SetSelection.runCoreEditorCommand(this.viewModel,{source:`keyboard`,selection:e})}_validateViewColumn(e){let t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column<t?new i.kl(e.lineNumber,t):e}_hasMulticursorModifier(e){switch(this.configuration.options.get(71)){case`altKey`:return e.altKey;case`ctrlKey`:return e.ctrlKey;case`metaKey`:return e.metaKey;default:return!1}}_hasNonMulticursorModifier(e){switch(this.configuration.options.get(71)){case`altKey`:return e.ctrlKey||e.metaKey;case`ctrlKey`:return e.altKey||e.metaKey;case`metaKey`:return e.ctrlKey||e.altKey;default:return!1}}dispatchMouse(e){let t=this.configuration.options,n=i.vd&&t.get(97),r=t.get(18);e.middleButton&&!n?this._columnSelect(e.position,e.mouseColumn,e.inSelectionMode):e.startedOnLineNumbers?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelect(e.position):this._createCursor(e.position,!0):e.inSelectionMode?this._lineSelectDrag(e.position):this._lineSelect(e.position):e.mouseDownCount>=4?this._selectAll():e.mouseDownCount===3?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position):this._lastCursorLineSelect(e.position):e.inSelectionMode?this._lineSelectDrag(e.position):this._lineSelect(e.position):e.mouseDownCount===2?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position):e.inSelectionMode?this._wordSelectDrag(e.position):this._wordSelect(e.position)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey||r?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position):this.moveTo(e.position)}_usualArgs(e){return e=this._validateViewColumn(e),{source:`mouse`,position:this._convertViewToModelPosition(e),viewPosition:e}}moveTo(e){V.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_moveToSelect(e){V.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_columnSelect(e,t,n){e=this._validateViewColumn(e),V.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:`mouse`,position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:n})}_createCursor(e,t){e=this._validateViewColumn(e),V.CreateCursor.runCoreEditorCommand(this.viewModel,{source:`mouse`,position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e){V.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_wordSelect(e){V.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_wordSelectDrag(e){V.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lastCursorWordSelect(e){V.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lineSelect(e){V.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lineSelectDrag(e){V.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lastCursorLineSelect(e){V.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lastCursorLineSelectDrag(e){V.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_selectAll(){V.SelectAll.runCoreEditorCommand(this.viewModel,{source:`mouse`})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}},Yo=class e{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){var t;(t=this.onKeyDown)==null||t.call(this,e)}emitKeyUp(e){var t;(t=this.onKeyUp)==null||t.call(this,e)}emitContextMenu(e){var t;(t=this.onContextMenu)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseMove(e){var t;(t=this.onMouseMove)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){var t;(t=this.onMouseLeave)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDown(e){var t;(t=this.onMouseDown)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseUp(e){var t;(t=this.onMouseUp)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){var t;(t=this.onMouseDrag)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){var t;(t=this.onMouseDrop)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){var e;(e=this.onMouseDropCanceled)==null||e.call(this)}emitMouseWheel(e){var t;(t=this.onMouseWheel)==null||t.call(this,e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(t){return e.convertViewToModelMouseTarget(t,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){let n=Object.assign({},e);return n.position&&=t.convertViewPositionToModelPosition(n.position),n.range&&=t.convertViewRangeToModelRange(n.range),n}},Xo=class{constructor(e){this._createLine=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){let t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw Error(`Illegal value for lineNumber`);return this._lines[t]}onLinesDeleted(e,t){if(this.getCount()===0)return null;let n=this.getStartLineNumber(),r=this.getEndLineNumber();if(t<n){let n=t-e+1;return this._rendLineNumberStart-=n,null}if(e>r)return null;let i=0,a=0;for(let o=n;o<=r;o++){let n=o-this._rendLineNumberStart;e<=o&&o<=t&&(a===0?(i=n,a=1):a++)}if(e<n){let r=0;r=t<n?t-e+1:n-e,this._rendLineNumberStart-=r}return this._lines.splice(i,a)}onLinesChanged(e,t){let n=e+t-1;if(this.getCount()===0)return!1;let r=this.getStartLineNumber(),i=this.getEndLineNumber(),a=!1;for(let t=e;t<=n;t++)t>=r&&t<=i&&(this._lines[t-this._rendLineNumberStart].onContentChanged(),a=!0);return a}onLinesInserted(e,t){if(this.getCount()===0)return null;let n=t-e+1,r=this.getStartLineNumber(),i=this.getEndLineNumber();if(e<=r)return this._rendLineNumberStart+=n,null;if(e>i)return null;if(n+e>i)return this._lines.splice(e-this._rendLineNumberStart,i-e+1);let a=[];for(let e=0;e<n;e++)a[e]=this._createLine();let o=e-this._rendLineNumberStart,s=this._lines.slice(0,o),c=this._lines.slice(o,this._lines.length-n),l=this._lines.slice(this._lines.length-n,this._lines.length);return this._lines=s.concat(a).concat(c),l}onTokensChanged(e){if(this.getCount()===0)return!1;let t=this.getStartLineNumber(),n=this.getEndLineNumber(),r=!1;for(let i=0,a=e.length;i<a;i++){let a=e[i];if(a.toLineNumber<t||a.fromLineNumber>n)continue;let o=Math.max(t,a.fromLineNumber),s=Math.min(n,a.toLineNumber);for(let e=o;e<=s;e++){let t=e-this._rendLineNumberStart;this._lines[t].onTokensChanged(),r=!0}}return r}},Zo=class{constructor(e){this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new Xo(()=>this._host.createVisibleLine())}_createDomNode(){let e=k(document.createElement(`div`));return e.setClassName(`view-layer`),e.setPosition(`absolute`),e.domNode.setAttribute(`role`,`presentation`),e.domNode.setAttribute(`aria-hidden`,`true`),e}onConfigurationChanged(e){return!!e.hasChanged(132)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){let t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let e=0,n=t.length;e<n;e++){let n=t[e].getDomNode();n&&this.domNode.domNode.removeChild(n)}return!0}onLinesInserted(e){let t=this._linesCollection.onLinesInserted(e.fromLineNumber,e.toLineNumber);if(t)for(let e=0,n=t.length;e<n;e++){let n=t[e].getDomNode();n&&this.domNode.domNode.removeChild(n)}return!0}onScrollChanged(e){return e.scrollTopChanged}onTokensChanged(e){return this._linesCollection.onTokensChanged(e.ranges)}onZonesChanged(e){return!0}getStartLineNumber(){return this._linesCollection.getStartLineNumber()}getEndLineNumber(){return this._linesCollection.getEndLineNumber()}getVisibleLine(e){return this._linesCollection.getLine(e)}renderLines(e){let t=this._linesCollection._get(),n=new Qo(this.domNode.domNode,this._host,e),r={rendLineNumberStart:t.rendLineNumberStart,lines:t.lines,linesLength:t.lines.length},i=n.render(r,e.startLineNumber,e.endLineNumber,e.relativeVerticalOffset);this._linesCollection._set(i.rendLineNumberStart,i.lines)}},Qo=class e{constructor(e,t,n){this.domNode=e,this.host=t,this.viewportData=n}render(e,t,n,r){let i={rendLineNumberStart:e.rendLineNumberStart,lines:e.lines.slice(0),linesLength:e.linesLength};if(i.rendLineNumberStart+i.linesLength-1<t||n<i.rendLineNumberStart){i.rendLineNumberStart=t,i.linesLength=n-t+1,i.lines=[];for(let e=t;e<=n;e++)i.lines[e-t]=this.host.createVisibleLine();return this._finishRendering(i,!0,r),i}if(this._renderUntouchedLines(i,Math.max(t-i.rendLineNumberStart,0),Math.min(n-i.rendLineNumberStart,i.linesLength-1),r,t),i.rendLineNumberStart>t){let e=t,a=Math.min(n,i.rendLineNumberStart-1);e<=a&&(this._insertLinesBefore(i,e,a,r,t),i.linesLength+=a-e+1)}else if(i.rendLineNumberStart<t){let e=Math.min(i.linesLength,t-i.rendLineNumberStart);e>0&&(this._removeLinesBefore(i,e),i.linesLength-=e)}if(i.rendLineNumberStart=t,i.rendLineNumberStart+i.linesLength-1<n){let e=i.rendLineNumberStart+i.linesLength,a=n;e<=a&&(this._insertLinesAfter(i,e,a,r,t),i.linesLength+=a-e+1)}else if(i.rendLineNumberStart+i.linesLength-1>n){let e=Math.max(0,n-i.rendLineNumberStart+1),t=i.linesLength-1-e+1;t>0&&(this._removeLinesAfter(i,t),i.linesLength-=t)}return this._finishRendering(i,!1,r),i}_renderUntouchedLines(e,t,n,r,i){let a=e.rendLineNumberStart,o=e.lines;for(let e=t;e<=n;e++){let t=a+e;o[e].layoutLine(t,r[t-i])}}_insertLinesBefore(e,t,n,r,i){let a=[],o=0;for(let e=t;e<=n;e++)a[o++]=this.host.createVisibleLine();e.lines=a.concat(e.lines)}_removeLinesBefore(e,t){for(let n=0;n<t;n++){let t=e.lines[n].getDomNode();t&&this.domNode.removeChild(t)}e.lines.splice(0,t)}_insertLinesAfter(e,t,n,r,i){let a=[],o=0;for(let e=t;e<=n;e++)a[o++]=this.host.createVisibleLine();e.lines=e.lines.concat(a)}_removeLinesAfter(e,t){let n=e.linesLength-t;for(let r=0;r<t;r++){let t=e.lines[n+r].getDomNode();t&&this.domNode.removeChild(t)}e.lines.splice(n,t)}_finishRenderingNewLines(t,n,r,i){e._ttPolicy&&(r=e._ttPolicy.createHTML(r));let a=this.domNode.lastChild;n||!a?this.domNode.innerHTML=r:a.insertAdjacentHTML(`afterend`,r);let o=this.domNode.lastChild;for(let e=t.linesLength-1;e>=0;e--){let n=t.lines[e];i[e]&&(n.setDomNode(o),o=o.previousSibling)}}_finishRenderingInvalidLines(t,n,r){let i=document.createElement(`div`);e._ttPolicy&&(n=e._ttPolicy.createHTML(n)),i.innerHTML=n;for(let e=0;e<t.linesLength;e++){let n=t.lines[e];if(r[e]){let e=i.firstChild,t=n.getDomNode();t.parentNode.replaceChild(e,t),n.setDomNode(e)}}}_finishRendering(t,n,r){let i=e._sb,a=t.linesLength,o=t.lines,s=t.rendLineNumberStart,c=[];{i.reset();let e=!1;for(let t=0;t<a;t++){let n=o[t];c[t]=!1,!n.getDomNode()&&n.renderLine(t+s,r[t],this.viewportData,i)&&(c[t]=!0,e=!0)}e&&this._finishRenderingNewLines(t,n,i.build(),c)}{i.reset();let e=!1,n=[];for(let t=0;t<a;t++){let a=o[t];n[t]=!1,!c[t]&&a.renderLine(t+s,r[t],this.viewportData,i)&&(n[t]=!0,e=!0)}e&&this._finishRenderingInvalidLines(t,i.build(),n)}}};Qo._ttPolicy=window.trustedTypes?.createPolicy(`editorViewLayer`,{createHTML:e=>e}),Qo._sb=i.ec(1e5);var $o=class extends Ki{constructor(e){super(e),this._visibleLines=new Zo(this),this.domNode=this._visibleLines.domNode,this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName(`view-overlays`)}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;e<t;e++)if(this._dynamicOverlays[e].shouldRender())return!0;return!1}dispose(){super.dispose();for(let e=0,t=this._dynamicOverlays.length;e<t;e++)this._dynamicOverlays[e].dispose();this._dynamicOverlays=[]}getDomNode(){return this.domNode}createVisibleLine(){return new es(this._context.configuration,this._dynamicOverlays)}addDynamicOverlay(e){this._dynamicOverlays.push(e)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e);let t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let r=t;r<=n;r++)this._visibleLines.getVisibleLine(r).onConfigurationChanged(e);return!0}onFlushed(e){return this._visibleLines.onFlushed(e)}onFocusChanged(e){return this._isFocused=e.isFocused,!0}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onScrollChanged(e){return this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._visibleLines.onZonesChanged(e)}prepareRender(e){let t=this._dynamicOverlays.filter(e=>e.shouldRender());for(let n=0,r=t.length;n<r;n++){let r=t[n];r.prepareRender(e),r.onDidRender()}}render(e){this._viewOverlaysRender(e),this.domNode.toggleClassName(`focused`,this._isFocused)}_viewOverlaysRender(e){this._visibleLines.renderLines(e.viewportData)}},es=class{constructor(e,t){this._configuration=e,this._lineHeight=this._configuration.options.get(60),this._dynamicOverlays=t,this._domNode=null,this._renderedContent=null}getDomNode(){return this._domNode?this._domNode.domNode:null}setDomNode(e){this._domNode=k(e)}onContentChanged(){}onTokensChanged(){}onConfigurationChanged(e){this._lineHeight=this._configuration.options.get(60)}renderLine(e,t,n,r){let i=``;for(let t=0,r=this._dynamicOverlays.length;t<r;t++){let r=this._dynamicOverlays[t];i+=r.render(n.startLineNumber,e)}return this._renderedContent===i?!1:(this._renderedContent=i,r.appendASCIIString(`<div style="position:absolute;top:`),r.appendASCIIString(String(t)),r.appendASCIIString(`px;width:100%;height:`),r.appendASCIIString(String(this._lineHeight)),r.appendASCIIString(`px;">`),r.appendASCIIString(i),r.appendASCIIString(`</div>`),!0)}layoutLine(e,t){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(this._lineHeight))}},ts=class extends $o{constructor(e){super(e),this._contentWidth=this._context.configuration.options.get(132).contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){return this._contentWidth=this._context.configuration.options.get(132).contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}},ns=class extends $o{constructor(e){super(e);let t=this._context.configuration.options;this._contentLeft=t.get(132).contentLeft,this.domNode.setClassName(`margin-view-overlays`),this.domNode.setWidth(1),Tt(this.domNode,t.get(45))}onConfigurationChanged(e){let t=this._context.configuration.options;return Tt(this.domNode,t.get(45)),this._contentLeft=t.get(132).contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);let t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}},rs=class{constructor(e,t){this._coordinateBrand=void 0,this.top=e,this.left=t}},is=class extends Ki{constructor(e,t){super(e),this._viewDomNode=t,this._widgets={},this.domNode=k(document.createElement(`div`)),qi.write(this.domNode,1),this.domNode.setClassName(`contentWidgets`),this.domNode.setPosition(`absolute`),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=k(document.createElement(`div`)),qi.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName(`overflowingContentWidgets`)}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(e){let t=Object.keys(this._widgets);for(let n of t)this._widgets[n].onConfigurationChanged(e);return!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLineMappingChanged(e){let t=Object.keys(this._widgets);for(let n of t)this._widgets[n].onLineMappingChanged(e);return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return!0}onZonesChanged(e){return!0}addWidget(e){let t=new as(this._context,this._viewDomNode,e);this._widgets[t.id]=t,t.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(t.domNode):this.domNode.appendChild(t.domNode),this.setShouldRender()}setWidgetPosition(e,t,n,r){this._widgets[e.getId()].setPosition(t,n,r),this.setShouldRender()}removeWidget(e){let t=e.getId();if(this._widgets.hasOwnProperty(t)){let e=this._widgets[t];delete this._widgets[t];let n=e.domNode.domNode;n.parentNode.removeChild(n),n.removeAttribute(`monaco-visible-content-widget`),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(e){return this._widgets.hasOwnProperty(e)?this._widgets[e].suppressMouseDown:!1}onBeforeRender(e){let t=Object.keys(this._widgets);for(let n of t)this._widgets[n].onBeforeRender(e)}prepareRender(e){let t=Object.keys(this._widgets);for(let n of t)this._widgets[n].prepareRender(e)}render(e){let t=Object.keys(this._widgets);for(let n of t)this._widgets[n].render(e)}},as=class{constructor(e,t,n){this._context=e,this._viewDomNode=t,this._actual=n,this.domNode=k(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;let r=this._context.configuration.options,i=r.get(132);this._fixedOverflowWidgets=r.get(37),this._contentWidth=i.contentWidth,this._contentLeft=i.contentLeft,this._lineHeight=r.get(60),this._range=null,this._viewRange=null,this._affinity=null,this._preference=[],this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?`fixed`:`absolute`),this.domNode.setDisplay(`none`),this.domNode.setVisibility(`hidden`),this.domNode.setAttribute(`widgetId`,this.id),this.domNode.setMaxWidth(this._maxWidth)}onConfigurationChanged(e){let t=this._context.configuration.options;if(this._lineHeight=t.get(60),e.hasChanged(132)){let e=t.get(132);this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,this._maxWidth=this._getMaxWidth()}}onLineMappingChanged(e){this._setPosition(this._range,this._affinity)}_setPosition(e,t){if(this._range=e,this._viewRange=null,this._affinity=t,this._range){let e=this._context.viewModel.model.validateRange(this._range);(this._context.viewModel.coordinatesConverter.modelPositionIsVisible(e.getStartPosition())||this._context.viewModel.coordinatesConverter.modelPositionIsVisible(e.getEndPosition()))&&(this._viewRange=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(e,this._affinity??void 0))}}_getMaxWidth(){return this.allowEditorOverflow?window.innerWidth||document.documentElement.offsetWidth||document.body.offsetWidth:this._contentWidth}setPosition(e,t,n){this._setPosition(e,n),this._preference=t,this._viewRange&&this._preference&&this._preference.length>0?this.domNode.setDisplay(`block`):this.domNode.setDisplay(`none`),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,n,r,i){let a=e.top,o=a,s=t.top+this._lineHeight,c=i.viewportHeight-s,l=a-r,u=o>=r,d=s,f=c>=r,p=e.left,m=t.left;return p+n>i.scrollLeft+i.viewportWidth&&(p=i.scrollLeft+i.viewportWidth-n),m+n>i.scrollLeft+i.viewportWidth&&(m=i.scrollLeft+i.viewportWidth-n),p<i.scrollLeft&&(p=i.scrollLeft),m<i.scrollLeft&&(m=i.scrollLeft),{fitsAbove:u,aboveTop:l,aboveLeft:p,fitsBelow:f,belowTop:d,belowLeft:m}}_layoutHorizontalSegmentInPage(e,t,n,r){let a=Math.max(0,t.left-r),o=Math.min(t.left+t.width+r,e.width),s=t.left+n-i.Ga.scrollX;if(s+r>o){let e=s-(o-r);s-=e,n-=e}if(s<a){let e=s-a;s-=e,n-=e}return[n,s]}_layoutBoxInPage(e,t,n,r,a){let o=e.top-r,s=t.top+this._lineHeight,c=i.uo(this._viewDomNode.domNode),l=c.top+o-i.Ga.scrollY,u=c.top+s-i.Ga.scrollY,d=i.oo(document.body),[f,p]=this._layoutHorizontalSegmentInPage(d,c,e.left-a.scrollLeft+this._contentLeft,n),[m,h]=this._layoutHorizontalSegmentInPage(d,c,t.left-a.scrollLeft+this._contentLeft,n),g=l>=22,_=u+r<=d.height-22;return this._fixedOverflowWidgets?{fitsAbove:g,aboveTop:Math.max(l,22),aboveLeft:p,fitsBelow:_,belowTop:u,belowLeft:h}:{fitsAbove:g,aboveTop:o,aboveLeft:f,fitsBelow:_,belowTop:s,belowLeft:m}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new rs(e.top,e.left+this._contentLeft)}_getTopAndBottomLeft(e){if(!this._viewRange)return[null,null];let t=e.linesVisibleRangesForRange(this._viewRange,!1);if(!t||t.length===0)return[null,null];let n=t[0],r=t[0];for(let e of t)e.lineNumber<n.lineNumber&&(n=e),e.lineNumber>r.lineNumber&&(r=e);let i=1073741824;for(let e of n.ranges)e.left<i&&(i=e.left);let a=1073741824;for(let e of r.ranges)e.left<a&&(a=e.left);return[new rs(e.getVerticalOffsetForLineNumber(n.lineNumber)-e.scrollTop,i),new rs(e.getVerticalOffsetForLineNumber(r.lineNumber)-e.scrollTop,a)]}_prepareRenderWidget(e){if(!this._preference||this._preference.length===0)return null;let[t,n]=this._getTopAndBottomLeft(e);if(!t||!n)return null;if(this._cachedDomNodeOffsetWidth===-1||this._cachedDomNodeOffsetHeight===-1){let e=null;if(typeof this._actual.beforeRender==`function`&&(e=os(this._actual.beforeRender,this._actual)),e)this._cachedDomNodeOffsetWidth=e.width,this._cachedDomNodeOffsetHeight=e.height;else{let e=this.domNode.domNode.getBoundingClientRect();this._cachedDomNodeOffsetWidth=Math.round(e.width),this._cachedDomNodeOffsetHeight=Math.round(e.height)}}let r;r=this.allowEditorOverflow?this._layoutBoxInPage(t,n,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,e):this._layoutBoxInViewport(t,n,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,e);for(let e=1;e<=2;e++)for(let n of this._preference)if(n===1){if(!r)return null;if(e===2||r.fitsAbove)return{coordinate:new rs(r.aboveTop,r.aboveLeft),position:1}}else if(n===2){if(!r)return null;if(e===2||r.fitsBelow)return{coordinate:new rs(r.belowTop,r.belowLeft),position:2}}else if(this.allowEditorOverflow)return{coordinate:this._prepareRenderWidgetAtExactPositionOverflowing(t),position:0};else return{coordinate:t,position:0};return null}onBeforeRender(e){!this._viewRange||!this._preference||this._viewRange.endLineNumber<e.startLineNumber||this._viewRange.startLineNumber>e.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData){this._isVisible&&(this.domNode.removeAttribute(`monaco-visible-content-widget`),this._isVisible=!1,this.domNode.setVisibility(`hidden`)),typeof this._actual.afterRender==`function`&&os(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||=(this.domNode.setVisibility(`inherit`),this.domNode.setAttribute(`monaco-visible-content-widget`,`true`),!0),typeof this._actual.afterRender==`function`&&os(this._actual.afterRender,this._actual,this._renderData.position)}};function os(e,t,...n){try{return e.call(t,...n)}catch{return null}}var ss=class extends Ha{constructor(e){super(),this._context=e;let t=this._context.configuration.options,n=t.get(132);this._lineHeight=t.get(60),this._renderLineHighlight=t.get(86),this._renderLineHighlightOnlyWhenFocus=t.get(87),this._contentLeft=n.contentLeft,this._contentWidth=n.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new i.Dl(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1,t=this._selections.map(e=>e.positionLineNumber);t.sort((e,t)=>e-t),i.Wu(this._cursorLineNumbers,t)||(this._cursorLineNumbers=t,e=!0);let n=this._selections.every(e=>e.isEmpty());return this._selectionIsEmpty!==n&&(this._selectionIsEmpty=n,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){let t=this._context.configuration.options,n=t.get(132);return this._lineHeight=t.get(60),this._renderLineHighlight=t.get(86),this._renderLineHighlightOnlyWhenFocus=t.get(87),this._contentLeft=n.contentLeft,this._contentWidth=n.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return this._renderLineHighlightOnlyWhenFocus?(this._focused=e.isFocused,!0):!1}prepareRender(e){if(!this._shouldRenderThis()){this._renderData=null;return}let t=this._renderOne(e),n=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,i=this._cursorLineNumbers.length,a=0,o=[];for(let e=n;e<=r;e++){let r=e-n;for(;a<i&&this._cursorLineNumbers[a]<e;)a++;a<i&&this._cursorLineNumbers[a]===e?o[r]=t:o[r]=``}this._renderData=o}render(e,t){if(!this._renderData)return``;let n=t-e;return n>=this._renderData.length?``:this._renderData[n]}_shouldRenderInMargin(){return(this._renderLineHighlight===`gutter`||this._renderLineHighlight===`all`)&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return(this._renderLineHighlight===`line`||this._renderLineHighlight===`all`)&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}},cs=class extends ss{_renderOne(e){return`<div class="${`current-line`+(this._shouldRenderOther()?` current-line-both`:``)}" style="width:${Math.max(e.scrollWidth,this._contentWidth)}px; height:${this._lineHeight}px;"></div>`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}},ls=class extends ss{_renderOne(e){return`<div class="${`current-line`+(this._shouldRenderInMargin()?` current-line-margin`:``)+(this._shouldRenderOther()?` current-line-margin-both`:``)}" style="width:${this._contentLeft}px; height:${this._lineHeight}px;"></div>`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}};i.ba((e,t)=>{let n=e.getColor(i.xt);if(n&&(t.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${n}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${n}; border: none; }`)),!n||n.isTransparent()||e.defines(i.St)){let n=e.getColor(i.St);n&&(t.addRule(`.monaco-editor .view-overlays .current-line { border: 2px solid ${n}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid ${n}; }`),i.wa(e.type)&&(t.addRule(`.monaco-editor .view-overlays .current-line { border-width: 1px; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }`)))}});var us=class extends Ha{constructor(e){super(),this._context=e;let t=this._context.configuration.options;this._lineHeight=t.get(60),this._typicalHalfwidthCharacterWidth=t.get(45).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._lineHeight=t.get(60),this._typicalHalfwidthCharacterWidth=t.get(45).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){let t=e.getDecorationsInViewport(),n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e];i.options.className&&(n[r++]=i)}n=n.sort((e,t)=>{if(e.options.zIndex<t.options.zIndex)return-1;if(e.options.zIndex>t.options.zIndex)return 1;let n=e.options.className,r=t.options.className;return n<r?-1:n>r?1:i.Ol.compareRangesUsingStarts(e.range,t.range)});let a=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,s=[];for(let e=a;e<=o;e++){let t=e-a;s[t]=``}this._renderWholeLineDecorations(e,n,s),this._renderNormalDecorations(e,n,s),this._renderResult=s}_renderWholeLineDecorations(e,t,n){let r=String(this._lineHeight),i=e.visibleRange.startLineNumber,a=e.visibleRange.endLineNumber;for(let e=0,o=t.length;e<o;e++){let o=t[e];if(!o.options.isWholeLine)continue;let s=`<div class="cdr `+o.options.className+`" style="left:0;width:100%;height:`+r+`px;"></div>`,c=Math.max(o.range.startLineNumber,i),l=Math.min(o.range.endLineNumber,a);for(let e=c;e<=l;e++){let t=e-i;n[t]+=s}}}_renderNormalDecorations(e,t,n){let r=String(this._lineHeight),a=e.visibleRange.startLineNumber,o=null,s=!1,c=null;for(let l=0,u=t.length;l<u;l++){let u=t[l];if(u.options.isWholeLine)continue;let d=u.options.className,f=!!u.options.showIfCollapsed,p=u.range;if(f&&p.endColumn===1&&p.endLineNumber!==p.startLineNumber&&(p=new i.Ol(p.startLineNumber,p.startColumn,p.endLineNumber-1,this._context.viewModel.getLineMaxColumn(p.endLineNumber-1))),o===d&&s===f&&i.Ol.areIntersectingOrTouching(c,p)){c=i.Ol.plusRange(c,p);continue}o!==null&&this._renderNormalDecoration(e,c,o,s,r,a,n),o=d,s=f,c=p}o!==null&&this._renderNormalDecoration(e,c,o,s,r,a,n)}_renderNormalDecoration(e,t,n,r,i,a,o){let s=e.linesVisibleRangesForRange(t,n===`findMatch`);if(s)for(let e=0,t=s.length;e<t;e++){let t=s[e];if(t.outsideRenderedLine)continue;let c=t.lineNumber-a;if(r&&t.ranges.length===1){let e=t.ranges[0];if(e.width<this._typicalHalfwidthCharacterWidth){let n=Math.round(e.left+e.width/2),r=Math.max(0,Math.round(n-this._typicalHalfwidthCharacterWidth/2));t.ranges[0]=new Zi(r,this._typicalHalfwidthCharacterWidth)}}for(let e=0,r=t.ranges.length;e<r;e++){let r=t.ranges[e],a=`<div class="cdr `+n+`" style="left:`+String(r.left)+`px;width:`+String(r.width)+`px;height:`+i+`px;"></div>`;o[c]+=a}}}render(e,t){if(!this._renderResult)return``;let n=t-e;return n<0||n>=this._renderResult.length?``:this._renderResult[n]}},ds=class extends i.Xl{onclick(e,t){this._register(i.Ka(e,i.Ua.CLICK,e=>t(new i.Bo(e))))}onmousedown(e,t){this._register(i.Ka(e,i.Ua.MOUSE_DOWN,e=>t(new i.Bo(e))))}onmouseover(e,t){this._register(i.Ka(e,i.Ua.MOUSE_OVER,e=>t(new i.Bo(e))))}onmouseleave(e,t){this._register(i.Ka(e,i.Ua.MOUSE_LEAVE,e=>t(new i.Bo(e))))}onkeydown(e,t){this._register(i.Ka(e,i.Ua.KEY_DOWN,e=>t(new i.Ho(e))))}onkeyup(e,t){this._register(i.Ka(e,i.Ua.KEY_UP,e=>t(new i.Ho(e))))}oninput(e,t){this._register(i.Ka(e,i.Ua.INPUT,t))}onblur(e,t){this._register(i.Ka(e,i.Ua.BLUR,t))}onfocus(e,t){this._register(i.Ka(e,i.Ua.FOCUS,t))}ignoreGesture(e){Wi.ignoreTarget(e)}},fs=class extends ds{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement(`div`),this.bgDomNode.className=`arrow-background`,this.bgDomNode.style.position=`absolute`,this.bgDomNode.style.width=e.bgWidth+`px`,this.bgDomNode.style.height=e.bgHeight+`px`,e.top!==void 0&&(this.bgDomNode.style.top=`0px`),e.left!==void 0&&(this.bgDomNode.style.left=`0px`),e.bottom!==void 0&&(this.bgDomNode.style.bottom=`0px`),e.right!==void 0&&(this.bgDomNode.style.right=`0px`),this.domNode=document.createElement(`div`),this.domNode.className=e.className,this.domNode.classList.add(...e.icon.classNamesArray),this.domNode.style.position=`absolute`,this.domNode.style.width=`11px`,this.domNode.style.height=`11px`,e.top!==void 0&&(this.domNode.style.top=e.top+`px`),e.left!==void 0&&(this.domNode.style.left=e.left+`px`),e.bottom!==void 0&&(this.domNode.style.bottom=e.bottom+`px`),e.right!==void 0&&(this.domNode.style.right=e.right+`px`),this._pointerMoveMonitor=this._register(new i.Ui),this._register(i.Ja(this.bgDomNode,i.Ua.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(i.Ja(this.domNode,i.Ua.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new i.gs),this._pointerdownScheduleRepeatTimer=this._register(new i.xs)}_arrowPointerDown(e){!e.target||!(e.target instanceof Element)||(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24)},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault())}},ps=class extends i.Xl{constructor(e,t,n){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=n,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new i.xs)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){let e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{var e;(e=this._domNode)==null||e.setClassName(this._visibleClassName)},0))}_hide(e){var t;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,(t=this._domNode)==null||t.setClassName(this._invisibleClassName+(e?` fade`:``)))}},ms=140,hs=class extends ds{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new ps(e.visibility,`visible scrollbar `+e.extraScrollbarClassName,`invisible scrollbar `+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new i.Ui),this._shouldRender=!0,this.domNode=k(document.createElement(`div`)),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(`absolute`),this._register(i.Ka(this.domNode.domNode,i.Ua.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let t=this._register(new fs(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,r){this.slider=k(document.createElement(`div`)),this.slider.setClassName(`slider`),this.slider.setPosition(`absolute`),this.slider.setTop(e),this.slider.setLeft(t),typeof n==`number`&&this.slider.setWidth(n),typeof r==`number`&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain(`strict`),this.domNode.domNode.appendChild(this.slider.domNode),this._register(i.Ka(this.slider.domNode,i.Ua.POINTER_DOWN,e=>{e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))})),this.onclick(this.slider.domNode,e=>{e.leftButton&&e.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let t=this.domNode.domNode.getClientRects()[0].top,n=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),i=this._sliderPointerPosition(e);n<=i&&i<=r?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,n;if(e.target===this.domNode.domNode&&typeof e.offsetX==`number`&&typeof e.offsetY==`number`)t=e.offsetX,n=e.offsetY;else{let r=i.uo(this.domNode.domNode);t=e.pageX-r.left,n=e.pageY-r.top}let r=this._pointerDownRelativePosition(t,n);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._sliderPointerPosition(e),n=this._sliderOrthogonalPointerPosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName(`active`,!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{let a=this._sliderOrthogonalPointerPosition(e),o=Math.abs(a-n);if(i.Cd&&o>ms){this._setDesiredScrollPositionNow(r.getScrollPosition());return}let s=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(s))},()=>{this.slider.toggleClassName(`active`,!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},gs=20,_s=class e{constructor(e,t,n,r,i,a){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=i,this._scrollPosition=a,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let t=Math.round(e);return this._visibleSize===t?!1:(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){let t=Math.round(e);return this._scrollSize===t?!1:(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){let t=Math.round(e);return this._scrollPosition===t?!1:(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,n,r,i){let a=Math.max(0,n-e),o=Math.max(0,a-2*t),s=r>0&&r>n;if(!s)return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(o),computedSliderRatio:0,computedSliderPosition:0};let c=Math.round(Math.max(gs,Math.floor(n*o/r))),l=(o-c)/(r-n),u=i*l;return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(c),computedSliderRatio:l,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){let t=e._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize,n=this._scrollPosition;return t<this._computedSliderPosition?n-=this._visibleSize:n+=this._visibleSize,n}getDesiredScrollPositionFromDelta(e){if(!this._computedIsNeeded)return 0;let t=this._computedSliderPosition+e;return Math.round(t/this._computedSliderRatio)}},vs=class extends hs{constructor(e,t,n){let r=e.getScrollDimensions(),a=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new _s(t.horizontalHasArrows?t.arrowSize:0,t.horizontal===2?0:t.horizontalScrollbarSize,t.vertical===2?0:t.verticalScrollbarSize,r.width,r.scrollWidth,a.scrollLeft),visibility:t.horizontal,extraScrollbarClassName:`horizontal`,scrollable:e,scrollByPage:t.scrollByPage}),t.horizontalHasArrows){let e=(t.arrowSize-11)/2,n=(t.horizontalScrollbarSize-11)/2;this._createArrow({className:`scra`,icon:i.Tl.scrollbarButtonLeft,top:n,left:e,bottom:void 0,right:void 0,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new i.Vo(null,1,0))}),this._createArrow({className:`scra`,icon:i.Tl.scrollbarButtonRight,top:n,left:void 0,bottom:void 0,right:e,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new i.Vo(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}},ys=class extends hs{constructor(e,t,n){let r=e.getScrollDimensions(),a=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new _s(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,r.height,r.scrollHeight,a.scrollTop),visibility:t.vertical,extraScrollbarClassName:`vertical`,scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){let e=(t.arrowSize-11)/2,n=(t.verticalScrollbarSize-11)/2;this._createArrow({className:`scra`,icon:i.Tl.scrollbarButtonUp,top:e,left:n,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new i.Vo(null,0,1))}),this._createArrow({className:`scra`,icon:i.Tl.scrollbarButtonDown,top:void 0,left:n,bottom:e,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new i.Vo(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}},bs=class e{constructor(e,t,n,r,i,a,o){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,n|=0,r|=0,i|=0,a|=0,o|=0),this.rawScrollLeft=r,this.rawScrollTop=o,t<0&&(t=0),r+t>n&&(r=n-t),r<0&&(r=0),i<0&&(i=0),o+i>a&&(o=a-i),o<0&&(o=0),this.width=t,this.scrollWidth=n,this.scrollLeft=r,this.height=i,this.scrollHeight=a,this.scrollTop=o}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(t,n){return new e(this._forceIntegerValues,t.width===void 0?this.width:t.width,t.scrollWidth===void 0?this.scrollWidth:t.scrollWidth,n?this.rawScrollLeft:this.scrollLeft,t.height===void 0?this.height:t.height,t.scrollHeight===void 0?this.scrollHeight:t.scrollHeight,n?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new e(this._forceIntegerValues,this.width,this.scrollWidth,t.scrollLeft===void 0?this.rawScrollLeft:t.scrollLeft,this.height,this.scrollHeight,t.scrollTop===void 0?this.rawScrollTop:t.scrollTop)}createScrollEvent(e,t){let n=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,a=this.height!==e.height,o=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:n,scrollWidthChanged:r,scrollLeftChanged:i,heightChanged:a,scrollHeightChanged:o,scrollTopChanged:s}}},xs=class extends i.Xl{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new i.Ul),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new bs(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){var n;let r=this._state.withScrollDimensions(e,t);this._setState(r,!!this._smoothScrolling),(n=this._smoothScrolling)==null||n.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let t=this._state.withScrollPosition(e);this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:e.scrollLeft===void 0?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:e.scrollTop===void 0?this._smoothScrolling.to.scrollTop:e.scrollTop};let n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;let r;r=t?new Ts(this._smoothScrolling.from,n,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{let t=this._state.withScrollPosition(e);this._smoothScrolling=Ts.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){let n=this._state;n.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(n,t)))}},Ss=class{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}};function Cs(e,t){let n=t-e;return function(t){return e+n*Ds(t)}}function ws(e,t,n){return function(r){return r<n?e(r/n):t((r-n)/(1-n))}}var Ts=class e{constructor(e,t,n,r){this.from=e,this.to=t,this.duration=r,this.startTime=n,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,t,n){if(Math.abs(e-t)>2.5*n){let r,i;return e<t?(r=e+.75*n,i=t-.75*n):(r=e-.75*n,i=t+.75*n),ws(Cs(e,r),Cs(i,t),.33)}return Cs(e,t)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(e){this.to=e.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(e){let t=(e-this.startTime)/this.duration;return t<1?new Ss(this.scrollLeft(t),this.scrollTop(t),!1):new Ss(this.to.scrollLeft,this.to.scrollTop,!0)}combine(t,n,r){return e.start(t,n,r)}static start(t,n,r){return r+=10,new e(t,n,Date.now()-10,r)}};function Es(e){return e**3}function Ds(e){return 1-Es(1-e)}var Os=500,ks=50,As=class{constructor(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}},js=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let e=1,t=0,n=1,r=this._rear;do{let i=r===this._front?e:2**-n;if(e-=i,t+=this._memory[r].score*i,r===this._front)break;r=(this._capacity+r-1)%this._capacity,n++}while(!0);return t<=.5}accept(e,t,n){let r=new As(e,t,n);r.score=this._computeScore(r),this._front===-1&&this._rear===-1?(this._memory[0]=r,this._front=0,this._rear=0):(this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=r)}_computeScore(e){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;let t=.5;return!(this._front===-1&&this._rear===-1)&&this._memory[this._rear],(!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(t+=.25),Math.min(Math.max(t,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};js.INSTANCE=new js;var Ms=class extends ds{constructor(e,t,n){super(),this._onScroll=this._register(new i.Ul),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new i.Ul),e.style.overflow=`hidden`,this._options=Is(t),this._scrollable=n,this._register(this._scrollable.onScroll(e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)}));let r={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new ys(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new vs(this._scrollable,this._options,r)),this._domNode=document.createElement(`div`),this._domNode.className=`monaco-scrollable-element `+this._options.className,this._domNode.setAttribute(`role`,`presentation`),this._domNode.style.position=`relative`,this._domNode.style.overflow=`hidden`,this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=k(document.createElement(`div`)),this._leftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=k(document.createElement(`div`)),this._topShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=k(document.createElement(`div`)),this._topLeftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,e=>this._onMouseOver(e)),this.onmouseleave(this._listenOnDomNode,e=>this._onMouseLeave(e)),this._hideTimeout=this._register(new i.xs),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=i.nu(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,i.bd&&(this._options.className+=` mac`),this._domNode.className=`monaco-scrollable-element `+this._options.className}updateOptions(e){e.handleMouseWheel!==void 0&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),e.mouseWheelScrollSensitivity!==void 0&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),e.fastScrollSensitivity!==void 0&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),e.scrollPredominantAxis!==void 0&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),e.horizontal!==void 0&&(this._options.horizontal=e.horizontal),e.vertical!==void 0&&(this._options.vertical=e.vertical),e.horizontalScrollbarSize!==void 0&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),e.verticalScrollbarSize!==void 0&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),e.scrollByPage!==void 0&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}_setListeningToMouseWheel(e){this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=i.nu(this._mouseWheelToDispose),e&&this._mouseWheelToDispose.push(i.Ka(this._listenOnDomNode,i.Ua.MOUSE_WHEEL,e=>{this._onMouseWheel(new i.Vo(e))},{passive:!1})))}_onMouseWheel(e){let t=js.INSTANCE;{let n=window.devicePixelRatio/i.vc();i.Cd||i.vd?t.accept(Date.now(),e.deltaX/n,e.deltaY/n):t.accept(Date.now(),e.deltaX,e.deltaY)}let n=!1;if(e.deltaY||e.deltaX){let r=e.deltaY*this._options.mouseWheelScrollSensitivity,a=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(Math.abs(r)>=Math.abs(a)?a=0:r=0),this._options.flipAxes&&([r,a]=[a,r]);let o=!i.bd&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||o)&&!a&&(a=r,r=0),e.browserEvent&&e.browserEvent.altKey&&(a*=this._options.fastScrollSensitivity,r*=this._options.fastScrollSensitivity);let s=this._scrollable.getFutureScrollPosition(),c={};if(r){let e=ks*r,t=s.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(c,t)}if(a){let e=ks*a,t=s.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(c,t)}c=this._scrollable.validateScrollPosition(c),(s.scrollLeft!==c.scrollLeft||s.scrollTop!==c.scrollTop)&&(this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(c):this._scrollable.setScrollPositionNow(c),n=!0)}let r=n;!r&&this._options.alwaysConsumeMouseWheel&&(r=!0),!r&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(r=!0),r&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,n=e.scrollLeft>0,r=n?` left`:``,i=t?` top`:``,a=n||t?` top-left-corner`:``;this._leftShadowDomNode.setClassName(`shadow${r}`),this._topShadowDomNode.setClassName(`shadow${i}`),this._topLeftShadowDomNode.setClassName(`shadow${a}${i}${r}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),Os)}},Ns=class extends Ms{constructor(e,t){t||={},t.mouseWheelSmoothScroll=!1;let n=new xs({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:e=>i.Ao(e)});super(e,t,n),this._register(n)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}},Ps=class extends Ms{constructor(e,t,n){super(e,t,n)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}},Fs=class extends Ms{constructor(e,t){t||={},t.mouseWheelSmoothScroll=!1;let n=new xs({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:e=>i.Ao(e)});super(e,t,n),this._register(n),this._element=e,this.onScroll(e=>{e.scrollTopChanged&&(this._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this._element.scrollLeft=e.scrollLeft)}),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}};function Is(e){let t={lazyRender:e.lazyRender===void 0?!1:e.lazyRender,className:e.className===void 0?``:e.className,useShadows:e.useShadows===void 0?!0:e.useShadows,handleMouseWheel:e.handleMouseWheel===void 0?!0:e.handleMouseWheel,flipAxes:e.flipAxes===void 0?!1:e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:e.consumeMouseWheelIfScrollbarIsNeeded===void 0?!1:e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:e.alwaysConsumeMouseWheel===void 0?!1:e.alwaysConsumeMouseWheel,scrollYToX:e.scrollYToX===void 0?!1:e.scrollYToX,mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity===void 0?1:e.mouseWheelScrollSensitivity,fastScrollSensitivity:e.fastScrollSensitivity===void 0?5:e.fastScrollSensitivity,scrollPredominantAxis:e.scrollPredominantAxis===void 0?!0:e.scrollPredominantAxis,mouseWheelSmoothScroll:e.mouseWheelSmoothScroll===void 0?!0:e.mouseWheelSmoothScroll,arrowSize:e.arrowSize===void 0?11:e.arrowSize,listenOnDomNode:e.listenOnDomNode===void 0?null:e.listenOnDomNode,horizontal:e.horizontal===void 0?1:e.horizontal,horizontalScrollbarSize:e.horizontalScrollbarSize===void 0?10:e.horizontalScrollbarSize,horizontalSliderSize:e.horizontalSliderSize===void 0?0:e.horizontalSliderSize,horizontalHasArrows:e.horizontalHasArrows===void 0?!1:e.horizontalHasArrows,vertical:e.vertical===void 0?1:e.vertical,verticalScrollbarSize:e.verticalScrollbarSize===void 0?10:e.verticalScrollbarSize,verticalHasArrows:e.verticalHasArrows===void 0?!1:e.verticalHasArrows,verticalSliderSize:e.verticalSliderSize===void 0?0:e.verticalSliderSize,scrollByPage:e.scrollByPage===void 0?!1:e.scrollByPage};return t.horizontalSliderSize=e.horizontalSliderSize===void 0?t.horizontalScrollbarSize:e.horizontalSliderSize,t.verticalSliderSize=e.verticalSliderSize===void 0?t.verticalScrollbarSize:e.verticalSliderSize,i.bd&&(t.className+=` mac`),t}var Ls=class extends Ki{constructor(e,t,n,r){super(e);let a=this._context.configuration.options,o=a.get(93),s=a.get(68),c=a.get(35),l=a.get(96),u={listenOnDomNode:n.domNode,className:`editor-scrollable `+i.ya(e.theme.type),useShadows:!1,lazyRender:!0,vertical:o.vertical,horizontal:o.horizontal,verticalHasArrows:o.verticalHasArrows,horizontalHasArrows:o.horizontalHasArrows,verticalScrollbarSize:o.verticalScrollbarSize,verticalSliderSize:o.verticalSliderSize,horizontalScrollbarSize:o.horizontalScrollbarSize,horizontalSliderSize:o.horizontalSliderSize,handleMouseWheel:o.handleMouseWheel,alwaysConsumeMouseWheel:o.alwaysConsumeMouseWheel,arrowSize:o.arrowSize,mouseWheelScrollSensitivity:s,fastScrollSensitivity:c,scrollPredominantAxis:l,scrollByPage:o.scrollByPage};this.scrollbar=this._register(new Ps(t.domNode,u,this._context.viewLayout.getScrollable())),qi.write(this.scrollbar.getDomNode(),5),this.scrollbarDomNode=k(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition(`absolute`),this._setLayout();let d=(e,t,n)=>{let r={};if(t){let t=e.scrollTop;t&&(r.scrollTop=this._context.viewLayout.getCurrentScrollTop()+t,e.scrollTop=0)}if(n){let t=e.scrollLeft;t&&(r.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+t,e.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(r,1)};this._register(i.Ka(n.domNode,`scroll`,e=>d(n.domNode,!0,!0))),this._register(i.Ka(t.domNode,`scroll`,e=>d(t.domNode,!0,!1))),this._register(i.Ka(r.domNode,`scroll`,e=>d(r.domNode,!0,!1))),this._register(i.Ka(this.scrollbarDomNode.domNode,`scroll`,e=>d(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){let e=this._context.configuration.options,t=e.get(132);this.scrollbarDomNode.setLeft(t.contentLeft),e.get(66).side===`right`?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}onConfigurationChanged(e){if(e.hasChanged(93)||e.hasChanged(68)||e.hasChanged(35)){let e=this._context.configuration.options,t=e.get(93),n=e.get(68),r=e.get(35),i=e.get(96),a={vertical:t.vertical,horizontal:t.horizontal,verticalScrollbarSize:t.verticalScrollbarSize,horizontalScrollbarSize:t.horizontalScrollbarSize,scrollByPage:t.scrollByPage,handleMouseWheel:t.handleMouseWheel,mouseWheelScrollSensitivity:n,fastScrollSensitivity:r,scrollPredominantAxis:i};this.scrollbar.updateOptions(a)}return e.hasChanged(132)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName(`editor-scrollable `+i.ya(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}};i.ba((e,t)=>{let n=e.getColor(i.Di);n&&t.addRule(`
|
|
45
|
+
.monaco-scrollable-element > .shadow.top {
|
|
46
|
+
box-shadow: ${n} 0 6px 6px -6px inset;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.monaco-scrollable-element > .shadow.left {
|
|
50
|
+
box-shadow: ${n} 6px 0 6px -6px inset;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.monaco-scrollable-element > .shadow.top.left {
|
|
54
|
+
box-shadow: ${n} 6px 6px 6px -6px inset;
|
|
55
|
+
}
|
|
56
|
+
`);let r=e.getColor(i.ki);r&&t.addRule(`
|
|
57
|
+
.monaco-scrollable-element > .scrollbar > .slider {
|
|
58
|
+
background: ${r};
|
|
59
|
+
}
|
|
60
|
+
`);let a=e.getColor(i.Ai);a&&t.addRule(`
|
|
61
|
+
.monaco-scrollable-element > .scrollbar > .slider:hover {
|
|
62
|
+
background: ${a};
|
|
63
|
+
}
|
|
64
|
+
`);let o=e.getColor(i.Oi);o&&t.addRule(`
|
|
65
|
+
.monaco-scrollable-element > .scrollbar > .slider.active {
|
|
66
|
+
background: ${o};
|
|
67
|
+
}
|
|
68
|
+
`)});var Rs=class{constructor(e,t,n){this._decorationToRenderBrand=void 0,this.startLineNumber=+e,this.endLineNumber=+t,this.className=String(n)}},zs=class extends Ha{_render(e,t,n){let r=[];for(let n=e;n<=t;n++){let t=n-e;r[t]=[]}if(n.length===0)return r;n.sort((e,t)=>e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className<t.className?-1:1);let i=null,a=0;for(let o=0,s=n.length;o<s;o++){let s=n[o],c=s.className,l=Math.max(s.startLineNumber,e)-e,u=Math.min(s.endLineNumber,t)-e;i===c?(l=Math.max(a+1,l),a=Math.max(a,u)):(i=c,a=u);for(let e=l;e<=a;e++)r[e].push(i)}return r}},Bs=class extends zs{constructor(e){super(),this._context=e;let t=this._context.configuration.options,n=t.get(132);this._lineHeight=t.get(60),this._glyphMargin=t.get(51),this._glyphMarginLeft=n.glyphMarginLeft,this._glyphMarginWidth=n.glyphMarginWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options,n=t.get(132);return this._lineHeight=t.get(60),this._glyphMargin=t.get(51),this._glyphMarginLeft=n.glyphMarginLeft,this._glyphMarginWidth=n.glyphMarginWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){let t=e.getDecorationsInViewport(),n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e],a=i.options.glyphMarginClassName;a&&(n[r++]=new Rs(i.range.startLineNumber,i.range.endLineNumber,a))}return n}prepareRender(e){if(!this._glyphMargin){this._renderResult=null;return}let t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,r=this._render(t,n,this._getDecorations(e)),i=this._lineHeight.toString(),a=this._glyphMarginLeft.toString(),o=this._glyphMarginWidth.toString(),s=`" style="left:`+a+`px;width:`+o+`px;height:`+i+`px;"></div>`,c=[];for(let e=t;e<=n;e++){let n=e-t,i=r[n];i.length===0?c[n]=``:c[n]=`<div class="cgmr codicon `+i.join(` `)+s}this._renderResult=c}render(e,t){if(!this._renderResult)return``;let n=t-e;return n<0||n>=this._renderResult.length?``:this._renderResult[n]}},Vs=class extends Ha{constructor(e){super(),this._context=e,this._primaryPosition=null;let t=this._context.configuration.options,n=t.get(133),r=t.get(45);this._lineHeight=t.get(60),this._spaceWidth=r.spaceWidth,this._maxIndentLeft=n.wrappingColumn===-1?-1:n.wrappingColumn*r.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(13),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options,n=t.get(133),r=t.get(45);return this._lineHeight=t.get(60),this._spaceWidth=r.spaceWidth,this._maxIndentLeft=n.wrappingColumn===-1?-1:n.wrappingColumn*r.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(13),!0}onCursorStateChanged(e){let t=e.selections[0].getPosition();return this._primaryPosition?.equals(t)?!1:(this._primaryPosition=t,!0)}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onLanguageConfigurationChanged(e){return!0}prepareRender(e){if(!this._bracketPairGuideOptions.indentation&&this._bracketPairGuideOptions.bracketPairs===!1){this._renderResult=null;return}let t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,r=e.scrollWidth,a=this._lineHeight,o=this._primaryPosition,s=this.getGuidesByLine(t,n,o),c=[];for(let o=t;o<=n;o++){let n=o-t,l=s[n],u=``,d=e.visibleRangeForPosition(new i.kl(o,1))?.left??0;for(let t of l){let n=t.column===-1?d+(t.visibleColumn-1)*this._spaceWidth:e.visibleRangeForPosition(new i.kl(o,t.column)).left;if(n>r||this._maxIndentLeft>0&&n>this._maxIndentLeft)break;let s=t.horizontalLine?t.horizontalLine.top?`horizontal-top`:`horizontal-bottom`:`vertical`,c=t.horizontalLine?(e.visibleRangeForPosition(new i.kl(o,t.horizontalLine.endColumn))?.left??n+this._spaceWidth)-n:this._spaceWidth;u+=`<div class="core-guide ${t.className} ${s}" style="left:${n}px;height:${a}px;width:${c}px"></div>`}c[n]=u}this._renderResult=c}getGuidesByLine(e,t,n){let r=this._bracketPairGuideOptions.bracketPairs===!1?null:this._context.viewModel.getBracketGuidesInRangeByLine(e,t,n,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?i.G.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal===`active`?i.G.EnabledForActive:i.G.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}),a=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null,o=0,s=0,c=0;if(this._bracketPairGuideOptions.highlightActiveIndentation!==!1&&n){let r=this._context.viewModel.getActiveIndentGuide(n.lineNumber,e,t);o=r.startLineNumber,s=r.endLineNumber,c=r.indent}let{indentSize:l}=this._context.viewModel.model.getOptions(),u=[];for(let n=e;n<=t;n++){let t=[];u.push(t);let d=r?r[n-e]:[],f=new i.Lu(d),p=a?a[n-e]:[];for(let e=1;e<=p;e++){let r=(e-1)*l+1,a=(this._bracketPairGuideOptions.highlightActiveIndentation===`always`||d.length===0)&&o<=n&&n<=s&&e===c;t.push(...f.takeWhile(e=>e.visibleColumn<r)||[]);let u=f.peek();(!u||u.visibleColumn!==r||u.horizontalLine)&&t.push(new i.K(r,-1,a?`core-guide-indent-active`:`core-guide-indent`,null,-1,-1))}t.push(...f.takeWhile(e=>!0)||[])}return u}render(e,t){if(!this._renderResult)return``;let n=t-e;return n<0||n>=this._renderResult.length?``:this._renderResult[n]}};function Hs(e){if(!(e&&e.isTransparent()))return e}i.ba((e,t)=>{let n=e.getColor(i.bt);n&&t.addRule(`.monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 ${n} inset; }`);let r=e.getColor(i.X)||n;r&&t.addRule(`.monaco-editor .lines-content .core-guide-indent-active { box-shadow: 1px 0 0 0 ${r} inset; }`);let a=[{bracketColor:i.Q,guideColor:i.ft,guideColorActive:i.ot},{bracketColor:i.$,guideColor:i.pt,guideColorActive:i.st},{bracketColor:i.et,guideColor:i.mt,guideColorActive:i.ct},{bracketColor:i.tt,guideColor:i.ht,guideColorActive:i.lt},{bracketColor:i.nt,guideColor:i.gt,guideColorActive:i.ut},{bracketColor:i.rt,guideColor:i._t,guideColorActive:i.dt}],o=new i.W,s=a.map(t=>{let n=e.getColor(t.bracketColor),r=e.getColor(t.guideColor),i=e.getColor(t.guideColorActive),a=Hs(Hs(r)??n?.transparent(.3)),o=Hs(Hs(i)??n);if(!(!a||!o))return{guideColor:a,guideColorActive:o}}).filter(i.Ou);if(s.length>0){for(let e=0;e<30;e++){let n=s[e%s.length];t.addRule(`.monaco-editor .${o.getInlineClassNameOfLevel(e).replace(/ /g,`.`)} { --guide-color: ${n.guideColor}; --guide-color-active: ${n.guideColorActive}; }`)}t.addRule(`.monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }`),t.addRule(`.monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }`),t.addRule(`.monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }`),t.addRule(`.monaco-editor .vertical.${o.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${o.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${o.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}});var Us=class{constructor(){this._currentVisibleRange=new i.Ol(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}},Ws=class{constructor(e,t,n,r,i,a,o){this.minimalReveal=e,this.lineNumber=t,this.startColumn=n,this.endColumn=r,this.startScrollTop=i,this.stopScrollTop=a,this.scrollType=o,this.type=`range`,this.minLineNumber=t,this.maxLineNumber=t}},Gs=class{constructor(e,t,n,r,i){this.minimalReveal=e,this.selections=t,this.startScrollTop=n,this.stopScrollTop=r,this.scrollType=i,this.type=`selections`;let a=t[0].startLineNumber,o=t[0].endLineNumber;for(let e=1,n=t.length;e<n;e++){let n=t[e];a=Math.min(a,n.startLineNumber),o=Math.max(o,n.endLineNumber)}this.minLineNumber=a,this.maxLineNumber=o}},Ks=class e extends Ki{constructor(e,t){super(e),this._linesContent=t,this._textRangeRestingSpot=document.createElement(`div`),this._visibleLines=new Zo(this),this.domNode=this._visibleLines.domNode;let n=this._context.configuration,r=this._context.configuration.options,a=r.get(45),o=r.get(133),s=r.get(132);this._lineHeight=r.get(60),this._typicalHalfwidthCharacterWidth=a.typicalHalfwidthCharacterWidth,this._isViewportWrapping=o.isViewportWrapping,this._revealHorizontalRightPadding=r.get(90),this._horizontalScrollbarHeight=s.horizontalScrollbarHeight,this._cursorSurroundingLines=r.get(25),this._cursorSurroundingLinesStyle=r.get(26),this._canUseLayerHinting=!r.get(28),this._viewLineOptions=new aa(n,this._context.theme.type),qi.write(this.domNode,7),this.domNode.setClassName(`view-lines ${Ga}`),Tt(this.domNode,a),this._maxLineWidth=0,this._asyncUpdateLineWidths=new i.ys(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new i.ys(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new Us,this._horizontalRevealRequest=null}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new oa(this._viewLineOptions)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(133)&&(this._maxLineWidth=0);let t=this._context.configuration.options,n=t.get(45),r=t.get(133),i=t.get(132);return this._lineHeight=t.get(60),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._isViewportWrapping=r.isViewportWrapping,this._revealHorizontalRightPadding=t.get(90),this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._cursorSurroundingLines=t.get(25),this._cursorSurroundingLinesStyle=t.get(26),this._canUseLayerHinting=!t.get(28),Tt(this.domNode,n),this._onOptionsMaybeChanged(),e.hasChanged(132)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){let e=this._context.configuration,t=new aa(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;let e=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let t=e;t<=n;t++)this._visibleLines.getVisibleLine(t).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){let t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),r=!1;for(let e=t;e<=n;e++)r=this._visibleLines.getVisibleLine(e).onSelectionChanged()||r;return r}onDecorationsChanged(e){{let e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let n=e;n<=t;n++)this._visibleLines.getVisibleLine(n).onDecorationsChanged()}return!0}onFlushed(e){let t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){let t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(t===-1)return!1;let n=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?n={scrollTop:n.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new Ws(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),n.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new Gs(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),n.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;let r=Math.abs(this._context.viewLayout.getCurrentScrollTop()-n.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(n,r),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){let t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),n=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTop<t||e.scrollTop>n)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){let n=this._getViewLineDomNode(e);if(n===null)return null;let r=this._getLineNumberFor(n);if(r===-1||r<1||r>this._context.viewModel.getLineCount())return null;if(this._context.viewModel.getLineMaxColumn(r)===1)return new i.kl(r,1);let a=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber();if(r<a||r>o)return null;let s=this._visibleLines.getVisibleLine(r).getColumnOfNodeOffset(r,e,t),c=this._context.viewModel.getLineMinColumn(r);return s<c&&(s=c),new i.kl(r,s)}_getViewLineDomNode(e){for(;e&&e.nodeType===1;){if(e.className===oa.CLASS_NAME)return e;e=e.parentElement}return null}_getLineNumberFor(e){let t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let r=t;r<=n;r++)if(e===this._visibleLines.getVisibleLine(r).getDomNode())return r;return-1}getLineWidth(e){let t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();return e<t||e>n?-1:this._visibleLines.getVisibleLine(e).getWidth()}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;let n=e.endLineNumber,r=i.Ol.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!r)return null;let a=[],o=0,s=new ia(this.domNode.domNode,this._textRangeRestingSpot),c=0;t&&(c=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new i.kl(r.startLineNumber,1)).lineNumber);let l=this._visibleLines.getStartLineNumber(),u=this._visibleLines.getEndLineNumber();for(let e=r.startLineNumber;e<=r.endLineNumber;e++){if(e<l||e>u)continue;let d=e===r.startLineNumber?r.startColumn:1,f=e===r.endLineNumber?r.endColumn:this._context.viewModel.getLineMaxColumn(e),p=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,d,f,s);if(p){if(t&&e<n){let t=c;c=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new i.kl(e+1,1)).lineNumber,t!==c&&(p.ranges[p.ranges.length-1].width+=this._typicalHalfwidthCharacterWidth)}a[o++]=new Xi(p.outsideRenderedLine,e,Zi.from(p.ranges))}}return o===0?null:a}_visibleRangesForLineRange(e,t,n){return this.shouldRender()||e<this._visibleLines.getStartLineNumber()||e>this._visibleLines.getEndLineNumber()?null:this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,n,new ia(this.domNode.domNode,this._textRangeRestingSpot))}visibleRangeForPosition(e){let t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new $i(t.outsideRenderedLine,t.ranges[0].left):null}updateLineWidths(){this._updateLineWidths(!1)}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidths(e){let t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),r=1,i=!0;for(let a=t;a<=n;a++){let t=this._visibleLines.getVisibleLine(a);if(e&&!t.getWidthIsFast()){i=!1;continue}r=Math.max(r,t.getWidth())}return i&&t===1&&n===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(r),i}_checkMonospaceFontAssumptions(){let e=-1,t=-1,n=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let i=n;i<=r;i++){let n=this._visibleLines.getVisibleLine(i);if(n.needsMonospaceFontCheck()){let r=n.getWidth();r>t&&(t=r,e=i)}}if(e!==-1&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let e=n;e<=r;e++)this._visibleLines.getVisibleLine(e).onMonospaceAssumptionsInvalidated()}prepareRender(){throw Error(`Not supported`)}render(){throw Error(`Not supported`)}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){let t=this._horizontalRevealRequest;if(e.startLineNumber<=t.minLineNumber&&t.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();let e=this._computeScrollLeftToReveal(t);e&&(this._isViewportWrapping||this._ensureMaxLineWidth(e.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},t.scrollType))}}if(this._updateLineWidthsFast()||this._asyncUpdateLineWidths.schedule(),i.vd&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){let e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let n=e;n<=t;n++)if(this._visibleLines.getVisibleLine(n).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain(`strict`);let t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){let t=Math.ceil(e);this._maxLineWidth<t&&(this._maxLineWidth=t,this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth))}_computeScrollTopToRevealRange(e,t,n,r,i,a){let o=e.top,s=e.height,c=o+s,l,u,d;if(i&&i.length>0){let e=i[0].startLineNumber,t=i[0].endLineNumber;for(let n=1,r=i.length;n<r;n++){let r=i[n];e=Math.min(e,r.startLineNumber),t=Math.max(t,r.endLineNumber)}l=!1,u=this._context.viewLayout.getVerticalOffsetForLineNumber(e),d=this._context.viewLayout.getVerticalOffsetForLineNumber(t)+this._lineHeight}else if(r)l=!0,u=this._context.viewLayout.getVerticalOffsetForLineNumber(r.startLineNumber),d=this._context.viewLayout.getVerticalOffsetForLineNumber(r.endLineNumber)+this._lineHeight;else return-1;if((t===`mouse`||n)&&this._cursorSurroundingLinesStyle===`default`)n||(u-=this._lineHeight);else{let e=Math.min(s/this._lineHeight/2,this._cursorSurroundingLines);u-=e*this._lineHeight,d+=Math.max(0,e-1)*this._lineHeight}(a===0||a===4)&&(d+=n?this._horizontalScrollbarHeight:this._lineHeight);let f;if(d-u>s){if(!l)return-1;f=u}else if(a===5||a===6)if(a===6&&o<=u&&d<=c)f=o;else{let e=Math.max(5*this._lineHeight,s*.2),t=u-e,n=d-s;f=Math.max(n,t)}else if(a===1||a===2)if(a===2&&o<=u&&d<=c)f=o;else{let e=(u+d)/2;f=Math.max(0,e-s/2)}else f=this._computeMinimumScrolling(o,c,u,d,a===3,a===4);return f}_computeScrollLeftToReveal(t){let n=this._context.viewLayout.getCurrentViewport(),r=n.left,i=r+n.width,a=1073741824,o=0;if(t.type===`range`){let e=this._visibleRangesForLineRange(t.lineNumber,t.startColumn,t.endColumn);if(!e)return null;for(let t of e.ranges)a=Math.min(a,Math.round(t.left)),o=Math.max(o,Math.round(t.left+t.width))}else for(let e of t.selections){if(e.startLineNumber!==e.endLineNumber)return null;let t=this._visibleRangesForLineRange(e.startLineNumber,e.startColumn,e.endColumn);if(!t)return null;for(let e of t.ranges)a=Math.min(a,Math.round(e.left)),o=Math.max(o,Math.round(e.left+e.width))}return t.minimalReveal||(a=Math.max(0,a-e.HORIZONTAL_EXTRA_PX),o+=this._revealHorizontalRightPadding),t.type===`selections`&&o-a>n.width?null:{scrollLeft:this._computeMinimumScrolling(r,i,a,o),maxHorizontalOffset:o}}_computeMinimumScrolling(e,t,n,r,i,a){e|=0,t|=0,n|=0,r|=0,i=!!i,a=!!a;let o=t-e;if(r-n<o){if(i)return n;if(a)return Math.max(0,r-o);if(n<e)return n;if(r>t)return Math.max(0,r-o)}else return n;return e}};Ks.HORIZONTAL_EXTRA_PX=30;var qs=class extends zs{constructor(e){super(),this._context=e;let t=this._context.configuration.options.get(132);this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options.get(132);return this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){let t=e.getDecorationsInViewport(),n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e],a=i.options.linesDecorationsClassName;a&&(n[r++]=new Rs(i.range.startLineNumber,i.range.endLineNumber,a));let o=i.options.firstLineDecorationClassName;o&&(n[r++]=new Rs(i.range.startLineNumber,i.range.startLineNumber,o))}return n}prepareRender(e){let t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,r=this._render(t,n,this._getDecorations(e)),i=this._decorationsLeft.toString(),a=this._decorationsWidth.toString(),o=`" style="left:`+i+`px;width:`+a+`px;"></div>`,s=[];for(let e=t;e<=n;e++){let n=e-t,i=r[n],a=``;for(let e=0,t=i.length;e<t;e++)a+=`<div class="cldr `+i[e]+o;s[n]=a}this._renderResult=s}render(e,t){return this._renderResult?this._renderResult[t-e]:``}},Js=class extends zs{constructor(e){super(),this._context=e,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){let t=e.getDecorationsInViewport(),n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e],a=i.options.marginClassName;a&&(n[r++]=new Rs(i.range.startLineNumber,i.range.endLineNumber,a))}return n}prepareRender(e){let t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,r=this._render(t,n,this._getDecorations(e)),i=[];for(let e=t;e<=n;e++){let n=e-t,a=r[n],o=``;for(let e=0,t=a.length;e<t;e++)o+=`<div class="cmdr `+a[e]+`" style=""></div>`;i[n]=o}this._renderResult=i}render(e,t){return this._renderResult?this._renderResult[t-e]:``}},Ys=class e{constructor(t,n,r,i){this._rgba8Brand=void 0,this.r=e._clamp(t),this.g=e._clamp(n),this.b=e._clamp(r),this.a=e._clamp(i)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:e|0}};Ys.Empty=new Ys(0,0,0,0);var Xs=class e extends i.Xl{constructor(){super(),this._onDidChange=new i.Ul,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(i.xl.onDidChange(e=>{e.changedColorMap&&this._updateColorMap()}))}static getInstance(){return this._INSTANCE||=i.iu(new e),this._INSTANCE}_updateColorMap(){let e=i.xl.getColorMap();if(!e){this._colors=[Ys.Empty],this._backgroundIsLight=!0;return}this._colors=[Ys.Empty];for(let t=1;t<e.length;t++){let n=e[t].rgba;this._colors[t]=new Ys(n.r,n.g,n.b,Math.round(n.a*255))}this._backgroundIsLight=e[2].getRelativeLuminance()>=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}};Xs._INSTANCE=null;var Zs=(()=>{let e=[];for(let t=32;t<=126;t++)e.push(t);return e.push(65533),e})(),Qs=(e,t)=>(e-=32,e<0||e>96?t<=2?(e+96)%96:95:e),$s=class e{constructor(t,n){this.scale=n,this._minimapCharRendererBrand=void 0,this.charDataNormal=e.soften(t,12/15),this.charDataLight=e.soften(t,50/60)}static soften(e,t){let n=new Uint8ClampedArray(e.length);for(let r=0,a=e.length;r<a;r++)n[r]=i.cs(e[r]*t);return n}renderChar(e,t,n,r,i,a,o,s,c,l,u){let d=1*this.scale,f=2*this.scale,p=u?1:f;if(t+d>e.width||n+p>e.height)return;let m=l?this.charDataLight:this.charDataNormal,h=Qs(r,c),g=e.width*4,_=o.r,v=o.g,y=o.b,b=i.r-_,x=i.g-v,S=i.b-y,C=Math.max(a,s),w=e.data,T=h*d*f,E=n*g+t*4;for(let e=0;e<p;e++){let e=E;for(let t=0;t<d;t++){let t=m[T++]/255*(a/255);w[e++]=_+b*t,w[e++]=v+x*t,w[e++]=y+S*t,w[e++]=C}E+=g}}blockRenderChar(e,t,n,r,i,a,o,s){let c=1*this.scale,l=2*this.scale,u=s?1:l;if(t+c>e.width||n+u>e.height)return;let d=e.width*4,f=i/255*.5,p=a.r,m=a.g,h=a.b,g=r.r-p,_=r.g-m,v=r.b-h,y=p+g*f,b=m+_*f,x=h+v*f,S=Math.max(i,o),C=e.data,w=n*d+t*4;for(let e=0;e<u;e++){let e=w;for(let t=0;t<c;t++)C[e++]=y,C[e++]=b,C[e++]=x,C[e++]=S;w+=d}}},ec={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15},tc=e=>{let t=new Uint8ClampedArray(e.length/2);for(let n=0;n<e.length;n+=2)t[n>>1]=ec[e[n]]<<4|ec[e[n+1]]&15;return t},nc={1:i.ou(()=>tc(`0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792`)),2:i.ou(()=>tc(`000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126`))},rc=class e{static create(t,n){if(this.lastCreated&&t===this.lastCreated.scale&&n===this.lastFontFamily)return this.lastCreated;let r;return r=nc[t]?new $s(nc[t](),t):e.createFromSampleData(e.createSampleData(n).data,t),this.lastFontFamily=n,this.lastCreated=r,r}static createSampleData(e){let t=document.createElement(`canvas`),n=t.getContext(`2d`);t.style.height=`16px`,t.height=16,t.width=960,t.style.width=`960px`,n.fillStyle=`#ffffff`,n.font=`bold 16px ${e}`,n.textBaseline=`middle`;let r=0;for(let e of Zs)n.fillText(String.fromCharCode(e),r,16/2),r+=10;return n.getImageData(0,0,960,16)}static createFromSampleData(t,n){if(t.length!==640*96)throw Error(`Unexpected source in MinimapCharRenderer`);return new $s(e._downsample(t,n),n)}static _downsampleChar(e,t,n,r,a){let o=1*a,s=2*a,c=r,l=0;for(let r=0;r<s;r++){let a=r/s*16,u=(r+1)/s*16;for(let r=0;r<o;r++){let s=r/o*10,d=(r+1)/o*10,f=0,p=0;for(let n=a;n<u;n++){let r=t+Math.floor(n)*3840,i=1-(n-Math.floor(n));for(let t=s;t<d;t++){let n=1-(t-Math.floor(t)),a=r+Math.floor(t)*4,o=n*i;p+=o,f+=e[a]*e[a+3]/255*o}}let m=f/p;l=Math.max(l,m),n[c++]=i.cs(m)}}return l}static _downsample(e,t){let n=2*t*1*t,r=n*96,i=new Uint8ClampedArray(r),a=0,o=0,s=0;for(let r=0;r<96;r++)s=Math.max(s,this._downsampleChar(e,o,i,a,t)),a+=n,o+=40;if(s>0){let e=255/s;for(let t=0;t<r;t++)i[t]*=e}return i}},ic=140,ac=2,oc=class e{constructor(t,n,r){let a=t.options,o=a.get(130),s=a.get(132),c=s.minimap,l=a.get(45),u=a.get(66);this.renderMinimap=c.renderMinimap,this.size=u.size,this.minimapHeightIsEditorHeight=c.minimapHeightIsEditorHeight,this.scrollBeyondLastLine=a.get(95),this.showSlider=u.showSlider,this.autohide=u.autohide,this.pixelRatio=o,this.typicalHalfwidthCharacterWidth=l.typicalHalfwidthCharacterWidth,this.lineHeight=a.get(60),this.minimapLeft=c.minimapLeft,this.minimapWidth=c.minimapWidth,this.minimapHeight=s.height,this.canvasInnerWidth=c.minimapCanvasInnerWidth,this.canvasInnerHeight=c.minimapCanvasInnerHeight,this.canvasOuterWidth=c.minimapCanvasOuterWidth,this.canvasOuterHeight=c.minimapCanvasOuterHeight,this.isSampling=c.minimapIsSampling,this.editorHeight=s.height,this.fontScale=c.minimapScale,this.minimapLineHeight=c.minimapLineHeight,this.minimapCharWidth=1*this.fontScale,this.charRenderer=i.ou(()=>rc.create(this.fontScale,l.fontFamily)),this.defaultBackgroundColor=r.getColor(2),this.backgroundColor=e._getMinimapBackground(n,this.defaultBackgroundColor),this.foregroundAlpha=e._getMinimapForegroundOpacity(n)}static _getMinimapBackground(e,t){let n=e.getColor(i.ei);return n?new Ys(n.rgba.r,n.rgba.g,n.rgba.b,Math.round(255*n.rgba.a)):t}static _getMinimapForegroundOpacity(e){let t=e.getColor(i.ri);return t?Ys._clamp(Math.round(255*t.rgba.a)):255}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}},sc=class e{constructor(e,t,n,r,i,a,o,s){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=n,this._computedSliderRatio=r,this.sliderTop=i,this.sliderHeight=a,this.startLineNumber=o,this.endLineNumber=s}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}static create(t,n,r,i,a,o,s,c,l,u,d){let f=t.pixelRatio,p=t.minimapLineHeight,m=Math.floor(t.canvasInnerHeight/p),h=t.lineHeight;if(t.minimapHeightIsEditorHeight){let n=c*t.lineHeight+(t.scrollBeyondLastLine?a-t.lineHeight:0),r=Math.max(1,Math.floor(a*a/n)),i=Math.max(0,t.minimapHeight-r),o=i/(u-a),d=l*o,f=i>0,p=Math.floor(t.canvasInnerHeight/t.minimapLineHeight);return new e(l,u,f,o,d,r,1,Math.min(s,p))}let g;if(o&&r!==s){let e=r-n+1;g=Math.floor(e*p/f)}else{let e=a/h;g=Math.floor(e*p/f)}let _;_=t.scrollBeyondLastLine?(s-1)*p/f:Math.max(0,s*p/f-g),_=Math.min(t.minimapHeight-g,_);let v=_/(u-a),y=l*v,b=0;if(t.scrollBeyondLastLine&&(b=a/h-1),m>=s+b)return new e(l,u,_>0,v,y,g,1,s);{let t=Math.max(1,Math.floor(n-y*f/p));d&&d.scrollHeight===u&&(d.scrollTop>l&&(t=Math.min(t,d.startLineNumber)),d.scrollTop<l&&(t=Math.max(t,d.startLineNumber)));let r=Math.min(s,t+m-1),a=(l-i)/h;return new e(l,u,!0,v,(n-t+a)*p/f,g,t,r)}}},cc=class{constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}};cc.INVALID=new cc(-1);var lc=class{constructor(e,t,n){this.renderedLayout=e,this._imageData=t,this._renderedLines=new Xo(()=>cc.INVALID),this._renderedLines._set(e.startLineNumber,n)}linesEquals(e){if(!this.scrollEquals(e))return!1;let t=this._renderedLines._get().lines;for(let e=0,n=t.length;e<n;e++)if(t[e].dy===-1)return!1;return!0}scrollEquals(e){return this.renderedLayout.startLineNumber===e.startLineNumber&&this.renderedLayout.endLineNumber===e.endLineNumber}_get(){let e=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:e.rendLineNumberStart,lines:e.lines}}onLinesChanged(e,t){return this._renderedLines.onLinesChanged(e,t)}onLinesDeleted(e,t){this._renderedLines.onLinesDeleted(e,t)}onLinesInserted(e,t){this._renderedLines.onLinesInserted(e,t)}onTokensChanged(e){return this._renderedLines.onTokensChanged(e)}},uc=class e{constructor(t,n,r,i){this._backgroundFillData=e._createBackgroundFillData(n,r,i),this._buffers=[t.createImageData(n,r),t.createImageData(n,r)],this._lastUsedBuffer=0}getBuffer(){this._lastUsedBuffer=1-this._lastUsedBuffer;let e=this._buffers[this._lastUsedBuffer];return e.data.set(this._backgroundFillData),e}static _createBackgroundFillData(e,t,n){let r=n.r,i=n.g,a=n.b,o=n.a,s=new Uint8ClampedArray(e*t*4),c=0;for(let n=0;n<t;n++)for(let t=0;t<e;t++)s[c]=r,s[c+1]=i,s[c+2]=a,s[c+3]=o,c+=4;return s}},dc=class e{constructor(e,t){this.samplingRatio=e,this.minimapLines=t}static compute(t,n,r){if(t.renderMinimap===0||!t.isSampling)return[null,[]];let i=t.pixelRatio,a=t.lineHeight,o=t.scrollBeyondLastLine,{minimapLineCount:s}=ce.computeContainedMinimapLineCount({viewLineCount:n,scrollBeyondLastLine:o,height:t.editorHeight,lineHeight:a,pixelRatio:i}),c=n/s,l=c/2;if(!r||r.minimapLines.length===0){let t=[];if(t[0]=1,s>1){for(let e=0,n=s-1;e<n;e++)t[e]=Math.round(e*c+l);t[s-1]=n}return[new e(c,t),[]]}let u=r.minimapLines,d=u.length,f=[],p=0,m=0,h=1,g=[],_=null;for(let e=0;e<s;e++){let t=Math.max(h,Math.round(e*c)),r=Math.max(t,Math.round((e+1)*c));for(;p<d&&u[p]<t;){if(g.length<10){let e=p+1+m;_&&_.type===`deleted`&&_._oldIndex===p-1?_.deleteToLineNumber++:(_={type:`deleted`,_oldIndex:p,deleteFromLineNumber:e,deleteToLineNumber:e},g.push(_)),m--}p++}let i;if(p<d&&u[p]<=r)i=u[p],p++;else if(i=e===0?1:e+1===s?n:Math.round(e*c+l),g.length<10){let t=p+1+m;_&&_.type===`inserted`&&_._i===e-1?_.insertToLineNumber++:(_={type:`inserted`,_i:e,insertFromLineNumber:t,insertToLineNumber:t},g.push(_)),m++}f[e]=i,h=i}if(g.length<10)for(;p<d;){let e=p+1+m;_&&_.type===`deleted`&&_._oldIndex===p-1?_.deleteToLineNumber++:(_={type:`deleted`,_oldIndex:p,deleteFromLineNumber:e,deleteToLineNumber:e},g.push(_)),m--,p++}else g=[{type:`flush`}];return[new e(c,f),g]}modelLineToMinimapLine(e){return Math.min(this.minimapLines.length,Math.max(1,Math.round(e/this.samplingRatio)))}modelLineRangeToMinimapLineRange(e,t){let n=this.modelLineToMinimapLine(e)-1;for(;n>0&&this.minimapLines[n-1]>=e;)n--;let r=this.modelLineToMinimapLine(t)-1;for(;r+1<this.minimapLines.length&&this.minimapLines[r+1]<=t;)r++;if(n===r){let r=this.minimapLines[n];if(r<e||r>t)return null}return[n+1,r+1]}decorationLineRangeToMinimapLineRange(e,t){let n=this.modelLineToMinimapLine(e),r=this.modelLineToMinimapLine(t);return e!==t&&r===n&&(r===this.minimapLines.length?n>1&&n--:r++),[n,r]}onLinesDeleted(e){let t=e.toLineNumber-e.fromLineNumber+1,n=this.minimapLines.length,r=0;for(let i=this.minimapLines.length-1;i>=0&&!(this.minimapLines[i]<e.fromLineNumber);i--)this.minimapLines[i]<=e.toLineNumber?(this.minimapLines[i]=Math.max(1,e.fromLineNumber-1),n=Math.min(n,i),r=Math.max(r,i)):this.minimapLines[i]-=t;return[n,r]}onLinesInserted(e){let t=e.toLineNumber-e.fromLineNumber+1;for(let n=this.minimapLines.length-1;n>=0&&!(this.minimapLines[n]<e.fromLineNumber);n--)this.minimapLines[n]+=t}},fc=class extends Ki{constructor(e){super(e),this.tokensColorTracker=Xs.getInstance(),this._selections=[],this._minimapSelections=null,this.options=new oc(this._context.configuration,this._context.theme,this.tokensColorTracker);let[t]=dc.compute(this.options,this._context.viewModel.getLineCount(),null);this._samplingState=t,this._shouldCheckSampling=!1,this._actual=new pc(e.theme,this)}dispose(){this._actual.dispose(),super.dispose()}getDomNode(){return this._actual.getDomNode()}_onOptionsMaybeChanged(){let e=new oc(this._context.configuration,this._context.theme,this.tokensColorTracker);return this.options.equals(e)?!1:(this.options=e,this._recreateLineSampling(),this._actual.onDidChangeOptions(),!0)}onConfigurationChanged(e){return this._onOptionsMaybeChanged()}onCursorStateChanged(e){return this._selections=e.selections,this._minimapSelections=null,this._actual.onSelectionChanged()}onDecorationsChanged(e){return e.affectsMinimap?this._actual.onDecorationsChanged():!1}onFlushed(e){return this._samplingState&&(this._shouldCheckSampling=!0),this._actual.onFlushed()}onLinesChanged(e){if(this._samplingState){let t=this._samplingState.modelLineRangeToMinimapLineRange(e.fromLineNumber,e.fromLineNumber+e.count-1);return t?this._actual.onLinesChanged(t[0],t[1]-t[0]+1):!1}else return this._actual.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){if(this._samplingState){let[t,n]=this._samplingState.onLinesDeleted(e);return t<=n&&this._actual.onLinesChanged(t+1,n-t+1),this._shouldCheckSampling=!0,!0}else return this._actual.onLinesDeleted(e.fromLineNumber,e.toLineNumber)}onLinesInserted(e){return this._samplingState?(this._samplingState.onLinesInserted(e),this._shouldCheckSampling=!0,!0):this._actual.onLinesInserted(e.fromLineNumber,e.toLineNumber)}onScrollChanged(e){return this._actual.onScrollChanged()}onThemeChanged(e){return this._actual.onThemeChanged(),this._onOptionsMaybeChanged(),!0}onTokensChanged(e){if(this._samplingState){let t=[];for(let n of e.ranges){let e=this._samplingState.modelLineRangeToMinimapLineRange(n.fromLineNumber,n.toLineNumber);e&&t.push({fromLineNumber:e[0],toLineNumber:e[1]})}return t.length?this._actual.onTokensChanged(t):!1}else return this._actual.onTokensChanged(e.ranges)}onTokensColorsChanged(e){return this._onOptionsMaybeChanged(),this._actual.onTokensColorsChanged()}onZonesChanged(e){return this._actual.onZonesChanged()}prepareRender(e){this._shouldCheckSampling&&(this._shouldCheckSampling=!1,this._recreateLineSampling())}render(e){let t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber;this._samplingState&&(t=this._samplingState.modelLineToMinimapLine(t),n=this._samplingState.modelLineToMinimapLine(n));let r={viewportContainsWhitespaceGaps:e.viewportData.whitespaceViewportData.length>0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:n,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(r)}_recreateLineSampling(){this._minimapSelections=null;let e=!!this._samplingState,[t,n]=dc.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(let e of n)switch(e.type){case`deleted`:this._actual.onLinesDeleted(e.deleteFromLineNumber,e.deleteToLineNumber);break;case`inserted`:this._actual.onLinesInserted(e.insertFromLineNumber,e.insertToLineNumber);break;case`flush`:this._actual.onFlushed();break}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,n){if(this._samplingState){let r=[];for(let i=0,a=t-e+1;i<a;i++)n[i]?r[i]=this._context.viewModel.getViewLineData(this._samplingState.minimapLines[e+i-1]):r[i]=null;return r}return this._context.viewModel.getMinimapLinesRenderingData(e,t,n).data}getSelections(){if(this._minimapSelections===null)if(this._samplingState){this._minimapSelections=[];for(let e of this._selections){let[t,n]=this._samplingState.decorationLineRangeToMinimapLineRange(e.startLineNumber,e.endLineNumber);this._minimapSelections.push(new i.Dl(t,e.startColumn,n,e.endColumn))}}else this._minimapSelections=this._selections;return this._minimapSelections}getMinimapDecorationsInViewport(e,t){let n;if(this._samplingState){let r=this._samplingState.minimapLines[e-1],a=this._samplingState.minimapLines[t-1];n=new i.Ol(r,1,a,this._context.viewModel.getLineMaxColumn(a))}else n=new i.Ol(e,1,t,this._context.viewModel.getLineMaxColumn(t));let r=this._context.viewModel.getDecorationsInViewport(n);if(this._samplingState){let e=[];for(let t of r){if(!t.options.minimap)continue;let n=t.range,r=this._samplingState.modelLineToMinimapLine(n.startLineNumber),a=this._samplingState.modelLineToMinimapLine(n.endLineNumber);e.push(new Pr(new i.Ol(r,n.startColumn,a,n.endColumn),t.options))}return e}return r}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange(`mouse`,!1,new i.Ol(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}},pc=class e extends i.Xl{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(i.ii),this._domNode=k(document.createElement(`div`)),qi.write(this._domNode,8),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition(`absolute`),this._domNode.setAttribute(`role`,`presentation`),this._domNode.setAttribute(`aria-hidden`,`true`),this._shadow=k(document.createElement(`div`)),this._shadow.setClassName(`minimap-shadow-hidden`),this._domNode.appendChild(this._shadow),this._canvas=k(document.createElement(`canvas`)),this._canvas.setPosition(`absolute`),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=k(document.createElement(`canvas`)),this._decorationsCanvas.setPosition(`absolute`),this._decorationsCanvas.setClassName(`minimap-decorations-layer`),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=k(document.createElement(`div`)),this._slider.setPosition(`absolute`),this._slider.setClassName(`minimap-slider`),this._slider.setLayerHinting(!0),this._slider.setContain(`strict`),this._domNode.appendChild(this._slider),this._sliderHorizontal=k(document.createElement(`div`)),this._sliderHorizontal.setPosition(`absolute`),this._sliderHorizontal.setClassName(`minimap-slider-horizontal`),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=i.Ja(this._domNode.domNode,i.Ua.POINTER_DOWN,e=>{if(e.preventDefault(),this._model.options.renderMinimap===0||!this._lastRenderData)return;if(this._model.options.size!==`proportional`){if(e.button===0&&this._lastRenderData){let t=i.uo(this._slider.domNode),n=t.top+t.height/2;this._startSliderDragging(e,n,this._lastRenderData.renderedLayout)}return}let t=this._model.options.minimapLineHeight,n=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*e.offsetY,r=Math.floor(n/t)+this._lastRenderData.renderedLayout.startLineNumber;r=Math.min(r,this._model.getLineCount()),this._model.revealLineNumber(r)}),this._sliderPointerMoveMonitor=new i.Ui,this._sliderPointerDownListener=i.Ja(this._slider.domNode,i.Ua.POINTER_DOWN,e=>{e.preventDefault(),e.stopPropagation(),e.button===0&&this._lastRenderData&&this._startSliderDragging(e,e.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=Wi.addTarget(this._domNode.domNode),this._sliderTouchStartListener=i.Ka(this._domNode.domNode,N.Start,e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName(`active`,!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(e))},{passive:!1}),this._sliderTouchMoveListener=i.Ka(this._domNode.domNode,N.Change,e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(e)},{passive:!1}),this._sliderTouchEndListener=i.Ja(this._domNode.domNode,N.End,e=>{e.preventDefault(),e.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName(`active`,!1)})}_startSliderDragging(e,t,n){if(!e.target||!(e.target instanceof Element))return;let r=e.pageX;this._slider.toggleClassName(`active`,!0);let a=(e,a)=>{let o=Math.abs(a-r);if(i.Cd&&o>ic){this._model.setScrollTop(n.scrollTop);return}let s=e-t;this._model.setScrollTop(n.getDesiredScrollTopFromDelta(s))};e.pageY!==t&&a(e.pageY,r),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>a(e.pageY,e.pageX),()=>{this._slider.toggleClassName(`active`,!1)})}scrollDueToTouchEvent(e){let t=this._domNode.domNode.getBoundingClientRect().top,n=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(n)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){let e=[`minimap`];return this._model.options.showSlider===`always`?e.push(`slider-always`):e.push(`slider-mouseover`),this._model.options.autohide&&e.push(`autohide`),e.join(` `)}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new uc(this._canvas.domNode.getContext(`2d`),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return this._lastRenderData?this._lastRenderData.onLinesChanged(e,t):!1}onLinesDeleted(e,t){var n;return(n=this._lastRenderData)==null||n.onLinesDeleted(e,t),!0}onLinesInserted(e,t){var n;return(n=this._lastRenderData)==null||n.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(i.ii),this._renderDecorations=!0,!0}onTokensChanged(e){return this._lastRenderData?this._lastRenderData.onTokensChanged(e):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(this._model.options.renderMinimap===0){this._shadow.setClassName(`minimap-shadow-hidden`),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName(`minimap-shadow-hidden`):this._shadow.setClassName(`minimap-shadow-visible`);let t=sc.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(t.sliderNeeded?`block`:`none`),this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;let t=this._model.getSelections();t.sort(i.Ol.compareRangesUsingStarts);let n=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);n.sort((e,t)=>(e.options.zIndex||0)-(t.options.zIndex||0));let{canvasInnerWidth:r,canvasInnerHeight:a}=this._model.options,o=this._model.options.minimapLineHeight,s=this._model.options.minimapCharWidth,c=this._model.getOptions().tabSize,l=this._decorationsCanvas.domNode.getContext(`2d`);l.clearRect(0,0,r,a);let u=new mc(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(l,t,u,e,o),this._renderDecorationsLineHighlights(l,n,u,e,o);let d=new mc(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(l,t,d,e,o,c,s,r),this._renderDecorationsHighlights(l,n,d,e,o,c,s,r)}}_renderSelectionLineHighlights(e,t,n,r,i){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let a=0,o=0;for(let s of t){let t=Math.max(r.startLineNumber,s.startLineNumber),c=Math.min(r.endLineNumber,s.endLineNumber);if(t>c)continue;for(let e=t;e<=c;e++)n.set(e,!0);let l=(t-r.startLineNumber)*i,u=(c-r.startLineNumber)*i+i;o>=l?o=u:(o>a&&e.fillRect(8,a,e.canvas.width,o-a),a=l,o=u)}o>a&&e.fillRect(8,a,e.canvas.width,o-a)}_renderDecorationsLineHighlights(e,t,n,r,a){let o=new Map;for(let s=t.length-1;s>=0;s--){let c=t[s],l=c.options.minimap;if(!l||l.position!==i.oc.Inline)continue;let u=Math.max(r.startLineNumber,c.range.startLineNumber),d=Math.min(r.endLineNumber,c.range.endLineNumber);if(u>d)continue;let f=l.getColor(this._theme.value);if(!f||f.isTransparent())continue;let p=o.get(f.toString());p||(p=f.transparent(.5).toString(),o.set(f.toString(),p)),e.fillStyle=p;for(let t=u;t<=d;t++){if(n.has(t))continue;n.set(t,!0);let i=(u-r.startLineNumber)*a;e.fillRect(8,i,e.canvas.width,a)}}}_renderSelectionsHighlights(e,t,n,r,i,a,o,s){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(let c of t){let t=Math.max(r.startLineNumber,c.startLineNumber),l=Math.min(r.endLineNumber,c.endLineNumber);if(!(t>l))for(let u=t;u<=l;u++)this.renderDecorationOnLine(e,n,c,this._selectionColor,r,u,i,i,a,o,s)}}_renderDecorationsHighlights(e,t,n,r,a,o,s,c){for(let l of t){let t=l.options.minimap;if(!t)continue;let u=Math.max(r.startLineNumber,l.range.startLineNumber),d=Math.min(r.endLineNumber,l.range.endLineNumber);if(u>d)continue;let f=t.getColor(this._theme.value);if(!(!f||f.isTransparent()))for(let p=u;p<=d;p++)switch(t.position){case i.oc.Inline:this.renderDecorationOnLine(e,n,l.range,f,r,p,a,a,o,s,c);continue;case i.oc.Gutter:{let t=(p-r.startLineNumber)*a;this.renderDecoration(e,f,2,t,ac,a);continue}}}}renderDecorationOnLine(e,t,n,r,i,a,o,s,c,l,u){let d=(a-i.startLineNumber)*s;if(d+o<0||d>this._model.options.canvasInnerHeight)return;let{startLineNumber:f,endLineNumber:p}=n,m=f===a?n.startColumn:1,h=p===a?n.endColumn:this._model.getLineMaxColumn(a),g=this.getXOffsetForPosition(t,a,m,c,l,u),_=this.getXOffsetForPosition(t,a,h,c,l,u);this.renderDecoration(e,r,g,d,_-g,o)}getXOffsetForPosition(e,t,n,r,a,o){if(n===1)return 8;if((n-1)*a>=o)return o;let s=e.get(t);if(!s){let n=this._model.getLineContent(t);s=[8];let c=8;for(let e=1;e<n.length+1;e++){let t=n.charCodeAt(e-1),l=t===9?r*a:i.Kc(t)?2*a:a,u=c+l;if(u>=o){s[e]=o;break}s[e]=u,c=u}e.set(t,s)}return n-1<s.length?s[n-1]:o}renderDecoration(e,t,n,r,i,a){e.fillStyle=t&&t.toString()||``,e.fillRect(n,r,i,a)}renderLines(t){let n=t.startLineNumber,r=t.endLineNumber,i=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(t)){let e=this._lastRenderData._get();return new lc(t,e.imageData,e.lines)}let a=this._getBuffer();if(!a)return null;let[o,s,c]=e._renderUntouchedLines(a,n,r,i,this._lastRenderData),l=this._model.getMinimapLinesRenderingData(n,r,c),u=this._model.getOptions().tabSize,d=this._model.options.defaultBackgroundColor,f=this._model.options.backgroundColor,p=this._model.options.foregroundAlpha,m=this._model.tokensColorTracker,h=m.backgroundIsLight(),g=this._model.options.renderMinimap,_=this._model.options.charRenderer(),v=this._model.options.fontScale,y=this._model.options.minimapCharWidth,b=(g===1?2:3)*v,x=i>b?Math.floor((i-b)/2):0,S=f.a/255,C=new Ys(Math.round((f.r-d.r)*S+d.r),Math.round((f.g-d.g)*S+d.g),Math.round((f.b-d.b)*S+d.b),255),w=0,T=[];for(let t=0,o=r-n+1;t<o;t++)c[t]&&e._renderLine(a,C,f.a,h,g,y,m,p,_,w,x,u,l[t],v,i),T[t]=new cc(w),w+=i;let E=o===-1?0:o,D=(s===-1?a.height:s)-E;return this._canvas.domNode.getContext(`2d`).putImageData(a,0,0,0,E,a.width,D),new lc(t,a,T)}static _renderUntouchedLines(e,t,n,r,i){let a=[];if(!i){for(let e=0,r=n-t+1;e<r;e++)a[e]=!0;return[-1,-1,a]}let o=i._get(),s=o.imageData.data,c=o.rendLineNumberStart,l=o.lines,u=l.length,d=e.width,f=e.data,p=(n-t+1)*r*d*4,m=-1,h=-1,g=-1,_=-1,v=-1,y=-1,b=0;for(let e=t;e<=n;e++){let n=e-t,i=e-c,o=i>=0&&i<u?l[i].dy:-1;if(o===-1){a[n]=!0,b+=r;continue}let x=o*d*4,S=(o+r)*d*4,C=b*d*4,w=(b+r)*d*4;_===x&&y===C?(_=S,y=w):(g!==-1&&(f.set(s.subarray(g,_),v),m===-1&&g===0&&g===v&&(m=_),h===-1&&_===p&&g===v&&(h=g)),g=x,_=S,v=C,y=w),a[n]=!1,b+=r}return g!==-1&&(f.set(s.subarray(g,_),v),m===-1&&g===0&&g===v&&(m=_),h===-1&&_===p&&g===v&&(h=g)),[m===-1?-1:m/(d*4),h===-1?-1:h/(d*4),a]}static _renderLine(e,t,n,r,a,o,s,c,l,u,d,f,p,m,h){let g=p.content,_=p.tokens,v=e.width-o,y=h===1,b=8,x=0,S=0;for(let p=0,h=_.getCount();p<h;p++){let h=_.getEndOffset(p),C=_.getForeground(p),w=s.getColor(C);for(;x<h;x++){if(b>v)return;let s=g.charCodeAt(x);if(s===9){let e=f-(x+S)%f;S+=e-1,b+=e*o}else if(s===32)b+=o;else{let f=i.Kc(s)?2:1;for(let i=0;i<f;i++)if(a===2?l.blockRenderChar(e,b,u+d,w,c,t,n,y):l.renderChar(e,b,u+d,s,w,c,t,n,m,r,y),b+=o,b>v)return}}}}},mc=class{constructor(e,t,n){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=n,this._values=[];for(let e=0,t=this._endLineNumber-this._startLineNumber+1;e<t;e++)this._values[e]=n}has(e){return this.get(e)!==this._defaultValue}set(e,t){e<this._startLineNumber||e>this._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return e<this._startLineNumber||e>this._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}};i.ba((e,t)=>{let n=e.getColor(i.si);n&&t.addRule(`.monaco-editor .minimap-slider .minimap-slider-horizontal { background: ${n}; }`);let r=e.getColor(i.ci);r&&t.addRule(`.monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: ${r}; }`);let a=e.getColor(i.oi);a&&t.addRule(`.monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: ${a}; }`);let o=e.getColor(i.Di);o&&t.addRule(`.monaco-editor .minimap-shadow-visible { box-shadow: ${o} -6px 0 6px -6px inset; }`)});var hc=class extends Ki{constructor(e){super(e);let t=this._context.configuration.options.get(132);this._widgets={},this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,this._domNode=k(document.createElement(`div`)),qi.write(this._domNode,4),this._domNode.setClassName(`overlayWidgets`)}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){let t=this._context.configuration.options.get(132);return this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,!0}addWidget(e){let t=k(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition(`absolute`),t.setAttribute(`widgetId`,e.getId()),this._domNode.appendChild(t),this.setShouldRender()}setWidgetPosition(e,t){let n=this._widgets[e.getId()];return n.preference===t?!1:(n.preference=t,this.setShouldRender(),!0)}removeWidget(e){let t=e.getId();if(this._widgets.hasOwnProperty(t)){let e=this._widgets[t].domNode.domNode;delete this._widgets[t],e.parentNode.removeChild(e),this.setShouldRender()}}_renderWidget(e){let t=e.domNode;if(e.preference===null){t.setTop(``);return}if(e.preference===0)t.setTop(0),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(e.preference===1){let e=t.domNode.clientHeight;t.setTop(this._editorHeight-e-2*this._horizontalScrollbarHeight),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else e.preference===2&&(t.setTop(0),t.domNode.style.right=`50%`)}prepareRender(e){}render(e){this._domNode.setWidth(this._editorWidth);let t=Object.keys(this._widgets);for(let e=0,n=t.length;e<n;e++){let n=t[e];this._renderWidget(this._widgets[n])}}},gc=class{constructor(e,t){let n=e.options;this.lineHeight=n.get(60),this.pixelRatio=n.get(130),this.overviewRulerLanes=n.get(75),this.renderBorder=n.get(74);let r=t.getColor(i.Tt);this.borderColor=r?r.toString():null,this.hideCursor=n.get(53);let a=t.getColor(i.yt);this.cursorColor=a?a.transparent(.7).toString():null,this.themeType=t.type;let o=n.get(66),s=o.enabled,c=o.side,l=t.getColor(i.wt),u=i.xl.getDefaultBackground(),d=null;l===void 0?s&&(d=u):d=l,d===null||c===`left`?this.backgroundColor=null:this.backgroundColor=i.Bi.Format.CSS.formatHex(d);let f=n.get(132).overviewRuler;this.top=f.top,this.right=f.right,this.domWidth=f.width,this.domHeight=f.height,this.overviewRulerLanes===0?(this.canvasWidth=0,this.canvasHeight=0):(this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0);let[p,m]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=p,this.w=m}_initLanes(e,t,n){let r=t-e;if(n>=3){let t=Math.floor(r/3),n=Math.floor(r/3),i=r-t-n,a=e,o=a+t;return[[0,a,o,a,a+t+i,a,o,a],[0,t,i,t+i,n,t+i+n,i+n,t+i+n]]}else if(n===2){let t=Math.floor(r/2),n=r-t,i=e;return[[0,i,i,i,i+t,i,i,i],[0,t,t,t,n,t+n,t+n,t+n]]}else{let t=e,n=r;return[[0,t,t,t,t,t,t,t],[0,n,n,n,n,n,n,n]]}}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColor===e.cursorColor&&this.themeType===e.themeType&&this.backgroundColor===e.backgroundColor&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}},_c=class extends Ki{constructor(e){super(e),this._domNode=k(document.createElement(`canvas`)),this._domNode.setClassName(`decorationsOverviewRuler`),this._domNode.setPosition(`absolute`),this._domNode.setLayerHinting(!0),this._domNode.setContain(`strict`),this._domNode.setAttribute(`aria-hidden`,`true`),this._updateSettings(!1),this._tokensColorTrackerListener=i.xl.onDidChange(e=>{e.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){let t=new gc(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(t)?!1:(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)}onConfigurationChanged(e){return this._updateSettings(!1)}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,n=e.selections.length;t<n;t++)this._cursorPositions[t]=e.selections[t].getPosition();return this._cursorPositions.sort(i.kl.compare),!0}onDecorationsChanged(e){return!!e.affectsOverviewRuler}onFlushed(e){return!0}onScrollChanged(e){return e.scrollHeightChanged}onZonesChanged(e){return!0}onThemeChanged(e){return this._updateSettings(!1)}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render()}_render(){if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(this._settings.backgroundColor?this._settings.backgroundColor:``),this._domNode.setDisplay(`none`);return}this._domNode.setDisplay(`block`);let e=this._settings.canvasWidth,t=this._settings.canvasHeight,n=this._settings.lineHeight,r=this._context.viewLayout,i=t/this._context.viewLayout.getScrollHeight(),a=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme),o=6*this._settings.pixelRatio|0,s=o/2|0,c=this._domNode.domNode.getContext(`2d`);this._settings.backgroundColor===null?c.clearRect(0,0,e,t):(c.fillStyle=this._settings.backgroundColor,c.fillRect(0,0,e,t));let l=this._settings.x,u=this._settings.w;a.sort(Fr.cmp);for(let e of a){let a=e.color,d=e.data;c.fillStyle=a;let f=0,p=0,m=0;for(let e=0,a=d.length/3;e<a;e++){let a=d[3*e],h=d[3*e+1],g=d[3*e+2],_=r.getVerticalOffsetForLineNumber(h)*i|0,v=(r.getVerticalOffsetForLineNumber(g)+n)*i|0;if(v-_<o){let e=(_+v)/2|0;e<s?e=s:e+s>t&&(e=t-s),_=e-s,v=e+s}_>m+1||a!==f?(e!==0&&c.fillRect(l[f],p,u[f],m-p),f=a,p=_,m=v):v>m&&(m=v)}c.fillRect(l[f],p,u[f],m-p)}if(!this._settings.hideCursor&&this._settings.cursorColor){let e=2*this._settings.pixelRatio|0,n=e/2|0,a=this._settings.x[7],o=this._settings.w[7];c.fillStyle=this._settings.cursorColor;let s=-100,l=-100;for(let u=0,d=this._cursorPositions.length;u<d;u++){let d=this._cursorPositions[u],f=r.getVerticalOffsetForLineNumber(d.lineNumber)*i|0;f<n?f=n:f+n>t&&(f=t-n);let p=f-n,m=p+e;p>l+1?(u!==0&&c.fillRect(a,s,o,l-s),s=p,l=m):m>l&&(l=m)}c.fillRect(a,s,o,l-s)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(c.beginPath(),c.lineWidth=1,c.strokeStyle=this._settings.borderColor,c.moveTo(0,0),c.lineTo(0,t),c.stroke(),c.moveTo(0,0),c.lineTo(e,0),c.stroke())}},vc=class{constructor(e,t,n){this._colorZoneBrand=void 0,this.from=e|0,this.to=t|0,this.colorId=n|0}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}},yc=class{constructor(e,t,n,r){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=n,this.color=r,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.color<t.color?-1:1}setColorZone(e){this._colorZone=e}getColorZones(){return this._colorZone}},bc=class{constructor(e){this._getVerticalOffsetForLine=e,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}getId2Color(){return this._id2Color}setZones(e){this._zones=e,this._zones.sort(yc.compare)}setLineHeight(e){return this._lineHeight===e?!1:(this._lineHeight=e,this._colorZonesInvalid=!0,!0)}setPixelRatio(e){this._pixelRatio=e,this._colorZonesInvalid=!0}getDOMWidth(){return this._domWidth}getCanvasWidth(){return this._domWidth*this._pixelRatio}setDOMWidth(e){return this._domWidth===e?!1:(this._domWidth=e,this._colorZonesInvalid=!0,!0)}getDOMHeight(){return this._domHeight}getCanvasHeight(){return this._domHeight*this._pixelRatio}setDOMHeight(e){return this._domHeight===e?!1:(this._domHeight=e,this._colorZonesInvalid=!0,!0)}getOuterHeight(){return this._outerHeight}setOuterHeight(e){return this._outerHeight===e?!1:(this._outerHeight=e,this._colorZonesInvalid=!0,!0)}resolveColorZones(){let e=this._colorZonesInvalid,t=Math.floor(this._lineHeight),n=Math.floor(this.getCanvasHeight()),r=n/Math.floor(this._outerHeight),i=Math.floor(4*this._pixelRatio/2),a=[];for(let o=0,s=this._zones.length;o<s;o++){let s=this._zones[o];if(!e){let e=s.getColorZones();if(e){a.push(e);continue}}let c=this._getVerticalOffsetForLine(s.startLineNumber),l=s.heightInLines===0?this._getVerticalOffsetForLine(s.endLineNumber)+t:c+s.heightInLines*t,u=Math.floor(r*c),d=Math.floor(r*l),f=Math.floor((u+d)/2),p=d-f;p<i&&(p=i),f-p<0&&(f=p),f+p>n&&(f=n-p);let m=s.color,h=this._color2Id[m];h||(h=++this._lastAssignedId,this._color2Id[m]=h,this._id2Color[h]=m);let g=new vc(f-p,f+p,h);s.setColorZone(g),a.push(g)}return this._colorZonesInvalid=!1,a.sort(vc.compare),a}},xc=class extends Gi{constructor(e,t){super(),this._context=e;let n=this._context.configuration.options;this._domNode=k(document.createElement(`canvas`)),this._domNode.setClassName(t),this._domNode.setPosition(`absolute`),this._domNode.setLayerHinting(!0),this._domNode.setContain(`strict`),this._zoneManager=new bc(e=>this._context.viewLayout.getVerticalOffsetForLineNumber(e)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(n.get(60)),this._zoneManager.setPixelRatio(n.get(130)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return e.hasChanged(60)&&(this._zoneManager.setLineHeight(t.get(60)),this._render()),e.hasChanged(130)&&(this._zoneManager.setPixelRatio(t.get(130)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,t=this._zoneManager.setDOMHeight(e.height)||t,t&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;let e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),n=this._zoneManager.resolveColorZones(),r=this._zoneManager.getId2Color(),i=this._domNode.domNode.getContext(`2d`);return i.clearRect(0,0,e,t),n.length>0&&this._renderOneLane(i,n,r,e),!0}_renderOneLane(e,t,n,r){let i=0,a=0,o=0;for(let s of t){let t=s.colorId,c=s.from,l=s.to;t===i?o>=c?o=Math.max(o,l):(e.fillRect(0,a,r,o-a),a=c,o=l):(e.fillRect(0,a,r,o-a),i=t,e.fillStyle=n[i],a=c,o=l)}e.fillRect(0,a,r,o-a)}},Sc=class extends Ki{constructor(e){super(e),this.domNode=k(document.createElement(`div`)),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this.domNode.setClassName(`view-rulers`),this._renderedRulers=[];let t=this._context.configuration.options;this._rulers=t.get(92),this._typicalHalfwidthCharacterWidth=t.get(45).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._rulers=t.get(92),this._typicalHalfwidthCharacterWidth=t.get(45).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){let e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e<t){let{tabSize:n}=this._context.viewModel.model.getOptions(),r=n,i=t-e;for(;i>0;){let e=k(document.createElement(`div`));e.setClassName(`view-ruler`),e.setWidth(r),this.domNode.appendChild(e),this._renderedRulers.push(e),i--}return}let n=e-t;for(;n>0;){let e=this._renderedRulers.pop();this.domNode.removeChild(e),n--}}render(e){this._ensureRulersCount();for(let t=0,n=this._rulers.length;t<n;t++){let n=this._renderedRulers[t],r=this._rulers[t];n.setBoxShadow(r.color?`1px 0 0 0 ${r.color} inset`:``),n.setHeight(Math.min(e.scrollHeight,1e6)),n.setLeft(r.column*this._typicalHalfwidthCharacterWidth)}}};i.ba((e,t)=>{let n=e.getColor(i.Et);n&&t.addRule(`.monaco-editor .view-ruler { box-shadow: 1px 0 0 0 ${n} inset; }`)});var Cc=class extends Ki{constructor(e){super(e),this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1,this._useShadows=this._context.configuration.options.get(93).useShadows,this._domNode=k(document.createElement(`div`)),this._domNode.setAttribute(`role`,`presentation`),this._domNode.setAttribute(`aria-hidden`,`true`)}dispose(){super.dispose()}_updateShouldShow(){let e=this._useShadows&&this._scrollTop>0;return this._shouldShow===e?!1:(this._shouldShow=e,!0)}getDomNode(){return this._domNode}_updateWidth(){let e=this._context.configuration.options.get(132);e.minimap.renderMinimap===0||e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?this._width=e.width:this._width=e.width-e.verticalScrollbarWidth}onConfigurationChanged(e){return this._useShadows=this._context.configuration.options.get(93).useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?`scroll-decoration`:``)}};i.ba((e,t)=>{let n=e.getColor(i.Di);n&&t.addRule(`.monaco-editor .scroll-decoration { box-shadow: ${n} 0 6px 6px -6px inset; }`)});var wc=class{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}},Tc=class{constructor(e,t){this.lineNumber=e,this.ranges=t}};function Ec(e){return new wc(e)}function Dc(e){return new Tc(e.lineNumber,e.ranges.map(Ec))}var Oc=class e extends Ha{constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;let t=this._context.configuration.options;this._lineHeight=t.get(60),this._roundedSelection=t.get(91),this._typicalHalfwidthCharacterWidth=t.get(45).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._lineHeight=t.get(60),this._roundedSelection=t.get(91),this._typicalHalfwidthCharacterWidth=t.get(45).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,n=e.length;t<n;t++)if(e[t].ranges.length>1)return!0;return!1}_enrichVisibleRangesWithStyle(e,t,n){let r=this._typicalHalfwidthCharacterWidth/4,i=null,a=null;if(n&&n.length>0&&t.length>0){let r=t[0].lineNumber;if(r===e.startLineNumber)for(let e=0;!i&&e<n.length;e++)n[e].lineNumber===r&&(i=n[e].ranges[0]);let o=t[t.length-1].lineNumber;if(o===e.endLineNumber)for(let e=n.length-1;!a&&e>=0;e--)n[e].lineNumber===o&&(a=n[e].ranges[0]);i&&!i.startStyle&&(i=null),a&&!a.startStyle&&(a=null)}for(let e=0,n=t.length;e<n;e++){let o=t[e].ranges[0],s=o.left,c=o.left+o.width,l={top:0,bottom:0},u={top:0,bottom:0};if(e>0){let n=t[e-1].ranges[0].left,i=t[e-1].ranges[0].left+t[e-1].ranges[0].width;kc(s-n)<r?l.top=2:s>n&&(l.top=1),kc(c-i)<r?u.top=2:n<c&&c<i&&(u.top=1)}else i&&(l.top=i.startStyle.top,u.top=i.endStyle.top);if(e+1<n){let n=t[e+1].ranges[0].left,i=t[e+1].ranges[0].left+t[e+1].ranges[0].width;kc(s-n)<r?l.bottom=2:n<s&&s<i&&(l.bottom=1),kc(c-i)<r?u.bottom=2:c<i&&(u.bottom=1)}else a&&(l.bottom=a.startStyle.bottom,u.bottom=a.endStyle.bottom);o.startStyle=l,o.endStyle=u}}_getVisibleRangesWithStyle(e,t,n){let r=(t.linesVisibleRangesForRange(e,!0)||[]).map(Dc);return!this._visibleRangesHaveGaps(r)&&this._roundedSelection&&this._enrichVisibleRangesWithStyle(t.visibleRange,r,n),r}_createSelectionPiece(e,t,n,r,i){return`<div class="cslr `+n+`" style="top:`+e.toString()+`px;left:`+r.toString()+`px;width:`+i.toString()+`px;height:`+t+`px;"></div>`}_actualRenderOneSelection(t,n,r,i){if(i.length===0)return;let a=!!i[0].ranges[0].startStyle,o=this._lineHeight.toString(),s=(this._lineHeight-1).toString(),c=i[0].lineNumber,l=i[i.length-1].lineNumber;for(let u=0,d=i.length;u<d;u++){let d=i[u],f=d.lineNumber,p=f-n,m=r&&(f===l||f===c)?s:o,h=r&&f===c?1:0,g=``,_=``;for(let t=0,n=d.ranges.length;t<n;t++){let n=d.ranges[t];if(a){let t=n.startStyle,r=n.endStyle;if(t.top===1||t.bottom===1){g+=this._createSelectionPiece(h,m,e.SELECTION_CLASS_NAME,n.left-e.ROUNDED_PIECE_WIDTH,e.ROUNDED_PIECE_WIDTH);let r=e.EDITOR_BACKGROUND_CLASS_NAME;t.top===1&&(r+=` `+e.SELECTION_TOP_RIGHT),t.bottom===1&&(r+=` `+e.SELECTION_BOTTOM_RIGHT),g+=this._createSelectionPiece(h,m,r,n.left-e.ROUNDED_PIECE_WIDTH,e.ROUNDED_PIECE_WIDTH)}if(r.top===1||r.bottom===1){g+=this._createSelectionPiece(h,m,e.SELECTION_CLASS_NAME,n.left+n.width,e.ROUNDED_PIECE_WIDTH);let t=e.EDITOR_BACKGROUND_CLASS_NAME;r.top===1&&(t+=` `+e.SELECTION_TOP_LEFT),r.bottom===1&&(t+=` `+e.SELECTION_BOTTOM_LEFT),g+=this._createSelectionPiece(h,m,t,n.left+n.width,e.ROUNDED_PIECE_WIDTH)}}let r=e.SELECTION_CLASS_NAME;if(a){let t=n.startStyle,i=n.endStyle;t.top===0&&(r+=` `+e.SELECTION_TOP_LEFT),t.bottom===0&&(r+=` `+e.SELECTION_BOTTOM_LEFT),i.top===0&&(r+=` `+e.SELECTION_TOP_RIGHT),i.bottom===0&&(r+=` `+e.SELECTION_BOTTOM_RIGHT)}_+=this._createSelectionPiece(h,m,r,n.left,n.width)}t[p][0]+=g,t[p][1]+=_}}prepareRender(e){let t=[],n=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber;for(let e=n;e<=r;e++){let r=e-n;t[r]=[``,``]}let i=[];for(let r=0,a=this._selections.length;r<a;r++){let a=this._selections[r];if(a.isEmpty()){i[r]=null;continue}let o=this._getVisibleRangesWithStyle(a,e,this._previousFrameVisibleRangesWithStyle[r]);i[r]=o,this._actualRenderOneSelection(t,n,this._selections.length>1,o)}this._previousFrameVisibleRangesWithStyle=i,this._renderResult=t.map(([e,t])=>e+t)}render(e,t){if(!this._renderResult)return``;let n=t-e;return n<0||n>=this._renderResult.length?``:this._renderResult[n]}};Oc.SELECTION_CLASS_NAME=`selected-text`,Oc.SELECTION_TOP_LEFT=`top-left-radius`,Oc.SELECTION_BOTTOM_LEFT=`bottom-left-radius`,Oc.SELECTION_TOP_RIGHT=`top-right-radius`,Oc.SELECTION_BOTTOM_RIGHT=`bottom-right-radius`,Oc.EDITOR_BACKGROUND_CLASS_NAME=`monaco-editor-background`,Oc.ROUNDED_PIECE_WIDTH=10,i.ba((e,t)=>{let n=e.getColor(i.Kn);n&&t.addRule(`.monaco-editor .focused .selected-text { background-color: ${n}; }`);let r=e.getColor(i.Pn);r&&t.addRule(`.monaco-editor .selected-text { background-color: ${r}; }`);let a=e.getColor(i.qn);a&&!a.isTransparent()&&t.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${a}; }`)});function kc(e){return e<0?-e:e}var Ac=class{constructor(e,t,n,r,i,a){this.top=e,this.left=t,this.width=n,this.height=r,this.textContent=i,this.textContentClassName=a}},jc=class{constructor(e){this._context=e;let t=this._context.configuration.options,n=t.get(45);this._cursorStyle=t.get(24),this._lineHeight=t.get(60),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(27),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=k(document.createElement(`div`)),this._domNode.setClassName(`cursor ${Ga}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),Tt(this._domNode,n),this._domNode.setDisplay(`none`),this._position=new i.kl(1,1),this._lastRenderedContent=``,this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}show(){this._isVisible||=(this._domNode.setVisibility(`inherit`),!0)}hide(){this._isVisible&&=(this._domNode.setVisibility(`hidden`),!1)}onConfigurationChanged(e){let t=this._context.configuration.options,n=t.get(45);return this._cursorStyle=t.get(24),this._lineHeight=t.get(60),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(27),this._typicalHalfwidthCharacterWidth),Tt(this._domNode,n),!0}onCursorPositionChanged(e){return this._position=e,!0}_getGraphemeAwarePosition(){let{lineNumber:e,column:t}=this._position,n=this._context.viewModel.getLineContent(e),[r,a]=i.zc(n,t-1);return[new i.kl(e,r+1),n.substring(r,a)]}_prepareRender(e){let t=``,[n,r]=this._getGraphemeAwarePosition();if(this._cursorStyle===T.Line||this._cursorStyle===T.LineThin){let a=e.visibleRangeForPosition(n);if(!a||a.outsideRenderedLine)return null;let o;this._cursorStyle===T.Line?(o=i.eo(this._lineCursorWidth>0?this._lineCursorWidth:2),o>2&&(t=r)):o=i.eo(1);let s=a.left;return o>=2&&s>=1&&--s,new Ac(e.getVerticalOffsetForLineNumber(n.lineNumber)-e.bigNumbersDelta,s,o,this._lineHeight,t,``)}let a=e.linesVisibleRangesForRange(new i.Ol(n.lineNumber,n.column,n.lineNumber,n.column+r.length),!1);if(!a||a.length===0)return null;let o=a[0];if(o.outsideRenderedLine||o.ranges.length===0)return null;let s=o.ranges[0],c=r===` `||s.width<1?this._typicalHalfwidthCharacterWidth:s.width,l=``;if(this._cursorStyle===T.Block){let e=this._context.viewModel.getViewLineData(n.lineNumber);t=r;let i=e.tokens.findTokenIndexAtOffset(n.column-1);l=e.tokens.getClassName(i)}let u=e.getVerticalOffsetForLineNumber(n.lineNumber)-e.bigNumbersDelta,d=this._lineHeight;return(this._cursorStyle===T.Underline||this._cursorStyle===T.UnderlineThin)&&(u+=this._lineHeight-2,d=2),new Ac(u,s.left,c,d,t,l)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${Ga} ${this._renderData.textContentClassName}`),this._domNode.setDisplay(`block`),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay(`none`),null)}},Mc=class e extends Ki{constructor(e){super(e);let t=this._context.configuration.options;this._readOnly=t.get(82),this._cursorBlinking=t.get(22),this._cursorStyle=t.get(24),this._cursorSmoothCaretAnimation=t.get(23),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new jc(this._context),this._secondaryCursors=[],this._renderData=[],this._domNode=k(document.createElement(`div`)),this._domNode.setAttribute(`role`,`presentation`),this._domNode.setAttribute(`aria-hidden`,`true`),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new i.xs,this._cursorFlatBlinkInterval=new i.gs,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){let t=this._context.configuration.options;this._readOnly=t.get(82),this._cursorBlinking=t.get(22),this._cursorStyle=t.get(24),this._cursorSmoothCaretAnimation=t.get(23),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let t=0,n=this._secondaryCursors.length;t<n;t++)this._secondaryCursors[t].onConfigurationChanged(e);return!0}_onCursorPositionChanged(e,t){if(this._primaryCursor.onCursorPositionChanged(e),this._updateBlinking(),this._secondaryCursors.length<t.length){let e=t.length-this._secondaryCursors.length;for(let t=0;t<e;t++){let e=new jc(this._context);this._domNode.domNode.insertBefore(e.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(e)}}else if(this._secondaryCursors.length>t.length){let e=this._secondaryCursors.length-t.length;for(let t=0;t<e;t++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(let e=0;e<t.length;e++)this._secondaryCursors[e].onCursorPositionChanged(t[e])}onCursorStateChanged(e){let t=[];for(let n=0,r=e.selections.length;n<r;n++)t[n]=e.selections[n].getPosition();this._onCursorPositionChanged(t[0],t.slice(1));let n=e.selections[0].isEmpty();return this._selectionIsEmpty!==n&&(this._selectionIsEmpty=n,this._updateDomClassName()),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onFocusChanged(e){return this._editorHasFocus=e.isFocused,this._updateBlinking(),!1}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return!0}onTokensChanged(e){let t=t=>{for(let n=0,r=e.ranges.length;n<r;n++)if(e.ranges[n].fromLineNumber<=t.lineNumber&&t.lineNumber<=e.ranges[n].toLineNumber)return!0;return!1};if(t(this._primaryCursor.getPosition()))return!0;for(let e of this._secondaryCursors)if(t(e.getPosition()))return!0;return!1}onZonesChanged(e){return!0}_getCursorBlinking(){return this._isComposingInput||!this._editorHasFocus?0:this._readOnly?5:this._cursorBlinking}_updateBlinking(){this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();let t=this._getCursorBlinking(),n=t===0,r=t===5;n?this._hide():this._show(),this._blinkingEnabled=!1,this._updateDomClassName(),!n&&!r&&(t===1?this._cursorFlatBlinkInterval.cancelAndSet(()=>{this._isVisible?this._hide():this._show()},e.BLINK_INTERVAL):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},e.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e=`cursors-layer`;switch(this._selectionIsEmpty||(e+=` has-selection`),this._cursorStyle){case T.Line:e+=` cursor-line-style`;break;case T.Block:e+=` cursor-block-style`;break;case T.Underline:e+=` cursor-underline-style`;break;case T.LineThin:e+=` cursor-line-thin-style`;break;case T.BlockOutline:e+=` cursor-block-outline-style`;break;case T.UnderlineThin:e+=` cursor-underline-thin-style`;break;default:e+=` cursor-line-style`}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=` cursor-blink`;break;case 2:e+=` cursor-smooth`;break;case 3:e+=` cursor-phase`;break;case 4:e+=` cursor-expand`;break;case 5:e+=` cursor-solid`;break;default:e+=` cursor-solid`}else e+=` cursor-solid`;return this._cursorSmoothCaretAnimation&&(e+=` cursor-smooth-caret-animation`),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].show();this._isVisible=!0}_hide(){this._primaryCursor.hide();for(let e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].hide();this._isVisible=!1}prepareRender(e){this._primaryCursor.prepareRender(e);for(let t=0,n=this._secondaryCursors.length;t<n;t++)this._secondaryCursors[t].prepareRender(e)}render(e){let t=[],n=0,r=this._primaryCursor.render(e);r&&(t[n++]=r);for(let r=0,i=this._secondaryCursors.length;r<i;r++){let i=this._secondaryCursors[r].render(e);i&&(t[n++]=i)}this._renderData=t}getLastRenderData(){return this._renderData}};Mc.BLINK_INTERVAL=500,i.ba((e,t)=>{let n=e.getColor(i.yt);if(n){let r=e.getColor(i.vt);r||=n.opposite(),t.addRule(`.monaco-editor .inputarea.ime-input { caret-color: ${n}; }`),t.addRule(`.monaco-editor .cursors-layer .cursor { background-color: ${n}; border-color: ${n}; color: ${r}; }`),i.wa(e.type)&&t.addRule(`.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ${r}; border-right: 1px solid ${r}; }`)}});var Nc=()=>{throw Error(`Invalid change accessor`)},Pc=class extends Ki{constructor(e){super(e);let t=this._context.configuration.options,n=t.get(132);this._lineHeight=t.get(60),this._contentWidth=n.contentWidth,this._contentLeft=n.contentLeft,this.domNode=k(document.createElement(`div`)),this.domNode.setClassName(`view-zones`),this.domNode.setPosition(`absolute`),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this.marginDomNode=k(document.createElement(`div`)),this.marginDomNode.setClassName(`margin-view-zones`),this.marginDomNode.setPosition(`absolute`),this.marginDomNode.setAttribute(`role`,`presentation`),this.marginDomNode.setAttribute(`aria-hidden`,`true`),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){let e=this._context.viewLayout.getWhitespaces(),t=new Map;for(let n of e)t.set(n.id,n);let n=!1;return this._context.viewModel.changeWhitespace(e=>{let r=Object.keys(this._zones);for(let i=0,a=r.length;i<a;i++){let a=r[i],o=this._zones[a],s=this._computeWhitespaceProps(o.delegate);o.isInHiddenArea=s.isInHiddenArea;let c=t.get(a);c&&(c.afterLineNumber!==s.afterViewLineNumber||c.height!==s.heightInPx)&&(e.changeOneWhitespace(a,s.afterViewLineNumber,s.heightInPx),this._safeCallOnComputedHeight(o.delegate,s.heightInPx),n=!0)}}),n}onConfigurationChanged(e){let t=this._context.configuration.options,n=t.get(132);return this._lineHeight=t.get(60),this._contentWidth=n.contentWidth,this._contentLeft=n.contentLeft,e.hasChanged(60)&&this._recomputeWhitespacesProps(),!0}onLineMappingChanged(e){return this._recomputeWhitespacesProps()}onLinesDeleted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}onLinesInserted(e){return!0}_getZoneOrdinal(e){return e.afterColumn===void 0?1e4:e.afterColumn}_computeWhitespaceProps(e){if(e.afterLineNumber===0)return{isInHiddenArea:!1,afterViewLineNumber:0,heightInPx:this._heightInPixels(e),minWidthInPx:this._minWidthInPixels(e)};let t;if(e.afterColumn!==void 0)t=this._context.viewModel.model.validatePosition({lineNumber:e.afterLineNumber,column:e.afterColumn});else{let n=this._context.viewModel.model.validatePosition({lineNumber:e.afterLineNumber,column:1}).lineNumber;t=new i.kl(n,this._context.viewModel.model.getLineMaxColumn(n))}let n;n=t.column===this._context.viewModel.model.getLineMaxColumn(t.lineNumber)?this._context.viewModel.model.validatePosition({lineNumber:t.lineNumber+1,column:1}):this._context.viewModel.model.validatePosition({lineNumber:t.lineNumber,column:t.column+1});let r=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t,e.afterColumnAffinity),a=this._context.viewModel.coordinatesConverter.modelPositionIsVisible(n);return{isInHiddenArea:!a,afterViewLineNumber:r.lineNumber,heightInPx:a?this._heightInPixels(e):0,minWidthInPx:this._minWidthInPixels(e)}}changeViewZones(e){let t=!1;return this._context.viewModel.changeWhitespace(n=>{let r={addZone:e=>(t=!0,this._addZone(n,e)),removeZone:e=>{e&&(t=this._removeZone(n,e)||t)},layoutZone:e=>{e&&(t=this._layoutZone(n,e)||t)}};Fc(e,r),r.addZone=Nc,r.removeZone=Nc,r.layoutZone=Nc}),t}_addZone(e,t){let n=this._computeWhitespaceProps(t),r={whitespaceId:e.insertWhitespace(n.afterViewLineNumber,this._getZoneOrdinal(t),n.heightInPx,n.minWidthInPx),delegate:t,isInHiddenArea:n.isInHiddenArea,isVisible:!1,domNode:k(t.domNode),marginDomNode:t.marginDomNode?k(t.marginDomNode):null};return this._safeCallOnComputedHeight(r.delegate,n.heightInPx),r.domNode.setPosition(`absolute`),r.domNode.domNode.style.width=`100%`,r.domNode.setDisplay(`none`),r.domNode.setAttribute(`monaco-view-zone`,r.whitespaceId),this.domNode.appendChild(r.domNode),r.marginDomNode&&(r.marginDomNode.setPosition(`absolute`),r.marginDomNode.domNode.style.width=`100%`,r.marginDomNode.setDisplay(`none`),r.marginDomNode.setAttribute(`monaco-view-zone`,r.whitespaceId),this.marginDomNode.appendChild(r.marginDomNode)),this._zones[r.whitespaceId]=r,this.setShouldRender(),r.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){let n=this._zones[t];return delete this._zones[t],e.removeWhitespace(n.whitespaceId),n.domNode.removeAttribute(`monaco-visible-view-zone`),n.domNode.removeAttribute(`monaco-view-zone`),n.domNode.domNode.parentNode.removeChild(n.domNode.domNode),n.marginDomNode&&(n.marginDomNode.removeAttribute(`monaco-visible-view-zone`),n.marginDomNode.removeAttribute(`monaco-view-zone`),n.marginDomNode.domNode.parentNode.removeChild(n.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){let n=this._zones[t],r=this._computeWhitespaceProps(n.delegate);return n.isInHiddenArea=r.isInHiddenArea,e.changeOneWhitespace(n.whitespaceId,r.afterViewLineNumber,r.heightInPx),this._safeCallOnComputedHeight(n.delegate,r.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){return this._zones.hasOwnProperty(e)?!!this._zones[e].delegate.suppressMouseDown:!1}_heightInPixels(e){return typeof e.heightInPx==`number`?e.heightInPx:typeof e.heightInLines==`number`?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return typeof e.minWidthInPx==`number`?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if(typeof e.onComputedHeight==`function`)try{e.onComputedHeight(t)}catch(e){i.fu(e)}}_safeCallOnDomNodeTop(e,t){if(typeof e.onDomNodeTop==`function`)try{e.onDomNodeTop(t)}catch(e){i.fu(e)}}prepareRender(e){}render(e){let t=e.viewportData.whitespaceViewportData,n={},r=!1;for(let e of t)this._zones[e.id].isInHiddenArea||(n[e.id]=e,r=!0);let i=Object.keys(this._zones);for(let t=0,r=i.length;t<r;t++){let r=i[t],a=this._zones[r],o=0,s=0,c=`none`;n.hasOwnProperty(r)?(o=n[r].verticalOffset-e.bigNumbersDelta,s=n[r].height,c=`block`,a.isVisible||=(a.domNode.setAttribute(`monaco-visible-view-zone`,`true`),!0),this._safeCallOnDomNodeTop(a.delegate,e.getScrolledTopFromAbsoluteTop(n[r].verticalOffset))):(a.isVisible&&=(a.domNode.removeAttribute(`monaco-visible-view-zone`),!1),this._safeCallOnDomNodeTop(a.delegate,e.getScrolledTopFromAbsoluteTop(-1e6))),a.domNode.setTop(o),a.domNode.setHeight(s),a.domNode.setDisplay(c),a.marginDomNode&&(a.marginDomNode.setTop(o),a.marginDomNode.setHeight(s),a.marginDomNode.setDisplay(c))}r&&(this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft))}};function Fc(e,t){try{return e(t)}catch(e){i.fu(e)}}var Ic=class{constructor(e){this._theme=e}get type(){return this._theme.type}get value(){return this._theme}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}},Lc=class{constructor(e,t,n){this.configuration=e,this.theme=new Ic(t),this.viewModel=n,this.viewLayout=n.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}},Rc=class{constructor(e,t,n,r){this.selections=e,this.startLineNumber=t.startLineNumber|0,this.endLineNumber=t.endLineNumber|0,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=t.bigNumbersDelta|0,this.whitespaceViewportData=n,this._model=r,this.visibleRange=new i.Ol(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}},zc=class extends Ki{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.domNode=k(document.createElement(`div`)),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this.domNode.setClassName(`blockDecorations-container`),this.update()}update(){let e=!1,t=this._context.configuration.options.get(132),n=t.contentWidth-t.verticalScrollbarWidth;return this.contentWidth!==n&&(this.contentWidth=n,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){let t=0,n=e.getDecorationsInViewport();for(let r of n){if(!r.options.blockClassName)continue;let n=this.blocks[t];n||(n=this.blocks[t]=k(document.createElement(`div`)),this.domNode.appendChild(n));let i=e.getVerticalOffsetForLineNumber(r.range.startLineNumber),a=e.getVerticalOffsetForLineNumber(r.range.endLineNumber+1);n.setClassName(`blockDecorations-block `+r.options.blockClassName),n.setLeft(e.scrollLeft),n.setWidth(this.contentWidth),n.setTop(i),n.setHeight(a-i),t++}for(let e=t;e<this.blocks.length;e++)this.blocks[e].domNode.remove();this.blocks.length=t}},Bc=class extends Gi{constructor(e,t,n,r,a,o){super(),this._selections=[new i.Dl(1,1,1,1)],this._renderAnimationFrame=null;let s=new Jo(t,r,a,e);this._context=new Lc(t,n,r),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=new Ja(this._context,s,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=k(document.createElement(`div`)),this._linesContent.setClassName(`lines-content monaco-editor-background`),this._linesContent.setPosition(`absolute`),this.domNode=k(document.createElement(`div`)),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute(`role`,`code`),this._overflowGuardContainer=k(document.createElement(`div`)),qi.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName(`overflow-guard`),this._scrollbar=new Ls(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new Ks(this._context,this._linesContent),this._viewZones=new Pc(this._context),this._viewParts.push(this._viewZones);let c=new _c(this._context);this._viewParts.push(c);let l=new Cc(this._context);this._viewParts.push(l);let u=new ts(this._context);this._viewParts.push(u),u.addDynamicOverlay(new cs(this._context)),u.addDynamicOverlay(new Oc(this._context)),u.addDynamicOverlay(new Vs(this._context)),u.addDynamicOverlay(new us(this._context));let d=new ns(this._context);this._viewParts.push(d),d.addDynamicOverlay(new ls(this._context)),d.addDynamicOverlay(new Bs(this._context)),d.addDynamicOverlay(new Js(this._context)),d.addDynamicOverlay(new qs(this._context)),d.addDynamicOverlay(new Ua(this._context));let f=new Wa(this._context);f.getDomNode().appendChild(this._viewZones.marginDomNode),f.getDomNode().appendChild(d.getDomNode()),this._viewParts.push(f),this._contentWidgets=new is(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new Mc(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new hc(this._context),this._viewParts.push(this._overlayWidgets);let p=new Sc(this._context);this._viewParts.push(p);let m=new zc(this._context);this._viewParts.push(m);let h=new fc(this._context);if(this._viewParts.push(h),c){let e=this._scrollbar.getOverviewRulerLayoutInfo();e.parent.insertBefore(c.getDomNode(),e.insertBefore)}this._linesContent.appendChild(u.getDomNode()),this._linesContent.appendChild(p.domNode),this._linesContent.appendChild(m.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(f.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(l.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(h.getDomNode()),this.domNode.appendChild(this._overflowGuardContainer),o?o.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode):this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this._applyLayout(),this._pointerHandler=this._register(new Va(this._context,s,this._createPointerHandlerHelper()))}_flushAccumulatedAndRenderNow(){this._renderNow()}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>new _a(this._viewCursors.getLastRenderData()||[],this._textAreaHandler.getLastRenderData()),shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new i.kl(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){let e=this._context.configuration.options.get(132);this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this._overflowGuardContainer.setWidth(e.width),this._overflowGuardContainer.setHeight(e.height),this._linesContent.setWidth(1e6),this._linesContent.setHeight(1e6)}_getEditorClassName(){let e=this._textAreaHandler.isFocused()?` focused`:``;return this._context.configuration.options.get(129)+` `+i.ya(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){this._renderAnimationFrame!==null&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(let e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){this._renderAnimationFrame===null&&(this._renderAnimationFrame=i.Oo(this._onRenderScheduled.bind(this),100))}_onRenderScheduled(){this._renderAnimationFrame=null,this._flushAccumulatedAndRenderNow()}_renderNow(){Vc(()=>this._actualRender())}_getViewPartsToRender(){let e=[],t=0;for(let n of this._viewParts)n.shouldRender()&&(e[t++]=n);return e}_actualRender(){if(!i.So(this.domNode.domNode))return;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&e.length===0)return;let t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);let n=new Rc(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(n),this._viewLines.shouldRender()&&(this._viewLines.renderText(n),this._viewLines.onDidRender(),e=this._getViewPartsToRender());let r=new Yi(this._context.viewLayout,n,this._viewLines);for(let t of e)t.prepareRender(r);for(let t of e)t.render(r),t.onDidRender()}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop},1),this._context.viewModel.tokenizeViewport(),this._renderNow(),this._viewLines.updateLineWidths(),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},1)}getOffsetForColumn(e,t){let n=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),r=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n);this._flushAccumulatedAndRenderNow();let a=this._viewLines.visibleRangeForPosition(new i.kl(r.lineNumber,r.column));return a?a.left:-1}getTargetAtClientPoint(e,t){let n=this._pointerHandler.getTargetAtClientPoint(e,t);return n?Yo.convertViewToModelMouseTarget(n,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new xc(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t){this._viewLines.forceShouldRender();for(let e of this._viewParts)e.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){let t=e.position&&e.position.range||null;if(t===null){let n=e.position?e.position.position:null;n!==null&&(t=new i.Ol(n.lineNumber,n.column,n.lineNumber,n.column))}let n=e.position?e.position.preference:null;this._contentWidgets.setWidgetPosition(e.widget,t,n,e.position?.positionAffinity??null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){let t=e.position?e.position.preference:null;this._overlayWidgets.setWidgetPosition(e.widget,t)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}};function Vc(e){try{return e()}catch(e){i.fu(e)}}var Hc=class e{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new no(new i.Ol(1,1,1,1),0,new i.kl(1,1),0),new no(new i.Ol(1,1,1,1),0,new i.kl(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new F(this.modelState,this.viewState)}readSelectionFromMarkers(e){let t=e.model._getTrackedRange(this._selTrackedRange);return i.Dl.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,n){this._setState(e,t,n)}static _validatePositionWithCache(e,t,n,r){return t.equals(n)?r:e.normalizePosition(t,2)}static _validateViewState(e,t){let n=t.position,r=t.selectionStart.getStartPosition(),a=t.selectionStart.getEndPosition(),o=e.normalizePosition(n,2),s=this._validatePositionWithCache(e,r,n,o),c=this._validatePositionWithCache(e,a,r,s);return n.equals(o)&&r.equals(s)&&a.equals(c)?t:new no(i.Ol.fromPositions(s,c),t.selectionStartLeftoverVisibleColumns+r.column-s.column,o,t.leftoverVisibleColumns+n.column-o.column)}_setState(t,n,r){if(r&&=e._validateViewState(t.viewModel,r),n){let e=t.model.validateRange(n.selectionStart),r=n.selectionStart.equalsRange(e)?n.selectionStartLeftoverVisibleColumns:0,i=t.model.validatePosition(n.position);n=new no(e,r,i,n.position.equals(i)?n.leftoverVisibleColumns:0)}else{if(!r)return;let e=t.model.validateRange(t.coordinatesConverter.convertViewRangeToModelRange(r.selectionStart)),i=t.model.validatePosition(t.coordinatesConverter.convertViewPositionToModelPosition(r.position));n=new no(e,r.selectionStartLeftoverVisibleColumns,i,r.leftoverVisibleColumns)}if(r){let e=t.coordinatesConverter.validateViewRange(r.selectionStart,n.selectionStart),i=t.coordinatesConverter.validateViewPosition(r.position,n.position);r=new no(e,n.selectionStartLeftoverVisibleColumns,i,n.leftoverVisibleColumns)}else{let e=t.coordinatesConverter.convertModelPositionToViewPosition(new i.kl(n.selectionStart.startLineNumber,n.selectionStart.startColumn)),a=t.coordinatesConverter.convertModelPositionToViewPosition(new i.kl(n.selectionStart.endLineNumber,n.selectionStart.endColumn)),o=new i.Ol(e.lineNumber,e.column,a.lineNumber,a.column),s=t.coordinatesConverter.convertModelPositionToViewPosition(n.position);r=new no(o,n.selectionStartLeftoverVisibleColumns,s,n.leftoverVisibleColumns)}this.modelState=n,this.viewState=r,this._updateTrackedRange(t)}},Uc=class{constructor(e){this.context=e,this.cursors=[new Hc(e)],this.lastAddedCursorIndex=0}dispose(){for(let e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(let e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(let e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(let e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(e=>e.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(e=>e.asCursorState())}getViewPositions(){return this.cursors.map(e=>e.viewState.position)}getTopMostViewPosition(){return i.Yu(this.cursors,i.Hu(e=>e.viewState.position,i.kl.compare)).viewState.position}getBottomMostViewPosition(){return i.qu(this.cursors,i.Hu(e=>e.viewState.position,i.kl.compare)).viewState.position}getSelections(){return this.cursors.map(e=>e.modelState.selection)}getViewSelections(){return this.cursors.map(e=>e.viewState.selection)}setSelections(e){this.setStates(F.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){e!==null&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){let t=this.cursors.length-1,n=e.length;if(t<n){let e=n-t;for(let t=0;t<e;t++)this._addSecondaryCursor()}else if(t>n){let e=t-n;for(let t=0;t<e;t++)this._removeSecondaryCursor(this.cursors.length-2)}for(let t=0;t<n;t++)this.cursors[t+1].setState(this.context,e[t].modelState,e[t].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new Hc(this.context)),this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){return this.cursors.length===1||this.lastAddedCursorIndex===0?0:this.lastAddedCursorIndex}_removeSecondaryCursor(e){this.lastAddedCursorIndex>=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(this.cursors.length===1)return;let e=this.cursors.slice(0),t=[];for(let n=0,r=e.length;n<r;n++)t.push({index:n,selection:e[n].modelState.selection});t.sort(i.Hu(e=>e.selection,i.Ol.compareRangesUsingStarts));for(let n=0;n<t.length-1;n++){let r=t[n],a=t[n+1],o=r.selection,s=a.selection;if(!this.context.cursorConfig.multiCursorMergeOverlapping)continue;let c;if(c=s.isEmpty()||o.isEmpty()?s.getStartPosition().isBeforeOrEqual(o.getEndPosition()):s.getStartPosition().isBefore(o.getEndPosition()),c){let o=r.index<a.index?n:n+1,s=r.index<a.index?n+1:n,c=t[s].index,l=t[o].index,u=t[s].selection,d=t[o].selection;if(!u.equalsSelection(d)){let n=u.plusRange(d),r=u.selectionStartLineNumber===u.startLineNumber&&u.selectionStartColumn===u.startColumn,a=d.selectionStartLineNumber===d.startLineNumber&&d.selectionStartColumn===d.startColumn,s;c===this.lastAddedCursorIndex?(s=r,this.lastAddedCursorIndex=l):s=a;let f;f=s?new i.Dl(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn):new i.Dl(n.endLineNumber,n.endColumn,n.startLineNumber,n.startColumn),t[o].selection=f;let p=F.fromModelSelection(f);e[l].setState(this.context,p.modelState,p.viewState)}for(let e of t)e.index>c&&e.index--;e.splice(c,1),t.splice(s,1),this._removeSecondaryCursor(c-1),n--}}}},Wc=class{constructor(e,t,n,r){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=n,this.cursorConfig=r}},Gc=class{constructor(){this.type=0}},Kc=class{constructor(){this.type=1}},qc=class{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}},Jc=class{constructor(e,t){this.type=3,this.selections=e,this.modelSelections=t}},Yc=class{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0)}},Xc=class{constructor(){this.type=5}},Zc=class{constructor(e){this.type=6,this.isFocused=e}},Qc=class{constructor(){this.type=7}},$c=class{constructor(){this.type=8}},el=class{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}},tl=class{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}},nl=class{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}},rl=class{constructor(e,t,n,r,i,a,o){this.source=e,this.minimalReveal=t,this.range=n,this.selections=r,this.verticalType=i,this.revealHorizontal=a,this.scrollType=o,this.type=12}},il=class{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}},al=class{constructor(e){this.theme=e,this.type=14}},ol=class{constructor(e){this.type=15,this.ranges=e}},sl=class{constructor(){this.type=16}},cl=class{constructor(){this.type=17}},ll=class extends i.Xl{constructor(){super(),this._onEvent=this._register(new i.Ul),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,n=this._outgoingEvents.length;t<n;t++){let n=this._outgoingEvents[t].kind===e.kind?this._outgoingEvents[t].attemptToMerge(e):null;if(n){this._outgoingEvents[t]=n;return}}this._outgoingEvents.push(e)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;let e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let e=0,t=this._eventHandlers.length;e<t;e++)this._eventHandlers[e];this._eventHandlers.push(e)}removeViewEventHandler(e){for(let t=0;t<this._eventHandlers.length;t++)if(this._eventHandlers[t]===e){this._eventHandlers.splice(t,1);break}}beginEmitViewEvents(){return this._collectorCnt++,this._collectorCnt===1&&(this._collector=new ul),this._collector}endEmitViewEvents(){if(this._collectorCnt--,this._collectorCnt===0){let e=this._collector.outgoingEvents,t=this._collector.viewEvents;this._collector=null;for(let t of e)this._addOutgoingEvent(t);t.length>0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){let e=this._viewEventQueue;this._viewEventQueue=null;let t=this._eventHandlers.slice(0);for(let n of t)n.handleEvents(e)}}},ul=class{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}},dl=class e{constructor(e,t,n,r){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=n,this.contentHeight=r,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(t){return t.kind===this.kind?new e(this._oldContentWidth,this._oldContentHeight,t.contentWidth,t.contentHeight):null}},fl=class e{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(t){return t.kind===this.kind?new e(this.oldHasFocus,t.hasFocus):null}},pl=class e{constructor(e,t,n,r,i,a,o,s){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=n,this._oldScrollTop=r,this.scrollWidth=i,this.scrollLeft=a,this.scrollHeight=o,this.scrollTop=s,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(t){return t.kind===this.kind?new e(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,t.scrollWidth,t.scrollLeft,t.scrollHeight,t.scrollTop):null}},ml=class{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},hl=class e{constructor(e,t,n,r,i,a,o){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=n,this.modelVersionId=r,this.source=i,this.reason=a,this.reachedMaxCursorCount=o}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;let n=e.length;if(n!==t.length)return!1;for(let r=0;r<n;r++)if(!e[r].equalsSelection(t[r]))return!1;return!0}isNoOp(){return e._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(t){return t.kind===this.kind?new e(this.oldSelections,t.selections,this.oldModelVersionId,t.modelVersionId,t.source,t.reason,this.reachedMaxCursorCount||t.reachedMaxCursorCount):null}},gl=class{constructor(){this.kind=5}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},_l=class{constructor(e){this.event=e,this.kind=7}isNoOp(){return!1}attemptToMerge(e){return null}},vl=class{constructor(e){this.event=e,this.kind=8}isNoOp(){return!1}attemptToMerge(e){return null}},yl=class{constructor(e){this.event=e,this.kind=9}isNoOp(){return!1}attemptToMerge(e){return null}},bl=class{constructor(e){this.event=e,this.kind=10}isNoOp(){return!1}attemptToMerge(e){return null}},xl=class{constructor(e){this.event=e,this.kind=11}isNoOp(){return!1}attemptToMerge(e){return null}},Sl=class{constructor(e){this.event=e,this.kind=12}isNoOp(){return!1}attemptToMerge(e){return null}},Cl=class e extends i.Xl{constructor(e,t,n,r){super(),this._model=e,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=t,this._coordinatesConverter=n,this.context=new Wc(this._model,this._viewModel,this._coordinatesConverter,r),this._cursors=new Uc(this.context),this._hasFocus=!1,this._isHandling=!1,this._compositionState=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=i.nu(this._autoClosedActions),super.dispose()}updateConfiguration(e){this.context=new Wc(this._model,this._viewModel,this._coordinatesConverter,e),this._cursors.updateContext(this.context)}onLineMappingChanged(e){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(e,`viewModel`,0,this.getCursorStates())}setHasFocus(e){this._hasFocus=e}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){let e=this._cursors.getSelections();for(let t=0;t<this._autoClosedActions.length;t++){let n=this._autoClosedActions[t];n.isValid(e)||(n.dispose(),this._autoClosedActions.splice(t,1),t--)}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(t,n,r,i){let a=!1;i!==null&&i.length>e.MAX_CURSOR_COUNT&&(i=i.slice(0,e.MAX_CURSOR_COUNT),a=!0);let o=wl.from(this._model,this);return this._cursors.setStates(i),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,r,o,a)}setCursorColumnSelectData(e){this._columnSelectData=e}revealPrimary(e,t,n,r,a,o){let s=this._cursors.getViewPositions(),c=null,l=null;s.length>1?l=this._cursors.getViewSelections():c=i.Ol.fromPositions(s[0],s[0]),e.emitViewEvent(new rl(t,n,c,l,r,a,o))}saveState(){let e=[],t=this._cursors.getSelections();for(let n=0,r=t.length;n<r;n++){let r=t[n];e.push({inSelectionMode:!r.isEmpty(),selectionStart:{lineNumber:r.selectionStartLineNumber,column:r.selectionStartColumn},position:{lineNumber:r.positionLineNumber,column:r.positionColumn}})}return e}restoreState(e,t){let n=[];for(let e=0,r=t.length;e<r;e++){let r=t[e],i=1,a=1;r.position&&r.position.lineNumber&&(i=r.position.lineNumber),r.position&&r.position.column&&(a=r.position.column);let o=i,s=a;r.selectionStart&&r.selectionStart.lineNumber&&(o=r.selectionStart.lineNumber),r.selectionStart&&r.selectionStart.column&&(s=r.selectionStart.column),n.push({selectionStartLineNumber:o,selectionStartColumn:s,positionLineNumber:i,positionColumn:a})}this.setStates(e,`restoreState`,0,F.fromModelSelections(n)),this.revealPrimary(e,`restoreState`,!1,0,!0,1)}onModelContentChanged(e,t){if(t instanceof i.U){if(this._isHandling)return;this._isHandling=!0;try{this.setStates(e,`modelChange`,0,this.getCursorStates())}finally{this._isHandling=!1}}else{let n=t.rawContentChangedEvent;if(this._knownModelVersionId=n.versionId,this._isHandling)return;let r=n.containsEvent(1);if(this._prevEditOperationType=0,r)this._cursors.dispose(),this._cursors=new Uc(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,`model`,1,null,!1);else if(this._hasFocus&&n.resultingSelection&&n.resultingSelection.length>0){let t=F.fromModelSelections(n.resultingSelection);this.setStates(e,`modelChange`,n.isUndoing?5:n.isRedoing?6:2,t)&&this.revealPrimary(e,`modelChange`,!1,0,!0,0)}else{let t=this._cursors.readSelectionFromMarkers();this.setStates(e,`modelChange`,2,F.fromModelSelections(t))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;let e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),n=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:n.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,n)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,n,r){this.setStates(e,t,r,F.fromModelSelections(n))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){let n=[],r=[];for(let i=0,a=e.length;i<a;i++)n.push({range:e[i],options:{description:`auto-closed-character`,inlineClassName:`auto-closed-character`,stickiness:1}}),r.push({range:t[i],options:{description:`auto-closed-enclosing`,stickiness:1}});let i=this._model.deltaDecorations([],n),a=this._model.deltaDecorations([],r);this._autoClosedActions.push(new Tl(this._model,i,a))}_executeEditOperation(e){if(!e)return;e.shouldPushStackElementBefore&&this._model.pushStackElement();let t=El.executeCommands(this._model,this._cursors.getSelections(),e.commands);if(t){this._interpretCommandResult(t);let n=[],r=[];for(let t=0;t<e.commands.length;t++){let i=e.commands[t];i instanceof No&&i.enclosingRange&&i.closeCharacterRange&&(n.push(i.closeCharacterRange),r.push(i.enclosingRange))}n.length>0&&this._pushAutoClosedAction(n,r),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){(!e||e.length===0)&&(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,n,r,i){let a=wl.from(this._model,this);if(a.equals(r))return!1;let o=this._cursors.getSelections(),s=this._cursors.getViewSelections();if(e.emitViewEvent(new Jc(s,o)),!r||r.cursorState.length!==a.cursorState.length||a.cursorState.some((e,t)=>!e.modelState.equals(r.cursorState[t].modelState))){let s=r?r.cursorState.map(e=>e.modelState.selection):null,c=r?r.modelVersionId:0;e.emitOutgoingEvent(new hl(s,o,c,a.modelVersionId,t||`keyboard`,n,i))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r.text||r.text.indexOf(`
|
|
69
|
+
`)>=0)return null;let i=r.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!i)return null;let a=i[1],o=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!o||o.length!==1)return null;let s=o[0].open,c=r.text.length-i[2].length-1,l=r.text.lastIndexOf(s,c-1);if(l===-1)return null;t.push([l,c])}return t}executeEdits(e,t,n,r){let a=null;t===`snippet`&&(a=this._findAutoClosingPairs(n)),a&&(n[0]._isTracked=!0);let o=[],s=[],c=this._model.pushEditOperations(this.getSelections(),n,e=>{if(a)for(let t=0,n=a.length;t<n;t++){let[n,r]=a[t],c=e[t],l=c.range.startLineNumber,u=c.range.startColumn-1+n,d=c.range.startColumn-1+r;o.push(new i.Ol(l,d+1,l,d+2)),s.push(new i.Ol(l,u+1,l,d+2))}let t=r(e);return t&&(this._isHandling=!0),t});c&&(this._isHandling=!1,this.setSelections(e,t,c,0)),o.length>0&&this._pushAutoClosedAction(o,s)}_executeEdit(e,t,n,r=0){if(this.context.cursorConfig.readOnly)return;let a=wl.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){i.fu(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,r,a,!1)&&this.revealPrimary(t,n,!1,0,!0,0)}getAutoClosedCharacters(){return Tl.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new Ol(this._model,this.getSelections())}endComposition(e,t){let n=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t===`keyboard`&&this._executeEditOperation(Mo.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,n,this.getSelections(),this.getAutoClosedCharacters()))},e,t)}type(e,t,n){this._executeEdit(()=>{if(n===`keyboard`){let e=t.length,n=0;for(;n<e;){let e=i.$c(t,n),r=t.substr(n,e);this._executeEditOperation(Mo.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),r)),n+=e}}else this._executeEditOperation(Mo.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t))},e,n)}compositionType(e,t,n,r,a,o){if(t.length===0&&n===0&&r===0){if(a!==0){let t=this.getSelections().map(e=>{let t=e.getPosition();return new i.Dl(t.lineNumber,t.column+a,t.lineNumber,t.column+a)});this.setSelections(e,o,t,0)}return}this._executeEdit(()=>{this._executeEditOperation(Mo.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,n,r,a))},e,o)}paste(e,t,n,r,i){this._executeEdit(()=>{this._executeEditOperation(Mo.paste(this.context.cursorConfig,this._model,this.getSelections(),t,n,r||[]))},e,i,4)}cut(e,t){this._executeEdit(()=>{this._executeEditOperation(po.cut(this.context.cursorConfig,this._model,this.getSelections()))},e,t)}executeCommand(e,t,n){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new ro(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,n)}executeCommands(e,t,n){this._executeEdit(()=>{this._executeEditOperation(new ro(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,n)}};Cl.MAX_CURSOR_COUNT=1e4;var wl=class e{constructor(e,t){this.modelVersionId=e,this.cursorState=t}static from(t,n){return new e(t.getVersionId(),n.getCursorStates())}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,n=this.cursorState.length;t<n;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}},Tl=class{constructor(e,t,n){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=n}static getAllAutoClosedCharacters(e){let t=[];for(let n of e)t=t.concat(n.getAutoClosedCharactersRanges());return t}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){let n=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);n&&e.push(n)}return e}isValid(e){let t=[];for(let e=0;e<this._autoClosedEnclosingDecorations.length;e++){let n=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[e]);if(n&&(t.push(n),n.startLineNumber!==n.endLineNumber))return!1}t.sort(i.Ol.compareRangesUsingStarts),e.sort(i.Ol.compareRangesUsingStarts);for(let n=0;n<e.length;n++)if(n>=t.length||!t[n].strictContainsRange(e[n]))return!1;return!0}},El=class{static executeCommands(e,t,n){let r={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},i=this._innerExecuteCommands(r,n);for(let e=0,t=r.trackedRanges.length;e<t;e++)r.model._setTrackedRange(r.trackedRanges[e],null,0);return i}static _innerExecuteCommands(e,t){if(this._arrayIsEmpty(t))return null;let n=this._getEditOperations(e,t);if(n.operations.length===0)return null;let r=n.operations,a=this._getLoserCursorMap(r);if(a.hasOwnProperty(`0`))return null;let o=[];for(let e=0,t=r.length;e<t;e++)a.hasOwnProperty(r[e].identifier.major.toString())||o.push(r[e]);n.hadTrackedEditOperation&&o.length>0&&(o[0]._isTracked=!0);let s=e.model.pushEditOperations(e.selectionsBefore,o,n=>{let r=[];for(let t=0;t<e.selectionsBefore.length;t++)r[t]=[];for(let e of n)e.identifier&&r[e.identifier.major].push(e);let a=(e,t)=>e.identifier.minor-t.identifier.minor,o=[];for(let n=0;n<e.selectionsBefore.length;n++)r[n].length>0?(r[n].sort(a),o[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:()=>r[n],getTrackedSelection:t=>{let n=parseInt(t,10),r=e.model._getTrackedRange(e.trackedRanges[n]);return e.trackedRangesDirection[n]===0?new i.Dl(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn):new i.Dl(r.endLineNumber,r.endColumn,r.startLineNumber,r.startColumn)}})):o[n]=e.selectionsBefore[n];return o});s||=e.selectionsBefore;let c=[];for(let e in a)a.hasOwnProperty(e)&&c.push(parseInt(e,10));c.sort((e,t)=>t-e);for(let e of c)s.splice(e,1);return s}static _arrayIsEmpty(e){for(let t=0,n=e.length;t<n;t++)if(e[t])return!1;return!0}static _getEditOperations(e,t){let n=[],r=!1;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a){let t=this._getEditOperationsFromCommand(e,i,a);n=n.concat(t.operations),r||=t.hadTrackedEditOperation}}return{operations:n,hadTrackedEditOperation:r}}static _getEditOperationsFromCommand(e,t,n){let r=[],a=0,o=(e,o,s=!1)=>{i.Ol.isEmpty(e)&&o===``||r.push({identifier:{major:t,minor:a++},range:e,text:o,forceMoveMarkers:s,isAutoWhitespaceEdit:n.insertsAutoWhitespace})},s=!1,c={addEditOperation:o,addTrackedEditOperation:(e,t,n)=>{s=!0,o(e,t,n)},trackSelection:(t,n)=>{let r=i.Dl.liftSelection(t),a;if(r.isEmpty())if(typeof n==`boolean`)a=n?2:3;else{let t=e.model.getLineMaxColumn(r.startLineNumber);a=r.startColumn===t?2:3}else a=1;let o=e.trackedRanges.length,s=e.model._setTrackedRange(null,r,a);return e.trackedRanges[o]=s,e.trackedRangesDirection[o]=r.getDirection(),o.toString()}};try{n.getEditOperations(e.model,c)}catch(e){return i.fu(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:s}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((e,t)=>-i.Ol.compareRangesUsingEnds(e.range,t.range));let t={};for(let n=1;n<e.length;n++){let r=e[n-1],a=e[n];if(i.Ol.getStartPosition(r.range).isBefore(i.Ol.getEndPosition(a.range))){let i;i=r.identifier.major>a.identifier.major?r.identifier.major:a.identifier.major,t[i.toString()]=!0;for(let t=0;t<e.length;t++)e[t].identifier.major===i&&(e.splice(t,1),t<n&&n--,t--);n>0&&n--}}return t}},Dl=class{constructor(e,t,n){this.text=e,this.startSelection=t,this.endSelection=n}},Ol=class e{constructor(t,n){this._original=e._capture(t,n)}static _capture(e,t){let n=[];for(let r of t){if(r.startLineNumber!==r.endLineNumber)return null;n.push(new Dl(e.getLineContent(r.startLineNumber),r.startColumn-1,r.endColumn-1))}return n}deduceOutcome(t,n){if(!this._original)return null;let r=e._capture(t,n);if(!r||this._original.length!==r.length)return null;let i=[];for(let t=0,n=this._original.length;t<n;t++)i.push(e._deduceOutcome(this._original[t],r[t]));return i}static _deduceOutcome(e,t){let n=Math.min(e.startSelection,t.startSelection,i.Dc(e.text,t.text)),r=Math.min(e.text.length-e.endSelection,t.text.length-t.endSelection,i.Oc(e.text,t.text)),a=e.text.substring(n,e.text.length-r),o=t.text.substring(n,t.text.length-r);return new Po(a,e.startSelection-n,e.endSelection-n,o,t.startSelection-n,t.endSelection-n)}},kl=class{constructor(e,t,n,r,i,a){this.id=e,this.label=t,this.alias=n,this._precondition=r,this._run=i,this._contextKeyService=a}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(){return this.isSupported()?this._run():Promise.resolve(void 0)}},Al=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},jl={getInitialState:()=>i.js,tokenizeEncoded:(e,t,n)=>i.Ns(0,n)};function Ml(e,t,n){return Al(this,void 0,void 0,function*(){if(!n)return Pl(t,e.languageIdCodec,jl);let r=yield i.xl.getOrCreate(n);return Pl(t,e.languageIdCodec,r||jl)})}function Nl(e,t,n,r,i,a,o){let s=`<div>`,c=r,l=0,u=!0;for(let d=0,f=t.getCount();d<f;d++){let f=t.getEndOffset(d);if(f<=r)continue;let p=``;for(;c<f&&c<i;c++){let t=e.charCodeAt(c);switch(t){case 9:{let e=a-(c+l)%a;for(l+=e-1;e>0;)o&&u?(p+=` `,u=!1):(p+=` `,u=!0),e--;break}case 60:p+=`<`,u=!1;break;case 62:p+=`>`,u=!1;break;case 38:p+=`&`,u=!1;break;case 0:p+=`�`,u=!1;break;case 65279:case 8232:case 8233:case 133:p+=`�`,u=!1;break;case 13:p+=`​`,u=!1;break;case 32:o&&u?(p+=` `,u=!1):(p+=` `,u=!0);break;default:p+=String.fromCharCode(t),u=!1}}if(s+=`<span style="${t.getInlineStyle(d,n)}">${p}</span>`,f>i||c>=i)break}return s+=`</div>`,s}function Pl(e,t,n){let r=`<div class="monaco-tokenized-source">`,a=i.al(e),o=n.getInitialState();for(let e=0,s=a.length;e<s;e++){let s=a[e];e>0&&(r+=`<br/>`);let c=n.tokenizeEncoded(s,!0,o);i.Yo.convertToEndOffset(c.tokens,s.length);let l=new i.Yo(c.tokens,s,t).inflate(),u=0;for(let e=0,t=l.getCount();e<t;e++){let t=l.getClassName(e),n=l.getEndOffset(e);r+=`<span class="${t}">${i.Fc(s.substring(u,n))}</span>`,u=n}o=c.endState}return r+=`</div>`,r}var Fl=class{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}mustCommit(){return this._hasPending}commit(e){if(!this._hasPending)return;let t=this._inserts,n=this._changes,r=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,n,r)}},Il=class{constructor(e,t,n,r,i){this.id=e,this.afterLineNumber=t,this.ordinal=n,this.height=r,this.minWidth=i,this.prefixSum=0}},Ll=class e{constructor(t,n,r,a){this._instanceId=i.il(++e.INSTANCE_COUNT),this._pendingChanges=new Fl,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._lineHeight=n,this._paddingTop=r,this._paddingBottom=a}static findInsertionIndex(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;t===e[a].afterLineNumber?n<e[a].ordinal?i=a:r=a+1:t<e[a].afterLineNumber?i=a:r=a+1}return r}setLineHeight(e){this._checkPendingChanges(),this._lineHeight=e}setPadding(e,t){this._paddingTop=e,this._paddingBottom=t}onFlushed(e){this._checkPendingChanges(),this._lineCount=e}changeWhitespace(e){let t=!1;try{e({insertWhitespace:(e,n,r,i)=>{t=!0,e|=0,n|=0,r|=0,i|=0;let a=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new Il(a,e,n,r,i)),a},changeOneWhitespace:(e,n,r)=>{t=!0,n|=0,r|=0,this._pendingChanges.change({id:e,newAfterLineNumber:n,newHeight:r})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,n){if((e.length>0||n.length>0)&&(this._minWidth=-1),e.length+t.length+n.length<=1){for(let t of e)this._insertWhitespace(t);for(let e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(let e of n){let t=this._findWhitespaceIndex(e.id);t!==-1&&this._removeWhitespace(t)}return}let r=new Set;for(let e of n)r.add(e.id);let i=new Map;for(let e of t)i.set(e.id,e);let a=e=>{let t=[];for(let n of e)if(!r.has(n.id)){if(i.has(n.id)){let e=i.get(n.id);n.afterLineNumber=e.newAfterLineNumber,n.height=e.newHeight}t.push(n)}return t},o=a(this._arr).concat(a(e));o.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=o,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(t){let n=e.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(n,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1)}_findWhitespaceIndex(e){let t=this._arr;for(let n=0,r=t.length;n<r;n++)if(t[n].id===e)return n;return-1}_changeOneWhitespace(e,t,n){let r=this._findWhitespaceIndex(e);if(r!==-1&&(this._arr[r].height!==n&&(this._arr[r].height=n,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,r-1)),this._arr[r].afterLineNumber!==t)){let e=this._arr[r];this._removeWhitespace(r),e.afterLineNumber=t,this._insertWhitespace(e)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount-=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&r<=t?this._arr[n].afterLineNumber=e-1:r>t&&(this._arr[n].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount+=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&(this._arr[n].afterLineNumber+=t-e+1)}}getWhitespacesTotalHeight(){return this._checkPendingChanges(),this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){this._checkPendingChanges(),e|=0;let t=Math.max(0,this._prefixSumValidIndex+1);t===0&&(this._arr[0].prefixSum=this._arr[0].height,t++);for(let n=t;n<=e;n++)this._arr[n].prefixSum=this._arr[n-1].prefixSum+this._arr[n].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){return this._checkPendingChanges(),this._lineHeight*this._lineCount+this.getWhitespacesTotalHeight()+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){this._checkPendingChanges(),e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e);return t===-1?0:this.getWhitespacesAccumulatedHeight(t)}_findLastWhitespaceBeforeLineNumber(e){e|=0;let t=this._arr,n=0,r=t.length-1;for(;n<=r;){let i=(r-n|0)/2|0,a=n+i|0;if(t[a].afterLineNumber<e){if(a+1>=t.length||t[a+1].afterLineNumber>=e)return a;n=a+1|0}else r=a-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._arr.length?t:-1}getFirstWhitespaceIndexAfterLineNumber(e){return this._checkPendingChanges(),e|=0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e,t=!1){this._checkPendingChanges(),e|=0;let n;n=e>1?this._lineHeight*(e-1):0;let r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0));return n+r+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),this._minWidth===-1){let e=0;for(let t=0,n=this._arr.length;t<n;t++)e=Math.max(e,this._arr[t].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){return this._checkPendingChanges(),e>this.getLinesTotalHeight()}isInTopPadding(e){return this._paddingTop===0?!1:(this._checkPendingChanges(),e<this._paddingTop)}isInBottomPadding(e){return this._paddingBottom===0?!1:(this._checkPendingChanges(),e>=this.getLinesTotalHeight()-this._paddingBottom)}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),e|=0,e<0)return 1;let t=this._lineCount|0,n=this._lineHeight,r=1,i=t;for(;r<i;){let t=(r+i)/2|0,a=this.getVerticalOffsetForLineNumber(t)|0;if(e>=a+n)r=t+1;else if(e>=a)return t;else i=t}return r>t?t:r}getLinesViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;let n=this._lineHeight,r=this.getLineNumberAtOrAfterVerticalOffset(e)|0,i=this.getVerticalOffsetForLineNumber(r)|0,a=this._lineCount|0,o=this.getFirstWhitespaceIndexAfterLineNumber(r)|0,s=this.getWhitespacesCount()|0,c,l;o===-1?(o=s,l=a+1,c=0):(l=this.getAfterLineNumberForWhitespaceIndex(o)|0,c=this.getHeightForWhitespaceIndex(o)|0);let u=i,d=u,f=5e5,p=0;i>=f&&(p=Math.floor(i/f)*f,p=Math.floor(p/n)*n,d-=p);let m=[],h=e+(t-e)/2,g=-1;for(let e=r;e<=a;e++){if(g===-1){let t=u,r=u+n;(t<=h&&h<r||t>h)&&(g=e)}for(u+=n,m[e-r]=d,d+=n;l===e;)d+=c,u+=c,o++,o>=s?l=a+1:(l=this.getAfterLineNumberForWhitespaceIndex(o)|0,c=this.getHeightForWhitespaceIndex(o)|0);if(u>=t){a=e;break}}g===-1&&(g=a);let _=this.getVerticalOffsetForLineNumber(a)|0,v=r,y=a;return v<y&&i<e&&v++,v<y&&_+n>t&&y--,{bigNumbersDelta:p,startLineNumber:r,endLineNumber:a,relativeVerticalOffset:m,centeredLineNumber:g,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:y}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e|=0;let t=this.getAfterLineNumberForWhitespaceIndex(e),n;n=t>=1?this._lineHeight*t:0;let r;return r=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,n+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e|=0;let t=0,n=this.getWhitespacesCount()-1;if(n<0)return-1;let r=this.getVerticalOffsetForWhitespaceIndex(n),i=this.getHeightForWhitespaceIndex(n);if(e>=r+i)return-1;for(;t<n;){let r=Math.floor((t+n)/2),i=this.getVerticalOffsetForWhitespaceIndex(r),a=this.getHeightForWhitespaceIndex(r);if(e>=i+a)t=r+1;else if(e>=i)return r;else n=r}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e|=0;let t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;let n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;let r=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:r}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;let n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(n<0)return[];let i=[];for(let e=n;e<=r;e++){let n=this.getVerticalOffsetForWhitespaceIndex(e),r=this.getHeightForWhitespaceIndex(e);if(n>=t)break;i.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:n,height:r})}return i}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].height}};Ll.INSTANCE_COUNT=0;var Rl=125,zl=class{constructor(e,t,n,r){e|=0,t|=0,n|=0,r|=0,e<0&&(e=0),t<0&&(t=0),n<0&&(n=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=n,this.contentHeight=r,this.scrollHeight=Math.max(n,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}},Bl=class extends i.Xl{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new i.Ul),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new zl(0,0,0,0),this._scrollable=this._register(new xs({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;let t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);let n=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(n||r)&&this._onDidContentSizeChange.fire(new dl(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}},Vl=class extends i.Xl{constructor(e,t,n){super(),this._configuration=e;let r=this._configuration.options,i=r.get(132),a=r.get(76);this._linesLayout=new Ll(t,r.get(60),a.top,a.bottom),this._scrollable=this._register(new Bl(0,n)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new zl(i.contentWidth,0,i.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(104)?Rl:0)}onConfigurationChanged(e){let t=this._configuration.options;if(e.hasChanged(60)&&this._linesLayout.setLineHeight(t.get(60)),e.hasChanged(76)){let e=t.get(76);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(132)){let e=t.get(132),n=e.contentWidth,r=e.height,i=this._scrollable.getScrollDimensions(),a=i.contentWidth;this._scrollable.setScrollDimensions(new zl(n,i.contentWidth,r,this._getContentHeight(n,r,a)))}else this._updateHeight();e.hasChanged(104)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){let n=this._configuration.options.get(93);return n.horizontal===2||e>=t?0:n.horizontalScrollbarSize}_getContentHeight(e,t,n){let r=this._configuration.options,i=this._linesLayout.getLinesTotalHeight();return r.get(95)?i+=Math.max(0,t-r.get(60)-r.get(76).bottom):i+=this._getHorizontalScrollbarHeight(e,n),i}_updateHeight(){let e=this._scrollable.getScrollDimensions(),t=e.width,n=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new zl(t,e.contentWidth,n,this._getContentHeight(t,n,r)))}getCurrentViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new Or(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new Or(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(e){let t=this._configuration.options,n=t.get(133),r=t.get(45),i=t.get(132);if(n.isViewportWrapping){let n=t.get(66);return e>i.contentWidth+r.typicalHalfwidthCharacterWidth&&n.enabled&&n.side===`right`?e+i.verticalScrollbarWidth:e}else{let n=t.get(94)*r.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(e+n+i.verticalScrollbarWidth,a)}}setMaxLineWidth(e){let t=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new zl(t.width,this._computeContentWidth(e),t.height,t.contentHeight)),this._updateHeight()}saveState(){let e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}}changeWhitespace(e){let t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){let t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}deltaScrollNow(e,t){let n=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})}},Hl=class{constructor(e,t,n,r,i){this.editorId=e,this.model=t,this.configuration=n,this._linesCollection=r,this._coordinatesConverter=i,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){let t=e.id,n=this._decorationsCache[t];if(!n){let r=e.range,a=e.options,o;if(a.isWholeLine){let e=this._coordinatesConverter.convertModelPositionToViewPosition(new i.kl(r.startLineNumber,1),0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new i.kl(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);o=new i.Ol(e.lineNumber,e.column,t.lineNumber,t.column)}else o=this._coordinatesConverter.convertModelRangeToViewRange(r,1);n=new Pr(o,a),this._decorationsCache[t]=n}return n}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t&&=e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsViewportData(e),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}_getDecorationsViewportData(e){let t=this._linesCollection.getDecorationsInRange(e,this.editorId,ye(this.configuration.options)),n=e.startLineNumber,r=e.endLineNumber,a=[],o=0,s=[];for(let e=n;e<=r;e++)s[e-n]=[];for(let e=0,c=t.length;e<c;e++){let c=t[e],l=c.options;if(!Ul(this.model,c))continue;let u=this._getOrCreateViewModelDecoration(c),d=u.range;if(a[o++]=u,l.inlineClassName){let e=new Mr(d,l.inlineClassName,l.inlineClassNameAffectsLetterSpacing?3:0),t=Math.max(n,d.startLineNumber),i=Math.min(r,d.endLineNumber);for(let r=t;r<=i;r++)s[r-n].push(e)}if(l.beforeContentClassName&&n<=d.startLineNumber&&d.startLineNumber<=r){let e=new Mr(new i.Ol(d.startLineNumber,d.startColumn,d.startLineNumber,d.startColumn),l.beforeContentClassName,1);s[d.startLineNumber-n].push(e)}if(l.afterContentClassName&&n<=d.endLineNumber&&d.endLineNumber<=r){let e=new Mr(new i.Ol(d.endLineNumber,d.endColumn,d.endLineNumber,d.endColumn),l.afterContentClassName,2);s[d.endLineNumber-n].push(e)}}return{decorations:a,inlineDecorations:s}}};function Ul(e,t){return!(t.options.hideInCommentTokens&&Wl(e,t)||t.options.hideInStringTokens&&Gl(e,t))}function Wl(e,t){return Kl(e,t.range,e=>e===1)}function Gl(e,t){return Kl(e,t.range,e=>e===2)}function Kl(e,t,n){for(let r=t.startLineNumber;r<=t.endLineNumber;r++){let i=e.tokenization.getLineTokens(r),a=r===t.startLineNumber,o=r===t.endLineNumber,s=a?i.findTokenIndexAtOffset(t.startColumn-1):0;for(;s<i.getCount()&&!(o&&i.getStartOffset(s)>t.endColumn-1);){if(!n(i.getStandardTokenType(s)))return!1;s++}}return!0}function ql(e,t){return e===null?t?Yl.INSTANCE:Xl.INSTANCE:new Jl(e,t)}var Jl=class{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,n){this._assertVisible();let r=n>0?this._projectionData.breakOffsets[n-1]:0,a=this._projectionData.breakOffsets[n],o;if(this._projectionData.injectionOffsets!==null){let n=this._projectionData.injectionOffsets.map((e,t)=>new i.H(0,0,e+1,this._projectionData.injectionOptions[t],0));o=i.H.applyInjectedText(e.getLineContent(t),n).substring(r,a)}else o=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:a+1});return n>0&&(o=Ql(this._projectionData.wrappedTextIndentLength)+o),o}getViewLineLength(e,t,n){return this._assertVisible(),this._projectionData.getLineLength(n)}getViewLineMinColumn(e,t,n){return this._assertVisible(),this._projectionData.getMinOutputOffset(n)+1}getViewLineMaxColumn(e,t,n){return this._assertVisible(),this._projectionData.getMaxOutputOffset(n)+1}getViewLineData(e,t,n){let r=[];return this.getViewLinesData(e,t,n,1,0,[!0],r),r[0]}getViewLinesData(e,t,n,r,a,o,s){this._assertVisible();let c=this._projectionData,l=c.injectionOffsets,u=c.injectionOptions,d=null;if(l){d=[];let e=0,t=0;for(let n=0;n<c.getOutputLineCount();n++){let r=[];d[n]=r;let i=n>0?c.breakOffsets[n-1]:0,a=c.breakOffsets[n];for(;t<l.length;){let o=u[t].content.length,s=l[t]+e,d=s+o;if(s>a)break;if(i<d){let e=u[t];if(e.inlineClassName){let t=n>0?c.wrappedTextIndentLength:0,o=t+Math.max(s-i,0),l=t+Math.min(d-i,a);o!==l&&r.push(new Nr(o,l,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(d<=a)e+=o,t++;else break}}}let f;f=l?e.tokenization.getLineTokens(t).withInserted(l.map((e,t)=>({offset:e,text:u[t].content,tokenMetadata:i.Yo.defaultTokenMetadata}))):e.tokenization.getLineTokens(t);for(let e=n;e<n+r;e++){let t=a+e-n;if(!o[t]){s[t]=null;continue}s[t]=this._getViewLineData(f,d?d[e]:null,e)}}_getViewLineData(e,t,n){this._assertVisible();let r=this._projectionData,i=n>0?r.wrappedTextIndentLength:0,a=n>0?r.breakOffsets[n-1]:0,o=r.breakOffsets[n],s=e.sliceAndInflate(a,o,i),c=s.getLineContent();n>0&&(c=Ql(r.wrappedTextIndentLength)+c);let l=this._projectionData.getMinOutputOffset(n)+1,u=c.length+1,d=n+1<this.getViewLineCount(),f=n===0?0:r.breakOffsetsVisibleColumn[n-1];return new Ar(c,d,l,u,f,s,t)}getModelColumnOfViewPosition(e,t){return this._assertVisible(),this._projectionData.translateToInputOffset(e,t-1)+1}getViewPositionOfModelPosition(e,t,n=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(t-1,n).toPosition(e)}getViewLineNumberOfModelPosition(e,t){return this._assertVisible(),e+this._projectionData.translateToOutputPosition(t-1).outputLineIndex}normalizePosition(e,t,n){let r=t.lineNumber-e;return this._projectionData.normalizeOutputPosition(e,t.column-1,n).toPosition(r)}getInjectedTextAt(e,t){return this._projectionData.getInjectedText(e,t-1)}_assertVisible(){if(!this._isVisible)throw Error(`Not supported`)}},Yl=class{constructor(){}isVisible(){return!0}setVisible(e){return e?this:Xl.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(e,t,n){return e.getLineContent(t)}getViewLineLength(e,t,n){return e.getLineLength(t)}getViewLineMinColumn(e,t,n){return e.getLineMinColumn(t)}getViewLineMaxColumn(e,t,n){return e.getLineMaxColumn(t)}getViewLineData(e,t,n){let r=e.tokenization.getLineTokens(t),i=r.getLineContent();return new Ar(i,!1,1,i.length+1,0,r.inflate(),null)}getViewLinesData(e,t,n,r,i,a,o){if(!a[i]){o[i]=null;return}o[i]=this.getViewLineData(e,t,0)}getModelColumnOfViewPosition(e,t){return t}getViewPositionOfModelPosition(e,t){return new i.kl(e,t)}getViewLineNumberOfModelPosition(e,t){return e}normalizePosition(e,t,n){return t}getInjectedTextAt(e,t){return null}};Yl.INSTANCE=new Yl;var Xl=class{constructor(){}isVisible(){return!1}setVisible(e){return e?Yl.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(e,t,n){throw Error(`Not supported`)}getViewLineLength(e,t,n){throw Error(`Not supported`)}getViewLineMinColumn(e,t,n){throw Error(`Not supported`)}getViewLineMaxColumn(e,t,n){throw Error(`Not supported`)}getViewLineData(e,t,n){throw Error(`Not supported`)}getViewLinesData(e,t,n,r,i,a,o){throw Error(`Not supported`)}getModelColumnOfViewPosition(e,t){throw Error(`Not supported`)}getViewPositionOfModelPosition(e,t){throw Error(`Not supported`)}getViewLineNumberOfModelPosition(e,t){throw Error(`Not supported`)}normalizePosition(e,t,n){throw Error(`Not supported`)}getInjectedTextAt(e,t){throw Error(`Not supported`)}};Xl.INSTANCE=new Xl;var Zl=[``];function Ql(e){if(e>=Zl.length)for(let t=1;t<=e;t++)Zl[t]=$l(t);return Zl[e]}function $l(e){return Array(e+1).join(` `)}var eu=class{constructor(e,t,n,r,i,a,o,s,c){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=n,this._monospaceLineBreaksComputerFactory=r,this.fontInfo=i,this.tabSize=a,this.wrappingStrategy=o,this.wrappingColumn=s,this.wrappingIndent=c,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new iu(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));let n=this.model.getLinesContent(),r=this.model.getInjectedTextDecorations(this._editorId),a=n.length,o=this.createLineBreaksComputer(),s=new i.Lu(i.H.fromDecorations(r));for(let e=0;e<a;e++){let r=s.takeWhile(t=>t.lineNumber===e+1);o.addRequest(n[e],r,t?t[e]:null)}let c=o.finalize(),l=[],u=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(i.Ol.compareRangesUsingStarts),d=1,f=0,p=-1,m=p+1<u.length?f+1:a+2;for(let e=0;e<a;e++){let t=e+1;t===m&&(p++,d=u[p].startLineNumber,f=u[p].endLineNumber,m=p+1<u.length?f+1:a+2);let n=t>=d&&t<=f,r=ql(c[e],!n);l[e]=r.getViewLineCount(),this.modelLineProjections[e]=r}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new wn(l)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){let t=tu(e.map(e=>this.model.validateRange(e))),n=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(i.Ol.compareRangesUsingStarts);if(t.length===n.length){let e=!1;for(let r=0;r<t.length;r++)if(!t[r].equalsRange(n[r])){e=!0;break}if(!e)return!1}let r=t.map(e=>({range:e,options:i.f.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,r);let a=t,o=1,s=0,c=-1,l=c+1<a.length?s+1:this.modelLineProjections.length+2,u=!1;for(let e=0;e<this.modelLineProjections.length;e++){let t=e+1;t===l&&(c++,o=a[c].startLineNumber,s=a[c].endLineNumber,l=c+1<a.length?s+1:this.modelLineProjections.length+2);let n=!1;if(t>=o&&t<=s?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),n=!0):(u=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),n=!0)),n){let t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return u||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize===e?!1:(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,n,r){let i=this.fontInfo.equals(e),a=this.wrappingStrategy===t,o=this.wrappingColumn===n,s=this.wrappingIndent===r;if(i&&a&&o&&s)return!1;let c=i&&a&&!o&&s;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=n,this.wrappingIndent=r;let l=null;if(c){l=[];for(let e=0,t=this.modelLineProjections.length;e<t;e++)l[e]=this.modelLineProjections[e].getProjectionData()}return this._constructLines(!1,l),!0}createLineBreaksComputer(){return(this.wrappingStrategy===`advanced`?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory).createLineBreaksComputer(this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,t,n){if(!e||e<=this._validModelVersionId)return null;let r=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,i=this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections.splice(t-1,n-t+1),this.projectedModelLineLineCounts.removeValues(t-1,n-t+1),new tl(r,i)}onModelLinesInserted(e,t,n,r){if(!e||e<=this._validModelVersionId)return null;let i=t>2&&!this.modelLineProjections[t-2].isVisible(),a=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,o=0,s=[],c=[];for(let e=0,t=r.length;e<t;e++){let t=ql(r[e],!i);s.push(t);let n=t.getViewLineCount();o+=n,c[e]=n}return this.modelLineProjections=this.modelLineProjections.slice(0,t-1).concat(s).concat(this.modelLineProjections.slice(t-1)),this.projectedModelLineLineCounts.insertValues(t-1,c),new nl(a,a+o-1)}onModelLineChanged(e,t,n){if(e!==null&&e<=this._validModelVersionId)return[!1,null,null,null];let r=t-1,i=this.modelLineProjections[r].getViewLineCount(),a=ql(n,this.modelLineProjections[r].isVisible());this.modelLineProjections[r]=a;let o=this.modelLineProjections[r].getViewLineCount(),s=!1,c=0,l=-1,u=0,d=-1,f=0,p=-1;i>o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1,f=l+1,p=f+(i-o)-1,s=!0):i<o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+i-1,u=l+1,d=u+(o-i)-1,s=!0):(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1),this.projectedModelLineLineCounts.setValue(r,o);let m=c<=l?new el(c,l-c+1):null,h=u<=d?new nl(u,d):null,g=f<=p?new tl(f,p):null;return[s,m,h,g]}acceptVersionId(e){this._validModelVersionId=e,this.modelLineProjections.length===1&&!this.modelLineProjections[0].isVisible()&&this.setHiddenAreas([])}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(e){if(e<1)return 1;let t=this.getViewLineCount();return e>t?t:e|0}getActiveIndentGuide(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);let r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),a=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),o=this.model.guides.getActiveIndentGuide(r.lineNumber,i.lineNumber,a.lineNumber),s=this.convertModelPositionToViewPosition(o.startLineNumber,1),c=this.convertModelPositionToViewPosition(o.endLineNumber,this.model.getLineMaxColumn(o.endLineNumber));return{startLineNumber:s.lineNumber,endLineNumber:c.lineNumber,indent:o.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);let t=this.projectedModelLineLineCounts.getIndexOf(e-1),n=t.index,r=t.remainder;return new nu(n+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new i.kl(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new i.kl(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){let n=this.getViewLineInfo(e),r=this.getViewLineInfo(t),a=[],o=this.getModelStartPositionOfViewLine(n),s=[];for(let e=n.modelLineNumber;e<=r.modelLineNumber;e++){let t=this.modelLineProjections[e-1];if(t.isVisible()){let i=e===n.modelLineNumber?n.modelLineWrappedLineIdx:0,a=e===r.modelLineNumber?r.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=i;t<a;t++)s.push(new nu(e,t))}if(!t.isVisible()&&o){let t=new i.kl(e-1,this.model.getLineMaxColumn(e-1)+1),n=i.Ol.fromPositions(o,t);a.push(new ru(n,s)),s=[],o=null}else t.isVisible()&&!o&&(o=new i.kl(e,1))}if(o){let e=i.Ol.fromPositions(o,this.getModelEndPositionOfViewLine(r));a.push(new ru(e,s))}return a}getViewLinesBracketGuides(e,t,n,r){let a=n?this.convertViewPositionToModelPosition(n.lineNumber,n.column):null,o=[];for(let n of this.getViewLineInfosGroupedByModelRanges(e,t)){let e=n.modelRange.startLineNumber,t=this.model.guides.getLinesBracketGuides(e,n.modelRange.endLineNumber,a,r);for(let r of n.viewLines){let n=t[r.modelLineNumber-e].map(e=>{if(e.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=r.modelLineWrappedLineIdx||e.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumber<r.modelLineWrappedLineIdx)return;if(!e.horizontalLine)return e;let t=-1;if(e.column!==-1){let n=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.column);if(n.lineNumber===r.modelLineWrappedLineIdx)t=n.column;else if(n.lineNumber<r.modelLineWrappedLineIdx)t=this.getMinColumnOfViewLine(r);else if(n.lineNumber>r.modelLineWrappedLineIdx)return}let n=this.convertModelPositionToViewPosition(r.modelLineNumber,e.horizontalLine.endColumn),a=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return a.lineNumber===r.modelLineWrappedLineIdx?new i.K(e.visibleColumn,t,e.className,new i.q(e.horizontalLine.top,n.column),-1,-1):a.lineNumber<r.modelLineWrappedLineIdx?void 0:e.visibleColumn===-1?new i.K(e.visibleColumn,t,e.className,new i.q(e.horizontalLine.top,this.getMaxColumnOfViewLine(r)),-1,-1):void 0});o.push(n.filter(e=>!!e))}}return o}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),a=[],o=[],s=[],c=n.lineNumber-1,l=r.lineNumber-1,u=null;for(let e=c;e<=l;e++){let t=this.modelLineProjections[e];if(t.isVisible()){let r=t.getViewLineNumberOfModelPosition(0,e===c?n.column:1),a=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),l=a-r+1,d=0;l>1&&t.getViewLineMinColumn(this.model,e+1,a)===1&&(d=r===0?1:2),o.push(l),s.push(d),u===null&&(u=new i.kl(e+1,0))}else u!==null&&(a=a.concat(this.model.guides.getLinesIndentGuides(u.lineNumber,e)),u=null)}u!==null&&(a=a.concat(this.model.guides.getLinesIndentGuides(u.lineNumber,r.lineNumber)),u=null);let d=t-e+1,f=Array(d),p=0;for(let e=0,t=a.length;e<t;e++){let t=a[e],n=Math.min(d-p,o[e]),r=s[e],i;i=r===2?0:r===1?1:n;for(let e=0;e<n;e++)e===i&&(t=0),f[p++]=t}return f}getViewLineContent(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineContent(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineLength(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineLength(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMinColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMaxColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineData(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineData(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLinesData(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=e,a=r.index,o=r.remainder,s=[];for(let r=a,c=this.model.getLineCount();r<c;r++){let c=this.modelLineProjections[r];if(!c.isVisible())continue;let l=r===a?o:0,u=c.getViewLineCount()-l,d=!1;if(i+u>t&&(d=!0,u=t-i+1),c.getViewLinesData(this.model,r+1,l,u,i-e,n,s),i+=u,d)break}return s}validateViewPosition(e,t,n){e=this._toValidViewLineNumber(e);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),a=r.index,o=r.remainder,s=this.modelLineProjections[a],c=s.getViewLineMinColumn(this.model,a+1,o),l=s.getViewLineMaxColumn(this.model,a+1,o);t<c&&(t=c),t>l&&(t=l);let u=s.getModelColumnOfViewPosition(o,t);return this.model.validatePosition(new i.kl(a+1,u)).equals(n)?new i.kl(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)}validateViewRange(e,t){let n=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new i.Ol(n.lineNumber,n.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){let n=this.getViewLineInfo(e),r=this.modelLineProjections[n.modelLineNumber-1].getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,t);return this.model.validatePosition(new i.kl(n.modelLineNumber,r))}convertViewRangeToModelRange(e){let t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new i.Ol(t.lineNumber,t.column,n.lineNumber,n.column)}convertModelPositionToViewPosition(e,t,n=2){let r=this.model.validatePosition(new i.kl(e,t)),a=r.lineNumber,o=r.column,s=a-1,c=!1;for(;s>0&&!this.modelLineProjections[s].isVisible();)s--,c=!0;if(s===0&&!this.modelLineProjections[s].isVisible())return new i.kl(1,1);let l=1+this.projectedModelLineLineCounts.getPrefixSum(s),u;return u=c?this.modelLineProjections[s].getViewPositionOfModelPosition(l,this.model.getLineMaxColumn(s+1),n):this.modelLineProjections[a-1].getViewPositionOfModelPosition(l,o,n),u}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){let n=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return i.Ol.fromPositions(n)}else{let t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new i.Ol(t.lineNumber,t.column,n.lineNumber,n.column)}}getViewLineNumberOfModelPosition(e,t){let n=e-1;if(this.modelLineProjections[n].isVisible()){let e=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(e,t)}for(;n>0&&!this.modelLineProjections[n].isVisible();)n--;if(n===0&&!this.modelLineProjections[n].isVisible())return 1;let r=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(n+1))}getDecorationsInRange(e,t,n){let r=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),a=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(a.lineNumber-r.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new i.Ol(r.lineNumber,1,a.lineNumber,a.column),t,n);let o=[],s=r.lineNumber-1,c=a.lineNumber-1,l=null;for(let e=s;e<=c;e++)if(this.modelLineProjections[e].isVisible())l===null&&(l=new i.kl(e+1,e===s?r.column:1));else if(l!==null){let r=this.model.getLineMaxColumn(e);o=o.concat(this.model.getDecorationsInRange(new i.Ol(l.lineNumber,l.column,e,r),t,n)),l=null}l!==null&&(o=o.concat(this.model.getDecorationsInRange(new i.Ol(l.lineNumber,l.column,a.lineNumber,a.column),t,n)),l=null),o.sort((e,t)=>{let n=i.Ol.compareRangesUsingStarts(e.range,t.range);return n===0?e.id<t.id?-1:e.id>t.id?1:0:n});let u=[],d=0,f=null;for(let e of o){let t=e.id;f!==t&&(f=t,u[d++]=e)}return u}getInjectedTextAt(e){let t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){let n=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[n.modelLineNumber-1].normalizePosition(n.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){let t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}};function tu(e){if(e.length===0)return[];let t=e.slice();t.sort(i.Ol.compareRangesUsingStarts);let n=[],r=t[0].startLineNumber,a=t[0].endLineNumber;for(let e=1,o=t.length;e<o;e++){let o=t[e];o.startLineNumber>a+1?(n.push(new i.Ol(r,1,a,1)),r=o.startLineNumber,a=o.endLineNumber):o.endLineNumber>a&&(a=o.endLineNumber)}return n.push(new i.Ol(r,1,a,1)),n}var nu=class{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}},ru=class{constructor(e,t){this.modelRange=e,this.viewLines=t}},iu=class{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}},au=class{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new ou(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,n,r){return!1}createLineBreaksComputer(){let e=[];return{addRequest:(t,n,r)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,n){return new tl(t,n)}onModelLinesInserted(e,t,n,r){return new nl(t,n)}onModelLineChanged(e,t,n){return[!1,new el(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,n){return Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){let n=t-e+1,r=Array(n);for(let e=0;e<n;e++)r[e]=0;return r}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){let t=this.model.tokenization.getLineTokens(e),n=t.getLineContent();return new Ar(n,!1,1,n.length+1,0,t.inflate(),null)}getViewLinesData(e,t,n){let r=this.model.getLineCount();e=Math.min(Math.max(1,e),r),t=Math.min(Math.max(1,t),r);let i=[];for(let r=e;r<=t;r++){let t=r-e;i[t]=n[t]?this.getViewLineData(r):null}return i}getDecorationsInRange(e,t,n){return this.model.getDecorationsInRange(e,t,n)}normalizePosition(e,t){return this.model.normalizePosition(e,t)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}},ou=class{constructor(e){this._lines=e}_validPosition(e){return this._lines.model.validatePosition(e)}_validRange(e){return this._lines.model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,t){return this._validPosition(t)}validateViewRange(e,t){return this._validRange(t)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){let t=this._lines.model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}},su=class extends i.Xl{constructor(e,t,n,r,a,o,s,c){if(super(),this.languageConfigurationService=s,this._themeService=c,this._editorId=e,this._configuration=t,this.model=n,this._eventDispatcher=new ll,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new $a(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._tokenizeViewportSoon=this._register(new i.ys(()=>this.tokenizeViewport(),50)),this._updateConfigurationViewLineCount=this._register(new i.ys(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=cu.create(this.model),this.model.isTooLargeForTokenization())this._lines=new au(this.model);else{let e=this._configuration.options,t=e.get(45),n=e.get(126),i=e.get(133),o=e.get(125);this._lines=new eu(this._editorId,this.model,r,a,t,this.model.getOptions().tabSize,n,i.wrappingColumn,o)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new Cl(n,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new Vl(this._configuration,this.getLineCount(),o)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._tokenizeViewportSoon.schedule(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new il(e)),this._eventDispatcher.emitOutgoingEvent(new pl(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new Hl(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(Xs.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new sl)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new al(e))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}tokenizeViewport(){let e=this.viewLayout.getLinesViewportData(),t=new i.Ol(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber)),n=this._toModelVisibleRanges(t);for(let e of n)this.model.tokenization.tokenizeViewport(e.startLineNumber,e.endLineNumber)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new Zc(e)),this._eventDispatcher.emitOutgoingEvent(new fl(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new Gc)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new Kc)}_onConfigurationChanged(e,t){let n=null;if(this._viewportStart.isValid){let e=new i.kl(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));n=this.coordinatesConverter.convertViewPositionToModelPosition(e)}let r=!1,a=this._configuration.options,o=a.get(45),s=a.get(126),c=a.get(133),l=a.get(125);if(this._lines.setWrappingSettings(o,s,c.wrappingColumn,l)&&(e.emitViewEvent(new Xc),e.emitViewEvent(new $c),e.emitViewEvent(new Yc(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.getCurrentScrollTop()!==0&&(r=!0),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(82)&&(this._decorations.reset(),e.emitViewEvent(new Yc(null))),e.emitViewEvent(new qc(t)),this.viewLayout.onConfigurationChanged(t),r&&n){let e=this.coordinatesConverter.convertModelPositionToViewPosition(n),t=this.viewLayout.getVerticalOffsetForLineNumber(e.lineNumber);this.viewLayout.setScrollPosition({scrollTop:t+this._viewportStart.startLineDelta},1)}$a.shouldRecreate(t)&&(this.cursorConfig=new $a(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents(),n=!1,r=!1,a=e instanceof i.V?e.rawContentChangedEvent.changes:e.changes,o=e instanceof i.V?e.rawContentChangedEvent.versionId:null,s=this._lines.createLineBreaksComputer();for(let e of a)switch(e.changeType){case 4:for(let t=0;t<e.detail.length;t++){let n=e.detail[t],r=e.injectedTexts[t];r&&=r.filter(e=>!e.ownerId||e.ownerId===this._editorId),s.addRequest(n,r,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter(e=>!e.ownerId||e.ownerId===this._editorId)),s.addRequest(e.detail,t,null);break}}let c=new i.Lu(s.finalize());for(let e of a)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new Xc),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),n=!0;break;case 3:{let r=this._lines.onModelLinesDeleted(o,e.fromLineNumber,e.toLineNumber);r!==null&&(t.emitViewEvent(r),this.viewLayout.onLinesDeleted(r.fromLineNumber,r.toLineNumber)),n=!0;break}case 4:{let r=c.takeCount(e.detail.length),i=this._lines.onModelLinesInserted(o,e.fromLineNumber,e.toLineNumber,r);i!==null&&(t.emitViewEvent(i),this.viewLayout.onLinesInserted(i.fromLineNumber,i.toLineNumber)),n=!0;break}case 2:{let n=c.dequeue(),[i,a,s,l]=this._lines.onModelLineChanged(o,e.lineNumber,n);r=i,a&&t.emitViewEvent(a),s&&(t.emitViewEvent(s),this.viewLayout.onLinesInserted(s.fromLineNumber,s.toLineNumber)),l&&(t.emitViewEvent(l),this.viewLayout.onLinesDeleted(l.fromLineNumber,l.toLineNumber));break}case 5:break}o!==null&&this._lines.acceptVersionId(o),this.viewLayout.onHeightMaybeChanged(),!n&&r&&(t.emitViewEvent(new $c),t.emitViewEvent(new Yc(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}let t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){let e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){let t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),n=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:n+this._viewportStart.startLineDelta},1)}}try{let t=this._eventDispatcher.beginEmitViewEvents();e instanceof i.V&&t.emitOutgoingEvent(new bl(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._tokenizeViewportSoon.schedule()})),this._register(this.model.onDidChangeTokens(e=>{let t=[];for(let n=0,r=e.ranges.length;n<r;n++){let r=e.ranges[n];t[n]={fromLineNumber:this.coordinatesConverter.convertModelPositionToViewPosition(new i.kl(r.fromLineNumber,1)).lineNumber,toLineNumber:this.coordinatesConverter.convertModelPositionToViewPosition(new i.kl(r.toLineNumber,this.model.getLineMaxColumn(r.toLineNumber))).lineNumber}}this._eventDispatcher.emitSingleViewEvent(new ol(t)),e.tokenizationSupportChanged&&this._tokenizeViewportSoon.schedule(),this._eventDispatcher.emitOutgoingEvent(new Sl(e))})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new Qc),this.cursorConfig=new $a(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new yl(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new $a(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new vl(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{let e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new Xc),e.emitViewEvent(new $c),e.emitViewEvent(new Yc(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new $a(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new xl(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new Yc(e)),this._eventDispatcher.emitOutgoingEvent(new _l(e))}))}setHiddenAreas(e){let t=!1;try{let n=this._eventDispatcher.beginEmitViewEvents();t=this._lines.setHiddenAreas(e),t&&(n.emitViewEvent(new Xc),n.emitViewEvent(new $c),n.emitViewEvent(new Yc(null)),this._cursor.onLineMappingChanged(n),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),t&&this._eventDispatcher.emitOutgoingEvent(new ml)}getVisibleRangesPlusViewportAboveBelow(){let e=this._configuration.options.get(132),t=this._configuration.options.get(60),n=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),a=Math.max(1,r.completelyVisibleStartLineNumber-n),o=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+n);return this._toModelVisibleRanges(new i.Ol(a,this.getLineMinColumn(a),o,this.getLineMaxColumn(o)))}getVisibleRanges(){let e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}_toModelVisibleRanges(e){let t=this.coordinatesConverter.convertViewRangeToModelRange(e),n=this._lines.getHiddenAreas();if(n.length===0)return[t];let r=[],a=0,o=t.startLineNumber,s=t.startColumn,c=t.endLineNumber,l=t.endColumn;for(let e=0,t=n.length;e<t;e++){let t=n[e].startLineNumber,l=n[e].endLineNumber;l<o||t>c||(o<t&&(r[a++]=new i.Ol(o,s,t-1,this.model.getLineMaxColumn(t-1))),o=l+1,s=1)}return(o<c||o===c&&s<l)&&(r[a++]=new i.Ol(o,s,c,l)),r}getCompletelyVisibleViewRange(){let e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,n=e.completelyVisibleEndLineNumber;return new i.Ol(t,this.getLineMinColumn(t),n,this.getLineMaxColumn(n))}getCompletelyVisibleViewRangeAtScrollTop(e){let t=this.viewLayout.getLinesViewportDataAtScrollTop(e),n=t.completelyVisibleStartLineNumber,r=t.completelyVisibleEndLineNumber;return new i.Ol(n,this.getLineMinColumn(n),r,this.getLineMaxColumn(r))}saveState(){let e=this.viewLayout.saveState(),t=e.scrollTop,n=this.viewLayout.getLineNumberAtVerticalOffset(t),r=this.coordinatesConverter.convertViewPositionToModelPosition(new i.kl(n,this.getLineMinColumn(n))),a=this.viewLayout.getVerticalOffsetForLineNumber(n)-t;return{scrollLeft:e.scrollLeft,firstPosition:r,firstPositionDeltaTop:a}}reduceRestoreState(e){if(e.firstPosition===void 0)return this._reduceRestoreStateCompatibility(e);let t=this.model.validatePosition(e.firstPosition),n=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,n){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,n){return this._lines.getActiveIndentGuide(e,t,n)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,n,r){return this._lines.getViewLinesBracketGuides(e,t,n,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){let t=i.Lc(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){let t=i.Zc(this.getLineContent(e));return t===-1?0:t+2}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}getViewLineRenderingData(e,t){let n=this.model.mightContainRTL(),r=this.model.mightContainNonBasicASCII(),i=this.getTabSize(),a=this._lines.getViewLineData(t),o=this._decorations.getDecorationsViewportData(e).inlineDecorations[t-e.startLineNumber];return a.inlineDecorations&&(o=[...o,...a.inlineDecorations.map(e=>e.toInlineDecoration(t))]),new jr(a.minColumn,a.maxColumn,a.content,a.continuesWithWrappedLine,n,r,a.tokens,o,i,a.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,n){let r=this._lines.getViewLinesData(e,t,n);return new kr(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){let t=this.model.getOverviewRulerDecorations(this._editorId,ye(this._configuration.options)),n=new lu;for(let r of t){let t=r.options,i=t.overviewRuler;if(!i)continue;let a=i.position;if(a===0)continue;let o=i.getColor(e.value),s=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);n.accept(o,t.zIndex,s,c,a)}return n.asArray}_invalidateDecorationsColorCache(){let e=this.model.getOverviewRulerDecorations();for(let t of e){let e=t.options.overviewRuler;e&&e.invalidateCachedColor();let n=t.options.minimap;n&&n.invalidateCachedColor()}}getValueInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)}deduceModelPositionRelativeToViewPosition(e,t,n){let r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=n:t+=n);let i=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(i)}getPlainTextToCopy(e,t,n){let r=n?`\r
|
|
70
|
+
`:this.model.getEOL();e=e.slice(0),e.sort(i.Ol.compareRangesUsingStarts);let a=!1,o=!1;for(let t of e)t.isEmpty()?a=!0:o=!0;if(!o){if(!t)return``;let n=e.map(e=>e.startLineNumber),i=``;for(let e=0;e<n.length;e++)e>0&&n[e-1]===n[e]||(i+=this.model.getLineContent(n[e])+r);return i}if(a&&t){let t=[],r=0;for(let i of e){let e=i.startLineNumber;i.isEmpty()?e!==r&&t.push(this.model.getLineContent(e)):t.push(this.model.getValueInRange(i,n?2:0)),r=e}return t.length===1?t[0]:t}let s=[];for(let t of e)t.isEmpty()||s.push(this.model.getValueInRange(t,n?2:0));return s.length===1?s[0]:s}getRichTextToCopy(e,t){let n=this.model.getLanguageId();if(n===`plaintext`||e.length!==1)return null;let r=e[0];if(r.isEmpty()){if(!t)return null;let e=r.startLineNumber;r=new i.Ol(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}let a=this._configuration.options.get(45),o=this._getColorMap(),s=/[:;\\\/<>]/.test(a.fontFamily)||a.fontFamily===Fe.fontFamily,c;return s?c=Fe.fontFamily:(c=a.fontFamily,c=c.replace(/"/g,`'`),/[,']/.test(c)||/[+ ]/.test(c)&&(c=`'${c}'`),c=`${c}, ${Fe.fontFamily}`),{mode:n,html:`<div style="color: ${o[1]};background-color: ${o[2]};font-family: ${c};font-weight: ${a.fontWeight};font-size: ${a.fontSize}px;line-height: ${a.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(r,o)+`</div>`}}_getHTMLToCopy(e,t){let n=e.startLineNumber,r=e.startColumn,a=e.endLineNumber,o=e.endColumn,s=this.getTabSize(),c=``;for(let e=n;e<=a;e++){let l=this.model.tokenization.getLineTokens(e),u=l.getLineContent(),d=e===n?r-1:0,f=e===a?o-1:u.length;u===``?c+=`<br>`:c+=Nl(u,l.inflate(),t,d,f,s,i.Cd)}return c}_getColorMap(){let e=i.xl.getColorMap(),t=[`#000000`];if(e)for(let n=1,r=e.length;n<r;n++)t[n]=i.Bi.Format.CSS.formatHex(e[n]);return t}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(e,t,n){return this._withViewEventsCollector(r=>this._cursor.setStates(r,e,t,n))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,n=0){this._withViewEventsCollector(r=>this._cursor.setSelections(r,e,t,n))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new gl);return}this._withViewEventsCollector(e)}executeEdits(e,t,n){this._executeCursorEdit(r=>this._cursor.executeEdits(r,e,t,n))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(n=>this._cursor.type(n,e,t))}compositionType(e,t,n,r,i){this._executeCursorEdit(a=>this._cursor.compositionType(a,e,t,n,r,i))}paste(e,t,n,r){this._executeCursorEdit(i=>this._cursor.paste(i,e,t,n,r))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(n=>this._cursor.executeCommand(n,e,t))}executeCommands(e,t){this._executeCursorEdit(n=>this._cursor.executeCommands(n,e,t))}revealPrimaryCursor(e,t,n=!1){this._withViewEventsCollector(r=>this._cursor.revealPrimary(r,e,n,0,t,0))}revealTopMostCursor(e){let t=this._cursor.getTopMostViewPosition(),n=new i.Ol(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new rl(e,!1,n,null,0,!0,0)))}revealBottomMostCursor(e){let t=this._cursor.getBottomMostViewPosition(),n=new i.Ol(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new rl(e,!1,n,null,0,!0,0)))}revealRange(e,t,n,r,i){this._withViewEventsCollector(a=>a.emitViewEvent(new rl(e,!1,n,null,r,t,i)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new cl),this._eventDispatcher.emitOutgoingEvent(new ml))}_withViewEventsCollector(e){try{return e(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}},cu=class e{constructor(e,t,n,r,i){this._model=e,this._viewLineNumber=t,this._isValid=n,this._modelTrackedRange=r,this._startLineDelta=i}static create(t){return new e(t,1,!1,t._setTrackedRange(null,new i.Ol(1,1,1,1),1),0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){let n=e.coordinatesConverter.convertViewPositionToModelPosition(new i.kl(t,e.getLineMinColumn(t))),r=e.model._setTrackedRange(this._modelTrackedRange,new i.Ol(n.lineNumber,n.column,n.lineNumber,n.column),1),a=e.viewLayout.getVerticalOffsetForLineNumber(t),o=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=r,this._startLineDelta=o-a}invalidate(){this._isValid=!1}},lu=class{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,n,r,i){let a=this._asMap[e];if(a){let e=a.data,t=e[e.length-3],o=e[e.length-1];if(t===i&&o+1>=n){r>o&&(e[e.length-1]=r);return}e.push(i,n,r)}else{let a=new Fr(e,t,[i,n,r]);this._asMap[e]=a,this.asArray.push(a)}}},uu=class{constructor(...e){this._entries=new Map;for(let[t,n]of e)this.set(t,n)}set(e,t){let n=this._entries.get(e);return this._entries.set(e,t),n}get(e){return this._entries.get(e)}},du;(function(e){e[e.Ignore=0]=`Ignore`,e[e.Info=1]=`Info`,e[e.Warning=2]=`Warning`,e[e.Error=3]=`Error`})(du||={}),(function(e){let t=`error`,n=`warning`,r=`info`;function a(a){return a?i.Pc(t,a)?e.Error:i.Pc(n,a)||i.Pc(`warn`,a)?e.Warning:i.Pc(r,a)?e.Info:e.Ignore:e.Ignore}e.fromValue=a;function o(i){switch(i){case e.Error:return t;case e.Warning:return n;case e.Info:return r;default:return`ignore`}}e.toString=o})(du||={});var H=du,fu=H,pu=i.mc(`notificationService`),mu=class{},hu=class{constructor(e,t,n,r,i){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=n,this.breakOffsetsVisibleColumn=r,this.wrappedTextIndentLength=i}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){let t=e>0?this.breakOffsets[e-1]:0,n=this.breakOffsets[e]-t;return e>0&&(n+=this.wrappedTextIndentLength),n}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let n=e===0?t:this.breakOffsets[e-1]+t;if(this.injectionOffsets!==null)for(let e=0;e<this.injectionOffsets.length&&n>this.injectionOffsets[e];e++)n<this.injectionOffsets[e]+this.injectionOptions[e].content.length?n=this.injectionOffsets[e]:n-=this.injectionOptions[e].content.length;return n}translateToOutputPosition(e,t=2){let n=e;if(this.injectionOffsets!==null)for(let r=0;r<this.injectionOffsets.length&&!(e<this.injectionOffsets[r]||t!==1&&e===this.injectionOffsets[r]);r++)n+=this.injectionOptions[r].content.length;return this.offsetInInputWithInjectionsToOutputPosition(n,t)}offsetInInputWithInjectionsToOutputPosition(e,t=2){let n=0,r=this.breakOffsets.length-1,i=0,a=0;for(;n<=r;){i=n+(r-n)/2|0;let o=this.breakOffsets[i];if(a=i>0?this.breakOffsets[i-1]:0,t===0)if(e<=a)r=i-1;else if(e>o)n=i+1;else break;else if(e<a)r=i-1;else if(e>=o)n=i+1;else break}let o=e-a;return i>0&&(o+=this.wrappedTextIndentLength),new vu(i,o)}normalizeOutputPosition(e,t,n){if(this.injectionOffsets!==null){let r=this.outputPositionToOffsetInInputWithInjections(e,t),i=this.normalizeOffsetInInputWithInjectionsAroundInjections(r,n);if(i!==r)return this.offsetInInputWithInjectionsToOutputPosition(i,n)}if(n===0){if(e>0&&t===this.getMinOutputOffset(e))return new vu(e-1,this.getMaxOutputOffset(e-1))}else if(n===1&&e<this.getOutputLineCount()-1&&t===this.getMaxOutputOffset(e))return new vu(e+1,this.getMinOutputOffset(e+1));return new vu(e,t)}outputPositionToOffsetInInputWithInjections(e,t){return e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength)),(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){let n=this.getInjectedTextAtOffset(e);if(!n)return e;if(t===2){if(e===n.offsetInInputWithInjections+n.length&&gu(this.injectionOptions[n.injectedTextIndex].cursorStops))return n.offsetInInputWithInjections+n.length;{let e=n.offsetInInputWithInjections;if(_u(this.injectionOptions[n.injectedTextIndex].cursorStops))return e;let t=n.injectedTextIndex-1;for(;t>=0&&this.injectionOffsets[t]===this.injectionOffsets[n.injectedTextIndex]&&!(gu(this.injectionOptions[t].cursorStops)||(e-=this.injectionOptions[t].content.length,_u(this.injectionOptions[t].cursorStops)));)t--;return e}}else if(t===1||t===4){let e=n.offsetInInputWithInjections+n.length,t=n.injectedTextIndex;for(;t+1<this.injectionOffsets.length&&this.injectionOffsets[t+1]===this.injectionOffsets[t];)e+=this.injectionOptions[t+1].content.length,t++;return e}else if(t===0||t===3){let e=n.offsetInInputWithInjections,t=n.injectedTextIndex;for(;t-1>=0&&this.injectionOffsets[t-1]===this.injectionOffsets[t];)e-=this.injectionOptions[t-1].content.length,t--;return e}i.Su(t)}getInjectedText(e,t){let n=this.outputPositionToOffsetInInputWithInjections(e,t),r=this.getInjectedTextAtOffset(n);return r?{options:this.injectionOptions[r.injectedTextIndex]}:null}getInjectedTextAtOffset(e){let t=this.injectionOffsets,n=this.injectionOptions;if(t!==null){let r=0;for(let i=0;i<t.length;i++){let a=n[i].content.length,o=t[i]+r,s=t[i]+r+a;if(o>e)break;if(e<=s)return{injectedTextIndex:i,offsetInInputWithInjections:o,length:a};r+=a}}}};function gu(e){return e==null?!0:e===i.ac.Right||e===i.ac.Both}function _u(e){return e==null?!0:e===i.ac.Left||e===i.ac.Both}var vu=class{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new i.kl(e+this.outputLineIndex,this.outputOffset+1)}},yu=class e{constructor(e,t){this.classifier=new bu(e,t)}static create(t){return new e(t.get(121),t.get(120))}createLineBreaksComputer(e,t,n,r){let i=[],a=[],o=[];return{addRequest:(e,t,n)=>{i.push(e),a.push(t),o.push(n)},finalize:()=>{let s=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,c=[];for(let e=0,l=i.length;e<l;e++){let l=a[e],u=o[e];u&&!u.injectionOptions&&!l?c[e]=Cu(this.classifier,u,i[e],t,n,s,r):c[e]=wu(this.classifier,i[e],l,t,n,s,r)}return xu.length=0,Su.length=0,c}}}},bu=class extends i.as{constructor(e,t){super(0);for(let t=0;t<e.length;t++)this.set(e.charCodeAt(t),1);for(let e=0;e<t.length;e++)this.set(t.charCodeAt(e),2)}get(e){return e>=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}},xu=[],Su=[];function Cu(e,t,n,r,a,o,s){if(a===-1)return null;let c=n.length;if(c<=1)return null;let l=t.breakOffsets,u=t.breakOffsetsVisibleColumn,d=Ou(n,r,a,o,s),f=a-d,p=xu,m=Su,h=0,g=0,_=0,v=a,y=l.length,b=0;if(b>=0){let e=Math.abs(u[b]-v);for(;b+1<y;){let t=Math.abs(u[b+1]-v);if(t>=e)break;e=t,b++}}for(;b<y;){let t=b<0?0:l[b],a=b<0?0:u[b];g>t&&(t=g,a=_);let s=0,d=0,x=0,S=0;if(a<=v){let _=a,y=t===0?0:n.charCodeAt(t-1),b=t===0?0:e.get(y),C=!0;for(let a=t;a<c;a++){let t=a,c=n.charCodeAt(a),l,u;if(i.qc(c)?(a++,l=0,u=2):(l=e.get(c),u=Tu(c,_,r,o)),t>g&&Du(y,b,c,l)&&(s=t,d=_),_+=u,_>v){t>g?(x=t,S=_-u):(x=a+1,S=_),_-d>f&&(s=0),C=!1;break}y=c,b=l}if(C){h>0&&(p[h]=l[l.length-1],m[h]=u[l.length-1],h++);break}}if(s===0){let c=a,l=n.charCodeAt(t),u=e.get(l),p=!1;for(let r=t-1;r>=g;r--){let t=r+1,a=n.charCodeAt(r);if(a===9){p=!0;break}let m,h;if(i.Jc(a)?(r--,m=0,h=2):(m=e.get(a),h=i.Kc(a)?o:1),c<=v){if(x===0&&(x=t,S=c),c<=v-f)break;if(Du(a,m,l,u)){s=t,d=c;break}}c-=h,l=a,u=m}if(s!==0){let e=f-(S-d);if(e<=r){let t=n.charCodeAt(x),a;a=i.qc(t)?2:Tu(t,S,r,o),e-a<0&&(s=0)}}if(p){b--;continue}}if(s===0&&(s=x,d=S),s<=g){let e=n.charCodeAt(g);i.qc(e)?(s=g+2,d=_+2):(s=g+1,d=_+Tu(e,_,r,o))}for(g=s,p[h]=s,_=d,m[h]=d,h++,v=d+f;b<0||b<y&&u[b]<d;)b++;let C=Math.abs(u[b]-v);for(;b+1<y;){let e=Math.abs(u[b+1]-v);if(e>=C)break;C=e,b++}}return h===0?null:(p.length=h,m.length=h,xu=t.breakOffsets,Su=t.breakOffsetsVisibleColumn,t.breakOffsets=p,t.breakOffsetsVisibleColumn=m,t.wrappedTextIndentLength=d,t)}function wu(e,t,n,r,a,o,s){let c=i.H.applyInjectedText(t,n),l,u;if(n&&n.length>0?(l=n.map(e=>e.options),u=n.map(e=>e.column-1)):(l=null,u=null),a===-1)return l?new hu(u,l,[c.length],[],0):null;let d=c.length;if(d<=1)return l?new hu(u,l,[c.length],[],0):null;let f=Ou(c,r,a,o,s),p=a-f,m=[],h=[],g=0,_=0,v=0,y=a,b=c.charCodeAt(0),x=e.get(b),S=Tu(b,0,r,o),C=1;i.qc(b)&&(S+=1,b=c.charCodeAt(1),x=e.get(b),C++);for(let t=C;t<d;t++){let n=t,a=c.charCodeAt(t),s,l;i.qc(a)?(t++,s=0,l=2):(s=e.get(a),l=Tu(a,S,r,o)),Du(b,x,a,s)&&(_=n,v=S),S+=l,S>y&&((_===0||S-v>p)&&(_=n,v=S-l),m[g]=_,h[g]=v,g++,y=v+p,_=0),b=a,x=s}return g===0&&(!n||n.length===0)?null:(m[g]=d,h[g]=S,new hu(u,l,m,h,f))}function Tu(e,t,n,r){return e===9?n-t%n:i.Kc(e)||e<32?r:1}function Eu(e,t){return t-e%t}function Du(e,t,n,r){return n!==32&&(t===2&&r!==2||t!==1&&r===1||t===3&&r!==2||r===3&&t!==1)}function Ou(e,t,n,r,a){let o=0;if(a!==0){let s=i.Lc(e);if(s!==-1){for(let n=0;n<s;n++){let r=e.charCodeAt(n)===9?Eu(o,t):1;o+=r}let i=a===3?2:a===2?1:0;for(let e=0;e<i;e++){let e=Eu(o,t);o+=e}o+r>n&&(o=0)}}return o}var ku=window.trustedTypes?.createPolicy(`domLineBreaksComputer`,{createHTML:e=>e}),Au=class e{static create(){return new e}constructor(){}createLineBreaksComputer(e,t,n,r){let i=[],a=[];return{addRequest:(e,t,n)=>{i.push(e),a.push(t)},finalize:()=>ju(i,e,t,n,r,a)}}};function ju(e,t,n,r,a,o){function s(t){let n=o[t];if(n){let r=i.H.applyInjectedText(e[t],n),a=n.map(e=>e.options);return new hu(n.map(e=>e.column-1),a,[r.length],[],0)}else return null}if(r===-1){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=s(n);return t}let c=Math.round(r*t.typicalHalfwidthCharacterWidth),l=Math.round(n*(a===3?2:a===2?1:0)),u=Math.ceil(t.spaceWidth*l),d=document.createElement(`div`);Tt(d,t);let f=i.ec(1e4),p=[],m=[],h=[],g=[],_=[];for(let r=0;r<e.length;r++){let s=i.H.applyInjectedText(e[r],o[r]),l=0,d=0,v=c;if(a!==0)if(l=i.Lc(s),l===-1)l=0;else{for(let e=0;e<l;e++){let t=s.charCodeAt(e)===9?n-d%n:1;d+=t}let e=Math.ceil(t.spaceWidth*d);e+t.typicalFullwidthCharacterWidth>c?(l=0,d=0):v=c-e}let y=s.substr(l),b=Mu(y,d,n,v,f,u);p[r]=l,m[r]=d,h[r]=y,g[r]=b[0],_[r]=b[1]}let v=f.build();d.innerHTML=ku?.createHTML(v)??v,d.style.position=`absolute`,d.style.top=`10000`,d.style.wordWrap=`break-word`,document.body.appendChild(d);let y=document.createRange(),b=Array.prototype.slice.call(d.children,0),x=[];for(let t=0;t<e.length;t++){let e=b[t],n=Nu(y,e,h[t],g[t]);if(n===null){x[t]=s(t);continue}let r=p[t],i=m[t]+l,a=_[t],c=[];for(let e=0,t=n.length;e<t;e++)c[e]=a[n[e]];if(r!==0)for(let e=0,t=n.length;e<t;e++)n[e]+=r;let u,d,f=o[t];f?(u=f.map(e=>e.options),d=f.map(e=>e.column-1)):(u=null,d=null),x[t]=new hu(d,u,n,c,i)}return document.body.removeChild(d),x}function Mu(e,t,n,r,a,o){if(o!==0){let e=String(o);a.appendASCIIString(`<div style="text-indent: -`),a.appendASCIIString(e),a.appendASCIIString(`px; padding-left: `),a.appendASCIIString(e),a.appendASCIIString(`px; box-sizing: border-box; width:`)}else a.appendASCIIString(`<div style="width:`);a.appendASCIIString(String(r)),a.appendASCIIString(`px;">`);let s=e.length,c=t,l=0,u=[],d=[],f=0<s?e.charCodeAt(0):0;a.appendASCIIString(`<span>`);for(let t=0;t<s;t++){t!==0&&t%16384==0&&a.appendASCIIString(`</span><span>`),u[t]=l,d[t]=c;let r=f;f=t+1<s?e.charCodeAt(t+1):0;let o=1,p=1;switch(r){case 9:o=n-c%n,p=o;for(let e=1;e<=o;e++)e<o?a.write1(160):a.appendASCII(32);break;case 32:f===32?a.write1(160):a.appendASCII(32);break;case 60:a.appendASCIIString(`<`);break;case 62:a.appendASCIIString(`>`);break;case 38:a.appendASCIIString(`&`);break;case 0:a.appendASCIIString(`�`);break;case 65279:case 8232:case 8233:case 133:a.write1(65533);break;default:i.Kc(r)&&p++,r<32?a.write1(9216+r):a.write1(r)}l+=o,c+=p}return a.appendASCIIString(`</span>`),u[e.length]=l,d[e.length]=c,a.appendASCIIString(`</div>`),[u,d]}function Nu(e,t,n,r){if(n.length<=1)return null;let i=Array.prototype.slice.call(t.children,0),a=[];try{Pu(e,i,r,0,null,n.length-1,null,a)}catch{return null}return a.length===0?null:(a.push(n.length),a)}function Pu(e,t,n,r,i,a,o,s){if(r===a||(i||=Fu(e,t,n[r],n[r+1]),o||=Fu(e,t,n[a],n[a+1]),Math.abs(i[0].top-o[0].top)<=.1))return;if(r+1===a){s.push(a);return}let c=r+(a-r)/2|0,l=Fu(e,t,n[c],n[c+1]);Pu(e,t,n,r,i,c,l,s),Pu(e,t,n,c,l,a,o,s)}function Fu(e,t,n,r){return e.setStart(t[n/16384|0].firstChild,n%16384),e.setEnd(t[r/16384|0].firstChild,r%16384),e.getClientRects()}var Iu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Lu=function(e,t){return function(n,r){t(n,r,e)}},Ru=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},zu=0,Bu=class{constructor(e,t,n,r,i){this.model=e,this.viewModel=t,this.view=n,this.hasRealView=r,this.listenersToRemove=i}dispose(){i.nu(this.listenersToRemove),this.model.onBeforeDetached(),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}},Vu=class e extends i.Xl{constructor(e,t,n,r,a,o,s,c,l,u,d,f){super(),this.languageConfigurationService=d,this._deliveryQueue=new i.Kl,this._onDidDispose=this._register(new i.Ul),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this._onDidChangeConfiguration=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onDidChangeModel=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new Hu({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new Hu({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onWillType=this._onWillType.event,this._onDidType=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection();let p=Object.assign({},t);this._domElement=e,this._overflowWidgetsDomNode=p.overflowWidgetsDomNode,delete p.overflowWidgetsDomNode,this._id=++zu,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=n.telemetryData,this._configuration=this._register(this._createConfiguration(n.isSimpleWidget||!1,p,u)),this._register(this._configuration.onDidChange(e=>{this._onDidChangeConfiguration.fire(e);let t=this._configuration.options;if(e.hasChanged(132)){let e=t.get(132);this._onDidLayoutChange.fire(e)}})),this._contextKeyService=this._register(s.createScoped(this._domElement)),this._notificationService=l,this._codeEditorService=a,this._commandService=o,this._themeService=c,this._register(new Uu(this,this._contextKeyService)),this._register(new Wu(this,this._contextKeyService,f)),this._instantiationService=r.createChild(new uu([i.Ea,this._contextKeyService])),this._modelData=null,this._contributions={},this._actions={},this._focusTracker=new Gu(e),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={};let m;m=Array.isArray(n.contributions)?n.contributions:i.qi.getEditorContributions();for(let e of m){if(this._contributions[e.id]){i.fu(Error(`Cannot have two contributions with the same id ${e.id}`));continue}try{let t=this._instantiationService.createInstance(e.ctor,this);this._contributions[e.id]=t}catch(e){i.fu(e)}}i.qi.getEditorActions().forEach(e=>{if(this._actions[e.id]){i.fu(Error(`Cannot have two actions with the same id ${e.id}`));return}let t=new kl(e.id,e.label,e.alias,i.Iu(e.precondition),()=>this._instantiationService.invokeFunction(t=>Promise.resolve(e.runEditorCommand(t,this,null))),this._contextKeyService);this._actions[t.id]=t}),this._register(new i.Va(this._domElement,{onDragEnter:()=>void 0,onDragOver:e=>{if(!this._configuration.options.get(32))return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this.showDropIndicatorAt(t.position)},onDrop:e=>Ru(this,void 0,void 0,function*(){if(!this._configuration.options.get(32)||(this.removeDropIndicator(),!e.dataTransfer))return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this._onDropIntoEditor.fire({position:t.position,event:e})}),onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}get isSimpleWidget(){return this._configuration.isSimpleWidget}_createConfiguration(e,t,n){return new Ii(e,t,this._domElement,n)}getId(){return this.getEditorType()+`:`+this._id}getEditorType(){return zt.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose();let e=Object.keys(this._contributions);for(let t=0,n=e.length;t<n;t++){let n=e[t];this._contributions[n].dispose()}this._contributions={},this._actions={},this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?mo.getWordAtPosition(this._modelData.model,this._configuration.options.get(118),e):null}getValue(e=null){if(!this._modelData)return``;let t=!!(e&&e.preserveBOM),n=0;return e&&e.lineEnding&&e.lineEnding===`
|
|
71
|
+
`?n=1:e&&e.lineEnding&&e.lineEnding===`\r
|
|
72
|
+
`&&(n=2),this._modelData.model.getValue(n,t)}setValue(e){this._modelData&&this._modelData.model.setValue(e)}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){let t=e;if(this._modelData===null&&t===null||this._modelData&&this._modelData.model===t)return;let n=this.hasTextFocus(),r=this._detachModel();this._attachModel(t),n&&this.hasModel()&&this.focus();let i={oldModelUrl:r?r.uri:null,newModelUrl:t?t.uri:null};this._removeDecorationTypes(),this._onDidChangeModel.fire(i),this._postDetachModelCleanup(r)}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(let e in this._decorationTypeSubtypes){let t=this._decorationTypeSubtypes[e];for(let n in t)this._removeDecorationType(e+`-`+n)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}getTopForLineNumber(t,n=!1){return this._modelData?e._getVerticalOffsetForPosition(this._modelData,t,1,n):-1}getTopForPosition(t,n){return this._modelData?e._getVerticalOffsetForPosition(this._modelData,t,n,!1):-1}static _getVerticalOffsetForPosition(e,t,n,r=!1){let i=e.model.validatePosition({lineNumber:t,column:n}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(a.lineNumber,r)}setHiddenAreas(e){var t;(t=this._modelData)==null||t.viewModel.setHiddenAreas(e.map(e=>i.Ol.lift(e)))}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;let t=this._modelData.model.validatePosition(e),n=this._modelData.model.getOptions().tabSize;return i.It.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,n)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t=`api`){if(this._modelData){if(!i.kl.isIPosition(e))throw Error(`Invalid arguments`);this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,n,r){if(!this._modelData)return;if(!i.Ol.isIRange(e))throw Error(`Invalid arguments`);let a=this._modelData.model.validateRange(e),o=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(a);this._modelData.viewModel.revealRange(`api`,n,o,t,r)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,n){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._sendRevealRange(new i.Ol(e,1,e,1),t,!1,n)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,n,r){if(!i.kl.isIPosition(e))throw Error(`Invalid arguments`);this._sendRevealRange(new i.Ol(e.lineNumber,e.column,e.lineNumber,e.column),t,n,r)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t=`api`){let n=i.Dl.isISelection(e),r=i.Ol.isIRange(e);if(!n&&!r)throw Error(`Invalid arguments`);if(n)this._setSelectionImpl(e,t);else if(r){let n={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(n,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;let n=new i.Dl(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[n])}revealLines(e,t,n=0){this._revealLines(e,t,0,n)}revealLinesInCenter(e,t,n=0){this._revealLines(e,t,1,n)}revealLinesInCenterIfOutsideViewport(e,t,n=0){this._revealLines(e,t,2,n)}revealLinesNearTop(e,t,n=0){this._revealLines(e,t,5,n)}_revealLines(e,t,n,r){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Invalid arguments`);this._sendRevealRange(new i.Ol(e,1,t,1),n,!1,r)}revealRange(e,t=0,n=!1,r=!0){this._revealRange(e,n?1:0,r,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,n,r){if(!i.Ol.isIRange(e))throw Error(`Invalid arguments`);this._sendRevealRange(i.Ol.lift(e),t,n,r)}setSelections(e,t=`api`,n=0){if(this._modelData){if(!e||e.length===0)throw Error(`Invalid arguments`);for(let t=0,n=e.length;t<n;t++)if(!i.Dl.isISelection(e[t]))throw Error(`Invalid arguments`);this._modelData.viewModel.setSelections(t,e,n)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(e,t=1){if(this._modelData){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:e},t)}}setScrollTop(e,t=1){if(this._modelData){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:e},t)}}setScrollPosition(e,t=1){this._modelData&&this._modelData.viewModel.viewLayout.setScrollPosition(e,t)}saveViewState(){if(!this._modelData)return null;let e={},t=Object.keys(this._contributions);for(let n of t){let t=this._contributions[n];typeof t.saveViewState==`function`&&(e[n]=t.saveViewState())}return{cursorState:this._modelData.viewModel.saveCursorState(),viewState:this._modelData.viewModel.saveState(),contributionsState:e}}restoreViewState(e){if(!this._modelData||!this._modelData.hasRealView)return;let t=e;if(t&&t.cursorState&&t.viewState){let e=t.cursorState;Array.isArray(e)?e.length>0&&this._modelData.viewModel.restoreCursorState(e):this._modelData.viewModel.restoreCursorState([e]);let n=t.contributionsState||{},r=Object.keys(this._contributions);for(let e=0,t=r.length;e<t;e++){let t=r[e],i=this._contributions[t];typeof i.restoreViewState==`function`&&i.restoreViewState(n[t])}let i=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(i)}}getContribution(e){return this._contributions[e]||null}getActions(){let e=[],t=Object.keys(this._actions);for(let n=0,r=t.length;n<r;n++){let r=t[n];e.push(this._actions[r])}return e}getSupportedActions(){let e=this.getActions();return e=e.filter(e=>e.isSupported()),e}getAction(e){return this._actions[e]||null}trigger(e,t,n){switch(n||={},t){case`compositionStart`:this._startComposition();return;case`compositionEnd`:this._endComposition(e);return;case`type`:{let t=n;this._type(e,t.text||``);return}case`replacePreviousChar`:{let t=n;this._compositionType(e,t.text||``,t.replaceCharCnt||0,0,0);return}case`compositionType`:{let t=n;this._compositionType(e,t.text||``,t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0);return}case`paste`:{let t=n;this._paste(e,t.text||``,t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null);return}case`cut`:this._cut(e);return}let r=this.getAction(t);if(r){Promise.resolve(r.run()).then(void 0,i.fu);return}this._modelData&&(this._triggerEditorCommand(e,t,n)||this._triggerCommand(t,n))}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){!this._modelData||t.length===0||(e===`keyboard`&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),e===`keyboard`&&this._onDidType.fire(t))}_compositionType(e,t,n,r,i){this._modelData&&this._modelData.viewModel.compositionType(t,n,r,i,e)}_paste(e,t,n,r,a){if(!this._modelData||t.length===0)return;let o=this._modelData.viewModel.getSelection().getStartPosition();this._modelData.viewModel.paste(t,n,r,e);let s=this._modelData.viewModel.getSelection().getStartPosition();e===`keyboard`&&this._onDidPaste.fire({range:new i.Ol(o.lineNumber,o.column,s.lineNumber,s.column),languageId:a})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,n){let r=i.qi.getEditorCommand(t);return r?(n||={},n.source=e,this._instantiationService.invokeFunction(e=>{Promise.resolve(r.runEditorCommand(e,this,n)).then(void 0,i.fu)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(82)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(82)?!1:(this._modelData.model.popStackElement(),!0)}executeEdits(e,t,n){if(!this._modelData||this._configuration.options.get(82))return!1;let r;return r=n?Array.isArray(n)?()=>n:n:()=>null,this._modelData.viewModel.executeEdits(e,t,r),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new Ku(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,ye(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,ye(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?e.length===0&&t.length===0?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){!this._modelData||e.length===0||this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){let t=this._decorationTypeKeysToIds[e];t&&this.deltaDecorations(t,[]),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(132)}createOverviewRuler(e){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(e)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateVerticalScrollbarPointerDown(e)}layout(e){this._configuration.observeContainer(e),this.render()}focus(){!this._modelData||!this._modelData.hasRealView||this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){let t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let n=this._contentWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(n)}}removeContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){let t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId()),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let n=this._overlayWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(n)}}removeOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}changeViewZones(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(e,t)}getScrolledVisiblePosition(t){if(!this._modelData||!this._modelData.hasRealView)return null;let n=this._modelData.model.validatePosition(t),r=this._configuration.options,i=r.get(132);return{top:e._getVerticalOffsetForPosition(this._modelData,n.lineNumber,n.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(n.lineNumber,n.column)+i.glyphMarginWidth+i.lineNumbersWidth+i.decorationsWidth-this.getScrollLeft(),height:r.get(60)}}getOffsetForColumn(e,t){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(e,t)}render(e=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.view.render(!0,e)}setAriaOptions(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(e)}applyFontInfo(e){Tt(e,this._configuration.options.get(45))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e){this._modelData=null;return}let t=[];this._domElement.setAttribute(`data-mode-id`,e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount()),e.onBeforeAttached();let n=new su(this._id,this._configuration,e,Au.create(),yu.create(this._configuration.options),e=>i.Ao(e),this.languageConfigurationService,this._themeService);t.push(e.onWillDispose(()=>this.setModel(null))),t.push(n.onEvent(t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._onDidScrollChange.fire(t);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{t.reachedMaxCursorCount&&this._notificationService.warn(i.Td(`cursors.maximum`,`The number of cursors has been limited to {0}.`,Cl.MAX_CURSOR_COUNT));let e=[];for(let n=0,r=t.selections.length;n<r;n++)e[n]=t.selections[n].getPosition();let n={position:e[0],secondaryPositions:e.slice(1),reason:t.reason,source:t.source};this._onDidChangeCursorPosition.fire(n);let r={selection:t.selections[0],secondarySelections:t.selections.slice(1),modelVersionId:t.modelVersionId,oldSelections:t.oldSelections,oldModelVersionId:t.oldModelVersionId,source:t.source,reason:t.reason};this._onDidChangeCursorSelection.fire(r);break}case 7:this._onDidChangeModelDecorations.fire(t.event);break;case 8:this._domElement.setAttribute(`data-mode-id`,e.getLanguageId()),this._onDidChangeModelLanguage.fire(t.event);break;case 9:this._onDidChangeModelLanguageConfiguration.fire(t.event);break;case 10:this._onDidChangeModelContent.fire(t.event);break;case 11:this._onDidChangeModelOptions.fire(t.event);break;case 12:this._onDidChangeModelTokens.fire(t.event);break}}));let[r,a]=this._createView(n);if(a){this._domElement.appendChild(r.domNode.domNode);let t=Object.keys(this._contentWidgets);for(let e=0,n=t.length;e<n;e++){let n=t[e];r.addContentWidget(this._contentWidgets[n])}t=Object.keys(this._overlayWidgets);for(let e=0,n=t.length;e<n;e++){let n=t[e];r.addOverlayWidget(this._overlayWidgets[n])}r.render(!1,!0),r.domNode.domNode.setAttribute(`data-uri`,e.uri.toString())}this._modelData=new Bu(e,n,r,a,t)}_createView(e){let t;t=this.isSimpleWidget?{paste:(e,t,n,r)=>{this._paste(`keyboard`,e,t,n,r)},type:e=>{this._type(`keyboard`,e)},compositionType:(e,t,n,r)=>{this._compositionType(`keyboard`,e,t,n,r)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition(`keyboard`)},cut:()=>{this._cut(`keyboard`)}}:{paste:(e,t,n,r)=>{let i={text:e,pasteOnNewLine:t,multicursorText:n,mode:r};this._commandService.executeCommand(`paste`,i)},type:e=>{let t={text:e};this._commandService.executeCommand(`type`,t)},compositionType:(e,t,n,r)=>{if(n||r){let i={text:e,replacePrevCharCnt:t,replaceNextCharCnt:n,positionDelta:r};this._commandService.executeCommand(`compositionType`,i)}else{let n={text:e,replaceCharCnt:t};this._commandService.executeCommand(`replacePreviousChar`,n)}},startComposition:()=>{this._commandService.executeCommand(`compositionStart`,{})},endComposition:()=>{this._commandService.executeCommand(`compositionEnd`,{})},cut:()=>{this._commandService.executeCommand(`cut`,{})}};let n=new Yo(e.coordinatesConverter);return n.onKeyDown=e=>this._onKeyDown.fire(e),n.onKeyUp=e=>this._onKeyUp.fire(e),n.onContextMenu=e=>this._onContextMenu.fire(e),n.onMouseMove=e=>this._onMouseMove.fire(e),n.onMouseLeave=e=>this._onMouseLeave.fire(e),n.onMouseDown=e=>this._onMouseDown.fire(e),n.onMouseUp=e=>this._onMouseUp.fire(e),n.onMouseDrag=e=>this._onMouseDrag.fire(e),n.onMouseDrop=e=>this._onMouseDrop.fire(e),n.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),n.onMouseWheel=e=>this._onMouseWheel.fire(e),[new Bc(t,this._configuration,this._themeService.getColorTheme(),e,n,this._overflowWidgetsDomNode),!0]}_postDetachModelCleanup(e){e?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(!this._modelData)return null;let e=this._modelData.model,t=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute(`data-mode-id`),t&&this._domElement.contains(t)&&this._domElement.removeChild(t),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),e}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return this._modelData!==null}showDropIndicatorAt(t){let n=[{range:new i.Ol(t.lineNumber,t.column,t.lineNumber,t.column),options:e.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(n),this.revealPosition(t,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}};Vu.dropIntoEditorDecorationOptions=i.f.register({description:`workbench-dnd-target`,className:`dnd-target`}),Vu=Iu([Lu(3,i.fc),Lu(4,i.dc),Lu(5,i.Ma),Lu(6,i.Ea),Lu(7,i.ga),Lu(8,pu),Lu(9,Mi),Lu(10,i.Ps),Lu(11,i.Zo)],Vu);var Hu=class extends i.Xl{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new i.Ul(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new i.Ul(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){let t=e?2:1;this._value!==t&&(this._value=t,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}},Uu=class extends i.Xl{constructor(e,t){super(),this._editor=e,t.createKey(`editorId`,e.getId()),this._editorSimpleInput=R.editorSimpleInput.bindTo(t),this._editorFocus=R.focus.bindTo(t),this._textInputFocus=R.textInputFocus.bindTo(t),this._editorTextFocus=R.editorTextFocus.bindTo(t),this._editorTabMovesFocus=R.tabMovesFocus.bindTo(t),this._editorReadonly=R.readOnly.bindTo(t),this._inDiffEditor=R.inDiffEditor.bindTo(t),this._editorColumnSelection=R.columnSelection.bindTo(t),this._hasMultipleSelections=R.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=R.hasNonEmptySelection.bindTo(t),this._canUndo=R.canUndo.bindTo(t),this._canRedo=R.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){let e=this._editor.getOptions();this._editorTabMovesFocus.set(e.get(131)),this._editorReadonly.set(e.get(82)),this._inDiffEditor.set(e.get(55)),this._editorColumnSelection.set(e.get(18))}_updateFromSelection(){let e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(e=>!e.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){let e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}},Wu=class extends i.Xl{constructor(e,t,n){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=n,this._langId=R.languageId.bindTo(t),this._hasCompletionItemProvider=R.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=R.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=R.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=R.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=R.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=R.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=R.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=R.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=R.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=R.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=R.hasReferenceProvider.bindTo(t),this._hasRenameProvider=R.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=R.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=R.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=R.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=R.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=R.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=R.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInWalkThrough=R.isInWalkThroughSnippet.bindTo(t);let r=()=>this._update();this._register(e.onDidChangeModel(r)),this._register(e.onDidChangeModelLanguage(r)),this._register(n.completionProvider.onDidChange(r)),this._register(n.codeActionProvider.onDidChange(r)),this._register(n.codeLensProvider.onDidChange(r)),this._register(n.definitionProvider.onDidChange(r)),this._register(n.declarationProvider.onDidChange(r)),this._register(n.implementationProvider.onDidChange(r)),this._register(n.typeDefinitionProvider.onDidChange(r)),this._register(n.hoverProvider.onDidChange(r)),this._register(n.documentHighlightProvider.onDidChange(r)),this._register(n.documentSymbolProvider.onDidChange(r)),this._register(n.referenceProvider.onDidChange(r)),this._register(n.renameProvider.onDidChange(r)),this._register(n.documentFormattingEditProvider.onDidChange(r)),this._register(n.documentRangeFormattingEditProvider.onDidChange(r)),this._register(n.signatureHelpProvider.onDidChange(r)),this._register(n.inlayHintsProvider.onDidChange(r)),r()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInWalkThrough.reset()})}_update(){let e=this._editor.getModel();if(!e){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInWalkThrough.set(e.uri.scheme===i.Io.walkThroughSnippet)})}},Gu=class extends i.Xl{constructor(e){super(),this._onChange=this._register(new i.Ul),this.onChange=this._onChange.event,this._hasFocus=!1,this._domFocusTracker=this._register(i.No(e)),this._register(this._domFocusTracker.onDidFocus(()=>{this._hasFocus=!0,this._onChange.fire(void 0)})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasFocus=!1,this._onChange.fire(void 0)}))}hasFocus(){return this._hasFocus}},Ku=class{constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}get length(){return this._decorationIds.length}onDidChange(e,t,n){return this._editor.onDidChangeModelDecorations(n=>{this._isChangingDecorations||e.call(t,n)},n)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];let e=this._editor.getModel(),t=[];for(let n of this._decorationIds){let r=e.getDecorationRange(n);r&&t.push(r)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}}},qu=`%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%206%203'%20enable-background%3D'new%200%200%206%203'%20height%3D'3'%20width%3D'6'%3E%3Cg%20fill%3D'`,Ju=`'%3E%3Cpolygon%20points%3D'5.5%2C0%202.5%2C3%201.1%2C3%204.1%2C0'%2F%3E%3Cpolygon%20points%3D'4%2C0%206%2C2%206%2C0.6%205.4%2C0'%2F%3E%3Cpolygon%20points%3D'0%2C2%201%2C3%202.4%2C3%200%2C0.6'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`;function Yu(e){return qu+encodeURIComponent(e.toString())+Ju}var Xu=`%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%223%22%20width%3D%2212%22%3E%3Cg%20fill%3D%22`,Zu=`%22%3E%3Ccircle%20cx%3D%221%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%225%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`;function Qu(e){return Xu+encodeURIComponent(e.toString())+Zu}i.ba((e,t)=>{let n=e.getColor(i.vn);n&&t.addRule(`.monaco-editor .squiggly-error { border-bottom: 4px double ${n}; }`);let r=e.getColor(i.yn);r&&t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${Yu(r)}") repeat-x bottom left; }`);let a=e.getColor(i._n);a&&t.addRule(`.monaco-editor .squiggly-error::before { display: block; content: ''; width: 100%; height: 100%; background: ${a}; }`);let o=e.getColor(i.Zn);o&&t.addRule(`.monaco-editor .squiggly-warning { border-bottom: 4px double ${o}; }`);let s=e.getColor(i.Qn);s&&t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${Yu(s)}") repeat-x bottom left; }`);let c=e.getColor(i.Xn);c&&t.addRule(`.monaco-editor .squiggly-warning::before { display: block; content: ''; width: 100%; height: 100%; background: ${c}; }`);let l=e.getColor(i.In);l&&t.addRule(`.monaco-editor .squiggly-info { border-bottom: 4px double ${l}; }`);let u=e.getColor(i.Ln);u&&t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${Yu(u)}") repeat-x bottom left; }`);let d=e.getColor(i.Fn);d&&t.addRule(`.monaco-editor .squiggly-info::before { display: block; content: ''; width: 100%; height: 100%; background: ${d}; }`);let f=e.getColor(i.Dn);f&&t.addRule(`.monaco-editor .squiggly-hint { border-bottom: 2px dotted ${f}; }`);let p=e.getColor(i.On);p&&t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${Qu(p)}") no-repeat bottom left; }`);let m=e.getColor(i.Ot);m&&t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${m.rgba.a}; }`);let h=e.getColor(i.Dt);h&&t.addRule(`.monaco-editor.showUnused .squiggly-unnecessary { border-bottom: 2px dashed ${h}; }`);let g=e.getColor(i.En)||`inherit`;t.addRule(`.monaco-editor.showDeprecated .squiggly-inline-deprecated { text-decoration: line-through; text-decoration-color: ${g}}`)});var U=class{constructor(e,t,n){let r=e=>this.emitter.fire(e);this.emitter=new i.Ul({onFirstListenerAdd:()=>e.addEventListener(t,r,n),onLastListenerRemove:()=>e.removeEventListener(t,r,n)})}get event(){return this.emitter.event}dispose(){this.emitter.dispose()}};function $u(e){return e.preventDefault(),e.stopPropagation(),e}var ed=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},td=!1,nd;(function(e){e.North=`north`,e.South=`south`,e.East=`east`,e.West=`west`})(nd||={});var rd=4,id=new i.Ul,ad=300,od=new i.Ul,sd=class{constructor(){this.disposables=new i.Zl}get onPointerMove(){return this.disposables.add(new U(window,`mousemove`)).event}get onPointerUp(){return this.disposables.add(new U(window,`mouseup`)).event}dispose(){this.disposables.dispose()}};ed([M],sd.prototype,`onPointerMove`,null),ed([M],sd.prototype,`onPointerUp`,null);var cd=class{constructor(e){this.el=e,this.disposables=new i.Zl}get onPointerMove(){return this.disposables.add(new U(this.el,N.Change)).event}get onPointerUp(){return this.disposables.add(new U(this.el,N.End)).event}dispose(){this.disposables.dispose()}};ed([M],cd.prototype,`onPointerMove`,null),ed([M],cd.prototype,`onPointerUp`,null);var ld=class{constructor(e){this.factory=e}get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}dispose(){}};ed([M],ld.prototype,`onPointerMove`,null),ed([M],ld.prototype,`onPointerUp`,null);var ud=`pointer-events-disabled`,dd=class e extends i.Xl{constructor(t,n,r){super(),this.hoverDelay=ad,this.hoverDelayer=this._register(new i.ms(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new i.Ul),this._onDidStart=this._register(new i.Ul),this._onDidChange=this._register(new i.Ul),this._onDidReset=this._register(new i.Ul),this._onDidEnd=this._register(new i.Ul),this.orthogonalStartSashDisposables=this._register(new i.Zl),this.orthogonalStartDragHandleDisposables=this._register(new i.Zl),this.orthogonalEndSashDisposables=this._register(new i.Zl),this.orthogonalEndDragHandleDisposables=this._register(new i.Zl),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=i.Xa(t,i.za(`.monaco-sash`)),r.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${r.orthogonalEdge}`),i.bd&&this.el.classList.add(`mac`);let a=this._register(new U(this.el,`mousedown`)).event;this._register(a(e=>this.onPointerStart(e,new sd),this));let o=this._register(new U(this.el,`dblclick`)).event;this._register(o(this.onPointerDoublePress,this));let s=this._register(new U(this.el,`mouseenter`)).event;this._register(s(()=>e.onMouseEnter(this)));let c=this._register(new U(this.el,`mouseleave`)).event;this._register(c(()=>e.onMouseLeave(this))),this._register(Wi.addTarget(this.el));let l=i.Wl.map(this._register(new U(this.el,N.Start)).event,e=>Object.assign(Object.assign({},e),{target:e.initialTarget??null}));this._register(l(e=>this.onPointerStart(e,new cd(this.el)),this));let u=this._register(new U(this.el,N.Tap)).event,d=i.Wl.map(i.Wl.filter(i.Wl.debounce(u,(e,t)=>({event:t,count:(e?.count??0)+1}),250),({count:e})=>e===2),({event:e})=>Object.assign(Object.assign({},e),{target:e.initialTarget??null}));this._register(d(this.onPointerDoublePress,this)),typeof r.size==`number`?(this.size=r.size,r.orientation===0?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=rd,this._register(id.event(e=>{this.size=e,this.layout()}))),this._register(od.event(e=>this.hoverDelay=e)),this.layoutProvider=n,this.orthogonalStartSash=r.orthogonalStartSash,this.orthogonalEndSash=r.orthogonalEndSash,this.orientation=r.orientation||0,this.orientation===1?(this.el.classList.add(`horizontal`),this.el.classList.remove(`vertical`)):(this.el.classList.remove(`horizontal`),this.el.classList.add(`vertical`)),this.el.classList.toggle(`debug`,td),this.layout()}get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(e){this._state!==e&&(this.el.classList.toggle(`disabled`,e===0),this.el.classList.toggle(`minimum`,e===1),this.el.classList.toggle(`maximum`,e===2),this._state=e,this.onDidEnablementChange.fire(e))}set orthogonalStartSash(t){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),t){let n=n=>{this.orthogonalStartDragHandleDisposables.clear(),n!==0&&(this._orthogonalStartDragHandle=i.Xa(this.el,i.za(`.orthogonal-drag-handle.start`)),this.orthogonalStartDragHandleDisposables.add(i.au(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(new U(this._orthogonalStartDragHandle,`mouseenter`)).event(()=>e.onMouseEnter(t),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new U(this._orthogonalStartDragHandle,`mouseleave`)).event(()=>e.onMouseLeave(t),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(t.onDidEnablementChange.event(n,this)),n(t.state)}this._orthogonalStartSash=t}set orthogonalEndSash(t){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),t){let n=n=>{this.orthogonalEndDragHandleDisposables.clear(),n!==0&&(this._orthogonalEndDragHandle=i.Xa(this.el,i.za(`.orthogonal-drag-handle.end`)),this.orthogonalEndDragHandleDisposables.add(i.au(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(new U(this._orthogonalEndDragHandle,`mouseenter`)).event(()=>e.onMouseEnter(t),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new U(this._orthogonalEndDragHandle,`mouseleave`)).event(()=>e.onMouseLeave(t),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(t.onDidEnablementChange.event(n,this)),n(t.state)}this._orthogonalEndSash=t}onPointerStart(e,t){i.Ha.stop(e);let n=!1;if(!e.__orthogonalSashEvent){let r=this.getOrthogonalSash(e);r&&(n=!0,e.__orthogonalSashEvent=!0,r.onPointerStart(e,new ld(t)))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onPointerStart(e,new ld(t))),!this.state)return;let r=i.fo(`iframe`);for(let e of r)e.classList.add(ud);let a=e.pageX,o=e.pageY,s=e.altKey,c={startX:a,currentX:a,startY:o,currentY:o,altKey:s};this.el.classList.add(`active`),this._onDidStart.fire(c);let l=i.ro(this.el),u=()=>{let e=``;e=n?`all-scroll`:this.orientation===1?this.state===1?`s-resize`:this.state===2?`n-resize`:i.bd?`row-resize`:`ns-resize`:this.state===1?`e-resize`:this.state===2?`w-resize`:i.bd?`col-resize`:`ew-resize`,l.textContent=`* { cursor: ${e} !important; }`},d=new i.Zl;u(),n||this.onDidEnablementChange.event(u,null,d),t.onPointerMove(e=>{i.Ha.stop(e,!1);let t={startX:a,currentX:e.pageX,startY:o,currentY:e.pageY,altKey:s};this._onDidChange.fire(t)},null,d),t.onPointerUp(e=>{i.Ha.stop(e,!1),this.el.removeChild(l),this.el.classList.remove(`active`),this._onDidEnd.fire(),d.dispose();for(let e of r)e.classList.remove(ud)},null,d),d.add(t)}onPointerDoublePress(e){let t=this.getOrthogonalSash(e);t&&t._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(t,n=!1){t.el.classList.contains(`active`)?(t.hoverDelayer.cancel(),t.el.classList.add(`hover`)):t.hoverDelayer.trigger(()=>t.el.classList.add(`hover`),t.hoverDelay).then(void 0,()=>{}),!n&&t.linkedSash&&e.onMouseEnter(t.linkedSash,!0)}static onMouseLeave(t,n=!1){t.hoverDelayer.cancel(),t.el.classList.remove(`hover`),!n&&t.linkedSash&&e.onMouseLeave(t.linkedSash,!0)}clearSashHoverState(){e.onMouseLeave(this)}layout(){if(this.orientation===0){let e=this.layoutProvider;this.el.style.left=e.getVerticalSashLeft(this)-this.size/2+`px`,e.getVerticalSashTop&&(this.el.style.top=e.getVerticalSashTop(this)+`px`),e.getVerticalSashHeight&&(this.el.style.height=e.getVerticalSashHeight(this)+`px`)}else{let e=this.layoutProvider;this.el.style.top=e.getHorizontalSashTop(this)-this.size/2+`px`,e.getHorizontalSashLeft&&(this.el.style.left=e.getHorizontalSashLeft(this)+`px`),e.getHorizontalSashWidth&&(this.el.style.width=e.getHorizontalSashWidth(this)+`px`)}}getOrthogonalSash(e){if(!(!e.target||!(e.target instanceof HTMLElement))&&e.target.classList.contains(`orthogonal-drag-handle`))return e.target.classList.contains(`start`)?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}},fd=class e{constructor(e,t,n){this._visiblePosition=e,this._visiblePositionScrollDelta=t,this._cursorPosition=n}static capture(t){let n=null,r=0;if(t.getScrollTop()!==0){let e=t.getVisibleRanges();if(e.length>0){n=e[0].getStartPosition();let i=t.getTopForPosition(n.lineNumber,n.column);r=t.getScrollTop()-i}}return new e(n,r,t.getPosition())}restore(e){if(this._visiblePosition){let t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){let t=e.getPosition();if(!this._cursorPosition||!t)return;let n=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+n)}},pd={RESOURCES:`ResourceURLs`,DOWNLOAD_URL:`DownloadURL`,FILES:`Files`,TEXT:i.Us.text},md={CurrentDragAndDropData:void 0};function hd(...e){return function(t,n){for(let r=0,i=e.length;r<i;r++){let i=e[r](t,n);if(i)return i}return null}}_d.bind(void 0,!1);var gd=_d.bind(void 0,!0);function _d(e,t,n){if(!n||n.length<t.length)return null;let r;return r=e?i.ol(n,t):n.indexOf(t)===0,r?t.length>0?[{start:0,end:t.length}]:[]:null}function vd(e,t){let n=t.toLowerCase().indexOf(e.toLowerCase());return n===-1?null:[{start:n,end:n+e.length}]}function yd(e,t){return bd(e.toLowerCase(),t.toLowerCase(),0,0)}function bd(e,t,n,r){if(n===e.length)return[];if(r===t.length)return null;if(e[n]===t[r]){let i=null;return(i=bd(e,t,n+1,r+1))?kd({start:r,end:r+1},i):null}return bd(e,t,n,r+1)}function xd(e){return 97<=e&&e<=122}function Sd(e){return 65<=e&&e<=90}function Cd(e){return 48<=e&&e<=57}function wd(e){return e===32||e===9||e===10||e===13}var Td=new Set;`()[]{}<>\`'"-/;:,.?!`.split(``).forEach(e=>Td.add(e.charCodeAt(0)));function Ed(e){return wd(e)||Td.has(e)}function Dd(e,t){return e===t||Ed(e)&&Ed(t)}function Od(e){return xd(e)||Sd(e)||Cd(e)}function kd(e,t){return t.length===0?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function Ad(e,t){for(let n=t;n<e.length;n++){let t=e.charCodeAt(n);if(Sd(t)||Cd(t)||n>0&&!Od(e.charCodeAt(n-1)))return n}return e.length}function jd(e,t,n,r){if(n===e.length)return[];if(r===t.length||e[n]!==t[r].toLowerCase())return null;{let i=null,a=r+1;for(i=jd(e,t,n+1,r+1);!i&&(a=Ad(t,a))<t.length;)i=jd(e,t,n+1,a),a++;return i===null?null:kd({start:r,end:r+1},i)}}function Md(e){let t=0,n=0,r=0,i=0,a=0;for(let o=0;o<e.length;o++)a=e.charCodeAt(o),Sd(a)&&t++,xd(a)&&n++,Od(a)&&r++,Cd(a)&&i++;return{upperPercent:t/e.length,lowerPercent:n/e.length,alphaPercent:r/e.length,numericPercent:i/e.length}}function Nd(e){let{upperPercent:t,lowerPercent:n}=e;return n===0&&t>.6}function Pd(e){let{upperPercent:t,lowerPercent:n,alphaPercent:r,numericPercent:i}=e;return n>.2&&t<.8&&r>.6&&i<.2}function Fd(e){let t=0,n=0,r=0,i=0;for(let a=0;a<e.length;a++)r=e.charCodeAt(a),Sd(r)&&t++,xd(r)&&n++,wd(r)&&i++;return(t===0||n===0)&&i===0?e.length<=30:t<=5}function Id(e,t){if(!t||(t=t.trim(),t.length===0)||!Fd(e)||t.length>60)return null;let n=Md(t);if(!Pd(n)){if(!Nd(n))return null;t=t.toLowerCase()}let r=null,i=0;for(e=e.toLowerCase();i<t.length&&(r=jd(e,t,0,i))===null;)i=Ad(t,i+1);return r}function Ld(e,t,n=!1){if(!t||t.length===0)return null;let r=null,i=0;for(e=e.toLowerCase(),t=t.toLowerCase();i<t.length&&(r=Rd(e,t,0,i,n))===null;)i=zd(t,i+1);return r}function Rd(e,t,n,r,i){if(n===e.length)return[];if(r===t.length)return null;if(Dd(e.charCodeAt(n),t.charCodeAt(r))){let a=null,o=r+1;if(a=Rd(e,t,n+1,r+1,i),!i)for(;!a&&(o=zd(t,o))<t.length;)a=Rd(e,t,n+1,o,i),o++;return a===null?null:kd({start:r,end:r+1},a)}else return null}function zd(e,t){for(let n=t;n<e.length;n++)if(Ed(e.charCodeAt(n))||n>0&&Ed(e.charCodeAt(n-1)))return n;return e.length}var Bd=hd(gd,Id,vd),Vd=hd(gd,Id,yd),Hd=new i.c(1e4);function Ud(e,t,n=!1){if(typeof e!=`string`||typeof t!=`string`)return null;let r=Hd.get(e);r||(r=new RegExp(i.Nc(e),`i`),Hd.set(e,r));let a=r.exec(t);return a?[{start:a.index,end:a.index+a[0].length}]:n?Vd(e,t):Bd(e,t)}function Wd(e,t,n,r,i,a){let o=Math.min(13,e.length);for(;n<o;n++){let o=sf(e,t,n,r,i,a,{firstMatchCanBeWeak:!1,boostFullMatch:!0});if(o)return o}return[0,a]}function Gd(e){if(e===void 0)return[];let t=[],n=e[1];for(let r=e.length-1;r>1;r--){let i=e[r]+n,a=t[t.length-1];a&&a.end===i?a.end=i+1:t.push({start:i,end:i+1})}return t}var Kd=128;function qd(){let e=[],t=[];for(let e=0;e<=Kd;e++)t[e]=0;for(let n=0;n<=Kd;n++)e.push(t.slice(0));return e}function Jd(e){let t=[];for(let n=0;n<=e;n++)t[n]=0;return t}var Yd=Jd(2*Kd),Xd=Jd(2*Kd),Zd=qd(),Qd=qd(),$d=qd();function ef(e,t){if(t<0||t>=e.length)return!1;let n=e.codePointAt(t);switch(n){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!i.Wc(n)}}function tf(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function nf(e,t,n){return t[e]!==n[e]}function rf(e,t,n,r,i,a,o=!1){for(;t<n&&i<a;)e[t]===r[i]&&(o&&(Yd[t]=i),t+=1),i+=1;return t===n}var af;(function(e){e.Default=[-100,0];function t(e){return!e||e.length===2&&e[0]===-100&&e[1]===0}e.isDefault=t})(af||={});var of=class{constructor(e,t){this.firstMatchCanBeWeak=e,this.boostFullMatch=t}};of.default={boostFullMatch:!0,firstMatchCanBeWeak:!1};function sf(e,t,n,r,i,a,o=of.default){let s=e.length>Kd?Kd:e.length,c=r.length>Kd?Kd:r.length;if(n>=s||a>=c||s-n>c-a||!rf(t,n,s,i,a,c,!0))return;cf(s,c,n,a,t,i);let l=1,u=1,d=n,f=a,p=[!1];for(l=1,d=n;d<s;l++,d++){let o=Yd[d],m=Xd[d],h=d+1<s?Xd[d+1]:c;for(u=o-a+1,f=o;f<h;u++,f++){let s=-(2**53-1),h=!1;f<=m&&(s=lf(e,t,d,n,r,i,f,c,a,Zd[l-1][u-1]===0,p));let g=0;s!==2**53-1&&(h=!0,g=s+Qd[l-1][u-1]);let _=f>o,v=_?Qd[l][u-1]+(Zd[l][u-1]>0?-5:0):0,y=f>o+1&&Zd[l][u-1]>0,b=y?Qd[l][u-2]+(Zd[l][u-2]>0?-5:0):0;if(y&&(!_||b>=v)&&(!h||b>=g))Qd[l][u]=b,$d[l][u]=3,Zd[l][u]=0;else if(_&&(!h||v>=g))Qd[l][u]=v,$d[l][u]=2,Zd[l][u]=0;else if(h)Qd[l][u]=g,$d[l][u]=1,Zd[l][u]=Zd[l-1][u-1]+1;else throw Error(`not possible`)}}if(!p[0]&&!o.firstMatchCanBeWeak)return;l--,u--;let m=[Qd[l][u],a],h=0,g=0;for(;l>=1;){let e=u;do{let t=$d[l][e];if(t===3)e-=2;else if(t===2)--e;else break}while(e>=1);h>1&&t[n+l-1]===i[a+u-1]&&!nf(e+a-1,r,i)&&h+1>Zd[l][e]&&(e=u),e===u?h++:h=1,g||=e,l--,u=e-1,m.push(u)}c===s&&o.boostFullMatch&&(m[0]+=2);let _=g-s;return m[0]-=_,m}function cf(e,t,n,r,i,a){let o=e-1,s=t-1;for(;o>=n&&s>=r;)i[o]===a[s]&&(Xd[o]=s,o--),s--}function lf(e,t,n,r,i,a,o,s,c,l,u){if(t[n]!==a[o])return-(2**53-1);let d=1,f=!1;return o===n-r?d=e[n]===i[o]?7:5:nf(o,i,a)&&(o===0||!nf(o-1,i,a))?(d=e[n]===i[o]?7:5,f=!0):ef(a,o)&&(o===0||!ef(a,o-1))?d=5:(ef(a,o-1)||tf(a,o-1))&&(d=5,f=!0),d>1&&n===r&&(u[0]=!0),f||=nf(o,i,a)||ef(a,o-1)||tf(a,o-1),n===r?o>c&&(d-=f?3:5):l?d+=f?2:0:d+=f?0:1,o+1===s&&(d-=f?3:5),d}function uf(e,t,n,r,i,a,o){return df(e,t,n,r,i,a,!0,o)}function df(e,t,n,r,i,a,o,s){let c=sf(e,t,n,r,i,a,s);if(c&&!o)return c;if(e.length>=3){let t=Math.min(7,e.length-1);for(let o=n+1;o<t;o++){let t=ff(e,o);if(t){let e=sf(t,t.toLowerCase(),n,r,i,a,s);e&&(e[0]-=3,(!c||e[0]>c[0])&&(c=e))}}}return c}function ff(e,t){if(t+1>=e.length)return;let n=e[t],r=e[t+1];if(n!==r)return e.slice(0,t)+r+n+e.slice(t+2)}var pf=RegExp(`\\$\\(${i.wl.iconNameExpression}(?:${i.wl.iconModifierExpression})?\\)`,`g`),mf=new RegExp(i.wl.iconNameCharacter),hf=RegExp(`(\\\\)?${pf.source}`,`g`);function gf(e){return e.replace(hf,(e,t)=>t?e:`\\${e}`)}var _f=RegExp(`\\\\${pf.source}`,`g`);function vf(e){return e.replace(_f,e=>`\\${e}`)}var yf=RegExp(`(\\s)?(\\\\)?${pf.source}(\\s)?`,`g`);function bf(e){return e.indexOf(`$(`)===-1?e:e.replace(yf,(e,t,n,r)=>n?e:t||r||``)}function xf(e){let t=e.indexOf(`$(`);return t===-1?{text:e}:Sf(e,t)}function Sf(e,t){let n=[],r=``;function i(e){if(e){r+=e;for(let t of e)n.push(s)}}let a=-1,o=``,s=0,c,l,u=t,d=e.length;for(i(e.substr(0,t));u<d;){if(c=e[u],l=e[u+1],c===`$`&&l===`(`)a=u,i(o),o=`$(`,u++;else if(c===`)`&&a!==-1){let e=u-a+1;s+=e,a=-1,o=``}else a===-1?i(c):mf.test(c)?o+=c:(i(o),a=-1,o=``);u++}return i(o),{text:r,iconOffsets:n}}function Cf(e,t,n=!1){let{text:r,iconOffsets:a}=t;if(!a||a.length===0)return Ud(e,r,n);let o=i.Qc(r,` `),s=r.length-o.length,c=Ud(e,o,n);if(c)for(let e of c){let t=a[e.start+s]+s;e.start+=t,e.end+=t}return c}var wf=class{constructor(e=``,t=!1){if(this.value=e,typeof this.value!=`string`)throw i.lu(`value`);typeof t==`boolean`?(this.isTrusted=t,this.supportThemeIcons=!1,this.supportHtml=!1):(this.isTrusted=t.isTrusted??void 0,this.supportThemeIcons=t.supportThemeIcons??!1,this.supportHtml=t.supportHtml??!1)}appendText(e,t=0){return this.value+=Df(this.supportThemeIcons?gf(e):e).replace(/([ \t]+)/g,(e,t)=>` `.repeat(t.length)).replace(/\>/gm,`\\>`).replace(/\n/g,t===1?`\\
|
|
73
|
+
`:`
|
|
74
|
+
|
|
75
|
+
`),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+="\n```",this.value+=e,this.value+=`
|
|
76
|
+
`,this.value+=t,this.value+="\n```\n",this}appendLink(e,t,n){return this.value+=`[`,this.value+=this._escape(t,`]`),this.value+=`](`,this.value+=this._escape(String(e),`)`),n&&(this.value+=` "${this._escape(this._escape(n,`"`),`)`)}"`),this.value+=`)`,this}_escape(e,t){let n=new RegExp(i.Ic(t),`g`);return e.replace(n,(t,n)=>e.charAt(n-1)===`\\`?t:`\\${t}`)}};function Tf(e){return Ef(e)?!e.value:Array.isArray(e)?e.every(Tf):!0}function Ef(e){return e instanceof wf?!0:e&&typeof e==`object`?typeof e.value==`string`&&(typeof e.isTrusted==`boolean`||e.isTrusted===void 0)&&(typeof e.supportThemeIcons==`boolean`||e.supportThemeIcons===void 0):!1}function Df(e){return e.replace(/[\\`*_{}[\]()#+\-!]/g,`\\$&`)}function Of(e){return e.replace(/"/g,`"`)}function kf(e){return e&&e.replace(/\\([\\`*_{}[\]()#+\-.!])/g,`$1`)}function Af(e){let t=[],n=e.split(`|`).map(e=>e.trim());e=n[0];let r=n[1];if(r){let e=/height=(\d+)/.exec(r),n=/width=(\d+)/.exec(r),i=e?e[1]:``,a=n?n[1]:``,o=isFinite(parseInt(a)),s=isFinite(parseInt(i));o&&t.push(`width="${a}"`),s&&t.push(`height="${i}"`)}return{href:e,dimensions:t}}var jf=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};function Mf(e,t){i.Nu(t)?e.title=bf(t):t?.markdownNotSupportedFallback?e.title=t.markdownNotSupportedFallback:e.removeAttribute(`title`)}var Nf=class{constructor(e,t,n){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=n}update(e,t,n){return jf(this,void 0,void 0,function*(){if(this._cancellationTokenSource&&=(this._cancellationTokenSource.dispose(!0),void 0),this.isDisposed)return;let r;if(e===void 0||i.Nu(e)||e instanceof HTMLElement)r=e;else if(!i.ku(e.markdown))r=e.markdown??e.markdownNotSupportedFallback;else{this._hoverWidget||this.show(i.Td(`iconLabel.loading`,`Loading...`),t),this._cancellationTokenSource=new i.Vl;let n=this._cancellationTokenSource.token;if(r=yield e.markdown(n),r===void 0&&(r=e.markdownNotSupportedFallback),this.isDisposed||n.isCancellationRequested)return}this.show(r,t,n)})}show(e,t,n){let r=this._hoverWidget;if(this.hasContent(e)){let i=Object.assign({content:e,target:this.target,showPointer:this.hoverDelegate.placement===`element`,hoverPosition:2,skipFadeInAnimation:!this.fadeInAnimation||!!r},n);this._hoverWidget=this.hoverDelegate.showHover(i,t)}r?.dispose()}hasContent(e){return e?Ef(e)?!!e.value:!0:!1}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){var e,t;(e=this._hoverWidget)==null||e.dispose(),(t=this._cancellationTokenSource)==null||t.dispose(!0),this._cancellationTokenSource=void 0}};function Pf(e,t,n,r){let a,o,s=(t,n)=>{var r;t&&(o?.dispose(),o=void 0),n&&(a?.dispose(),a=void 0),(r=e.onDidHideHover)==null||r.call(e)},c=(a,s,c)=>new i.xs(()=>jf(this,void 0,void 0,function*(){(!o||o.isDisposed)&&(o=new Nf(e,c||t,a>0),yield o.update(n,s,r))}),a),l=i.Ka(t,i.Ua.MOUSE_OVER,()=>{if(a)return;let n=new i.Zl;n.add(i.Ka(t,i.Ua.MOUSE_LEAVE,e=>s(!1,e.fromElement===t),!0)),n.add(i.Ka(t,i.Ua.MOUSE_DOWN,()=>s(!0,!0),!0));let r={targetElements:[t],dispose:()=>{}};(e.placement===void 0||e.placement===`mouse`)&&n.add(i.Ka(t,i.Ua.MOUSE_MOVE,e=>{r.x=e.x+10,e.target instanceof HTMLElement&&e.target.classList.contains(`action-label`)&&s(!0,!0)},!0)),n.add(c(e.delay,!1,r)),a=n},!0);return{show:e=>{s(!1,!0),c(0,e)},hide:()=>{s(!0,!0)},update:(e,t)=>jf(this,void 0,void 0,function*(){n=e,yield o?.update(n,void 0,t)}),dispose:()=>{l.dispose(),s(!0,!0)}}}var Ff=class extends i.Xl{constructor(e,t,n={}){super(),this.options=n,this._context=e||this,this._action=t,t instanceof i.Na&&this._register(t.onDidChange(e=>{this.element&&this.handleActionChangeEvent(e)}))}get action(){return this._action}handleActionChangeEvent(e){e.enabled!==void 0&&this.updateEnabled(),e.checked!==void 0&&this.updateChecked(),e.class!==void 0&&this.updateClass(),e.label!==void 0&&(this.updateLabel(),this.updateTooltip()),e.tooltip!==void 0&&this.updateTooltip()}get actionRunner(){return this._actionRunner||=this._register(new i.Pa),this._actionRunner}set actionRunner(e){this._actionRunner=e}getAction(){return this._action}isEnabled(){return this._action.enabled}setActionContext(e){this._context=e}render(e){let t=this.element=e;this._register(Wi.addTarget(e));let n=this.options&&this.options.draggable;n&&(e.draggable=!0,i.bc&&this._register(i.Ka(e,i.Ua.DRAG_START,e=>e.dataTransfer?.setData(pd.TEXT,this._action.label)))),this._register(i.Ka(t,N.Tap,e=>this.onClick(e,!0))),this._register(i.Ka(t,i.Ua.MOUSE_DOWN,e=>{n||i.Ha.stop(e,!0),this._action.enabled&&e.button===0&&t.classList.add(`active`)})),i.bd&&this._register(i.Ka(t,i.Ua.CONTEXT_MENU,e=>{e.button===0&&e.ctrlKey===!0&&this.onClick(e)})),this._register(i.Ka(t,i.Ua.CLICK,e=>{i.Ha.stop(e,!0),this.options&&this.options.isMenu||this.onClick(e)})),this._register(i.Ka(t,i.Ua.DBLCLICK,e=>{i.Ha.stop(e,!0)})),[i.Ua.MOUSE_UP,i.Ua.MOUSE_OUT].forEach(e=>{this._register(i.Ka(t,e,e=>{i.Ha.stop(e),t.classList.remove(`active`)}))})}onClick(e,t=!1){i.Ha.stop(e,!0);let n=i.Fu(this._context)?this.options?.useEventAsContext?e:{preserveFocus:t}:this._context;this.actionRunner.run(this._action,n)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add(`focused`))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove(`focused`))}setFocusable(e){this.element&&(this.element.tabIndex=e?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getTooltip(){return this.getAction().tooltip}updateTooltip(){if(!this.element)return;let e=this.getTooltip()??``;this.element.setAttribute(`aria-label`,e),this.options.hoverDelegate?(this.element.title=``,this.customHover?this.customHover.update(e):(this.customHover=Pf(this.options.hoverDelegate,this.element,e),this._store.add(this.customHover))):this.element.title=e}updateClass(){}updateChecked(){}dispose(){this.element&&=(this.element.remove(),void 0),super.dispose()}},If=class extends Ff{constructor(e,t,n={}){super(e,t,n),this.options=n,this.options.icon=n.icon===void 0?!1:n.icon,this.options.label=n.label===void 0?!0:n.label,this.cssClass=``}render(e){super.render(e),this.element&&(this.label=i.Xa(this.element,i.za(`a.action-label`))),this.label&&(this._action.id===i.Ia.ID?this.label.setAttribute(`role`,`presentation`):this.options.isMenu?this.label.setAttribute(`role`,`menuitem`):this.label.setAttribute(`role`,`button`)),this.options.label&&this.options.keybinding&&this.element&&(i.Xa(this.element,i.za(`span.keybinding`)).textContent=this.options.keybinding),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(e){this.label&&(this.label.tabIndex=e?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.getAction().label)}getTooltip(){let e=null;return this.getAction().tooltip?e=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(e=this.getAction().label,this.options.keybinding&&(e=i.Td({key:`titleLabel`,comment:[`action title`,`action keybinding`]},`{0} ({1})`,e,this.options.keybinding))),e??void 0}updateClass(){var e;this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(` `)),this.options.icon?(this.cssClass=this.getAction().class,this.label&&(this.label.classList.add(`codicon`),this.cssClass&&this.label.classList.add(...this.cssClass.split(` `))),this.updateEnabled()):(e=this.label)==null||e.classList.remove(`codicon`)}updateEnabled(){var e,t;this.getAction().enabled?(this.label&&(this.label.removeAttribute(`aria-disabled`),this.label.classList.remove(`disabled`)),(e=this.element)==null||e.classList.remove(`disabled`)):(this.label&&(this.label.setAttribute(`aria-disabled`,`true`),this.label.classList.add(`disabled`)),(t=this.element)==null||t.classList.add(`disabled`))}updateChecked(){this.label&&(this.getAction().checked?this.label.classList.add(`checked`):this.label.classList.remove(`checked`))}},Lf=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Rf=class extends i.Xl{constructor(e,t={}){super(),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new i.Ul),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new i.Ul({onFirstListenerAdd:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new i.Ul),this.onDidRun=this._onDidRun.event,this._onBeforeRun=this._register(new i.Ul),this.onBeforeRun=this._onBeforeRun.event,this.options=t,this._context=t.context??null,this._orientation=this.options.orientation??0,this._triggerKeys={keyDown:this.options.triggerKeys?.keyDown??!1,keys:this.options.triggerKeys?.keys??[3,10]},this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new i.Pa,this._register(this._actionRunner)),this._register(this._actionRunner.onDidRun(e=>this._onDidRun.fire(e))),this._register(this._actionRunner.onBeforeRun(e=>this._onBeforeRun.fire(e))),this._actionIds=[],this.viewItems=[],this.viewItemDisposables=new Map,this.focusedItem=void 0,this.domNode=document.createElement(`div`),this.domNode.className=`monaco-action-bar`,t.animated!==!1&&this.domNode.classList.add(`animated`);let n,r;switch(this._orientation){case 0:n=[15],r=[17];break;case 1:n=[16],r=[18],this.domNode.className+=` vertical`;break}this._register(i.Ka(this.domNode,i.Ua.KEY_DOWN,e=>{let t=new i.Ho(e),a=!0,o=typeof this.focusedItem==`number`?this.viewItems[this.focusedItem]:void 0;n&&(t.equals(n[0])||t.equals(n[1]))?a=this.focusPrevious():r&&(t.equals(r[0])||t.equals(r[1]))?a=this.focusNext():t.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():t.equals(14)?a=this.focusFirst():t.equals(13)?a=this.focusLast():t.equals(2)&&o instanceof Ff&&o.trapsArrowNavigation?a=this.focusNext():this.isTriggerKeyEvent(t)?this._triggerKeys.keyDown?this.doTrigger(t):this.triggerKeyDown=!0:a=!1,a&&(t.preventDefault(),t.stopPropagation())})),this._register(i.Ka(this.domNode,i.Ua.KEY_UP,e=>{let t=new i.Ho(e);this.isTriggerKeyEvent(t)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(t)),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026))&&this.updateFocusedItem()})),this.focusTracker=this._register(i.No(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{(i.ao()===this.domNode||!i.bo(i.ao(),this.domNode))&&(this._onDidBlur.fire(),this.focusedItem=void 0,this.previouslyFocusedItem=void 0,this.triggerKeyDown=!1)})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement(`ul`),this.actionsList.className=`actions-container`,this.actionsList.setAttribute(`role`,this.options.ariaRole||`toolbar`),this.options.ariaLabel&&this.actionsList.setAttribute(`aria-label`,this.options.ariaLabel),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}refreshRole(){this.length()>=2?this.actionsList.setAttribute(`role`,this.options.ariaRole||`toolbar`):this.actionsList.setAttribute(`role`,`presentation`)}setFocusable(e){if(this.focusable=e,this.focusable){let e=this.viewItems.find(e=>e instanceof Ff&&e.isEnabled());e instanceof Ff&&e.setFocusable(!0)}else this.viewItems.forEach(e=>{e instanceof Ff&&e.setFocusable(!1)})}isTriggerKeyEvent(e){let t=!1;return this._triggerKeys.keys.forEach(n=>{t||=e.equals(n)}),t}updateFocusedItem(){for(let e=0;e<this.actionsList.children.length;e++){let t=this.actionsList.children[e];if(i.bo(i.ao(),t)){this.focusedItem=e;break}}}get context(){return this._context}set context(e){this._context=e,this.viewItems.forEach(t=>t.setActionContext(e))}get actionRunner(){return this._actionRunner}set actionRunner(e){e&&(this._actionRunner=e,this.viewItems.forEach(t=>t.actionRunner=e))}getContainer(){return this.domNode}push(e,t={}){let n=Array.isArray(e)?e:[e],r=i.ju(t.index)?t.index:null;n.forEach(e=>{let n=document.createElement(`li`);n.className=`action-item`,n.setAttribute(`role`,`presentation`);let a;this.options.actionViewItemProvider&&(a=this.options.actionViewItemProvider(e)),a||=new If(this.context,e,Object.assign({hoverDelegate:this.options.hoverDelegate},t)),this.options.allowContextMenu||this.viewItemDisposables.set(a,i.Ka(n,i.Ua.CONTEXT_MENU,e=>{i.Ha.stop(e,!0)})),a.actionRunner=this._actionRunner,a.setActionContext(this.context),a.render(n),this.focusable&&a instanceof Ff&&this.viewItems.length===0&&a.setFocusable(!0),r===null||r<0||r>=this.actionsList.children.length?(this.actionsList.appendChild(n),this.viewItems.push(a),this._actionIds.push(e.id)):(this.actionsList.insertBefore(n,this.actionsList.children[r]),this.viewItems.splice(r,0,a),this._actionIds.splice(r,0,e.id),r++)}),typeof this.focusedItem==`number`&&this.focus(this.focusedItem),this.refreshRole()}clear(){i.nu(this.viewItems),this.viewItemDisposables.forEach(e=>e.dispose()),this.viewItemDisposables.clear(),this.viewItems=[],this._actionIds=[],i.$a(this.actionsList),this.refreshRole()}length(){return this.viewItems.length}focus(e){let t=!1,n;if(e===void 0?t=!0:typeof e==`number`?n=e:typeof e==`boolean`&&(t=e),t&&this.focusedItem===void 0){let e=this.viewItems.findIndex(e=>e.isEnabled());this.focusedItem=e===-1?void 0:e,this.updateFocus(void 0,void 0,!0)}else n!==void 0&&(this.focusedItem=n),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(e){if(this.focusedItem===void 0)this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;let t=this.focusedItem,n;do{if(!e&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=t,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,n=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!n.isEnabled()||n.action.id===i.Ia.ID));return this.updateFocus(),!0}focusPrevious(e){if(this.focusedItem===void 0)this.focusedItem=0;else if(this.viewItems.length<=1)return!1;let t=this.focusedItem,n;do{if(--this.focusedItem,this.focusedItem<0){if(!e&&this.options.preventLoopNavigation)return this.focusedItem=t,!1;this.focusedItem=this.viewItems.length-1}n=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!n.isEnabled()||n.action.id===i.Ia.ID));return this.updateFocus(!0),!0}updateFocus(e,t,n=!1){var r;this.focusedItem===void 0&&this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem!==void 0&&this.previouslyFocusedItem!==this.focusedItem&&((r=this.viewItems[this.previouslyFocusedItem])==null||r.blur());let a=this.focusedItem!==void 0&&this.viewItems[this.focusedItem];if(a){let r=!0;i.ku(a.focus)||(r=!1),this.options.focusOnlyEnabledItems&&i.ku(a.isEnabled)&&!a.isEnabled()&&(r=!1),a.action.id===i.Ia.ID&&(r=!1),r?(n||this.previouslyFocusedItem!==this.focusedItem)&&(a.focus(e),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0)}}doTrigger(e){if(this.focusedItem===void 0)return;let t=this.viewItems[this.focusedItem];if(t instanceof Ff){let n=t._context===null||t._context===void 0?e:t._context;this.run(t._action,n)}}run(e,t){return Lf(this,void 0,void 0,function*(){yield this._actionRunner.run(e,t)})}dispose(){i.nu(this.viewItems),this.viewItems=[],this._actionIds=[],this.getContainer().remove(),super.dispose()}},zf={IconContribution:`base.contributions.icons`},Bf;(function(e){function t(e,t){let n=e.defaults;for(;i.va.isThemeIcon(n);){let e=Hf.getIcon(n.id);if(!e)return;n=e.defaults}return n}e.getDefinition=t})(Bf||={});var Vf;(function(e){function t(e){return{weight:e.weight,style:e.style,src:e.src.map(e=>({format:e.format,location:e.location.toString()}))}}e.toJSONObject=t;function n(e){let t=e=>i.Nu(e)?e:void 0;if(e&&Array.isArray(e.src)&&e.src.every(e=>i.Nu(e.format)&&i.Nu(e.location)))return{weight:t(e.weight),style:t(e.style),src:e.src.map(e=>({format:e.format,location:i.Al.parse(e.location)}))}}e.fromJSONObject=n})(Vf||={});var Hf=new class{constructor(){this._onDidChange=new i.Ul,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:`object`,properties:{fontId:{type:`string`,description:i.Td(`iconDefinition.fontId`,`The id of the font to use. If not set, the font that is defined first is used.`)},fontCharacter:{type:`string`,description:i.Td(`iconDefinition.fontCharacter`,`The font character associated with the icon definition.`)}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:`\\\\e030`}}]}},type:`object`,properties:{}},this.iconReferenceSchema={type:`string`,pattern:`^${i.wl.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(e,t,n,r){let i=this.iconsById[e];if(i){if(n&&!i.description){i.description=n,this.iconSchema.properties[e].markdownDescription=`${n} $(${e})`;let t=this.iconReferenceSchema.enum.indexOf(e);t!==-1&&(this.iconReferenceSchema.enumDescriptions[t]=n),this._onDidChange.fire()}return i}let a={id:e,description:n,defaults:t,deprecationMessage:r};this.iconsById[e]=a;let o={$ref:`#/definitions/icons`};return r&&(o.deprecationMessage=r),n&&(o.markdownDescription=`${n}: $(${e})`),this.iconSchema.properties[e]=o,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(n||``),this._onDidChange.fire(),{id:e}}getIcons(){return Object.keys(this.iconsById).map(e=>this.iconsById[e])}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}toString(){let e=(e,t)=>e.id.localeCompare(t.id),t=e=>{for(;i.va.isThemeIcon(e.defaults);)e=this.iconsById[e.defaults.id];return`codicon codicon-${e?e.id:``}`},n=[];n.push(`| preview | identifier | default codicon ID | description`),n.push(`| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |`);let r=Object.keys(this.iconsById).map(e=>this.iconsById[e]);for(let a of r.filter(e=>!!e.description).sort(e))n.push(`|<i class="${t(a)}"></i>|${a.id}|${i.va.isThemeIcon(a.defaults)?a.defaults.id:a.id}|${a.description||``}|`);n.push(`| preview | identifier `),n.push(`| ----------- | --------------------------------- |`);for(let a of r.filter(e=>!i.va.isThemeIcon(e.defaults)).sort(e))n.push(`|<i class="${t(a)}"></i>|${a.id}|`);return n.join(`
|
|
77
|
+
`)}};i.Ws.add(zf.IconContribution,Hf);function Uf(e,t,n,r){return Hf.registerIcon(e,t,n,r)}function Wf(){return Hf}function Gf(){for(let e of i.Tl.getAll())Hf.registerIcon(e.id,e.definition,e.description)}Gf();var Kf=`vscode://schemas/icons`,qf=i.Ws.as(i.Hs.JSONContribution);qf.registerSchema(Kf,Hf.getIconSchema());var Jf=new i.ys(()=>qf.notifySchemaChanged(Kf),200);Hf.onDidChange(()=>{Jf.isScheduled()||Jf.schedule()});var Yf=Uf(`widget-close`,i.Tl.close,i.Td(`widgetClose`,`Icon for the close action in widgets.`));Uf(`goto-previous-location`,i.Tl.arrowUp,i.Td(`previousChangeIcon`,`Icon for goto previous editor location.`)),Uf(`goto-next-location`,i.Tl.arrowDown,i.Td(`nextChangeIcon`,`Icon for goto next editor location.`)),i.va.modify(i.Tl.sync,`spin`),i.va.modify(i.Tl.loading,`spin`);var Xf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Zf=function(e,t){return function(n,r){t(n,r,e)}},Qf=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},$f=3,ep=class{constructor(e,t,n,r){this.originalLineStart=e,this.originalLineEnd=t,this.modifiedLineStart=n,this.modifiedLineEnd=r}getType(){return this.originalLineStart===0?1:this.modifiedLineStart===0?2:0}},tp=class{constructor(e){this.entries=e}},np=Uf(`diff-review-insert`,i.Tl.add,i.Td(`diffReviewInsertIcon`,`Icon for 'Insert' in diff review.`)),rp=Uf(`diff-review-remove`,i.Tl.remove,i.Td(`diffReviewRemoveIcon`,`Icon for 'Remove' in diff review.`)),ip=Uf(`diff-review-close`,i.Tl.close,i.Td(`diffReviewCloseIcon`,`Icon for 'Close' in diff review.`)),ap=class e extends i.Xl{constructor(e,t){super(),this._languageService=t,this._width=0,this._diffEditor=e,this._isVisible=!1,this.shadow=k(document.createElement(`div`)),this.shadow.setClassName(`diff-review-shadow`),this.actionBarContainer=k(document.createElement(`div`)),this.actionBarContainer.setClassName(`diff-review-actions`),this._actionBar=this._register(new Rf(this.actionBarContainer.domNode)),this._actionBar.push(new i.Na(`diffreview.close`,i.Td(`label.close`,`Close`),`close-diff-review `+i.va.asClassName(ip),!0,()=>Qf(this,void 0,void 0,function*(){return this.hide()})),{label:!1,icon:!0}),this.domNode=k(document.createElement(`div`)),this.domNode.setClassName(`diff-review monaco-editor-background`),this._content=k(document.createElement(`div`)),this._content.setClassName(`diff-review-content`),this._content.setAttribute(`role`,`code`),this.scrollbar=this._register(new Fs(this._content.domNode,{})),this.domNode.domNode.appendChild(this.scrollbar.getDomNode()),this._register(e.onDidUpdateDiff(()=>{this._isVisible&&(this._diffs=this._compute(),this._render())})),this._register(e.getModifiedEditor().onDidChangeCursorPosition(()=>{this._isVisible&&this._render()})),this._register(i.Ja(this.domNode.domNode,`click`,e=>{e.preventDefault();let t=i.io(e.target,`diff-review-row`);t&&this._goToRow(t)})),this._register(i.Ja(this.domNode.domNode,`keydown`,e=>{(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),this._goToRow(this._getNextRow())),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),this._goToRow(this._getPrevRow())),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),this.hide()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),this.accept())})),this._diffs=[],this._currentDiff=null}prev(){let e=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){let t=-1;for(let e=0,n=this._diffs.length;e<n;e++)if(this._diffs[e]===this._currentDiff){t=e;break}e=this._diffs.length+t-1}else e=this._findDiffIndex(this._diffEditor.getPosition());if(this._diffs.length===0)return;e%=this._diffs.length;let t=this._diffs[e].entries;this._diffEditor.setPosition(new i.kl(t[0].modifiedLineStart,1)),this._diffEditor.setSelection({startColumn:1,startLineNumber:t[0].modifiedLineStart,endColumn:1073741824,endLineNumber:t[t.length-1].modifiedLineEnd}),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow())}next(){let e=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){let t=-1;for(let e=0,n=this._diffs.length;e<n;e++)if(this._diffs[e]===this._currentDiff){t=e;break}e=t+1}else e=this._findDiffIndex(this._diffEditor.getPosition());if(this._diffs.length===0)return;e%=this._diffs.length;let t=this._diffs[e].entries;this._diffEditor.setPosition(new i.kl(t[0].modifiedLineStart,1)),this._diffEditor.setSelection({startColumn:1,startLineNumber:t[0].modifiedLineStart,endColumn:1073741824,endLineNumber:t[t.length-1].modifiedLineEnd}),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow())}accept(){let e=-1,t=this._getCurrentFocusedRow();if(t){let n=parseInt(t.getAttribute(`data-line`),10);isNaN(n)||(e=n)}this.hide(),e!==-1&&(this._diffEditor.setPosition(new i.kl(e,1)),this._diffEditor.revealPosition(new i.kl(e,1),1))}hide(){this._isVisible=!1,this._diffEditor.updateOptions({readOnly:!1}),this._diffEditor.focus(),this._diffEditor.doLayout(),this._render()}_getPrevRow(){let e=this._getCurrentFocusedRow();return e?e.previousElementSibling?e.previousElementSibling:e:this._getFirstRow()}_getNextRow(){let e=this._getCurrentFocusedRow();return e?e.nextElementSibling?e.nextElementSibling:e:this._getFirstRow()}_getFirstRow(){return this.domNode.domNode.querySelector(`.diff-review-row`)}_getCurrentFocusedRow(){let e=document.activeElement;return e&&/diff-review-row/.test(e.className)?e:null}_goToRow(e){let t=this._getCurrentFocusedRow();e.tabIndex=0,e.focus(),t&&t!==e&&(t.tabIndex=-1),this.scrollbar.scanDomNode()}isVisible(){return this._isVisible}layout(e,t,n){this._width=t,this.shadow.setTop(e-6),this.shadow.setWidth(t),this.shadow.setHeight(this._isVisible?6:0),this.domNode.setTop(e),this.domNode.setWidth(t),this.domNode.setHeight(n),this._content.setHeight(n),this._content.setWidth(t),this._isVisible?(this.actionBarContainer.setAttribute(`aria-hidden`,`false`),this.actionBarContainer.setDisplay(`block`)):(this.actionBarContainer.setAttribute(`aria-hidden`,`true`),this.actionBarContainer.setDisplay(`none`))}_compute(){let t=this._diffEditor.getLineChanges();if(!t||t.length===0)return[];let n=this._diffEditor.getOriginalEditor().getModel(),r=this._diffEditor.getModifiedEditor().getModel();return!n||!r?[]:e._mergeAdjacent(t,n.getLineCount(),r.getLineCount())}static _mergeAdjacent(e,t,n){if(!e||e.length===0)return[];let r=[],i=0;for(let a=0,o=e.length;a<o;a++){let s=e[a],c=s.originalStartLineNumber,l=s.originalEndLineNumber,u=s.modifiedStartLineNumber,d=s.modifiedEndLineNumber,f=[],p=0;{let t=l===0?c:c-1,n=d===0?u:u-1,r=1,i=1;if(a>0){let t=e[a-1];r=t.originalEndLineNumber===0?t.originalStartLineNumber+1:t.originalEndLineNumber+1,i=t.modifiedEndLineNumber===0?t.modifiedStartLineNumber+1:t.modifiedEndLineNumber+1}let o=t-$f+1,s=n-$f+1;if(o<r){let e=r-o;o+=e,s+=e}if(s<i){let e=i-s;o+=e,s+=e}f[p++]=new ep(o,t,s,n)}l!==0&&(f[p++]=new ep(c,l,0,0)),d!==0&&(f[p++]=new ep(0,0,u,d));{let r=l===0?c+1:l+1,i=d===0?u+1:d+1,s=t,m=n;if(a+1<o){let t=e[a+1];s=t.originalEndLineNumber===0?t.originalStartLineNumber:t.originalStartLineNumber-1,m=t.modifiedEndLineNumber===0?t.modifiedStartLineNumber:t.modifiedStartLineNumber-1}let h=r+$f-1,g=i+$f-1;if(h>s){let e=s-h;h+=e,g+=e}if(g>m){let e=m-g;h+=e,g+=e}f[p++]=new ep(r,h,i,g)}r[i++]=new tp(f)}let a=r[0].entries,o=[],s=0;for(let e=1,t=r.length;e<t;e++){let t=r[e].entries,n=a[a.length-1],i=t[0];if(n.getType()===0&&i.getType()===0&&i.originalLineStart<=n.originalLineEnd){a[a.length-1]=new ep(n.originalLineStart,i.originalLineEnd,n.modifiedLineStart,i.modifiedLineEnd),a=a.concat(t.slice(1));continue}o[s++]=new tp(a),a=t}return o[s++]=new tp(a),o}_findDiffIndex(e){let t=e.lineNumber;for(let e=0,n=this._diffs.length;e<n;e++){let n=this._diffs[e].entries;if(t<=n[n.length-1].modifiedLineEnd)return e}return 0}_render(){let t=this._diffEditor.getOriginalEditor().getOptions(),n=this._diffEditor.getModifiedEditor().getOptions(),r=this._diffEditor.getOriginalEditor().getModel(),a=this._diffEditor.getModifiedEditor().getModel(),o=r.getOptions(),s=a.getOptions();if(!this._isVisible||!r||!a){i.$a(this._content.domNode),this._currentDiff=null,this.scrollbar.scanDomNode();return}this._diffEditor.updateOptions({readOnly:!0});let c=this._findDiffIndex(this._diffEditor.getPosition());if(this._diffs[c]===this._currentDiff)return;this._currentDiff=this._diffs[c];let l=this._diffs[c].entries,u=document.createElement(`div`);u.className=`diff-review-table`,u.setAttribute(`role`,`list`),u.setAttribute(`aria-label`,`Difference review. Use "Stage | Unstage | Revert Selected Ranges" commands`),Tt(u,n.get(45));let d=0,f=0,p=0,m=0;for(let e=0,t=l.length;e<t;e++){let t=l[e],n=t.originalLineStart,r=t.originalLineEnd,i=t.modifiedLineStart,a=t.modifiedLineEnd;n!==0&&(d===0||n<d)&&(d=n),r!==0&&(f===0||r>f)&&(f=r),i!==0&&(p===0||i<p)&&(p=i),a!==0&&(m===0||a>m)&&(m=a)}let h=document.createElement(`div`);h.className=`diff-review-row`;let g=document.createElement(`div`);g.className=`diff-review-cell diff-review-summary`;let _=f-d+1,v=m-p+1;g.appendChild(document.createTextNode(`${c+1}/${this._diffs.length}: @@ -${d},${_} +${p},${v} @@`)),h.setAttribute(`data-line`,String(p));let y=e=>e===0?i.Td(`no_lines_changed`,`no lines changed`):e===1?i.Td(`one_line_changed`,`1 line changed`):i.Td(`more_lines_changed`,`{0} lines changed`,e),b=y(_),x=y(v);h.setAttribute(`aria-label`,i.Td({key:`header`,comment:[`This is the ARIA label for a git diff header.`,`A git diff header looks like this: @@ -154,12 +159,39 @@.`,`That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.`,`Variables 0 and 1 refer to the diff index out of total number of diffs.`,`Variables 2 and 4 will be numbers (a line number).`,`Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.`]},`Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}`,c+1,this._diffs.length,d,b,p,x)),h.appendChild(g),h.setAttribute(`role`,`listitem`),u.appendChild(h);let S=n.get(60),C=p;for(let i=0,c=l.length;i<c;i++){let c=l[i];e._renderSection(u,c,C,S,this._width,t,r,o,n,a,s,this._languageService.languageIdCodec),c.modifiedLineStart!==0&&(C=c.modifiedLineEnd)}i.$a(this._content.domNode),this._content.domNode.appendChild(u),this.scrollbar.scanDomNode()}static _renderSection(t,n,r,a,o,s,c,l,u,d,f,p){let m=n.getType(),h=`diff-review-row`,g=``,_=null;switch(m){case 1:h=`diff-review-row line-insert`,g=` char-insert`,_=np;break;case 2:h=`diff-review-row line-delete`,g=` char-delete`,_=rp;break}let v=n.originalLineStart,y=n.originalLineEnd,b=n.modifiedLineStart,x=n.modifiedLineEnd,S=Math.max(x-b,y-v),C=s.get(132),w=C.glyphMarginWidth+C.lineNumbersWidth,T=u.get(132),E=10+T.glyphMarginWidth+T.lineNumbersWidth;for(let n=0;n<=S;n++){let y=v===0?0:v+n,x=b===0?0:b+n,S=document.createElement(`div`);S.style.minWidth=o+`px`,S.className=h,S.setAttribute(`role`,`listitem`),x!==0&&(r=x),S.setAttribute(`data-line`,String(r));let C=document.createElement(`div`);C.className=`diff-review-cell`,C.style.height=`${a}px`,S.appendChild(C);let T=document.createElement(`span`);T.style.width=w+`px`,T.style.minWidth=w+`px`,T.className=`diff-review-line-number`+g,y===0?T.innerText=`\xA0`:T.appendChild(document.createTextNode(String(y))),C.appendChild(T);let D=document.createElement(`span`);D.style.width=E+`px`,D.style.minWidth=E+`px`,D.style.paddingRight=`10px`,D.className=`diff-review-line-number`+g,x===0?D.innerText=`\xA0`:D.appendChild(document.createTextNode(String(x))),C.appendChild(D);let ee=document.createElement(`span`);if(ee.className=`diff-review-spacer`,_){let e=document.createElement(`span`);e.className=i.va.asClassName(_),e.innerText=`\xA0\xA0`,ee.appendChild(e)}else ee.innerText=`\xA0\xA0`;C.appendChild(ee);let te;if(x!==0){let t=this._renderLine(d,u,f.tabSize,x,p);e._ttPolicy&&(t=e._ttPolicy.createHTML(t)),C.insertAdjacentHTML(`beforeend`,t),te=d.getLineContent(x)}else{let t=this._renderLine(c,s,l.tabSize,y,p);e._ttPolicy&&(t=e._ttPolicy.createHTML(t)),C.insertAdjacentHTML(`beforeend`,t),te=c.getLineContent(y)}te.length===0&&(te=i.Td(`blankLine`,`blank`));let ne=``;switch(m){case 0:ne=y===x?i.Td({key:`unchangedLine`,comment:[`The placeholders are contents of the line and should not be translated.`]},`{0} unchanged line {1}`,te,y):i.Td(`equalLine`,`{0} original line {1} modified line {2}`,te,y,x);break;case 1:ne=i.Td(`insertLine`,`+ {0} modified line {1}`,te,x);break;case 2:ne=i.Td(`deleteLine`,`- {0} original line {1}`,te,y);break}S.setAttribute(`aria-label`,ne),t.appendChild(S)}}static _renderLine(e,t,n,r,a){let o=e.getLineContent(r),s=t.get(45),c=i.Yo.createEmpty(o,a),l=jr.isBasicASCII(o,e.mightContainNonBasicASCII()),u=jr.containsRTL(o,l,e.mightContainRTL());return _r(new dr(s.isMonospace&&!t.get(29),s.canUseHalfwidthRightwardsArrow,o,!1,l,u,0,c,[],n,0,s.spaceWidth,s.middotWidth,s.wsmiddotWidth,t.get(106),t.get(89),t.get(84),t.get(46)!==ne.OFF,null)).html}};ap._ttPolicy=window.trustedTypes?.createPolicy(`diffReview`,{createHTML:e=>e}),ap=Xf([Zf(1,i.Js)],ap),i.ba((e,t)=>{let n=e.getColor(i.Ct);n&&t.addRule(`.monaco-diff-editor .diff-review-line-number { color: ${n}; }`);let r=e.getColor(i.Di);r&&t.addRule(`.monaco-diff-editor .diff-review-shadow { box-shadow: ${r} 0 -6px 6px -6px inset; }`)});var op=class extends i.Gi{constructor(){super({id:`editor.action.diffReview.next`,label:i.Td(`editor.action.diffReview.next`,`Go to Next Difference`),alias:`Go to Next Difference`,precondition:i.Ta.has(`isInDiffEditor`),kbOpts:{kbExpr:null,primary:65,weight:100}})}run(e,t){let n=cp(e);n&&n.diffReviewNext()}},sp=class extends i.Gi{constructor(){super({id:`editor.action.diffReview.prev`,label:i.Td(`editor.action.diffReview.prev`,`Go to Previous Difference`),alias:`Go to Previous Difference`,precondition:i.Ta.has(`isInDiffEditor`),kbOpts:{kbExpr:null,primary:1089,weight:100}})}run(e,t){let n=cp(e);n&&n.diffReviewPrev()}};function cp(e){let t=e.get(i.dc),n=t.listDiffEditors(),r=t.getActiveCodeEditor();if(!r)return null;for(let e=0,t=n.length;e<t;e++){let t=n[e];if(t.getModifiedEditor().getId()===r.getId()||t.getOriginalEditor().getId()===r.getId())return t}return null}i.$i(op),i.$i(sp);var lp=i.mc(`editorWorkerService`),up=i.mc(`contextViewService`),dp=i.mc(`contextMenuService`),fp=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},pp=class extends i.Xl{constructor(e,t,n,r,a,o){super(),this._viewZoneId=e,this._marginDomNode=t,this.editor=n,this.diff=r,this._contextMenuService=a,this._clipboardService=o,this._visibility=!1,this._marginDomNode.style.zIndex=`10`,this._diffActions=document.createElement(`div`),this._diffActions.className=i.Tl.lightBulb.classNames+` lightbulb-glyph`,this._diffActions.style.position=`absolute`;let s=n.getOption(60),c=n.getModel().getEOL();this._diffActions.style.right=`0px`,this._diffActions.style.visibility=`hidden`,this._diffActions.style.height=`${s}px`,this._diffActions.style.lineHeight=`${s}px`,this._marginDomNode.appendChild(this._diffActions);let l=[],u=r.modifiedEndLineNumber===0;l.push(new i.Na(`diff.clipboard.copyDeletedContent`,u?r.originalEndLineNumber>r.modifiedStartLineNumber?i.Td(`diff.clipboard.copyDeletedLinesContent.label`,`Copy deleted lines`):i.Td(`diff.clipboard.copyDeletedLinesContent.single.label`,`Copy deleted line`):r.originalEndLineNumber>r.modifiedStartLineNumber?i.Td(`diff.clipboard.copyChangedLinesContent.label`,`Copy changed lines`):i.Td(`diff.clipboard.copyChangedLinesContent.single.label`,`Copy changed line`),void 0,!0,()=>fp(this,void 0,void 0,function*(){let e=new i.Ol(r.originalStartLineNumber,1,r.originalEndLineNumber+1,1),t=r.originalModel.getValueInRange(e);yield this._clipboardService.writeText(t)})));let d=0,f;r.originalEndLineNumber>r.modifiedStartLineNumber&&(f=new i.Na(`diff.clipboard.copyDeletedLineContent`,u?i.Td(`diff.clipboard.copyDeletedLineContent.label`,`Copy deleted line ({0})`,r.originalStartLineNumber):i.Td(`diff.clipboard.copyChangedLineContent.label`,`Copy changed line ({0})`,r.originalStartLineNumber),void 0,!0,()=>fp(this,void 0,void 0,function*(){let e=r.originalModel.getLineContent(r.originalStartLineNumber+d);if(e===``){let e=r.originalModel.getEndOfLineSequence();yield this._clipboardService.writeText(e===0?`
|
|
78
|
+
`:`\r
|
|
79
|
+
`)}else yield this._clipboardService.writeText(e)})),l.push(f)),n.getOption(82)||l.push(new i.Na(`diff.inline.revertChange`,i.Td(`diff.inline.revertChange.label`,`Revert this change`),void 0,!0,()=>fp(this,void 0,void 0,function*(){let e=new i.Ol(r.originalStartLineNumber,1,r.originalEndLineNumber,r.originalModel.getLineMaxColumn(r.originalEndLineNumber)),t=r.originalModel.getValueInRange(e);if(r.modifiedEndLineNumber===0){let e=n.getModel().getLineMaxColumn(r.modifiedStartLineNumber);n.executeEdits(`diffEditor`,[{range:new i.Ol(r.modifiedStartLineNumber,e,r.modifiedStartLineNumber,e),text:c+t}])}else{let e=n.getModel().getLineMaxColumn(r.modifiedEndLineNumber);n.executeEdits(`diffEditor`,[{range:new i.Ol(r.modifiedStartLineNumber,1,r.modifiedEndLineNumber,e),text:t}])}})));let p=(e,t)=>{this._contextMenuService.showContextMenu({getAnchor:()=>({x:e,y:t}),getActions:()=>(f&&(f.label=u?i.Td(`diff.clipboard.copyDeletedLineContent.label`,`Copy deleted line ({0})`,r.originalStartLineNumber+d):i.Td(`diff.clipboard.copyChangedLineContent.label`,`Copy changed line ({0})`,r.originalStartLineNumber+d)),l),autoSelectFirstItem:!0})};this._register(i.Ja(this._diffActions,`mousedown`,e=>{let{top:t,height:n}=i.uo(this._diffActions),r=Math.floor(s/3);e.preventDefault(),p(e.posx,t+n+r)})),this._register(n.onMouseMove(e=>{(e.target.type===8||e.target.type===5)&&e.target.detail.viewZoneId===this._viewZoneId?(this.visibility=!0,d=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,s)):this.visibility=!1})),this._register(n.onMouseDown(e=>{e.event.rightButton&&(e.target.type===8||e.target.type===5)&&e.target.detail.viewZoneId===this._viewZoneId&&(e.event.preventDefault(),d=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,s),p(e.event.posx,e.event.posy+s))}))}get visibility(){return this._visibility}set visibility(e){this._visibility!==e&&(this._visibility=e,e?this._diffActions.style.visibility=`visible`:this._diffActions.style.visibility=`hidden`)}_updateLightBulbPosition(e,t,n){let{top:r}=i.uo(e),a=t-r,o=Math.floor(a/n),s=o*n;if(this._diffActions.style.top=`${s}px`,this.diff.viewLineCounts){let e=0;for(let t=0;t<this.diff.viewLineCounts.length;t++)if(e+=this.diff.viewLineCounts[t],o<e)return t}return o}},mp=i.mc(`clipboardService`),hp=i.mc(`progressService`);Object.freeze({total(){},worked(){},done(){}});var gp=class{constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}};gp.None=Object.freeze({report(){}});var _p=i.mc(`editorProgressService`),vp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},yp=function(e,t){return function(n,r){t(n,r,e)}},bp=class{constructor(e,t){this._contextMenuService=e,this._clipboardService=t,this._zones=[],this._inlineDiffMargins=[],this._zonesMap={},this._decorations=[]}getForeignViewZones(e){return e.filter(e=>!this._zonesMap[String(e.id)])}clean(e){this._zones.length>0&&e.changeViewZones(e=>{for(let t of this._zones)e.removeZone(t)}),this._zones=[],this._zonesMap={},e.changeDecorations(e=>{this._decorations=e.deltaDecorations(this._decorations,[])})}apply(e,t,n,r){let i=r?fd.capture(e):null;e.changeViewZones(t=>{for(let e of this._zones)t.removeZone(e);for(let e of this._inlineDiffMargins)e.dispose();this._zones=[],this._zonesMap={},this._inlineDiffMargins=[];for(let r=0,i=n.zones.length;r<i;r++){let i=n.zones[r];i.suppressMouseDown=!0;let a=t.addZone(i);this._zones.push(a),this._zonesMap[String(a)]=!0,n.zones[r].diff&&i.marginDomNode&&(i.suppressMouseDown=!1,n.zones[r].diff?.originalModel.getValueLength()!==0&&this._inlineDiffMargins.push(new pp(a,i.marginDomNode,e,n.zones[r].diff,this._contextMenuService,this._clipboardService)))}}),i?.restore(e),e.changeDecorations(e=>{this._decorations=e.deltaDecorations(this._decorations,n.decorations)}),t?.setZones(n.overviewZones)}},xp=0,Sp=Uf(`diff-insert`,i.Tl.add,i.Td(`diffInsertIcon`,`Line decoration for inserts in the diff editor.`)),Cp=Uf(`diff-remove`,i.Tl.remove,i.Td(`diffRemoveIcon`,`Line decoration for removals in the diff editor.`)),wp=window.trustedTypes?.createPolicy(`diffEditorWidget`,{createHTML:e=>e}),Tp=class e extends i.Xl{constructor(t,n,r,a,o,s,c,l,u,d,f,p){super(),this._editorProgressService=p,this._onDidDispose=this._register(new i.Ul),this.onDidDispose=this._onDidDispose.event,this._onDidUpdateDiff=this._register(new i.Ul),this.onDidUpdateDiff=this._onDidUpdateDiff.event,this._onDidContentSizeChange=this._register(new i.Ul),this._lastOriginalWarning=null,this._lastModifiedWarning=null,this._editorWorkerService=o,this._codeEditorService=l,this._contextKeyService=this._register(s.createScoped(t)),this._instantiationService=c.createChild(new uu([i.Ea,this._contextKeyService])),this._contextKeyService.createKey(`isInDiffEditor`,!0),this._themeService=u,this._notificationService=d,this._id=++xp,this._state=0,this._updatingDiffProgress=null,this._domElement=t,n||={},this._options=Hp(n,{enableSplitViewResizing:!0,renderSideBySide:!0,renderMarginRevertIcon:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:`inherit`}),n.isInEmbeddedEditor===void 0?this._contextKeyService.createKey(`isInEmbeddedDiffEditor`,!1):this._contextKeyService.createKey(`isInEmbeddedDiffEditor`,n.isInEmbeddedEditor),this._updateDecorationsRunner=this._register(new i.ys(()=>this._updateDecorations(),0)),this._containerDomElement=document.createElement(`div`),this._containerDomElement.className=e._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide),this._containerDomElement.style.position=`relative`,this._containerDomElement.style.height=`100%`,this._domElement.appendChild(this._containerDomElement),this._overviewViewportDomElement=k(document.createElement(`div`)),this._overviewViewportDomElement.setClassName(`diffViewport`),this._overviewViewportDomElement.setPosition(`absolute`),this._overviewDomElement=document.createElement(`div`),this._overviewDomElement.className=`diffOverview`,this._overviewDomElement.style.position=`absolute`,this._overviewDomElement.appendChild(this._overviewViewportDomElement.domNode),this._register(i.Ja(this._overviewDomElement,i.Ua.POINTER_DOWN,e=>{this._modifiedEditor.delegateVerticalScrollbarPointerDown(e)})),this._options.renderOverviewRuler&&this._containerDomElement.appendChild(this._overviewDomElement),this._originalDomNode=document.createElement(`div`),this._originalDomNode.className=`editor original`,this._originalDomNode.style.position=`absolute`,this._originalDomNode.style.height=`100%`,this._containerDomElement.appendChild(this._originalDomNode),this._modifiedDomNode=document.createElement(`div`),this._modifiedDomNode.className=`editor modified`,this._modifiedDomNode.style.position=`absolute`,this._modifiedDomNode.style.height=`100%`,this._containerDomElement.appendChild(this._modifiedDomNode),this._beginUpdateDecorationsTimeout=-1,this._currentlyChangingViewZones=!1,this._diffComputationToken=0,this._originalEditorState=new bp(f,a),this._modifiedEditorState=new bp(f,a),this._isVisible=!0,this._isHandlingScrollEvent=!1,this._elementSizeObserver=this._register(new Ti(this._containerDomElement,n.dimension)),this._register(this._elementSizeObserver.onDidChange(()=>this._onDidContainerSizeChanged())),n.automaticLayout&&this._elementSizeObserver.startObserving(),this._diffComputationResult=null,this._originalEditor=this._createLeftHandSideEditor(n,r.originalEditor||{}),this._modifiedEditor=this._createRightHandSideEditor(n,r.modifiedEditor||{}),this._originalOverviewRuler=null,this._modifiedOverviewRuler=null,this._reviewPane=c.createInstance(ap,this),this._containerDomElement.appendChild(this._reviewPane.domNode.domNode),this._containerDomElement.appendChild(this._reviewPane.shadow.domNode),this._containerDomElement.appendChild(this._reviewPane.actionBarContainer.domNode),this._options.renderSideBySide?this._setStrategy(new Ap(this._createDataSource(),this._options.enableSplitViewResizing)):this._setStrategy(new Mp(this._createDataSource(),this._options.enableSplitViewResizing)),this._register(u.onDidColorThemeChange(t=>{this._strategy&&this._strategy.applyColors(t)&&this._updateDecorationsRunner.schedule(),this._containerDomElement.className=e._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide)}));let m=i.qi.getDiffEditorContributions();for(let e of m)try{this._register(c.createInstance(e.ctor,this))}catch(e){i.fu(e)}this._codeEditorService.addDiffEditor(this)}_setState(e){this._state!==e&&(this._state=e,this._updatingDiffProgress&&=(this._updatingDiffProgress.done(),null),this._state===1&&(this._updatingDiffProgress=this._editorProgressService.show(!0,1e3)))}diffReviewNext(){this._reviewPane.next()}diffReviewPrev(){this._reviewPane.prev()}static _getClassName(e,t){let n=`monaco-diff-editor monaco-editor-background `;return t&&(n+=`side-by-side `),n+=i.ya(e.type),n}_disposeOverviewRulers(){this._originalOverviewRuler&&=(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose(),null),this._modifiedOverviewRuler&&=(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose(),null)}_createOverviewRulers(){this._options.renderOverviewRuler&&(i.uc(!this._originalOverviewRuler&&!this._modifiedOverviewRuler),this._originalEditor.hasModel()&&(this._originalOverviewRuler=this._originalEditor.createOverviewRuler(`original diffOverviewRuler`),this._overviewDomElement.appendChild(this._originalOverviewRuler.getDomNode())),this._modifiedEditor.hasModel()&&(this._modifiedOverviewRuler=this._modifiedEditor.createOverviewRuler(`modified diffOverviewRuler`),this._overviewDomElement.appendChild(this._modifiedOverviewRuler.getDomNode())),this._layoutOverviewRulers())}_createLeftHandSideEditor(t,n){let r=this._createInnerEditor(this._instantiationService,this._originalDomNode,this._adjustOptionsForLeftHandSide(t),n);this._register(r.onDidScrollChange(e=>{this._isHandlingScrollEvent||!e.scrollTopChanged&&!e.scrollLeftChanged&&!e.scrollHeightChanged||(this._isHandlingScrollEvent=!0,this._modifiedEditor.setScrollPosition({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}),this._isHandlingScrollEvent=!1,this._layoutOverviewViewport())})),this._register(r.onDidChangeViewZones(()=>{this._onViewZonesChanged()})),this._register(r.onDidChangeConfiguration(e=>{r.getModel()&&(e.hasChanged(45)&&this._updateDecorationsRunner.schedule(),e.hasChanged(133)&&(this._updateDecorationsRunner.cancel(),this._updateDecorations()))})),this._register(r.onDidChangeHiddenAreas(()=>{this._updateDecorationsRunner.cancel(),this._updateDecorations()})),this._register(r.onDidChangeModelContent(()=>{this._isVisible&&this._beginUpdateDecorationsSoon()}));let i=this._contextKeyService.createKey(`isInDiffLeftEditor`,r.hasWidgetFocus());return this._register(r.onDidFocusEditorWidget(()=>i.set(!0))),this._register(r.onDidBlurEditorWidget(()=>i.set(!1))),this._register(r.onDidContentSizeChange(t=>{let n=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+e.ONE_OVERVIEW_WIDTH,r=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:r,contentWidth:n,contentHeightChanged:t.contentHeightChanged,contentWidthChanged:t.contentWidthChanged})})),r}_createRightHandSideEditor(t,n){let r=this._createInnerEditor(this._instantiationService,this._modifiedDomNode,this._adjustOptionsForRightHandSide(t),n);this._register(r.onDidScrollChange(e=>{this._isHandlingScrollEvent||!e.scrollTopChanged&&!e.scrollLeftChanged&&!e.scrollHeightChanged||(this._isHandlingScrollEvent=!0,this._originalEditor.setScrollPosition({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}),this._isHandlingScrollEvent=!1,this._layoutOverviewViewport())})),this._register(r.onDidChangeViewZones(()=>{this._onViewZonesChanged()})),this._register(r.onDidChangeConfiguration(e=>{r.getModel()&&(e.hasChanged(45)&&this._updateDecorationsRunner.schedule(),e.hasChanged(133)&&(this._updateDecorationsRunner.cancel(),this._updateDecorations()))})),this._register(r.onDidChangeHiddenAreas(()=>{this._updateDecorationsRunner.cancel(),this._updateDecorations()})),this._register(r.onDidChangeModelContent(()=>{this._isVisible&&this._beginUpdateDecorationsSoon()})),this._register(r.onDidChangeModelOptions(e=>{e.tabSize&&this._updateDecorationsRunner.schedule()}));let i=this._contextKeyService.createKey(`isInDiffRightEditor`,r.hasWidgetFocus());return this._register(r.onDidFocusEditorWidget(()=>i.set(!0))),this._register(r.onDidBlurEditorWidget(()=>i.set(!1))),this._register(r.onDidContentSizeChange(t=>{let n=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+e.ONE_OVERVIEW_WIDTH,r=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:r,contentWidth:n,contentHeightChanged:t.contentHeightChanged,contentWidthChanged:t.contentWidthChanged})})),this._register(r.onMouseDown(e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes(`arrow-revert-change`)){let t=e.target.position.lineNumber,n=this._diffComputationResult?.changes.find(e=>e.modifiedStartLineNumber===t-1||e.modifiedStartLineNumber===t);n&&this.revertChange(n),e.event.stopPropagation(),this._updateDecorations();return}})),r}revertChange(e){let t=this._modifiedEditor,n=this._originalEditor.getModel(),r=this._modifiedEditor.getModel();if(!n||!r||!t)return;let a=e.originalEndLineNumber>0?new i.Ol(e.originalStartLineNumber,1,e.originalEndLineNumber,n.getLineMaxColumn(e.originalEndLineNumber)):null,o=a?n.getValueInRange(a):null,s=e.modifiedEndLineNumber>0?new i.Ol(e.modifiedStartLineNumber,1,e.modifiedEndLineNumber,r.getLineMaxColumn(e.modifiedEndLineNumber)):null,c=r.getEOL();if(e.originalEndLineNumber===0&&s){let n=s;e.modifiedStartLineNumber>1?n=s.setStartPosition(e.modifiedStartLineNumber-1,r.getLineMaxColumn(e.modifiedStartLineNumber-1)):e.modifiedEndLineNumber<r.getLineCount()&&(n=s.setEndPosition(e.modifiedEndLineNumber+1,1)),t.executeEdits(`diffEditor`,[{range:n,text:``}])}else if(e.modifiedEndLineNumber===0&&o!==null){let n=e.modifiedStartLineNumber<r.getLineCount()?new i.kl(e.modifiedStartLineNumber+1,1):new i.kl(e.modifiedStartLineNumber,r.getLineMaxColumn(e.modifiedStartLineNumber));t.executeEdits(`diffEditor`,[{range:i.Ol.fromPositions(n,n),text:e.modifiedStartLineNumber<r.getLineCount()?o+c:c+o}])}else s&&o!==null&&t.executeEdits(`diffEditor`,[{range:s,text:o}])}_createInnerEditor(e,t,n,r){return e.createInstance(Vu,t,n,r)}dispose(){this._codeEditorService.removeDiffEditor(this),this._beginUpdateDecorationsTimeout!==-1&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._cleanViewZonesAndDecorations(),this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._overviewDomElement.removeChild(this._overviewViewportDomElement.domNode),this._options.renderOverviewRuler&&this._containerDomElement.removeChild(this._overviewDomElement),this._containerDomElement.removeChild(this._originalDomNode),this._originalEditor.dispose(),this._containerDomElement.removeChild(this._modifiedDomNode),this._modifiedEditor.dispose(),this._strategy.dispose(),this._containerDomElement.removeChild(this._reviewPane.domNode.domNode),this._containerDomElement.removeChild(this._reviewPane.shadow.domNode),this._containerDomElement.removeChild(this._reviewPane.actionBarContainer.domNode),this._reviewPane.dispose(),this._domElement.removeChild(this._containerDomElement),this._onDidDispose.fire(),super.dispose()}getId(){return this.getEditorType()+`:`+this._id}getEditorType(){return zt.IDiffEditor}getLineChanges(){return this._diffComputationResult?this._diffComputationResult.changes:null}getOriginalEditor(){return this._originalEditor}getModifiedEditor(){return this._modifiedEditor}updateOptions(t){let n=Hp(t,this._options),r=Up(this._options,n);this._options=n;let i=r.ignoreTrimWhitespace||r.renderIndicators||r.renderMarginRevertIcon,a=this._isVisible&&(r.maxComputationTime||r.maxFileSize);i?this._beginUpdateDecorations():a&&this._beginUpdateDecorationsSoon(),this._modifiedEditor.updateOptions(this._adjustOptionsForRightHandSide(t)),this._originalEditor.updateOptions(this._adjustOptionsForLeftHandSide(t)),this._strategy.setEnableSplitViewResizing(this._options.enableSplitViewResizing),r.renderSideBySide&&(this._options.renderSideBySide?this._setStrategy(new Ap(this._createDataSource(),this._options.enableSplitViewResizing)):this._setStrategy(new Mp(this._createDataSource(),this._options.enableSplitViewResizing)),this._containerDomElement.className=e._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide)),r.renderOverviewRuler&&(this._options.renderOverviewRuler?this._containerDomElement.appendChild(this._overviewDomElement):this._containerDomElement.removeChild(this._overviewDomElement))}getModel(){return{original:this._originalEditor.getModel(),modified:this._modifiedEditor.getModel()}}setModel(e){if(e&&(!e.original||!e.modified))throw Error(e.original?`DiffEditorWidget.setModel: Modified model is null`:`DiffEditorWidget.setModel: Original model is null`);this._cleanViewZonesAndDecorations(),this._disposeOverviewRulers(),this._originalEditor.setModel(e?e.original:null),this._modifiedEditor.setModel(e?e.modified:null),this._updateDecorationsRunner.cancel(),e&&(this._originalEditor.setScrollTop(0),this._modifiedEditor.setScrollTop(0)),this._diffComputationResult=null,this._diffComputationToken++,this._setState(0),e&&(this._createOverviewRulers(),this._beginUpdateDecorations()),this._layoutOverviewViewport()}getContainerDomNode(){return this._domElement}getVisibleColumnFromPosition(e){return this._modifiedEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._modifiedEditor.getPosition()}setPosition(e,t=`api`){this._modifiedEditor.setPosition(e,t)}revealLine(e,t=0){this._modifiedEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._modifiedEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._modifiedEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._modifiedEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._modifiedEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._modifiedEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._modifiedEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._modifiedEditor.revealPositionNearTop(e,t)}getSelection(){return this._modifiedEditor.getSelection()}getSelections(){return this._modifiedEditor.getSelections()}setSelection(e,t=`api`){this._modifiedEditor.setSelection(e,t)}setSelections(e,t=`api`){this._modifiedEditor.setSelections(e,t)}revealLines(e,t,n=0){this._modifiedEditor.revealLines(e,t,n)}revealLinesInCenter(e,t,n=0){this._modifiedEditor.revealLinesInCenter(e,t,n)}revealLinesInCenterIfOutsideViewport(e,t,n=0){this._modifiedEditor.revealLinesInCenterIfOutsideViewport(e,t,n)}revealLinesNearTop(e,t,n=0){this._modifiedEditor.revealLinesNearTop(e,t,n)}revealRange(e,t=0,n=!1,r=!0){this._modifiedEditor.revealRange(e,t,n,r)}revealRangeInCenter(e,t=0){this._modifiedEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._modifiedEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._modifiedEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._modifiedEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._modifiedEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._modifiedEditor.getSupportedActions()}saveViewState(){return{original:this._originalEditor.saveViewState(),modified:this._modifiedEditor.saveViewState()}}restoreViewState(e){if(e&&e.original&&e.modified){let t=e;this._originalEditor.restoreViewState(t.original),this._modifiedEditor.restoreViewState(t.modified)}}layout(e){this._elementSizeObserver.observe(e)}focus(){this._modifiedEditor.focus()}hasTextFocus(){return this._originalEditor.hasTextFocus()||this._modifiedEditor.hasTextFocus()}trigger(e,t,n){this._modifiedEditor.trigger(e,t,n)}createDecorationsCollection(e){return this._modifiedEditor.createDecorationsCollection(e)}changeDecorations(e){return this._modifiedEditor.changeDecorations(e)}_onDidContainerSizeChanged(){this._doLayout()}_getReviewHeight(){return this._reviewPane.isVisible()?this._elementSizeObserver.getHeight():0}_layoutOverviewRulers(){if(!this._options.renderOverviewRuler||!this._originalOverviewRuler||!this._modifiedOverviewRuler)return;let t=this._elementSizeObserver.getHeight(),n=this._getReviewHeight(),r=e.ENTIRE_DIFF_OVERVIEW_WIDTH-2*e.ONE_OVERVIEW_WIDTH;this._modifiedEditor.getLayoutInfo()&&(this._originalOverviewRuler.setLayout({top:0,width:e.ONE_OVERVIEW_WIDTH,right:r+e.ONE_OVERVIEW_WIDTH,height:t-n}),this._modifiedOverviewRuler.setLayout({top:0,right:0,width:e.ONE_OVERVIEW_WIDTH,height:t-n}))}_onViewZonesChanged(){this._currentlyChangingViewZones||this._updateDecorationsRunner.schedule()}_beginUpdateDecorationsSoon(){this._beginUpdateDecorationsTimeout!==-1&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._beginUpdateDecorationsTimeout=window.setTimeout(()=>this._beginUpdateDecorations(),e.UPDATE_DIFF_DECORATIONS_DELAY)}static _equals(e,t){return!e&&!t?!0:!e||!t?!1:e.toString()===t.toString()}_beginUpdateDecorations(){this._beginUpdateDecorationsTimeout=-1;let t=this._originalEditor.getModel(),n=this._modifiedEditor.getModel();if(!t||!n)return;this._diffComputationToken++;let r=this._diffComputationToken,a=this._options.maxFileSize*1024*1024,o=e=>{let t=e.getValueLength();return a===0||t<=a};if(!o(t)||!o(n)){(!e._equals(t.uri,this._lastOriginalWarning)||!e._equals(n.uri,this._lastModifiedWarning))&&(this._lastOriginalWarning=t.uri,this._lastModifiedWarning=n.uri,this._notificationService.warn(i.Td(`diff.tooLarge`,`Cannot compare files because one file is too large.`)));return}this._setState(1),this._editorWorkerService.computeDiff(t.uri,n.uri,this._options.ignoreTrimWhitespace,this._options.maxComputationTime).then(e=>{r===this._diffComputationToken&&t===this._originalEditor.getModel()&&n===this._modifiedEditor.getModel()&&(this._setState(2),this._diffComputationResult=e,this._updateDecorationsRunner.schedule(),this._onDidUpdateDiff.fire())},e=>{r===this._diffComputationToken&&t===this._originalEditor.getModel()&&n===this._modifiedEditor.getModel()&&(this._setState(2),this._diffComputationResult=null,this._updateDecorationsRunner.schedule())})}_cleanViewZonesAndDecorations(){this._originalEditorState.clean(this._originalEditor),this._modifiedEditorState.clean(this._modifiedEditor)}_updateDecorations(){if(!this._originalEditor.getModel()||!this._modifiedEditor.getModel())return;let e=this._diffComputationResult?this._diffComputationResult.changes:[],t=this._originalEditorState.getForeignViewZones(this._originalEditor.getWhitespaces()),n=this._modifiedEditorState.getForeignViewZones(this._modifiedEditor.getWhitespaces()),r=this._strategy.getEditorsDiffDecorations(e,this._options.ignoreTrimWhitespace,this._options.renderIndicators,this._options.renderMarginRevertIcon,t,n);try{this._currentlyChangingViewZones=!0,this._originalEditorState.apply(this._originalEditor,this._originalOverviewRuler,r.original,!1),this._modifiedEditorState.apply(this._modifiedEditor,this._modifiedOverviewRuler,r.modified,!0)}finally{this._currentlyChangingViewZones=!1}}_adjustOptionsForSubEditor(e){let t=Object.assign({},e);return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar=Object.assign({},t.scrollbar||{}),t.scrollbar.vertical=`visible`,t.folding=!1,t.codeLens=this._options.diffCodeLens,t.fixedOverflowWidgets=!0,t.minimap=Object.assign({},t.minimap||{}),t.minimap.enabled=!1,t}_adjustOptionsForLeftHandSide(e){let t=this._adjustOptionsForSubEditor(e);return this._options.renderSideBySide?t.wordWrapOverride1=this._options.diffWordWrap:(t.wordWrapOverride1=`off`,t.wordWrapOverride2=`off`),e.originalAriaLabel&&(t.ariaLabel=e.originalAriaLabel),t.readOnly=!this._options.originalEditable,t.enableDropIntoEditor=!t.readOnly,t.extraEditorClassName=`original-in-monaco-diff-editor`,Object.assign(Object.assign({},t),{dimension:{height:0,width:0}})}_adjustOptionsForRightHandSide(t){let n=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(n.ariaLabel=t.modifiedAriaLabel),n.wordWrapOverride1=this._options.diffWordWrap,n.revealHorizontalRightPadding=Le.revealHorizontalRightPadding.defaultValue+e.ENTIRE_DIFF_OVERVIEW_WIDTH,n.scrollbar.verticalHasArrows=!1,n.extraEditorClassName=`modified-in-monaco-diff-editor`,Object.assign(Object.assign({},n),{dimension:{height:0,width:0}})}doLayout(){this._elementSizeObserver.observe(),this._doLayout()}_doLayout(){let t=this._elementSizeObserver.getWidth(),n=this._elementSizeObserver.getHeight(),r=this._getReviewHeight(),i=this._strategy.layout();this._originalDomNode.style.width=i+`px`,this._originalDomNode.style.left=`0px`,this._modifiedDomNode.style.width=t-i+`px`,this._modifiedDomNode.style.left=i+`px`,this._overviewDomElement.style.top=`0px`,this._overviewDomElement.style.height=n-r+`px`,this._overviewDomElement.style.width=e.ENTIRE_DIFF_OVERVIEW_WIDTH+`px`,this._overviewDomElement.style.left=t-e.ENTIRE_DIFF_OVERVIEW_WIDTH+`px`,this._overviewViewportDomElement.setWidth(e.ENTIRE_DIFF_OVERVIEW_WIDTH),this._overviewViewportDomElement.setHeight(30),this._originalEditor.layout({width:i,height:n-r}),this._modifiedEditor.layout({width:t-i-(this._options.renderOverviewRuler?e.ENTIRE_DIFF_OVERVIEW_WIDTH:0),height:n-r}),(this._originalOverviewRuler||this._modifiedOverviewRuler)&&this._layoutOverviewRulers(),this._reviewPane.layout(n-r,t,r),this._layoutOverviewViewport()}_layoutOverviewViewport(){let e=this._computeOverviewViewport();e?(this._overviewViewportDomElement.setTop(e.top),this._overviewViewportDomElement.setHeight(e.height)):(this._overviewViewportDomElement.setTop(0),this._overviewViewportDomElement.setHeight(0))}_computeOverviewViewport(){let e=this._modifiedEditor.getLayoutInfo();if(!e)return null;let t=this._modifiedEditor.getScrollTop(),n=this._modifiedEditor.getScrollHeight(),r=Math.max(0,e.height),i=Math.max(0,r-0),a=n>0?i/n:0;return{height:Math.max(0,Math.floor(e.height*a)),top:Math.floor(t*a)}}_createDataSource(){return{getWidth:()=>this._elementSizeObserver.getWidth(),getHeight:()=>this._elementSizeObserver.getHeight()-this._getReviewHeight(),getOptions:()=>({renderOverviewRuler:this._options.renderOverviewRuler}),getContainerDomNode:()=>this._containerDomElement,relayoutEditors:()=>{this._doLayout()},getOriginalEditor:()=>this._originalEditor,getModifiedEditor:()=>this._modifiedEditor}}_setStrategy(e){this._strategy&&this._strategy.dispose(),this._strategy=e,e.applyColors(this._themeService.getColorTheme()),this._diffComputationResult&&this._updateDecorations(),this._doLayout()}_getLineChangeAtOrBeforeLineNumber(e,t){let n=this._diffComputationResult?this._diffComputationResult.changes:[];if(n.length===0||e<t(n[0]))return null;let r=0,i=n.length-1;for(;r<i;){let a=Math.floor((r+i)/2),o=t(n[a]),s=a+1<=i?t(n[a+1]):1073741824;e<o?i=a-1:e>=s?r=a+1:(r=a,i=a)}return n[r]}_getEquivalentLineForOriginalLineNumber(e){let t=this._getLineChangeAtOrBeforeLineNumber(e,e=>e.originalStartLineNumber);if(!t)return e;let n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),r=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,a=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,o=e-n;return o<=i?r+Math.min(o,a):r+a-i+o}_getEquivalentLineForModifiedLineNumber(e){let t=this._getLineChangeAtOrBeforeLineNumber(e,e=>e.modifiedStartLineNumber);if(!t)return e;let n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),r=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,a=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,o=e-r;return o<=a?n+Math.min(o,i):n+i-a+o}getDiffLineInformationForOriginal(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null}getDiffLineInformationForModified(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null}};Tp.ONE_OVERVIEW_WIDTH=15,Tp.ENTIRE_DIFF_OVERVIEW_WIDTH=30,Tp.UPDATE_DIFF_DECORATIONS_DELAY=200,Tp=vp([yp(3,mp),yp(4,lp),yp(5,i.Ea),yp(6,i.fc),yp(7,i.dc),yp(8,i.ga),yp(9,pu),yp(10,dp),yp(11,_p)],Tp);var Ep=class extends i.Xl{constructor(e){super(),this._dataSource=e,this._insertColor=null,this._removeColor=null}applyColors(e){let t=e.getColor(i.ln)||(e.getColor(i.an)||i.tn).transparent(2),n=e.getColor(i.un)||(e.getColor(i.dn)||i.nn).transparent(2),r=!t.equals(this._insertColor)||!n.equals(this._removeColor);return this._insertColor=t,this._removeColor=n,r}getEditorsDiffDecorations(e,t,n,r,i,a){a=a.sort((e,t)=>e.afterLineNumber-t.afterLineNumber),i=i.sort((e,t)=>e.afterLineNumber-t.afterLineNumber);let o=this._getViewZones(e,i,a,n),s=this._getOriginalEditorDecorations(o,e,t,n),c=this._getModifiedEditorDecorations(o,e,t,n,r);return{original:{decorations:s.decorations,overviewZones:s.overviewZones,zones:o.original},modified:{decorations:c.decorations,overviewZones:c.overviewZones,zones:o.modified}}}},Dp=class{constructor(e){this._source=e,this._index=-1,this.current=null,this.advance()}advance(){this._index++,this._index<this._source.length?this.current=this._source[this._index]:this.current=null}},Op=class e{constructor(e,t,n,r,i){this._lineChanges=e,this._originalForeignVZ=t,this._modifiedForeignVZ=n,this._originalEditor=r,this._modifiedEditor=i}static _getViewLineCount(e,t,n){let r=e.getModel(),i=e._getViewModel();if(r&&i){let e=Vp(r,i,t,n);return e.endLineNumber-e.startLineNumber+1}return n-t+1}getViewZones(){let t=this._originalEditor.getOption(60),n=this._modifiedEditor.getOption(60),r=this._originalEditor.getOption(133).wrappingColumn!==-1,i=this._modifiedEditor.getOption(133).wrappingColumn!==-1,a=r||i,o=this._originalEditor.getModel(),s=this._originalEditor._getViewModel().coordinatesConverter,c=this._modifiedEditor._getViewModel().coordinatesConverter,l={original:[],modified:[]},u=0,d=0,f=0,p=0,m=0,h=0,g=(e,t)=>e.afterLineNumber-t.afterLineNumber,_=(e,t)=>{if(t.domNode===null&&e.length>0){let n=e[e.length-1];if(n.afterLineNumber===t.afterLineNumber&&n.domNode===null){n.heightInLines+=t.heightInLines;return}}e.push(t)},v=new Dp(this._modifiedForeignVZ),y=new Dp(this._originalForeignVZ),b=1,x=1;for(let r=0,i=this._lineChanges.length;r<=i;r++){let S=r<i?this._lineChanges[r]:null;S===null?(f+=1e7+d,p+=1e7+u,m=f,h=p):(f=S.originalStartLineNumber+(S.originalEndLineNumber>0?-1:0),p=S.modifiedStartLineNumber+(S.modifiedEndLineNumber>0?-1:0),d=S.originalEndLineNumber>0?e._getViewLineCount(this._originalEditor,S.originalStartLineNumber,S.originalEndLineNumber):0,u=S.modifiedEndLineNumber>0?e._getViewLineCount(this._modifiedEditor,S.modifiedStartLineNumber,S.modifiedEndLineNumber):0,m=Math.max(S.originalStartLineNumber,S.originalEndLineNumber),h=Math.max(S.modifiedStartLineNumber,S.modifiedEndLineNumber));let C=[],w=[];if(a){let e;e=S?S.originalEndLineNumber>0?S.originalStartLineNumber-b:S.modifiedStartLineNumber-x:o.getLineCount()-b+1;for(let t=0;t<e;t++){let e=b+t,n=x+t,r=s.getModelLineViewLineCount(e),i=c.getModelLineViewLineCount(n);r<i?C.push({afterLineNumber:e,heightInLines:i-r,domNode:null,marginDomNode:null}):r>i&&w.push({afterLineNumber:n,heightInLines:r-i,domNode:null,marginDomNode:null})}S&&(b=(S.originalEndLineNumber>0?S.originalEndLineNumber:S.originalStartLineNumber)+1,x=(S.modifiedEndLineNumber>0?S.modifiedEndLineNumber:S.modifiedStartLineNumber)+1)}for(;v.current&&v.current.afterLineNumber<=h;){let e;e=v.current.afterLineNumber<=p?f-p+v.current.afterLineNumber:m;let t=null;S&&S.modifiedStartLineNumber<=v.current.afterLineNumber&&v.current.afterLineNumber<=S.modifiedEndLineNumber&&(t=this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()),C.push({afterLineNumber:e,heightInLines:v.current.height/n,domNode:null,marginDomNode:t}),v.advance()}for(;y.current&&y.current.afterLineNumber<=m;){let e;e=y.current.afterLineNumber<=f?p-f+y.current.afterLineNumber:h,w.push({afterLineNumber:e,heightInLines:y.current.height/t,domNode:null}),y.advance()}if(S!==null&&Fp(S)){let e=this._produceOriginalFromDiff(S,d,u);e&&C.push(e)}if(S!==null&&Ip(S)){let e=this._produceModifiedFromDiff(S,d,u);e&&w.push(e)}let T=0,E=0;for(C=C.sort(g),w=w.sort(g);T<C.length&&E<w.length;){let e=C[T],t=w[E],n=e.afterLineNumber-f,r=t.afterLineNumber-p;n<r?(_(l.original,e),T++):r<n?(_(l.modified,t),E++):e.shouldNotShrink?(_(l.original,e),T++):t.shouldNotShrink?(_(l.modified,t),E++):e.heightInLines>=t.heightInLines?(e.heightInLines-=t.heightInLines,E++):(t.heightInLines-=e.heightInLines,T++)}for(;T<C.length;)_(l.original,C[T]),T++;for(;E<w.length;)_(l.modified,w[E]),E++}return{original:e._ensureDomNodes(l.original),modified:e._ensureDomNodes(l.modified)}}static _ensureDomNodes(e){return e.map(e=>(e.domNode||=zp(),e))}};function kp(e,t,n,r,a){return{range:new i.Ol(e,t,n,r),options:a}}var W={arrowRevertChange:i.f.register({description:`diff-editor-arrow-revert-change`,glyphMarginClassName:`arrow-revert-change `+i.va.asClassName(i.Tl.arrowRight)}),charDelete:i.f.register({description:`diff-editor-char-delete`,className:`char-delete`}),charDeleteWholeLine:i.f.register({description:`diff-editor-char-delete-whole-line`,className:`char-delete`,isWholeLine:!0}),charInsert:i.f.register({description:`diff-editor-char-insert`,className:`char-insert`}),charInsertWholeLine:i.f.register({description:`diff-editor-char-insert-whole-line`,className:`char-insert`,isWholeLine:!0}),lineInsert:i.f.register({description:`diff-editor-line-insert`,className:`line-insert`,marginClassName:`gutter-insert`,isWholeLine:!0}),lineInsertWithSign:i.f.register({description:`diff-editor-line-insert-with-sign`,className:`line-insert`,linesDecorationsClassName:`insert-sign `+i.va.asClassName(Sp),marginClassName:`gutter-insert`,isWholeLine:!0}),lineDelete:i.f.register({description:`diff-editor-line-delete`,className:`line-delete`,marginClassName:`gutter-delete`,isWholeLine:!0}),lineDeleteWithSign:i.f.register({description:`diff-editor-line-delete-with-sign`,className:`line-delete`,linesDecorationsClassName:`delete-sign `+i.va.asClassName(Cp),marginClassName:`gutter-delete`,isWholeLine:!0}),lineDeleteMargin:i.f.register({description:`diff-editor-line-delete-margin`,marginClassName:`gutter-delete`})},Ap=class e extends Ep{constructor(e,t){super(e),this._disableSash=t===!1,this._sashRatio=null,this._sashPosition=null,this._startSashPosition=null,this._sash=this._register(new dd(this._dataSource.getContainerDomNode(),this,{orientation:0})),this._disableSash&&(this._sash.state=0),this._sash.onDidStart(()=>this._onSashDragStart()),this._sash.onDidChange(e=>this._onSashDrag(e)),this._sash.onDidEnd(()=>this._onSashDragEnd()),this._sash.onDidReset(()=>this._onSashReset())}setEnableSplitViewResizing(e){let t=e===!1;this._disableSash!==t&&(this._disableSash=t,this._sash.state=this._disableSash?0:3)}layout(t=this._sashRatio){let n=this._dataSource.getWidth()-(this._dataSource.getOptions().renderOverviewRuler?Tp.ENTIRE_DIFF_OVERVIEW_WIDTH:0),r=Math.floor((t||.5)*n),i=Math.floor(.5*n);return r=this._disableSash?i:r||i,n>e.MINIMUM_EDITOR_WIDTH*2?(r<e.MINIMUM_EDITOR_WIDTH&&(r=e.MINIMUM_EDITOR_WIDTH),r>n-e.MINIMUM_EDITOR_WIDTH&&(r=n-e.MINIMUM_EDITOR_WIDTH)):r=i,this._sashPosition!==r&&(this._sashPosition=r),this._sash.layout(),this._sashPosition}_onSashDragStart(){this._startSashPosition=this._sashPosition}_onSashDrag(e){let t=this._dataSource.getWidth()-(this._dataSource.getOptions().renderOverviewRuler?Tp.ENTIRE_DIFF_OVERVIEW_WIDTH:0);this._sashRatio=this.layout((this._startSashPosition+(e.currentX-e.startX))/t)/t,this._dataSource.relayoutEditors()}_onSashDragEnd(){this._sash.layout()}_onSashReset(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()}getVerticalSashTop(e){return 0}getVerticalSashLeft(e){return this._sashPosition}getVerticalSashHeight(e){return this._dataSource.getHeight()}_getViewZones(e,t,n){return new jp(e,t,n,this._dataSource.getOriginalEditor(),this._dataSource.getModifiedEditor()).getViewZones()}_getOriginalEditorDecorations(e,t,n,r){let a=this._dataSource.getOriginalEditor(),o=String(this._removeColor),s={decorations:[],overviewZones:[]},c=a.getModel(),l=a._getViewModel();for(let e of t)if(Ip(e)){s.decorations.push({range:new i.Ol(e.originalStartLineNumber,1,e.originalEndLineNumber,1073741824),options:r?W.lineDeleteWithSign:W.lineDelete}),(!Fp(e)||!e.charChanges)&&s.decorations.push(kp(e.originalStartLineNumber,1,e.originalEndLineNumber,1073741824,W.charDeleteWholeLine));let t=Vp(c,l,e.originalStartLineNumber,e.originalEndLineNumber);if(s.overviewZones.push(new yc(t.startLineNumber,t.endLineNumber,0,o)),e.charChanges){for(let t of e.charChanges)if(Rp(t))if(n)for(let e=t.originalStartLineNumber;e<=t.originalEndLineNumber;e++){let n,r;n=e===t.originalStartLineNumber?t.originalStartColumn:c.getLineFirstNonWhitespaceColumn(e),r=e===t.originalEndLineNumber?t.originalEndColumn:c.getLineLastNonWhitespaceColumn(e),s.decorations.push(kp(e,n,e,r,W.charDelete))}else s.decorations.push(kp(t.originalStartLineNumber,t.originalStartColumn,t.originalEndLineNumber,t.originalEndColumn,W.charDelete))}}return s}_getModifiedEditorDecorations(e,t,n,r,a){let o=this._dataSource.getModifiedEditor(),s=String(this._insertColor),c={decorations:[],overviewZones:[]},l=o.getModel(),u=o._getViewModel();for(let o of t){if(a)if(o.modifiedEndLineNumber>0)c.decorations.push({range:new i.Ol(o.modifiedStartLineNumber,1,o.modifiedStartLineNumber,1),options:W.arrowRevertChange});else{let t=e.modified.find(e=>e.afterLineNumber===o.modifiedStartLineNumber);t&&(t.marginDomNode=Bp())}if(Fp(o)){c.decorations.push({range:new i.Ol(o.modifiedStartLineNumber,1,o.modifiedEndLineNumber,1073741824),options:r?W.lineInsertWithSign:W.lineInsert}),(!Ip(o)||!o.charChanges)&&c.decorations.push(kp(o.modifiedStartLineNumber,1,o.modifiedEndLineNumber,1073741824,W.charInsertWholeLine));let e=Vp(l,u,o.modifiedStartLineNumber,o.modifiedEndLineNumber);if(c.overviewZones.push(new yc(e.startLineNumber,e.endLineNumber,0,s)),o.charChanges){for(let e of o.charChanges)if(Lp(e))if(n)for(let t=e.modifiedStartLineNumber;t<=e.modifiedEndLineNumber;t++){let n,r;n=t===e.modifiedStartLineNumber?e.modifiedStartColumn:l.getLineFirstNonWhitespaceColumn(t),r=t===e.modifiedEndLineNumber?e.modifiedEndColumn:l.getLineLastNonWhitespaceColumn(t),c.decorations.push(kp(t,n,t,r,W.charInsert))}else c.decorations.push(kp(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn,W.charInsert))}}}return c}};Ap.MINIMUM_EDITOR_WIDTH=100;var jp=class extends Op{constructor(e,t,n,r,i){super(e,t,n,r,i)}_createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(){return null}_produceOriginalFromDiff(e,t,n){return n>t?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:n-t,domNode:null}:null}_produceModifiedFromDiff(e,t,n){return t>n?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-n,domNode:null}:null}},Mp=class extends Ep{constructor(e,t){super(e),this._decorationsLeft=e.getOriginalEditor().getLayoutInfo().decorationsLeft,this._register(e.getOriginalEditor().onDidLayoutChange(t=>{this._decorationsLeft!==t.decorationsLeft&&(this._decorationsLeft=t.decorationsLeft,e.relayoutEditors())}))}setEnableSplitViewResizing(e){}_getViewZones(e,t,n,r){return new Np(e,t,n,this._dataSource.getOriginalEditor(),this._dataSource.getModifiedEditor(),r).getViewZones()}_getOriginalEditorDecorations(e,t,n,r){let a=String(this._removeColor),o={decorations:[],overviewZones:[]},s=this._dataSource.getOriginalEditor(),c=s.getModel(),l=s._getViewModel(),u=0;for(let n of t)if(Ip(n)){for(o.decorations.push({range:new i.Ol(n.originalStartLineNumber,1,n.originalEndLineNumber,1073741824),options:W.lineDeleteMargin});u<e.modified.length;){let t=e.modified[u];if(t.diff&&t.diff.originalStartLineNumber>=n.originalStartLineNumber)break;u++}let t=0;if(u<e.modified.length){let r=e.modified[u];r.diff&&r.diff.originalStartLineNumber===n.originalStartLineNumber&&r.diff.originalEndLineNumber===n.originalEndLineNumber&&r.diff.modifiedStartLineNumber===n.modifiedStartLineNumber&&r.diff.modifiedEndLineNumber===n.modifiedEndLineNumber&&(t=r.heightInLines)}let r=Vp(c,l,n.originalStartLineNumber,n.originalEndLineNumber);o.overviewZones.push(new yc(r.startLineNumber,r.endLineNumber,t,a))}return o}_getModifiedEditorDecorations(e,t,n,r,a){let o=this._dataSource.getModifiedEditor(),s=String(this._insertColor),c={decorations:[],overviewZones:[]},l=o.getModel(),u=o._getViewModel();for(let e of t)if(Fp(e)){c.decorations.push({range:new i.Ol(e.modifiedStartLineNumber,1,e.modifiedEndLineNumber,1073741824),options:r?W.lineInsertWithSign:W.lineInsert});let t=Vp(l,u,e.modifiedStartLineNumber,e.modifiedEndLineNumber);if(c.overviewZones.push(new yc(t.startLineNumber,t.endLineNumber,0,s)),e.charChanges){for(let t of e.charChanges)if(Lp(t))if(n)for(let e=t.modifiedStartLineNumber;e<=t.modifiedEndLineNumber;e++){let n,r;n=e===t.modifiedStartLineNumber?t.modifiedStartColumn:l.getLineFirstNonWhitespaceColumn(e),r=e===t.modifiedEndLineNumber?t.modifiedEndColumn:l.getLineLastNonWhitespaceColumn(e),c.decorations.push(kp(e,n,e,r,W.charInsert))}else c.decorations.push(kp(t.modifiedStartLineNumber,t.modifiedStartColumn,t.modifiedEndLineNumber,t.modifiedEndColumn,W.charInsert))}else c.decorations.push(kp(e.modifiedStartLineNumber,1,e.modifiedEndLineNumber,1073741824,W.charInsertWholeLine))}return c}layout(){return Math.max(5,this._decorationsLeft)}},Np=class extends Op{constructor(e,t,n,r,i,a){super(e,t,n,r,i),this._originalModel=r.getModel(),this._renderIndicators=a,this._pendingLineChange=[],this._pendingViewZones=[],this._lineBreaksComputer=this._modifiedEditor._getViewModel().createLineBreaksComputer()}getViewZones(){let e=super.getViewZones();return this._finalize(e),e}_createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(){let e=document.createElement(`div`);return e.className=`inline-added-margin-view-zone`,e}_produceOriginalFromDiff(e,t,n){let r=document.createElement(`div`);return r.className=`inline-added-margin-view-zone`,{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:n,domNode:document.createElement(`div`),marginDomNode:r}}_produceModifiedFromDiff(e,t,n){let r=document.createElement(`div`);r.className=`view-lines line-delete ${Ga}`;let i=document.createElement(`div`);i.className=`inline-deleted-margin-view-zone`;let a={shouldNotShrink:!0,afterLineNumber:e.modifiedEndLineNumber===0?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,minWidthInPx:0,domNode:r,marginDomNode:i,diff:{originalStartLineNumber:e.originalStartLineNumber,originalEndLineNumber:e.originalEndLineNumber,modifiedStartLineNumber:e.modifiedStartLineNumber,modifiedEndLineNumber:e.modifiedEndLineNumber,originalModel:this._originalModel,viewLineCounts:null}};for(let t=e.originalStartLineNumber;t<=e.originalEndLineNumber;t++)this._lineBreaksComputer.addRequest(this._originalModel.getLineContent(t),null,null);return this._pendingLineChange.push(e),this._pendingViewZones.push(a),a}_finalize(e){let t=this._modifiedEditor.getOptions(),n=this._modifiedEditor.getModel().getOptions().tabSize,r=t.get(45),a=t.get(29),o=r.typicalHalfwidthCharacterWidth,s=t.get(94),c=this._originalModel.mightContainNonBasicASCII(),l=this._originalModel.mightContainRTL(),u=t.get(60),d=t.get(132).decorationsWidth,f=t.get(106),p=t.get(89),m=t.get(84),h=t.get(46),g=this._lineBreaksComputer.finalize(),_=0;for(let t=0;t<this._pendingLineChange.length;t++){let v=this._pendingLineChange[t],y=this._pendingViewZones[t],b=y.domNode;Tt(b,r);let x=y.marginDomNode;Tt(x,r);let S=[];if(v.charChanges)for(let e of v.charChanges)Rp(e)&&S.push(new Mr(new i.Ol(e.originalStartLineNumber,e.originalStartColumn,e.originalEndLineNumber,e.originalEndColumn),`char-delete`,0));let C=S.length>0,w=i.ec(1e4),T=0,E=0,D=null;for(let t=v.originalStartLineNumber;t<=v.originalEndLineNumber;t++){let i=t-v.originalStartLineNumber,o=this._originalModel.tokenization.getLineTokens(t),s=o.getLineContent(),b=g[_++],ee=or.filter(S,t,1,s.length+1);if(b){let g=0;for(let e of b.breakOffsets){let t=o.sliceAndInflate(g,e,0),i=s.substring(g,e);T=Math.max(T,this._renderOriginalLine(E++,i,t,or.extractWrapped(ee,g,e),C,c,l,r,a,u,d,f,p,m,h,n,w,x)),g=e}for(D||=[];D.length<i;)D[D.length]=1;D[i]=b.breakOffsets.length,y.heightInLines+=b.breakOffsets.length-1;let _=document.createElement(`div`);_.className=`gutter-delete`,e.original.push({afterLineNumber:t,afterColumn:0,heightInLines:b.breakOffsets.length-1,domNode:zp(),marginDomNode:_})}else T=Math.max(T,this._renderOriginalLine(E++,s,o,ee,C,c,l,r,a,u,d,f,p,m,h,n,w,x))}T+=s;let ee=w.build();if(b.innerHTML=wp?wp.createHTML(ee):ee,y.minWidthInPx=T*o,D){let e=v.originalEndLineNumber-v.originalStartLineNumber;for(;D.length<=e;)D[D.length]=1}y.diff.viewLineCounts=D}e.original.sort((e,t)=>e.afterLineNumber-t.afterLineNumber)}_renderOriginalLine(e,t,n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v){_.appendASCIIString(`<div class="view-line`),a||_.appendASCIIString(` char-delete`),_.appendASCIIString(`" style="top:`),_.appendASCIIString(String(e*u)),_.appendASCIIString(`px;width:1000000px;">`);let y=jr.isBasicASCII(t,o),b=jr.containsRTL(t,y,s),x=hr(new dr(c.isMonospace&&!l,c.canUseHalfwidthRightwardsArrow,t,!1,y,b,0,n,r,g,0,c.spaceWidth,c.middotWidth,c.wsmiddotWidth,f,p,m,h!==ne.OFF,null),_);if(_.appendASCIIString(`</div>`),this._renderIndicators){let t=document.createElement(`div`);t.className=`delete-sign ${i.va.asClassName(Cp)}`,t.setAttribute(`style`,`position:absolute;top:${e*u}px;width:${d}px;height:${u}px;right:0;`),v.appendChild(t)}return x.characterMapping.getHorizontalOffset(x.characterMapping.length)}};function Pp(e,t){return v(e,t,[`off`,`on`,`inherit`])}function Fp(e){return e.modifiedEndLineNumber>0}function Ip(e){return e.originalEndLineNumber>0}function Lp(e){return e.modifiedStartLineNumber===e.modifiedEndLineNumber?e.modifiedEndColumn-e.modifiedStartColumn>0:e.modifiedEndLineNumber-e.modifiedStartLineNumber>0}function Rp(e){return e.originalStartLineNumber===e.originalEndLineNumber?e.originalEndColumn-e.originalStartColumn>0:e.originalEndLineNumber-e.originalStartLineNumber>0}function zp(){let e=document.createElement(`div`);return e.className=`diagonal-fill`,e}function Bp(){let e=document.createElement(`div`);return e.className=`arrow-revert-change `+i.va.asClassName(i.Tl.arrowRight),i.za(`div`,{},e)}function Vp(e,t,n,r){let a=e.getLineCount();return n=Math.min(a,Math.max(1,n)),r=Math.min(a,Math.max(1,r)),t.coordinatesConverter.convertModelRangeToViewRange(new i.Ol(n,e.getLineMinColumn(n),r,e.getLineMaxColumn(r)))}function Hp(e,t){return{enableSplitViewResizing:f(e.enableSplitViewResizing,t.enableSplitViewResizing),renderSideBySide:f(e.renderSideBySide,t.renderSideBySide),renderMarginRevertIcon:f(e.renderMarginRevertIcon,t.renderMarginRevertIcon),maxComputationTime:m(e.maxComputationTime,t.maxComputationTime,0,1073741824),maxFileSize:m(e.maxFileSize,t.maxFileSize,0,1073741824),ignoreTrimWhitespace:f(e.ignoreTrimWhitespace,t.ignoreTrimWhitespace),renderIndicators:f(e.renderIndicators,t.renderIndicators),originalEditable:f(e.originalEditable,t.originalEditable),diffCodeLens:f(e.diffCodeLens,t.diffCodeLens),renderOverviewRuler:f(e.renderOverviewRuler,t.renderOverviewRuler),diffWordWrap:Pp(e.diffWordWrap,t.diffWordWrap)}}function Up(e,t){return{enableSplitViewResizing:e.enableSplitViewResizing!==t.enableSplitViewResizing,renderSideBySide:e.renderSideBySide!==t.renderSideBySide,renderMarginRevertIcon:e.renderMarginRevertIcon!==t.renderMarginRevertIcon,maxComputationTime:e.maxComputationTime!==t.maxComputationTime,maxFileSize:e.maxFileSize!==t.maxFileSize,ignoreTrimWhitespace:e.ignoreTrimWhitespace!==t.ignoreTrimWhitespace,renderIndicators:e.renderIndicators!==t.renderIndicators,originalEditable:e.originalEditable!==t.originalEditable,diffCodeLens:e.diffCodeLens!==t.diffCodeLens,renderOverviewRuler:e.renderOverviewRuler!==t.renderOverviewRuler,diffWordWrap:e.diffWordWrap!==t.diffWordWrap}}i.ba((e,t)=>{let n=e.getColor(i.an);n&&t.addRule(`.monaco-editor .char-insert, .monaco-diff-editor .char-insert { background-color: ${n}; }`);let r=e.getColor(i.on)||n;r&&t.addRule(`.monaco-editor .line-insert, .monaco-diff-editor .line-insert { background-color: ${r}; }`);let a=e.getColor(i.sn)||r;a&&(t.addRule(`.monaco-editor .inline-added-margin-view-zone { background-color: ${a}; }`),t.addRule(`.monaco-editor .gutter-insert, .monaco-diff-editor .gutter-insert { background-color: ${a}; }`));let o=e.getColor(i.dn);o&&t.addRule(`.monaco-editor .char-delete, .monaco-diff-editor .char-delete { background-color: ${o}; }`);let s=e.getColor(i.fn)||o;s&&t.addRule(`.monaco-editor .line-delete, .monaco-diff-editor .line-delete { background-color: ${s}; }`);let c=e.getColor(i.pn)||s;c&&(t.addRule(`.monaco-editor .inline-deleted-margin-view-zone { background-color: ${c}; }`),t.addRule(`.monaco-editor .gutter-delete, .monaco-diff-editor .gutter-delete { background-color: ${c}; }`));let l=e.getColor(i.cn);l&&t.addRule(`.monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px ${i.wa(e.type)?`dashed`:`solid`} ${l}; }`);let u=e.getColor(i.mn);u&&t.addRule(`.monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px ${i.wa(e.type)?`dashed`:`solid`} ${u}; }`);let d=e.getColor(i.Di);d&&t.addRule(`.monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px ${d}; }`);let f=e.getColor(i.rn);f&&t.addRule(`.monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid ${f}; }`);let p=e.getColor(i.ki);p&&t.addRule(`
|
|
80
|
+
.monaco-diff-editor .diffViewport {
|
|
81
|
+
background: ${p};
|
|
82
|
+
}
|
|
83
|
+
`);let m=e.getColor(i.Ai);m&&t.addRule(`
|
|
84
|
+
.monaco-diff-editor .diffViewport:hover {
|
|
85
|
+
background: ${m};
|
|
86
|
+
}
|
|
87
|
+
`);let h=e.getColor(i.Oi);h&&t.addRule(`
|
|
88
|
+
.monaco-diff-editor .diffViewport:active {
|
|
89
|
+
background: ${h};
|
|
90
|
+
}
|
|
91
|
+
`);let g=e.getColor(i.in);t.addRule(`
|
|
92
|
+
.monaco-editor .diagonal-fill {
|
|
93
|
+
background-image: linear-gradient(
|
|
94
|
+
-45deg,
|
|
95
|
+
${g} 12.5%,
|
|
96
|
+
#0000 12.5%, #0000 50%,
|
|
97
|
+
${g} 50%, ${g} 62.5%,
|
|
98
|
+
#0000 62.5%, #0000 100%
|
|
99
|
+
);
|
|
100
|
+
background-size: 8px 8px;
|
|
101
|
+
}
|
|
102
|
+
`)});var Wp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Gp=function(e,t){return function(n,r){t(n,r,e)}},Kp=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},qp=class extends i.Xl{constructor(e){super(),this._themeService=e,this._onCodeEditorAdd=this._register(new i.Ul),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new i.Ul),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onDiffEditorAdd=this._register(new i.Ul),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new i.Ul),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new i.pd,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map(e=>this._codeEditors[e])}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}removeDiffEditor(e){delete this._diffEditors[e.getId()]&&this._onDiffEditorRemove.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map(e=>this._diffEditors[e])}getFocusedCodeEditor(){let e=null,t=this.listCodeEditors();for(let n of t){if(n.hasTextFocus())return n;n.hasWidgetFocus()&&(e=n)}return e}removeDecorationType(e){let t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(t=>t.removeDecorationsByType(e))))}setModelProperty(e,t,n){let r=e.toString(),i;this._modelProperties.has(r)?i=this._modelProperties.get(r):(i=new Map,this._modelProperties.set(r,i)),i.set(t,n)}getModelProperty(e,t){let n=e.toString();if(this._modelProperties.has(n))return this._modelProperties.get(n).get(t)}openCodeEditor(e,t,n){return Kp(this,void 0,void 0,function*(){for(let r of this._codeEditorOpenHandlers){let i=yield r(e,t,n);if(i!==null)return i}return null})}registerCodeEditorOpenHandler(e){return i.au(this._codeEditorOpenHandlers.unshift(e))}};qp=Wp([Gp(0,i.ga)],qp);var Jp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Yp=function(e,t){return function(n,r){t(n,r,e)}},Xp=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Zp=class extends qp{constructor(e,t){super(t),this.onCodeEditorAdd(()=>this._checkContextKey()),this.onCodeEditorRemove(()=>this._checkContextKey()),this._editorIsOpen=e.createKey(`editorIsOpen`,!1),this._activeCodeEditor=null,this.registerCodeEditorOpenHandler((e,t,n)=>Xp(this,void 0,void 0,function*(){return t?this.doOpenEditor(t,e):null}))}_checkContextKey(){let e=!1;for(let t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){let n=t.resource.scheme;if(n===i.Io.http||n===i.Io.https)return i.Po(t.resource.toString()),e}return null}let n=t.options?t.options.selection:null;if(n)if(typeof n.endLineNumber==`number`&&typeof n.endColumn==`number`)e.setSelection(n),e.revealRangeInCenter(n,1);else{let t={lineNumber:n.startLineNumber,column:n.startColumn};e.setPosition(t),e.revealPositionInCenter(t,1)}return e}findModel(e,t){let n=e.getModel();return n&&n.uri.toString()!==t.toString()?null:n}};Zp=Jp([Yp(0,i.Ea),Yp(1,i.ga)],Zp),i.Ks(i.dc,Zp);var Qp=i.mc(`layoutService`),$p=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},em=function(e,t){return function(n,r){t(n,r,e)}},tm=class{constructor(e){this._codeEditorService=e,this.onDidLayout=i.Wl.None,this.offset={top:0,quickPickTop:0}}get dimension(){return this._dimension||=i.oo(window.document.body),this._dimension}get hasContainer(){return!1}get container(){throw Error(`ILayoutService.container is not available in the standalone editor!`)}focus(){var e;(e=this._codeEditorService.getFocusedCodeEditor())==null||e.focus()}};tm=$p([em(0,i.dc)],tm);var nm=class extends tm{constructor(e,t){super(t),this._container=e}get hasContainer(){return!1}get container(){return this._container}};nm=$p([em(1,i.dc)],nm),i.Ks(Qp,tm);var rm=i.mc(`dialogService`),im=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},am=function(e,t){return function(n,r){t(n,r,e)}},om=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};function sm(e){return e.scheme===i.Io.file?e.fsPath:e.path}var cm=0,lm=class{constructor(e,t,n,r,i,a,o){this.id=++cm,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=n,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=r,this.groupOrder=i,this.sourceId=a,this.sourceOrder=o,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?` VALID`:`INVALID`}] ${this.actual.constructor.name} - ${this.actual}`}},um=class{constructor(e,t){this.resourceLabel=e,this.reason=t}},dm=class{constructor(){this.elements=new Map}createMessage(){let e=[],t=[];for(let[,n]of this.elements)(n.reason===0?e:t).push(n.resourceLabel);let n=[];return e.length>0&&n.push(i.Td({key:`externalRemoval`,comment:[`{0} is a list of filenames`]},`The following files have been closed and modified on disk: {0}.`,e.join(`, `))),t.length>0&&n.push(i.Td({key:`noParallelUniverses`,comment:[`{0} is a list of filenames`]},`The following files have been modified in an incompatible way: {0}.`,t.join(`, `))),n.join(`
|
|
103
|
+
`)}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}},fm=class{constructor(e,t,n,r,i,a,o){this.id=++cm,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=n,this.groupId=r,this.groupOrder=i,this.sourceId=a,this.sourceOrder=o,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split==`function`}removeResource(e,t,n){this.removedResources||=new dm,this.removedResources.has(t)||this.removedResources.set(t,new um(e,n))}setValid(e,t,n){n?this.invalidatedResources&&(this.invalidatedResources.delete(t),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||=new dm,this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new um(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?`INVALID`:` VALID`}] ${this.actual.constructor.name} - ${this.actual}`}},pm=class{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(let e of this._past)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);for(let e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){let e=[];e.push(`* ${this.strResource}:`);for(let t=0;t<this._past.length;t++)e.push(` * [UNDO] ${this._past[t]}`);for(let t=this._future.length-1;t>=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join(`
|
|
104
|
+
`)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){e.type===1?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(let n of this._past)t(n.actual)&&this._setElementValidFlag(n,e);for(let n of this._future)t(n.actual)&&this._setElementValidFlag(n,e)}pushElement(e){for(let e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){let t=[];for(let e=0,n=this._past.length;e<n;e++)t.push(this._past[e].id);for(let e=this._future.length-1;e>=0;e--)t.push(this._future[e].id);return new i.h(e,t)}restoreSnapshot(e){let t=e.elements.length,n=!0,r=0,i=-1;for(let a=0,o=this._past.length;a<o;a++,r++){let o=this._past[a];n&&(r>=t||o.id!==e.elements[r])&&(n=!1,i=0),!n&&o.type===1&&o.removeResource(this.resourceLabel,this.strResource,0)}let a=-1;for(let i=this._future.length-1;i>=0;i--,r++){let o=this._future[i];n&&(r>=t||o.id!==e.elements[r])&&(n=!1,a=i),!n&&o.type===1&&o.removeResource(this.resourceLabel,this.strResource,0)}i!==-1&&(this._past=this._past.slice(0,i)),a!==-1&&(this._future=this._future.slice(a+1)),this.versionId++}getElements(){let e=[],t=[];for(let t of this._past)e.push(t.actual);for(let e of this._future)t.push(e.actual);return{past:e,future:t}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let n=this._past.length-1;n>=0;n--)if(this._past[n]===e){t.has(this.strResource)?this._past[n]=t.get(this.strResource):this._past.splice(n,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let n=this._future.length-1;n>=0;n--)if(this._future[n]===e){t.has(this.strResource)?this._future[n]=t.get(this.strResource):this._future.splice(n,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}},mm=class{constructor(e){this.editStacks=e,this._versionIds=[];for(let e=0,t=this.editStacks.length;e<t;e++)this._versionIds[e]=this.editStacks[e].versionId}isValid(){for(let e=0,t=this.editStacks.length;e<t;e++)if(this._versionIds[e]!==this.editStacks[e].versionId)return!1;return!0}},hm=new pm(``,``);hm.locked=!0;var gm=class{constructor(e,t){this._dialogService=e,this._notificationService=t,this._editStacks=new Map,this._uriComparisonKeyComputers=[]}getUriComparisonKey(e){for(let t of this._uriComparisonKeyComputers)if(t[0]===e.scheme)return t[1].getComparisonKey(e);return e.toString()}_print(e){`${e}`;let t=[];for(let e of this._editStacks)t.push(e[1].toString());t.join(`
|
|
105
|
+
`)}pushElement(e,t=i.g.None,n=i._.None){if(e.type===0){let r=sm(e.resource),i=this.getUriComparisonKey(e.resource);this._pushElement(new lm(e,r,i,t.id,t.nextOrder(),n.id,n.nextOrder()))}else{let r=new Set,i=[],a=[];for(let t of e.resources){let e=sm(t),n=this.getUriComparisonKey(t);r.has(n)||(r.add(n),i.push(e),a.push(n))}i.length===1?this._pushElement(new lm(e,i[0],a[0],t.id,t.nextOrder(),n.id,n.nextOrder())):this._pushElement(new fm(e,i,a,t.id,t.nextOrder(),n.id,n.nextOrder()))}}_pushElement(e){for(let t=0,n=e.strResources.length;t<n;t++){let n=e.resourceLabels[t],r=e.strResources[t],i;this._editStacks.has(r)?i=this._editStacks.get(r):(i=new pm(n,r),this._editStacks.set(r,i)),i.pushElement(e)}}getLastElement(e){let t=this.getUriComparisonKey(e);if(this._editStacks.has(t)){let e=this._editStacks.get(t);if(e.hasFutureElements())return null;let n=e.getClosestPastElement();return n?n.actual:null}return null}_splitPastWorkspaceElement(e,t){let n=e.actual.split(),r=new Map;for(let e of n){let t=new lm(e,sm(e.resource),this.getUriComparisonKey(e.resource),0,0,0,0);r.set(t.strResource,t)}for(let n of e.strResources)t&&t.has(n)||this._editStacks.get(n).splitPastWorkspaceElement(e,r)}_splitFutureWorkspaceElement(e,t){let n=e.actual.split(),r=new Map;for(let e of n){let t=new lm(e,sm(e.resource),this.getUriComparisonKey(e.resource),0,0,0,0);r.set(t.strResource,t)}for(let n of e.strResources)t&&t.has(n)||this._editStacks.get(n).splitFutureWorkspaceElement(e,r)}removeElements(e){let t=typeof e==`string`?e:this.getUriComparisonKey(e);this._editStacks.has(t)&&(this._editStacks.get(t).dispose(),this._editStacks.delete(t))}setElementsValidFlag(e,t,n){let r=this.getUriComparisonKey(e);this._editStacks.has(r)&&this._editStacks.get(r).setElementsValidFlag(t,n)}createSnapshot(e){let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).createSnapshot(e):new i.h(e,[])}restoreSnapshot(e){let t=this.getUriComparisonKey(e.resource);if(this._editStacks.has(t)){let n=this._editStacks.get(t);n.restoreSnapshot(e),!n.hasPastElements()&&!n.hasFutureElements()&&(n.dispose(),this._editStacks.delete(t))}}getElements(e){let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).getElements():{past:[],future:[]}}_findClosestUndoElementWithSource(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestPastElement();a&&a.sourceId===e&&(!t||a.sourceOrder>t.sourceOrder)&&(t=a,n=r)}return[t,n]}canUndo(e){if(e instanceof i._){let[,t]=this._findClosestUndoElementWithSource(e.id);return!!t}let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasPastElements():!1}_onError(e,t){i.fu(e);for(let e of t.strResources)this.removeElements(e);this._notificationService.error(e)}_acquireLocks(e){for(let t of e.editStacks)if(t.locked)throw Error(`Cannot acquire edit stack lock`);for(let t of e.editStacks)t.locked=!0;return()=>{for(let t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,n,r,i){let a=this._acquireLocks(n),o;try{o=t()}catch(t){return a(),r.dispose(),this._onError(t,e)}return o?o.then(()=>(a(),r.dispose(),i()),t=>(a(),r.dispose(),this._onError(t,e))):(a(),r.dispose(),i())}_invokeWorkspacePrepare(e){return om(this,void 0,void 0,function*(){if(e.actual.prepareUndoRedo===void 0)return i.Xl.None;let t=e.actual.prepareUndoRedo();return t===void 0?i.Xl.None:t})}_invokeResourcePrepare(e,t){if(e.actual.type!==1||e.actual.prepareUndoRedo===void 0)return t(i.Xl.None);let n=e.actual.prepareUndoRedo();return n?i.ru(n)?t(n):n.then(e=>t(e)):t(i.Xl.None)}_getAffectedEditStacks(e){let t=[];for(let n of e.strResources)t.push(this._editStacks.get(n)||hm);return new mm(t)}_tryToSplitAndUndo(e,t,n,r){if(t.canSplit())return this._splitPastWorkspaceElement(t,n),this._notificationService.warn(r),new _m(this._undo(e,0,!0));for(let e of t.strResources)this.removeElements(e);return this._notificationService.warn(r),new _m}_checkWorkspaceUndo(e,t,n,r){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,i.Td({key:`cannotWorkspaceUndo`,comment:[`{0} is a label for an operation. {1} is another message.`]},`Could not undo '{0}' across all files. {1}`,t.label,t.removedResources.createMessage()));if(r&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,i.Td({key:`cannotWorkspaceUndo`,comment:[`{0} is a label for an operation. {1} is another message.`]},`Could not undo '{0}' across all files. {1}`,t.label,t.invalidatedResources.createMessage()));let a=[];for(let e of n.editStacks)e.getClosestPastElement()!==t&&a.push(e.resourceLabel);if(a.length>0)return this._tryToSplitAndUndo(e,t,null,i.Td({key:`cannotWorkspaceUndoDueToChanges`,comment:[`{0} is a label for an operation. {1} is a list of filenames.`]},`Could not undo '{0}' across all files because changes were made to {1}`,t.label,a.join(`, `)));let o=[];for(let e of n.editStacks)e.locked&&o.push(e.resourceLabel);return o.length>0?this._tryToSplitAndUndo(e,t,null,i.Td({key:`cannotWorkspaceUndoDueToInProgressUndoRedo`,comment:[`{0} is a label for an operation. {1} is a list of filenames.`]},`Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}`,t.label,o.join(`, `))):n.isValid()?null:this._tryToSplitAndUndo(e,t,null,i.Td({key:`cannotWorkspaceUndoDueToInMeantimeUndoRedo`,comment:[`{0} is a label for an operation. {1} is a list of filenames.`]},`Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime`,t.label))}_workspaceUndo(e,t,n){let r=this._getAffectedEditStacks(t),i=this._checkWorkspaceUndo(e,t,r,!1);return i?i.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,r,n)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(let[,t]of this._editStacks){let n=t.getClosestPastElement();if(n){if(n===e){let n=t.getSecondClosestPastElement();if(n&&n.groupId===e.groupId)return!0}if(n.groupId===e.groupId)return!0}}return!1}_confirmAndExecuteWorkspaceUndo(e,t,n,r){return om(this,void 0,void 0,function*(){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let a=yield this._dialogService.show(H.Info,i.Td(`confirmWorkspace`,`Would you like to undo '{0}' across all files?`,t.label),[i.Td({key:`ok`,comment:[`{0} denotes a number that is > 1`]},`Undo in {0} Files`,n.editStacks.length),i.Td(`nok`,`Undo this File`),i.Td(`cancel`,`Cancel`)],{cancelId:2});if(a.choice===2)return;if(a.choice===1)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);let o=this._checkWorkspaceUndo(e,t,n,!1);if(o)return o.returnValue;r=!0}let a;try{a=yield this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}let o=this._checkWorkspaceUndo(e,t,n,!0);if(o)return a.dispose(),o.returnValue;for(let e of n.editStacks)e.moveBackward(t);return this._safeInvokeWithLocks(t,()=>t.actual.undo(),n,a,()=>this._continueUndoInGroup(t.groupId,r))})}_resourceUndo(e,t,n){if(!t.isValid){e.flushAllElements();return}if(e.locked){let e=i.Td({key:`cannotResourceUndoDueToInProgressUndoRedo`,comment:[`{0} is a label for an operation.`]},`Could not undo '{0}' because there is already an undo or redo operation running.`,t.label);this._notificationService.warn(e);return}return this._invokeResourcePrepare(t,r=>(e.moveBackward(t),this._safeInvokeWithLocks(t,()=>t.actual.undo(),new mm([e]),r,()=>this._continueUndoInGroup(t.groupId,n))))}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestPastElement();a&&a.groupId===e&&(!t||a.groupOrder>t.groupOrder)&&(t=a,n=r)}return[t,n]}_continueUndoInGroup(e,t){if(!e)return;let[,n]=this._findClosestUndoElementInGroup(e);if(n)return this._undo(n,0,t)}undo(e){if(e instanceof i._){let[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return typeof e==`string`?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,n){if(!this._editStacks.has(e))return;let r=this._editStacks.get(e),i=r.getClosestPastElement();if(i){if(i.groupId){let[e,r]=this._findClosestUndoElementInGroup(i.groupId);if(i!==e&&r)return this._undo(r,t,n)}if((i.sourceId!==t||i.confirmBeforeUndo)&&!n)return this._confirmAndContinueUndo(e,t,i);try{return i.type===1?this._workspaceUndo(e,i,n):this._resourceUndo(r,i,n)}finally{}}}_confirmAndContinueUndo(e,t,n){return om(this,void 0,void 0,function*(){if((yield this._dialogService.show(H.Info,i.Td(`confirmDifferentSource`,`Would you like to undo '{0}'?`,n.label),[i.Td(`confirmDifferentSource.yes`,`Yes`),i.Td(`confirmDifferentSource.no`,`No`)],{cancelId:1})).choice!==1)return this._undo(e,t,!0)})}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestFutureElement();a&&a.sourceId===e&&(!t||a.sourceOrder<t.sourceOrder)&&(t=a,n=r)}return[t,n]}canRedo(e){if(e instanceof i._){let[,t]=this._findClosestRedoElementWithSource(e.id);return!!t}let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasFutureElements():!1}_tryToSplitAndRedo(e,t,n,r){if(t.canSplit())return this._splitFutureWorkspaceElement(t,n),this._notificationService.warn(r),new _m(this._redo(e));for(let e of t.strResources)this.removeElements(e);return this._notificationService.warn(r),new _m}_checkWorkspaceRedo(e,t,n,r){if(t.removedResources)return this._tryToSplitAndRedo(e,t,t.removedResources,i.Td({key:`cannotWorkspaceRedo`,comment:[`{0} is a label for an operation. {1} is another message.`]},`Could not redo '{0}' across all files. {1}`,t.label,t.removedResources.createMessage()));if(r&&t.invalidatedResources)return this._tryToSplitAndRedo(e,t,t.invalidatedResources,i.Td({key:`cannotWorkspaceRedo`,comment:[`{0} is a label for an operation. {1} is another message.`]},`Could not redo '{0}' across all files. {1}`,t.label,t.invalidatedResources.createMessage()));let a=[];for(let e of n.editStacks)e.getClosestFutureElement()!==t&&a.push(e.resourceLabel);if(a.length>0)return this._tryToSplitAndRedo(e,t,null,i.Td({key:`cannotWorkspaceRedoDueToChanges`,comment:[`{0} is a label for an operation. {1} is a list of filenames.`]},`Could not redo '{0}' across all files because changes were made to {1}`,t.label,a.join(`, `)));let o=[];for(let e of n.editStacks)e.locked&&o.push(e.resourceLabel);return o.length>0?this._tryToSplitAndRedo(e,t,null,i.Td({key:`cannotWorkspaceRedoDueToInProgressUndoRedo`,comment:[`{0} is a label for an operation. {1} is a list of filenames.`]},`Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}`,t.label,o.join(`, `))):n.isValid()?null:this._tryToSplitAndRedo(e,t,null,i.Td({key:`cannotWorkspaceRedoDueToInMeantimeUndoRedo`,comment:[`{0} is a label for an operation. {1} is a list of filenames.`]},`Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime`,t.label))}_workspaceRedo(e,t){let n=this._getAffectedEditStacks(t),r=this._checkWorkspaceRedo(e,t,n,!1);return r?r.returnValue:this._executeWorkspaceRedo(e,t,n)}_executeWorkspaceRedo(e,t,n){return om(this,void 0,void 0,function*(){let r;try{r=yield this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}let i=this._checkWorkspaceRedo(e,t,n,!0);if(i)return r.dispose(),i.returnValue;for(let e of n.editStacks)e.moveForward(t);return this._safeInvokeWithLocks(t,()=>t.actual.redo(),n,r,()=>this._continueRedoInGroup(t.groupId))})}_resourceRedo(e,t){if(!t.isValid){e.flushAllElements();return}if(e.locked){let e=i.Td({key:`cannotResourceRedoDueToInProgressUndoRedo`,comment:[`{0} is a label for an operation.`]},`Could not redo '{0}' because there is already an undo or redo operation running.`,t.label);this._notificationService.warn(e);return}return this._invokeResourcePrepare(t,n=>(e.moveForward(t),this._safeInvokeWithLocks(t,()=>t.actual.redo(),new mm([e]),n,()=>this._continueRedoInGroup(t.groupId))))}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestFutureElement();a&&a.groupId===e&&(!t||a.groupOrder<t.groupOrder)&&(t=a,n=r)}return[t,n]}_continueRedoInGroup(e){if(!e)return;let[,t]=this._findClosestRedoElementInGroup(e);if(t)return this._redo(t)}redo(e){if(e instanceof i._){let[,t]=this._findClosestRedoElementWithSource(e.id);return t?this._redo(t):void 0}return typeof e==`string`?this._redo(e):this._redo(this.getUriComparisonKey(e))}_redo(e){if(!this._editStacks.has(e))return;let t=this._editStacks.get(e),n=t.getClosestFutureElement();if(n){if(n.groupId){let[e,t]=this._findClosestRedoElementInGroup(n.groupId);if(n!==e&&t)return this._redo(t)}try{return n.type===1?this._workspaceRedo(e,n):this._resourceRedo(t,n)}finally{}}}};gm=im([am(0,rm),am(1,pu)],gm);var _m=class{constructor(e){this.returnValue=e}};i.Ks(i.m,gm);var vm=i.mc(`IWorkspaceEditService`),ym=class{constructor(e){this.metadata=e}static convert(e){return e.edits.map(e=>{if(bm.is(e))return bm.lift(e);if(xm.is(e))return xm.lift(e);throw Error(`Unsupported edit`)})}},bm=class e extends ym{constructor(e,t,n=void 0,r){super(r),this.resource=e,this.textEdit=t,this.versionId=n}static is(t){return t instanceof e?!0:i.Mu(t)&&i.Al.isUri(t.resource)&&i.Mu(t.textEdit)}static lift(t){return t instanceof e?t:new e(t.resource,t.textEdit,t.versionId,t.metadata)}},xm=class e extends ym{constructor(e,t,n={},r){super(r),this.oldResource=e,this.newResource=t,this.options=n}static is(t){return t instanceof e?!0:i.Mu(t)&&(!!t.newResource||!!t.oldResource)}static lift(t){return t instanceof e?t:new e(t.oldResource,t.newResource,t.options,t.metadata)}},Sm=Object.freeze({id:`editor`,order:5,type:`object`,title:i.Td(`editorConfigurationTitle`,`Editor`),scope:5}),Cm=Object.assign(Object.assign({},Sm),{properties:{"editor.tabSize":{type:`number`,default:i.hu.tabSize,minimum:1,markdownDescription:i.Td(`tabSize`,"The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.")},"editor.insertSpaces":{type:`boolean`,default:i.hu.insertSpaces,markdownDescription:i.Td(`insertSpaces`,"Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.")},"editor.detectIndentation":{type:`boolean`,default:i.hu.detectIndentation,markdownDescription:i.Td(`detectIndentation`,"Controls whether `#editor.tabSize#` and `#editor.insertSpaces#` will be automatically detected when a file is opened based on the file contents.")},"editor.trimAutoWhitespace":{type:`boolean`,default:i.hu.trimAutoWhitespace,description:i.Td(`trimAutoWhitespace`,`Remove trailing auto inserted whitespace.`)},"editor.largeFileOptimizations":{type:`boolean`,default:i.hu.largeFileOptimizations,description:i.Td(`largeFileOptimizations`,`Special handling for large files to disable certain memory intensive features.`)},"editor.wordBasedSuggestions":{type:`boolean`,default:!0,description:i.Td(`wordBasedSuggestions`,`Controls whether completions should be computed based on words in the document.`)},"editor.wordBasedSuggestionsMode":{enum:[`currentDocument`,`matchingDocuments`,`allDocuments`],default:`matchingDocuments`,enumDescriptions:[i.Td(`wordBasedSuggestionsMode.currentDocument`,`Only suggest words from the active document.`),i.Td(`wordBasedSuggestionsMode.matchingDocuments`,`Suggest words from all open documents of the same language.`),i.Td(`wordBasedSuggestionsMode.allDocuments`,`Suggest words from all open documents.`)],description:i.Td(`wordBasedSuggestionsMode`,`Controls from which documents word based completions are computed.`)},"editor.semanticHighlighting.enabled":{enum:[!0,!1,`configuredByTheme`],enumDescriptions:[i.Td(`semanticHighlighting.true`,`Semantic highlighting enabled for all color themes.`),i.Td(`semanticHighlighting.false`,`Semantic highlighting disabled for all color themes.`),i.Td(`semanticHighlighting.configuredByTheme`,"Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:`configuredByTheme`,description:i.Td(`semanticHighlighting.enabled`,`Controls whether the semanticHighlighting is shown for the languages that support it.`)},"editor.stablePeek":{type:`boolean`,default:!1,markdownDescription:i.Td(`stablePeek`,"Keep peek editors open even when double clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:`integer`,default:2e4,description:i.Td(`maxTokenizationLineLength`,`Lines above this length will not be tokenized for performance reasons`)},"editor.language.brackets":{type:[`array`,`null`],default:null,description:i.Td(`schema.brackets`,`Defines the bracket symbols that increase or decrease the indentation.`),items:{type:`array`,items:[{type:`string`,description:i.Td(`schema.openBracket`,`The opening bracket character or string sequence.`)},{type:`string`,description:i.Td(`schema.closeBracket`,`The closing bracket character or string sequence.`)}]}},"editor.language.colorizedBracketPairs":{type:[`array`,`null`],default:null,description:i.Td(`schema.colorizedBracketPairs`,`Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled.`),items:{type:`array`,items:[{type:`string`,description:i.Td(`schema.openBracket`,`The opening bracket character or string sequence.`)},{type:`string`,description:i.Td(`schema.closeBracket`,`The closing bracket character or string sequence.`)}]}},"diffEditor.maxComputationTime":{type:`number`,default:5e3,description:i.Td(`maxComputationTime`,`Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.`)},"diffEditor.maxFileSize":{type:`number`,default:50,description:i.Td(`maxFileSize`,`Maximum file size in MB for which to compute diffs. Use 0 for no limit.`)},"diffEditor.renderSideBySide":{type:`boolean`,default:!0,description:i.Td(`sideBySide`,`Controls whether the diff editor shows the diff side by side or inline.`)},"diffEditor.renderMarginRevertIcon":{type:`boolean`,default:!0,description:i.Td(`renderMarginRevertIcon`,`When enabled, the diff editor shows arrows in its glyph margin to revert changes.`)},"diffEditor.ignoreTrimWhitespace":{type:`boolean`,default:!0,description:i.Td(`ignoreTrimWhitespace`,`When enabled, the diff editor ignores changes in leading or trailing whitespace.`)},"diffEditor.renderIndicators":{type:`boolean`,default:!0,description:i.Td(`renderIndicators`,`Controls whether the diff editor shows +/- indicators for added/removed changes.`)},"diffEditor.codeLens":{type:`boolean`,default:!1,description:i.Td(`codeLens`,`Controls whether the editor shows CodeLens.`)},"diffEditor.wordWrap":{type:`string`,enum:[`off`,`on`,`inherit`],default:`inherit`,markdownEnumDescriptions:[i.Td(`wordWrap.off`,`Lines will never wrap.`),i.Td(`wordWrap.on`,`Lines will wrap at the viewport width.`),i.Td(`wordWrap.inherit`,"Lines will wrap according to the `#editor.wordWrap#` setting.")]}}});function wm(e){return e.type!==void 0||e.anyOf!==void 0}for(let e of Ie){let t=e.schema;if(t!==void 0)if(wm(t))Cm.properties[`editor.${e.name}`]=t;else for(let e in t)Object.hasOwnProperty.call(t,e)&&(Cm.properties[e]=t[e])}var Tm=null;function Em(){return Tm===null&&(Tm=Object.create(null),Object.keys(Cm.properties).forEach(e=>{Tm[e]=!0})),Tm}function Dm(e){return Em()[`editor.${e}`]||!1}function Om(e){return Em()[`diffEditor.${e}`]||!1}i.Ws.as(i.zs.Configuration).registerConfiguration(Cm);var km=class{static insert(e,t){return{range:new i.Ol(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}}static delete(e){return{range:e,text:null}}static replace(e,t){return{range:e,text:t}}static replaceMove(e,t){return{range:e,text:t,forceMoveMarkers:!0}}},Am=class e{constructor(e={},t=[],n=[]){this._contents=e,this._keys=t,this._overrides=n,this.frozen=!1,this.overrideConfigurations=new Map}get contents(){return this.checkAndFreeze(this._contents)}get overrides(){return this.checkAndFreeze(this._overrides)}get keys(){return this.checkAndFreeze(this._keys)}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(e){return e?i.Zs(this.contents,e):this.contents}getOverrideValue(e,t){let n=this.getContentsForOverrideIdentifer(t);return n?e?i.Zs(n,e):n:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...t){let n=i._u(this.contents),r=i._u(this.overrides),a=[...this.keys];for(let e of t)if(!e.isEmpty()){this.mergeContents(n,e.contents);for(let t of e.overrides){let[e]=r.filter(e=>i.Wu(e.identifiers,t.identifiers));e?(this.mergeContents(e.contents,t.contents),e.keys.push(...t.keys),e.keys=i.Uu(e.keys)):r.push(i._u(t))}for(let t of e.keys)a.indexOf(t)===-1&&a.push(t)}return new e(n,a,r)}freeze(){return this.frozen=!0,this}createOverrideConfigurationModel(t){let n=this.getContentsForOverrideIdentifer(t);if(!n||typeof n!=`object`||!Object.keys(n).length)return this;let r={};for(let e of i.Uu([...Object.keys(this.contents),...Object.keys(n)])){let t=this.contents[e],a=n[e];a&&(typeof t==`object`&&typeof a==`object`?(t=i._u(t),this.mergeContents(t,a)):t=a),r[e]=t}return new e(r,this.keys,this.overrides)}mergeContents(e,t){for(let n of Object.keys(t)){if(n in e&&i.Mu(e[n])&&i.Mu(t[n])){this.mergeContents(e[n],t[n]);continue}e[n]=i._u(t[n])}}checkAndFreeze(e){return this.frozen&&!Object.isFrozen(e)?i.vu(e):e}getContentsForOverrideIdentifer(e){let t=null,n=null,r=e=>{e&&(n?this.mergeContents(n,e):n=i._u(e))};for(let n of this.overrides)i.Wu(n.identifiers,[e])?t=n.contents:n.identifiers.includes(e)&&r(n.contents);return r(t),n}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(e,t){this.addKey(e),i.Xs(this.contents,e,t,e=>{throw Error(e)})}removeValue(e){this.removeKey(e)&&i.Qs(this.contents,e)}addKey(e){let t=this.keys.length;for(let n=0;n<t;n++)e.indexOf(this.keys[n])===0&&(t=n);this.keys.splice(t,1,e)}removeKey(e){let t=this.keys.indexOf(e);return t===-1?!1:(this.keys.splice(t,1),!0)}},jm=class e{constructor(e,t,n,r,a=new Am,o=new Am,s=new i.l,c=new Am,l=new i.l,u=!0){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=n,this._localUserConfiguration=r,this._remoteUserConfiguration=a,this._workspaceConfiguration=o,this._folderConfigurations=s,this._memoryConfiguration=c,this._memoryConfigurationByResource=l,this._freeze=u,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new i.l,this._userConfiguration=null}getValue(e,t,n){return this.getConsolidatedConfigurationModel(e,t,n).getValue(e)}updateValue(e,t,n={}){let r;n.resource?(r=this._memoryConfigurationByResource.get(n.resource),r||(r=new Am,this._memoryConfigurationByResource.set(n.resource,r))):r=this._memoryConfiguration,t===void 0?r.removeValue(e):r.setValue(e,t),n.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,n){let r=this.getConsolidatedConfigurationModel(e,t,n),a=this.getFolderConfigurationModelForResource(t.resource,n),o=t.resource&&this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration,s=t.overrideIdentifier?this._defaultConfiguration.freeze().override(t.overrideIdentifier).getValue(e):this._defaultConfiguration.freeze().getValue(e),c=this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration.freeze().getValue(e),l=this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration.freeze().getValue(e),u=t.overrideIdentifier?this.userConfiguration.freeze().override(t.overrideIdentifier).getValue(e):this.userConfiguration.freeze().getValue(e),d=t.overrideIdentifier?this.localUserConfiguration.freeze().override(t.overrideIdentifier).getValue(e):this.localUserConfiguration.freeze().getValue(e),f=t.overrideIdentifier?this.remoteUserConfiguration.freeze().override(t.overrideIdentifier).getValue(e):this.remoteUserConfiguration.freeze().getValue(e),p=n?t.overrideIdentifier?this._workspaceConfiguration.freeze().override(t.overrideIdentifier).getValue(e):this._workspaceConfiguration.freeze().getValue(e):void 0,m=a?t.overrideIdentifier?a.freeze().override(t.overrideIdentifier).getValue(e):a.freeze().getValue(e):void 0,h=t.overrideIdentifier?o.override(t.overrideIdentifier).getValue(e):o.getValue(e),g=r.getValue(e),_=i.Uu(r.overrides.map(e=>e.identifiers).flat()).filter(t=>r.getOverrideValue(e,t)!==void 0);return{defaultValue:s,policyValue:c,applicationValue:l,userValue:u,userLocalValue:d,userRemoteValue:f,workspaceValue:p,workspaceFolderValue:m,memoryValue:h,value:g,default:s===void 0?void 0:{value:this._defaultConfiguration.freeze().getValue(e),override:t.overrideIdentifier?this._defaultConfiguration.freeze().getOverrideValue(e,t.overrideIdentifier):void 0},policy:c===void 0?void 0:{value:c},application:l===void 0?void 0:{value:l,override:t.overrideIdentifier?this.applicationConfiguration.freeze().getOverrideValue(e,t.overrideIdentifier):void 0},user:u===void 0?void 0:{value:this.userConfiguration.freeze().getValue(e),override:t.overrideIdentifier?this.userConfiguration.freeze().getOverrideValue(e,t.overrideIdentifier):void 0},userLocal:d===void 0?void 0:{value:this.localUserConfiguration.freeze().getValue(e),override:t.overrideIdentifier?this.localUserConfiguration.freeze().getOverrideValue(e,t.overrideIdentifier):void 0},userRemote:f===void 0?void 0:{value:this.remoteUserConfiguration.freeze().getValue(e),override:t.overrideIdentifier?this.remoteUserConfiguration.freeze().getOverrideValue(e,t.overrideIdentifier):void 0},workspace:p===void 0?void 0:{value:this._workspaceConfiguration.freeze().getValue(e),override:t.overrideIdentifier?this._workspaceConfiguration.freeze().getOverrideValue(e,t.overrideIdentifier):void 0},workspaceFolder:m===void 0?void 0:{value:a?.freeze().getValue(e),override:t.overrideIdentifier?a?.freeze().getOverrideValue(e,t.overrideIdentifier):void 0},memory:h===void 0?void 0:{value:o.getValue(e),override:t.overrideIdentifier?o.getOverrideValue(e,t.overrideIdentifier):void 0},overrideIdentifiers:_.length?_:void 0}}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration),this._freeze&&this._userConfiguration.freeze()),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(e,t,n){let r=this.getConsolidatedConfigurationModelForResource(t,n);return t.overrideIdentifier&&(r=r.override(t.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(e)!==void 0&&(r=r.merge(this._policyConfiguration)),r}getConsolidatedConfigurationModelForResource({resource:e},t){let n=this.getWorkspaceConsolidatedConfiguration();if(t&&e){let r=t.getFolder(e);r&&(n=this.getFolderConsolidatedConfiguration(r.uri)||n);let i=this._memoryConfigurationByResource.get(e);i&&(n=n.merge(i))}return n}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration),this._freeze&&(this._workspaceConfiguration=this._workspaceConfiguration.freeze())),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){let n=this.getWorkspaceConsolidatedConfiguration(),r=this._folderConfigurations.get(e);r?(t=n.merge(r),this._freeze&&(t=t.freeze()),this._foldersConsolidatedConfigurations.set(e,t)):t=n}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){let n=t.getFolder(e);if(n)return this._folderConfigurations.get(n.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((e,t)=>{let{contents:n,overrides:r,keys:i}=this._folderConfigurations.get(t);return e.push([t,{contents:n,overrides:r,keys:i}]),e},[])}}static parse(t){let n=this.parseConfigurationModel(t.defaults),r=this.parseConfigurationModel(t.policy),a=this.parseConfigurationModel(t.application),o=this.parseConfigurationModel(t.user),s=this.parseConfigurationModel(t.workspace),c=t.folders.reduce((e,t)=>(e.set(i.Al.revive(t[0]),this.parseConfigurationModel(t[1])),e),new i.l);return new e(n,r,a,o,new Am,s,c,new Am,new i.l,!1)}static parseConfigurationModel(e){return new Am(e.contents,e.keys,e.overrides).freeze()}},Mm=class{constructor(e,t,n,r){this.change=e,this.previous=t,this.currentConfiguraiton=n,this.currentWorkspace=r,this._previousConfiguration=void 0;let i=new Set;e.keys.forEach(e=>i.add(e)),e.overrides.forEach(([,e])=>e.forEach(e=>i.add(e))),this.affectedKeys=[...i.values()];let a=new Am;this.affectedKeys.forEach(e=>a.setValue(e,{})),this.affectedKeysTree=a.contents}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=jm.parse(this.previous.data)),this._previousConfiguration}affectsConfiguration(e,t){if(this.doesAffectedKeysTreeContains(this.affectedKeysTree,e)){if(t){let n=this.previousConfiguration?this.previousConfiguration.getValue(e,t,this.previous?.workspace):void 0,r=this.currentConfiguraiton.getValue(e,t,this.currentWorkspace);return!i.yu(n,r)}return!0}return!1}doesAffectedKeysTreeContains(e,t){let n=i.$s({[t]:!0},()=>{}),r;for(;typeof n==`object`&&(r=Object.keys(n)[0]);){if(e=e[r],!e)return!1;n=n[r]}return!0}},Nm=/^(cursor|delete)/,Pm=class extends i.Xl{constructor(e,t,n,r,a){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=n,this._notificationService=r,this._logService=a,this._onDidUpdateKeybindings=this._register(new i.Ul),this._currentChord=null,this._currentChordChecker=new i.gs,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=Fm.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new i.xs,this._logging=!1}get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:i.Wl.None}dispose(){super.dispose()}_log(e){this._logging&&this._logService.info(`[KeybindingService]: ${e}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t){let n=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService);if(n)return n.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){this._log(`/ Soft dispatching keyboard event`);let n=this.resolveKeyboardEvent(e);if(n.isChord())return null;let[r]=n.getDispatchParts();if(r===null)return this._log(`\\ Keyboard event cannot be dispatched`),null;let i=this._contextKeyService.getContext(t),a=this._currentChord?this._currentChord.keypress:null;return this._getResolver().resolve(i,a,r)}_enterChordMode(e,t){this._currentChord={keypress:e,label:t},this._currentChordStatusMessage=this._notificationService.status(i.Td(`first.chord`,`({0}) was pressed. Waiting for second key of chord...`,t));let n=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-n>5e3&&this._leaveChordMode()},500)}_leaveChordMode(){this._currentChordStatusMessage&&=(this._currentChordStatusMessage.dispose(),null),this._currentChordChecker.cancel(),this._currentChord=null}_dispatch(e,t){return this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){let n=this.resolveKeyboardEvent(e),[r]=n.getSingleModifierDispatchParts();if(r)return this._ignoreSingleModifiers.has(r)?(this._log(`+ Ignoring single modifier ${r} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=Fm.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=Fm.EMPTY,this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${r}.`),this._currentSingleModifier=r,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log(`+ Clearing single modifier due to 300ms elapsed.`),this._currentSingleModifier=null},300),!1):r===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${r} ${r}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(n,t,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${r}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));let[i]=n.getParts();return this._ignoreSingleModifiers=new Fm(i),this._currentSingleModifier!==null&&this._log(`+ Clearing single modifier due to other key up.`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,n=!1){let r=!1;if(e.isChord())return!1;let a=null,o=null;if(n){let[t]=e.getSingleModifierDispatchParts();a=t,o=t}else [a]=e.getDispatchParts(),o=this._currentChord?this._currentChord.keypress:null;if(a===null)return this._log(`\\ Keyboard event cannot be dispatched in keydown phase.`),r;let s=this._contextKeyService.getContext(t),c=e.getLabel(),l=this._getResolver().resolve(s,o,a);return this._logService.trace(`KeybindingService#dispatch`,c,l?.commandId),l&&l.enterChord?(r=!0,this._enterChordMode(a,c),this._log(`+ Entering chord mode...`),r):(this._currentChord&&(!l||!l.commandId)&&(this._log(`+ Leaving chord mode: Nothing bound to "${this._currentChord.label} ${c}".`),this._notificationService.status(i.Td(`missing.chord`,`The key combination ({0}, {1}) is not a command.`,this._currentChord.label,c),{hideAfter:10*1e3}),r=!0),this._leaveChordMode(),l&&l.commandId&&(l.bubble||(r=!0),this._log(`+ Invoking command ${l.commandId}.`),l.commandArgs===void 0?this._commandService.executeCommand(l.commandId).then(void 0,e=>this._notificationService.warn(e)):this._commandService.executeCommand(l.commandId,l.commandArgs).then(void 0,e=>this._notificationService.warn(e)),Nm.test(l.commandId)||this._telemetryService.publicLog2(`workbenchActionExecuted`,{id:l.commandId,from:`keybinding`})),r)}mightProducePrintableCharacter(e){return e.ctrlKey||e.metaKey?!1:e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30}},Fm=class{constructor(e){this._ctrlKey=e?e.ctrlKey:!1,this._shiftKey=e?e.shiftKey:!1,this._altKey=e?e.altKey:!1,this._metaKey=e?e.metaKey:!1}has(e){switch(e){case`ctrl`:return this._ctrlKey;case`shift`:return this._shiftKey;case`alt`:return this._altKey;case`meta`:return this._metaKey}}};Fm.EMPTY=new Fm(null);var Im=i.mc(`keybindingService`),Lm=class e{constructor(t,n,r){this._log=r,this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(let e of t){let t=e.command;t&&t.charAt(0)!==`-`&&this._defaultBoundCommands.set(t,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=e.handleRemovals([].concat(t,n));for(let e=0,t=this._keybindings.length;e<t;e++){let t=this._keybindings[e];t.keypressParts.length!==0&&(t.when&&t.when.type===0||this._addKeyPress(t.keypressParts[0],t))}}static _isTargetedForRemoval(e,t,n,r){return!(t&&e.keypressParts[0]!==t||n&&e.keypressParts[1]!==n||r&&(!e.when||!i.ka(r,e.when)))}static handleRemovals(e){let t=new Map;for(let n=0,r=e.length;n<r;n++){let r=e[n];if(r.command&&r.command.charAt(0)===`-`){let e=r.command.substring(1);t.has(e)?t.get(e).push(r):t.set(e,[r])}}if(t.size===0)return e;let n=[];for(let r=0,i=e.length;r<i;r++){let i=e[r];if(!i.command||i.command.length===0){n.push(i);continue}if(i.command.charAt(0)===`-`)continue;let a=t.get(i.command);if(!a||!i.isDefault){n.push(i);continue}let o=!1;for(let e of a){let t=e.keypressParts[0],n=e.keypressParts[1],r=e.when;if(this._isTargetedForRemoval(i,t,n,r)){o=!0;break}}if(!o){n.push(i);continue}}return n}_addKeyPress(t,n){let r=this._map.get(t);if(r===void 0){this._map.set(t,[n]),this._addToLookupMap(n);return}for(let t=r.length-1;t>=0;t--){let i=r[t];if(i.command===n.command)continue;let a=i.keypressParts.length>1,o=n.keypressParts.length>1;a&&o&&i.keypressParts[1]!==n.keypressParts[1]||e.whenIsEntirelyIncluded(i.when,n.when)&&this._removeFromLookupMap(i)}r.push(n),this._addToLookupMap(n)}_addToLookupMap(e){if(!e.command)return;let t=this._lookupMap.get(e.command);t===void 0?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}_removeFromLookupMap(e){if(!e.command)return;let t=this._lookupMap.get(e.command);if(t!==void 0){for(let n=0,r=t.length;n<r;n++)if(t[n]===e){t.splice(n,1);return}}}static whenIsEntirelyIncluded(e,t){return!t||t.type===1?!0:!e||e.type===1?!1:i.Aa(e,t)}getKeybindings(){return this._keybindings}lookupPrimaryKeybinding(e,t){let n=this._lookupMap.get(e);if(n===void 0||n.length===0)return null;if(n.length===1)return n[0];for(let e=n.length-1;e>=0;e--){let r=n[e];if(t.contextMatchesRules(r.when))return r}return n[n.length-1]}resolve(e,t,n){this._log(`| Resolving ${n}${t?` chorded from ${t}`:``}`);let r=null;if(t!==null){let e=this._map.get(t);if(e===void 0)return this._log(`\\ No keybinding entries.`),null;r=[];for(let t=0,i=e.length;t<i;t++){let i=e[t];i.keypressParts[1]===n&&r.push(i)}}else{let e=this._map.get(n);if(e===void 0)return this._log(`\\ No keybinding entries.`),null;r=e}let i=this._findCommand(e,r);return i?t===null&&i.keypressParts.length>1&&i.keypressParts[1]!==null?(this._log(`\\ From ${r.length} keybinding entries, matched chord, when: ${Rm(i.when)}, source: ${zm(i)}.`),{enterChord:!0,leaveChord:!1,commandId:null,commandArgs:null,bubble:!1}):(this._log(`\\ From ${r.length} keybinding entries, matched ${i.command}, when: ${Rm(i.when)}, source: ${zm(i)}.`),{enterChord:!1,leaveChord:i.keypressParts.length>1,commandId:i.command,commandArgs:i.commandArgs,bubble:i.bubble}):(this._log(`\\ From ${r.length} keybinding entries, no when clauses matched the context.`),null)}_findCommand(t,n){for(let r=n.length-1;r>=0;r--){let i=n[r];if(e._contextMatchesRules(t,i.when))return i}return null}static _contextMatchesRules(e,t){return t?t.evaluate(e):!0}};function Rm(e){return e?`${e.serialize()}`:`no when condition`}function zm(e){return e.extensionId?e.isBuiltinExtension?`built-in extension ${e.extensionId}`:`user extension ${e.extensionId}`:e.isDefault?`built-in`:`user`}var Bm=class{constructor(e,t,n,r,i,a,o){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.keypressParts=e?Vm(e.getDispatchParts()):[],e&&this.keypressParts.length===0&&(this.keypressParts=Vm(e.getSingleModifierDispatchParts())),this.bubble=t?t.charCodeAt(0)===94:!1,this.command=this.bubble?t.substr(1):t,this.commandArgs=n,this.when=r,this.isDefault=i,this.extensionId=a,this.isBuiltinExtension=o}};function Vm(e){let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r)return t;t.push(r)}return t}var Hm=class{constructor(e,t,n=t){this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=n}toLabel(e,t,n){if(t.length===0)return null;let r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i],o=n(a);if(o===null)return null;r[i]=Km(a,o,this.modifierLabels[e])}return r.join(` `)}},Um=new Hm({ctrlKey:`⌃`,shiftKey:`⇧`,altKey:`⌥`,metaKey:`⌘`,separator:``},{ctrlKey:i.Td({key:`ctrlKey`,comment:[`This is the short form for the Control key on the keyboard`]},`Ctrl`),shiftKey:i.Td({key:`shiftKey`,comment:[`This is the short form for the Shift key on the keyboard`]},`Shift`),altKey:i.Td({key:`altKey`,comment:[`This is the short form for the Alt key on the keyboard`]},`Alt`),metaKey:i.Td({key:`windowsKey`,comment:[`This is the short form for the Windows key on the keyboard`]},`Windows`),separator:`+`},{ctrlKey:i.Td({key:`ctrlKey`,comment:[`This is the short form for the Control key on the keyboard`]},`Ctrl`),shiftKey:i.Td({key:`shiftKey`,comment:[`This is the short form for the Shift key on the keyboard`]},`Shift`),altKey:i.Td({key:`altKey`,comment:[`This is the short form for the Alt key on the keyboard`]},`Alt`),metaKey:i.Td({key:`superKey`,comment:[`This is the short form for the Super key on the keyboard`]},`Super`),separator:`+`}),Wm=new Hm({ctrlKey:i.Td({key:`ctrlKey.long`,comment:[`This is the long form for the Control key on the keyboard`]},`Control`),shiftKey:i.Td({key:`shiftKey.long`,comment:[`This is the long form for the Shift key on the keyboard`]},`Shift`),altKey:i.Td({key:`optKey.long`,comment:[`This is the long form for the Alt/Option key on the keyboard`]},`Option`),metaKey:i.Td({key:`cmdKey.long`,comment:[`This is the long form for the Command key on the keyboard`]},`Command`),separator:`+`},{ctrlKey:i.Td({key:`ctrlKey.long`,comment:[`This is the long form for the Control key on the keyboard`]},`Control`),shiftKey:i.Td({key:`shiftKey.long`,comment:[`This is the long form for the Shift key on the keyboard`]},`Shift`),altKey:i.Td({key:`altKey.long`,comment:[`This is the long form for the Alt key on the keyboard`]},`Alt`),metaKey:i.Td({key:`windowsKey.long`,comment:[`This is the long form for the Windows key on the keyboard`]},`Windows`),separator:`+`},{ctrlKey:i.Td({key:`ctrlKey.long`,comment:[`This is the long form for the Control key on the keyboard`]},`Control`),shiftKey:i.Td({key:`shiftKey.long`,comment:[`This is the long form for the Shift key on the keyboard`]},`Shift`),altKey:i.Td({key:`altKey.long`,comment:[`This is the long form for the Alt key on the keyboard`]},`Alt`),metaKey:i.Td({key:`superKey.long`,comment:[`This is the long form for the Super key on the keyboard`]},`Super`),separator:`+`}),Gm=new Hm({ctrlKey:`Ctrl`,shiftKey:`Shift`,altKey:`Alt`,metaKey:`Cmd`,separator:`+`},{ctrlKey:`Ctrl`,shiftKey:`Shift`,altKey:`Alt`,metaKey:`Super`,separator:`+`});new Hm({ctrlKey:`ctrl`,shiftKey:`shift`,altKey:`alt`,metaKey:`cmd`,separator:`+`},{ctrlKey:`ctrl`,shiftKey:`shift`,altKey:`alt`,metaKey:`win`,separator:`+`},{ctrlKey:`ctrl`,shiftKey:`shift`,altKey:`alt`,metaKey:`meta`,separator:`+`});function Km(e,t,n){if(t===null)return``;let r=[];return e.ctrlKey&&r.push(n.ctrlKey),e.shiftKey&&r.push(n.shiftKey),e.altKey&&r.push(n.altKey),e.metaKey&&r.push(n.metaKey),t!==``&&r.push(t),r.join(n.separator)}var qm=class extends i.Wo{constructor(e,t){if(super(),t.length===0)throw i.lu(`parts`);this._os=e,this._parts=t}getLabel(){return Um.toLabel(this._os,this._parts,e=>this._getLabel(e))}getAriaLabel(){return Wm.toLabel(this._os,this._parts,e=>this._getAriaLabel(e))}getElectronAccelerator(){return this._parts.length>1||this._parts[0].isDuplicateModifierCase()?null:Gm.toLabel(this._os,this._parts,e=>this._getElectronAccelerator(e))}isChord(){return this._parts.length>1}getParts(){return this._parts.map(e=>this._getPart(e))}_getPart(e){return new i.Go(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchParts(){return this._parts.map(e=>this._getDispatchPart(e))}getSingleModifierDispatchParts(){return this._parts.map(e=>this._getSingleModifierDispatchPart(e))}},Jm=class e extends qm{constructor(e,t){super(t,e.parts)}_keyCodeToUILabel(e){if(this._os===2)switch(e){case 15:return`←`;case 16:return`↑`;case 17:return`→`;case 18:return`↓`}return i.zl.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?``:this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?``:i.zl.toString(e.keyCode)}_getElectronAccelerator(e){return i.zl.toElectronAccelerator(e.keyCode)}_getDispatchPart(t){return e.getDispatchStr(t)}static getDispatchStr(e){if(e.isModifierKey())return null;let t=``;return e.ctrlKey&&(t+=`ctrl+`),e.shiftKey&&(t+=`shift+`),e.altKey&&(t+=`alt+`),e.metaKey&&(t+=`meta+`),t+=i.zl.toString(e.keyCode),t}_getSingleModifierDispatchPart(e){return e.keyCode===5&&!e.shiftKey&&!e.altKey&&!e.metaKey?`ctrl`:e.keyCode===4&&!e.ctrlKey&&!e.altKey&&!e.metaKey?`shift`:e.keyCode===6&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey?`alt`:e.keyCode===57&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?`meta`:null}static _scanCodeToKeyCode(e){let t=i.Ll[e];if(t!==-1)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 83;case 52:return 81;case 53:return 87;case 54:return 89;case 55:return 88;case 56:return 0;case 57:return 80;case 58:return 90;case 59:return 86;case 60:return 82;case 61:return 84;case 62:return 85;case 106:return 92}return 0}static _resolveSimpleUserBinding(e){if(!e)return null;if(e instanceof i.Ko)return e;let t=this._scanCodeToKeyCode(e.scanCode);return t===0?null:new i.Ko(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveUserBinding(t,n){let r=Vm(t.map(e=>this._resolveSimpleUserBinding(e)));return r.length>0?[new e(new i.Uo(r),n)]:[]}},Ym=i.mc(`labelService`),Xm=i.mc(`contextService`);function Zm(e){let t=e;return typeof t?.id==`string`&&i.Al.isUri(t.uri)}function Qm(e){if(e.configuration)return{id:e.id,configPath:e.configuration};if(e.folders.length===1)return{id:e.id,uri:e.folders[0].uri}}var $m=class{constructor(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}},eh=`code-workspace`;i.Td(`codeWorkspace`,`Code Workspace`);var th;(function(e){e.noSelection=i.Td(`noSelection`,`No selection`),e.singleSelectionRange=i.Td(`singleSelectionRange`,`Line {0}, Column {1} ({2} selected)`),e.singleSelection=i.Td(`singleSelection`,`Line {0}, Column {1}`),e.multiSelectionRange=i.Td(`multiSelectionRange`,`{0} selections ({1} characters selected)`),e.multiSelection=i.Td(`multiSelection`,`{0} selections`),e.emergencyConfOn=i.Td(`emergencyConfOn`,"Now changing the setting `accessibilitySupport` to 'on'."),e.openingDocs=i.Td(`openingDocs`,`Now opening the Editor Accessibility documentation page.`),e.readonlyDiffEditor=i.Td(`readonlyDiffEditor`,` in a read-only pane of a diff editor.`),e.editableDiffEditor=i.Td(`editableDiffEditor`,` in a pane of a diff editor.`),e.readonlyEditor=i.Td(`readonlyEditor`,` in a read-only code editor`),e.editableEditor=i.Td(`editableEditor`,` in a code editor`),e.changeConfigToOnMac=i.Td(`changeConfigToOnMac`,`To configure the editor to be optimized for usage with a Screen Reader press Command+E now.`),e.changeConfigToOnWinLinux=i.Td(`changeConfigToOnWinLinux`,`To configure the editor to be optimized for usage with a Screen Reader press Control+E now.`),e.auto_on=i.Td(`auto_on`,`The editor is configured to be optimized for usage with a Screen Reader.`),e.auto_off=i.Td(`auto_off`,`The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time.`),e.tabFocusModeOnMsg=i.Td(`tabFocusModeOnMsg`,`Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}.`),e.tabFocusModeOnMsgNoKb=i.Td(`tabFocusModeOnMsgNoKb`,`Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding.`),e.tabFocusModeOffMsg=i.Td(`tabFocusModeOffMsg`,`Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}.`),e.tabFocusModeOffMsgNoKb=i.Td(`tabFocusModeOffMsgNoKb`,`Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.`),e.openDocMac=i.Td(`openDocMac`,`Press Command+H now to open a browser window with more information related to editor accessibility.`),e.openDocWinLinux=i.Td(`openDocWinLinux`,`Press Control+H now to open a browser window with more information related to editor accessibility.`),e.outroMsg=i.Td(`outroMsg`,`You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape.`),e.showAccessibilityHelpAction=i.Td(`showAccessibilityHelpAction`,`Show Accessibility Help`)})(th||={});var nh;(function(e){e.inspectTokensAction=i.Td(`inspectTokens`,`Developer: Inspect Tokens`)})(nh||={});var rh;(function(e){e.gotoLineActionLabel=i.Td(`gotoLineActionLabel`,`Go to Line/Column...`)})(rh||={});var ih;(function(e){e.helpQuickAccessActionLabel=i.Td(`helpQuickAccess`,`Show all Quick Access Providers`)})(ih||={});var ah;(function(e){e.quickCommandActionLabel=i.Td(`quickCommandActionLabel`,`Command Palette`),e.quickCommandHelp=i.Td(`quickCommandActionHelp`,`Show And Run Commands`)})(ah||={});var oh;(function(e){e.quickOutlineActionLabel=i.Td(`quickOutlineActionLabel`,`Go to Symbol...`),e.quickOutlineByCategoryActionLabel=i.Td(`quickOutlineByCategoryActionLabel`,`Go to Symbol by Category...`)})(oh||={});var sh;(function(e){e.editorViewAccessibleLabel=i.Td(`editorViewAccessibleLabel`,`Editor content`),e.accessibilityHelpMessage=i.Td(`accessibilityHelpMessage`,`Press Alt+F1 for Accessibility Options.`)})(sh||={});var ch;(function(e){e.toggleHighContrast=i.Td(`toggleHighContrast`,`Toggle High Contrast Theme`)})(ch||={});var lh;(function(e){e.bulkEditServiceSummary=i.Td(`bulkEditServiceSummary`,`Made {0} edits in {1} files`)})(lh||={});var uh=i.mc(`workspaceTrustManagementService`),G;(function(e){function t(e,t){if(e.start>=t.end||t.start>=e.end)return{start:0,end:0};let n=Math.max(e.start,t.start),r=Math.min(e.end,t.end);return r-n<=0?{start:0,end:0}:{start:n,end:r}}e.intersect=t;function n(e){return e.end-e.start<=0}e.isEmpty=n;function r(e,r){return!n(t(e,r))}e.intersects=r;function i(e,t){let r=[],i={start:e.start,end:Math.min(t.start,e.end)},a={start:Math.max(t.end,e.start),end:e.end};return n(i)||r.push(i),n(a)||r.push(a),r}e.relativeComplement=i})(G||={});var dh;(function(e){e[e.AVOID=0]=`AVOID`,e[e.ALIGN=1]=`ALIGN`})(dh||={});function fh(e,t,n){let r=n.mode===dh.ALIGN?n.offset:n.offset+n.size,i=n.mode===dh.ALIGN?n.offset+n.size:n.offset;return n.position===0?t<=e-r?r:t<=i?i-t:Math.max(e-t,0):t<=i?i-t:t<=e-r?r:0}var ph=class e extends i.Xl{constructor(e,t){super(),this.container=null,this.delegate=null,this.toDisposeOnClean=i.Xl.None,this.toDisposeOnSetContainer=i.Xl.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=i.za(`.context-view`),this.useFixedPosition=!1,this.useShadowDOM=!1,i.vo(this.view),this.setContainer(e,t),this._register(i.au(()=>this.setContainer(null,1)))}setContainer(t,n){var r;if(this.container&&=(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,(r=this.shadowRootHostElement)==null||r.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),null),t){if(this.container=t,this.useFixedPosition=n!==1,this.useShadowDOM=n===3,this.useShadowDOM){this.shadowRootHostElement=i.za(`.shadow-root-host`),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:`open`});let e=document.createElement(`style`);e.textContent=mh,this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(i.za(`slot`))}else this.container.appendChild(this.view);let r=new i.Zl;e.BUBBLE_UP_EVENTS.forEach(e=>{r.add(i.Ja(this.container,e,e=>{this.onDOMEvent(e,!1)}))}),e.BUBBLE_DOWN_EVENTS.forEach(e=>{r.add(i.Ja(this.container,e,e=>{this.onDOMEvent(e,!0)},!0))}),this.toDisposeOnSetContainer=r}}show(e){var t,n;this.isVisible()&&this.hide(),i.$a(this.view),this.view.className=`context-view`,this.view.style.top=`0px`,this.view.style.left=`0px`,this.view.style.zIndex=`2575`,this.view.style.position=this.useFixedPosition?`fixed`:`absolute`,i.jo(this.view),this.toDisposeOnClean=e.render(this.view)||i.Xl.None,this.delegate=e,this.doLayout(),(n=(t=this.delegate).focus)==null||n.call(t)}getViewElement(){return this.view}layout(){if(this.isVisible()){if(this.delegate.canRelayout===!1&&!(i._d&&i.Jo.pointerEvents)){this.hide();return}this.delegate.layout&&this.delegate.layout(),this.doLayout()}}doLayout(){if(!this.isVisible())return;let e=this.delegate.getAnchor(),t;if(i.xo(e)){let n=i.uo(e),r=i.do(e);t={top:n.top*r,left:n.left*r,width:n.width*r,height:n.height*r}}else t={top:e.y,left:e.x,width:e.width||1,height:e.height||2};let n=i.go(this.view),r=i.ho(this.view),a=this.delegate.anchorPosition||0,o=this.delegate.anchorAlignment||0,s=this.delegate.anchorAxisAlignment||0,c,l;if(s===0){let e={offset:t.top-window.pageYOffset,size:t.height,position:a===0?0:1},i={offset:t.left,size:t.width,position:o===0?0:1,mode:dh.ALIGN};c=fh(window.innerHeight,r,e)+window.pageYOffset,G.intersects({start:c,end:c+r},{start:e.offset,end:e.offset+e.size})&&(i.mode=dh.AVOID),l=fh(window.innerWidth,n,i)}else{let e={offset:t.left,size:t.width,position:o===0?0:1},i={offset:t.top,size:t.height,position:a===0?0:1,mode:dh.ALIGN};l=fh(window.innerWidth,n,e),G.intersects({start:l,end:l+n},{start:e.offset,end:e.offset+e.size})&&(i.mode=dh.AVOID),c=fh(window.innerHeight,r,i)+window.pageYOffset}this.view.classList.remove(`top`,`bottom`,`left`,`right`),this.view.classList.add(a===0?`bottom`:`top`),this.view.classList.add(o===0?`left`:`right`),this.view.classList.toggle(`fixed`,this.useFixedPosition);let u=i.uo(this.container);this.view.style.top=`${c-(this.useFixedPosition?i.uo(this.view).top:u.top)}px`,this.view.style.left=`${l-(this.useFixedPosition?i.uo(this.view).left:u.left)}px`,this.view.style.width=`initial`}hide(e){let t=this.delegate;this.delegate=null,t?.onHide&&t.onHide(e),this.toDisposeOnClean.dispose(),i.vo(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,document.activeElement):t&&!i.bo(e.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}};ph.BUBBLE_UP_EVENTS=[`click`,`keydown`,`focus`,`blur`],ph.BUBBLE_DOWN_EVENTS=[`click`];var mh=`
|
|
106
|
+
:host {
|
|
107
|
+
all: initial; /* 1st rule so subsequent properties are reset. */
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@font-face {
|
|
111
|
+
font-family: "codicon";
|
|
112
|
+
font-display: block;
|
|
113
|
+
src: url("./codicon.ttf?5d4d76ab2ce5108968ad644d591a16a6") format("truetype");
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.codicon[class*='codicon-'] {
|
|
117
|
+
font: normal normal normal 16px/1 codicon;
|
|
118
|
+
display: inline-block;
|
|
119
|
+
text-decoration: none;
|
|
120
|
+
text-rendering: auto;
|
|
121
|
+
text-align: center;
|
|
122
|
+
-webkit-font-smoothing: antialiased;
|
|
123
|
+
-moz-osx-font-smoothing: grayscale;
|
|
124
|
+
user-select: none;
|
|
125
|
+
-webkit-user-select: none;
|
|
126
|
+
-ms-user-select: none;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
:host {
|
|
130
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }
|
|
134
|
+
:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }
|
|
135
|
+
:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }
|
|
136
|
+
:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }
|
|
137
|
+
:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }
|
|
138
|
+
|
|
139
|
+
:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }
|
|
140
|
+
:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }
|
|
141
|
+
:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }
|
|
142
|
+
:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }
|
|
143
|
+
:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }
|
|
144
|
+
|
|
145
|
+
:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }
|
|
146
|
+
: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; }
|
|
147
|
+
: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; }
|
|
148
|
+
: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; }
|
|
149
|
+
: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; }
|
|
150
|
+
`,hh=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},gh=function(e,t){return function(n,r){t(n,r,e)}},_h=class extends i.Xl{constructor(e){super(),this.layoutService=e,this.currentViewDisposable=i.Xl.None,this.container=e.hasContainer?e.container:null,this.contextView=this._register(new ph(this.container,1)),this.layout(),this._register(e.onDidLayout(()=>this.layout()))}setContainer(e,t){this.contextView.setContainer(e,t||1)}showContextView(e,t,n){t?t!==this.container&&(this.container=t,this.setContainer(t,n?3:2)):this.layoutService.hasContainer&&this.container!==this.layoutService.container&&(this.container=this.layoutService.container,this.setContainer(this.container,1)),this.contextView.show(e);let r=i.au(()=>{this.currentViewDisposable===r&&this.hideContextView()});return this.currentViewDisposable=r,r}getContextViewElement(){return this.contextView.getViewElement()}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e)}};_h=hh([gh(0,Qp)],_h);var vh=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},yh=`[/\\\\]`,bh=`[^/\\\\]`,xh=/\//g;function Sh(e,t){switch(e){case 0:return``;case 1:return`${bh}*?`;default:return`(?:${yh}|${bh}+${yh}${t?`|${yh}${bh}+`:``})*?`}}function Ch(e,t){if(!e)return[];let n=[],r=!1,i=!1,a=``;for(let o of e){switch(o){case t:if(!r&&!i){n.push(a),a=``;continue}break;case`{`:r=!0;break;case`}`:r=!1;break;case`[`:i=!0;break;case`]`:i=!1;break}a+=o}return a&&n.push(a),n}function wh(e){if(!e)return``;let t=``,n=Ch(e,`/`);if(n.every(e=>e===`**`))t=`.*`;else{let e=!1;n.forEach((r,a)=>{if(r===`**`){if(e)return;t+=Sh(2,a===n.length-1)}else{let e=!1,o=``,s=!1,c=``;for(let n of r){if(n!==`}`&&e){o+=n;continue}if(s&&(n!==`]`||!c)){let e;e=n===`-`?n:(n===`^`||n===`!`)&&!c?`^`:n===`/`?``:i.Ic(n),c+=e;continue}switch(n){case`{`:e=!0;continue;case`[`:s=!0;continue;case`}`:{let n=`(?:${Ch(o,`,`).map(e=>wh(e)).join(`|`)})`;t+=n,e=!1,o=``;break}case`]`:t+=`[`+c+`]`,s=!1,c=``;break;case`?`:t+=bh;continue;case`*`:t+=Sh(1);continue;default:t+=i.Ic(n)}}a<n.length-1&&(n[a+1]!==`**`||a+2<n.length)&&(t+=yh)}e=r===`**`})}return t}var Th=/^\*\*\/\*\.[\w\.-]+$/,Eh=/^\*\*\/([\w\.-]+)\/?$/,Dh=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,Oh=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,kh=/^\*\*((\/[\w\.-]+)+)\/?$/,Ah=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,jh=new i.c(1e4),Mh=function(){return!1},Nh=function(){return null};function Ph(e,t){if(!e)return Nh;let n;n=typeof e==`string`?e:e.pattern,n=n.trim();let r=`${n}_${!!t.trimForExclusions}`,i=jh.get(r);if(i)return Fh(i,e);let a;return i=Th.test(n)?Lh(n.substr(4),n):(a=Eh.exec(Ih(n,t)))?Rh(a[1],n):(t.trimForExclusions?Oh:Dh).test(n)?zh(n,t):(a=kh.exec(Ih(n,t)))?Bh(a[1].substr(1),n,!0):(a=Ah.exec(Ih(n,t)))?Bh(a[1],n,!1):Vh(n),jh.set(r,i),Fh(i,e)}function Fh(e,t){if(typeof t==`string`)return e;let n=function(n,r){return i.N(n,t.base,!i.vd)?e(n.substr(t.base.length+1),r):null};return n.allBasenames=e.allBasenames,n.allPaths=e.allPaths,n.basenames=e.basenames,n.patterns=e.patterns,n}function Ih(e,t){return t.trimForExclusions&&e.endsWith(`/**`)?e.substr(0,e.length-2):e}function Lh(e,t){return function(n,r){return typeof n==`string`&&n.endsWith(e)?t:null}}function Rh(e,t){let n=`/${e}`,r=`\\${e}`,i=function(i,a){return typeof i==`string`?a?a===e?t:null:i===e||i.endsWith(n)||i.endsWith(r)?t:null:null},a=[e];return i.basenames=a,i.patterns=[t],i.allBasenames=a,i}function zh(e,t){let n=qh(e.slice(1,-1).split(`,`).map(e=>Ph(e,t)).filter(e=>e!==Nh),e),r=n.length;if(!r)return Nh;if(r===1)return n[0];let i=function(t,r){for(let i=0,a=n.length;i<a;i++)if(n[i](t,r))return e;return null},a=n.find(e=>!!e.allBasenames);a&&(i.allBasenames=a.allBasenames);let o=n.reduce((e,t)=>t.allPaths?e.concat(t.allPaths):e,[]);return o.length&&(i.allPaths=o),i}function Bh(e,t,n){let r=i.Il===i.Fl.sep,a=r?e:e.replace(xh,i.Il),o=i.Il+a,s=i.Fl.sep+e,c;return c=n?function(n,i){return typeof n==`string`&&(n===a||n.endsWith(o)||!r&&(n===e||n.endsWith(s)))?t:null}:function(n,i){return typeof n==`string`&&(n===a||!r&&n===e)?t:null},c.allPaths=[(n?`*/`:`./`)+e],c}function Vh(e){try{let t=RegExp(`^${wh(e)}$`);return function(n){return t.lastIndex=0,typeof n==`string`&&t.test(n)?e:null}}catch{return Nh}}function Hh(e,t,n){return!e||typeof t!=`string`?!1:Uh(e)(t,void 0,n)}function Uh(e,t={}){if(!e)return Mh;if(typeof e==`string`||Wh(e)){let n=Ph(e,t);if(n===Nh)return Mh;let r=function(e,t){return!!n(e,t)};return n.allBasenames&&(r.allBasenames=n.allBasenames),n.allPaths&&(r.allPaths=n.allPaths),r}return Gh(e,t)}function Wh(e){let t=e;return t?typeof t.base==`string`&&typeof t.pattern==`string`:!1}function Gh(e,t){let n=qh(Object.getOwnPropertyNames(e).map(n=>Kh(n,e[n],t)).filter(e=>e!==Nh)),r=n.length;if(!r)return Nh;if(!n.some(e=>!!e.requiresSiblings)){if(r===1)return n[0];let e=function(e,t){let r;for(let a=0,o=n.length;a<o;a++){let o=n[a](e,t);if(typeof o==`string`)return o;i.Es(o)&&(r||=[],r.push(o))}return r?vh(this,void 0,void 0,function*(){for(let e of r){let t=yield e;if(typeof t==`string`)return t}return null}):null},t=n.find(e=>!!e.allBasenames);t&&(e.allBasenames=t.allBasenames);let a=n.reduce((e,t)=>t.allPaths?e.concat(t.allPaths):e,[]);return a.length&&(e.allPaths=a),e}let a=function(e,t,r){let a,o;for(let s=0,c=n.length;s<c;s++){let c=n[s];c.requiresSiblings&&r&&(t||=i.jl(e),a||=t.substr(0,t.length-i.Nl(e).length));let l=c(e,t,a,r);if(typeof l==`string`)return l;i.Es(l)&&(o||=[],o.push(l))}return o?vh(this,void 0,void 0,function*(){for(let e of o){let t=yield e;if(typeof t==`string`)return t}return null}):null},o=n.find(e=>!!e.allBasenames);o&&(a.allBasenames=o.allBasenames);let s=n.reduce((e,t)=>t.allPaths?e.concat(t.allPaths):e,[]);return s.length&&(a.allPaths=s),a}function Kh(e,t,n){if(t===!1)return Nh;let r=Ph(e,n);if(r===Nh)return Nh;if(typeof t==`boolean`)return r;if(t){let n=t.when;if(typeof n==`string`){let t=(t,a,o,s)=>{if(!s||!r(t,a))return null;let c=s(n.replace(`$(basename)`,o));return i.Es(c)?c.then(t=>t?e:null):c?e:null};return t.requiresSiblings=!0,t}}return r}function qh(e,t){let n=e.filter(e=>!!e.basenames);if(n.length<2)return e;let r=n.reduce((e,t)=>{let n=t.basenames;return n?e.concat(n):e},[]),i;if(t){i=[];for(let e=0,n=r.length;e<n;e++)i.push(t)}else i=n.reduce((e,t)=>{let n=t.patterns;return n?e.concat(n):e},[]);let a=function(e,t){if(typeof e!=`string`)return null;if(!t){let n;for(n=e.length;n>0;n--){let t=e.charCodeAt(n-1);if(t===47||t===92)break}t=e.substr(n)}let n=r.indexOf(t);return n===-1?null:i[n]};a.basenames=r,a.patterns=i,a.allBasenames=r;let o=e.filter(e=>!e.basenames);return o.push(a),o}var Jh=[],Yh=[],Xh=[];function Zh(e,t=!1){Qh(e,!1,t)}function Qh(e,t,n){let r=$h(e,t);Jh.push(r),r.userConfigured?Xh.push(r):Yh.push(r),n&&!r.userConfigured&&Jh.forEach(e=>{e.mime===r.mime||e.userConfigured||(r.extension&&e.extension===r.extension&&`${r.extension}${r.mime}`,r.filename&&e.filename===r.filename&&`${r.filename}${r.mime}`,r.filepattern&&e.filepattern===r.filepattern&&`${r.filepattern}${r.mime}`,r.firstline&&e.firstline===r.firstline&&`${r.firstline}${r.mime}`)})}function $h(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:t,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?Uh(e.filepattern.toLowerCase()):void 0,filepatternOnPath:e.filepattern?e.filepattern.indexOf(i.Fl.sep)>=0:!1}}function eg(){Jh=Jh.filter(e=>e.userConfigured),Yh=[]}function tg(e,t){return ng(e,t).map(e=>e.id)}function ng(e,t){let n;if(e)switch(e.scheme){case i.Io.file:n=e.fsPath;break;case i.Io.data:n=i.b.parseMetaData(e).get(i.b.META_DATA_LABEL);break;case i.Io.vscodeNotebookCell:n=void 0;break;default:n=e.path}if(!n)return[{id:`unknown`,mime:i.Us.unknown}];n=n.toLowerCase();let r=i.jl(n),a=rg(n,r,Xh);if(a)return[a,{id:i.Rs,mime:i.Us.text}];let o=rg(n,r,Yh);if(o)return[o,{id:i.Rs,mime:i.Us.text}];if(t){let e=ig(t);if(e)return[e,{id:i.Rs,mime:i.Us.text}]}return[{id:`unknown`,mime:i.Us.unknown}]}function rg(e,t,n){let r,i,a;for(let o=n.length-1;o>=0;o--){let s=n[o];if(t===s.filenameLowercase){r=s;break}if(s.filepattern&&(!i||s.filepattern.length>i.filepattern.length)){let n=s.filepatternOnPath?e:t;s.filepatternLowercase?.call(s,n)&&(i=s)}s.extension&&(!a||s.extension.length>a.extension.length)&&t.endsWith(s.extensionLowercase)&&(a=s)}if(r)return r;if(i)return i;if(a)return a}function ig(e){if(i.sl(e)&&(e=e.substr(1)),e.length>0)for(let t=Jh.length-1;t>=0;t--){let n=Jh[t];if(!n.firstline)continue;let r=e.match(n.firstline);if(r&&r.length>0)return n}}var ag=Object.prototype.hasOwnProperty,og=`vs.editor.nullLanguage`,sg=class{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(og,0),this._register(i.Rs,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;let t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||og}},cg=class e extends i.Xl{constructor(t=!0,n=!1){super(),this._onDidChange=this._register(new i.Ul),this.onDidChange=this._onDidChange.event,e.instanceCount++,this._warnOnOverwrite=n,this.languageIdCodec=new sg,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},t&&(this._initializeFromRegistry(),this._register(i.Ls.onDidChangeLanguages(e=>{this._initializeFromRegistry()})))}dispose(){e.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},eg();let e=[].concat(i.Ls.getLanguages(),this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(let t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(e=>{let t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach(e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier}),t.mimetypes.forEach(e=>{this._mimeTypesMap[e]=t.identifier})}),i.Ws.as(i.zs.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){let t=e.id,n;ag.call(this._languages,t)?n=this._languages[t]:(this.languageIdCodec.register(t),n={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=n),this._mergeLanguage(n,e)}_mergeLanguage(e,t){let n=t.id,r=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),r=t.mimetypes[0]),r||(r=`text/x-${n}`,e.mimetypes.push(r)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(let e of t.extensions)Zh({id:n,mime:r,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(let i of t.filenames)Zh({id:n,mime:r,filename:i},this._warnOnOverwrite),e.filenames.push(i);if(Array.isArray(t.filenamePatterns))for(let e of t.filenamePatterns)Zh({id:n,mime:r,filepattern:e},this._warnOnOverwrite);if(typeof t.firstLine==`string`&&t.firstLine.length>0){let e=t.firstLine;e.charAt(0)!==`^`&&(e=`^`+e);try{let t=new RegExp(e);i.nl(t)||Zh({id:n,mime:r,firstline:t},this._warnOnOverwrite)}catch(e){i.fu(e)}}e.aliases.push(n);let a=null;if(t.aliases!==void 0&&Array.isArray(t.aliases)&&(a=t.aliases.length===0?[null]:t.aliases),a!==null)for(let t of a)!t||t.length===0||e.aliases.push(t);let o=a!==null&&a.length>0;if(!(o&&a[0]===null)){let t=(o?a[0]:null)||n;(o||!e.name)&&(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return e?ag.call(this._languages,e):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){let t=e.toLowerCase();return ag.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&ag.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return!e&&!t?[]:tg(e,t)}};cg.instanceCount=0;var lg=class e extends i.Xl{constructor(t=!1){super(),this._onDidEncounterLanguage=this._register(new i.Ul),this.onDidEncounterLanguage=this._onDidEncounterLanguage.event,this._onDidChange=this._register(new i.Ul({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,e.instanceCount++,this._encounteredLanguages=new Set,this._registry=this._register(new cg(!0,t)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){e.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){return i.Xu(this._registry.guessLanguageIdByFilepathOrFirstLine(e,t),null)}createById(e){return new ug(this.onDidChange,()=>this._createAndGetLanguageIdentifier(e))}createByFilepathOrFirstLine(e,t){return new ug(this.onDidChange,()=>{let n=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(n)})}_createAndGetLanguageIdentifier(e){return(!e||!this.isRegisteredLanguageId(e))&&(e=i.Rs),this._encounteredLanguages.has(e)||(this._encounteredLanguages.add(e),i.xl.getOrCreate(e),this._onDidEncounterLanguage.fire(e)),e}};lg.instanceCount=0;var ug=class{constructor(e,t){this._onDidChangeLanguages=e,this._selector=t,this._listener=null,this._emitter=null,this.languageId=this._selector()}_dispose(){this._listener&&=(this._listener.dispose(),null),this._emitter&&=(this._emitter.dispose(),null)}get onDidChange(){return this._listener||=this._onDidChangeLanguages(()=>this._evaluate()),this._emitter||=new i.Ul({onLastListenerRemove:()=>{this._dispose()}}),this._emitter.event}_evaluate(){var e;let t=this._selector();t!==this.languageId&&(this.languageId=t,(e=this._emitter)==null||e.fire(this.languageId))}};function dg(e){let t=e.definition;for(;t instanceof i.Tl;)t=t.definition;return`.codicon-${e.id}:before { content: '${t.fontCharacter}'; }`}var fg=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,pg=/(&)?(&)([^\s&])/g,mg;(function(e){e[e.Right=0]=`Right`,e[e.Left=1]=`Left`})(mg||={});var hg=class e extends Rf{constructor(e,t,n={}){e.classList.add(`monaco-menu-container`),e.setAttribute(`role`,`presentation`);let r=document.createElement(`div`);r.classList.add(`monaco-menu`),r.setAttribute(`role`,`presentation`),super(r,{orientation:1,actionViewItemProvider:e=>this.doGetActionViewItem(e,n,a),context:n.context,actionRunner:n.actionRunner,ariaLabel:n.ariaLabel,ariaRole:`menu`,focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...i.bd||i.vd?[10]:[]],keyDown:!0}}),this.menuElement=r,this.actionsList.tabIndex=0,this.menuDisposables=this._register(new i.Zl),this.initializeOrUpdateStyleSheet(e,{}),this._register(Wi.addTarget(r)),i.Ka(r,i.Ua.KEY_DOWN,e=>{new i.Ho(e).equals(2)&&e.preventDefault()}),n.enableMnemonics&&this.menuDisposables.add(i.Ka(r,i.Ua.KEY_DOWN,e=>{let t=e.key.toLocaleLowerCase();if(this.mnemonics.has(t)){i.Ha.stop(e,!0);let n=this.mnemonics.get(t);if(n.length===1&&(n[0]instanceof _g&&n[0].container&&this.focusItemByElement(n[0].container),n[0].onClick(e)),n.length>1){let e=n.shift();e&&e.container&&(this.focusItemByElement(e.container),n.push(e)),this.mnemonics.set(t,n)}}})),i.vd&&this._register(i.Ka(r,i.Ua.KEY_DOWN,e=>{let t=new i.Ho(e);t.equals(14)||t.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),i.Ha.stop(e,!0)):(t.equals(13)||t.equals(12))&&(this.focusedItem=0,this.focusPrevious(),i.Ha.stop(e,!0))})),this._register(i.Ka(this.domNode,i.Ua.MOUSE_OUT,e=>{let t=e.relatedTarget;i.bo(t,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),e.stopPropagation())})),this._register(i.Ka(this.actionsList,i.Ua.MOUSE_OVER,e=>{let t=e.target;if(!(!t||!i.bo(t,this.actionsList)||t===this.actionsList)){for(;t.parentElement!==this.actionsList&&t.parentElement!==null;)t=t.parentElement;if(t.classList.contains(`action-item`)){let e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}})),this._register(Wi.addTarget(this.actionsList)),this._register(i.Ka(this.actionsList,N.Tap,e=>{let t=e.initialTarget;if(!(!t||!i.bo(t,this.actionsList)||t===this.actionsList)){for(;t.parentElement!==this.actionsList&&t.parentElement!==null;)t=t.parentElement;if(t.classList.contains(`action-item`)){let e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}}));let a={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new Fs(r,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));let o=this.scrollableElement.getDomNode();o.style.position=``,this._register(i.Ka(r,N.Change,e=>{i.Ha.stop(e,!0);let t=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:t-e.translationY})})),this._register(i.Ka(o,i.Ua.MOUSE_UP,e=>{e.preventDefault()})),r.style.maxHeight=`${Math.max(10,window.innerHeight-e.getBoundingClientRect().top-35)}px`,t=t.filter(e=>n.submenuIds?.has(e.id)?(`${e.id}`,!1):!0),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(e=>!(e instanceof vg)).forEach((e,t,n)=>{e.updatePositionInSet(t+1,n.length)})}initializeOrUpdateStyleSheet(t,n){this.styleSheet||(i.Co(t)?this.styleSheet=i.ro(t):(e.globalStyleSheet||=i.ro(),this.styleSheet=e.globalStyleSheet)),this.styleSheet.textContent=bg(n,i.Co(t))}style(e){let t=this.getContainer();this.initializeOrUpdateStyleSheet(t,e);let n=e.foregroundColor?`${e.foregroundColor}`:``,r=e.backgroundColor?`${e.backgroundColor}`:``,i=e.borderColor?`1px solid ${e.borderColor}`:``,a=e.shadowColor?`0 2px 8px ${e.shadowColor}`:``;t.style.outline=i,t.style.borderRadius=`5px`,t.style.color=n,t.style.backgroundColor=r,t.style.boxShadow=a,this.viewItems&&this.viewItems.forEach(t=>{(t instanceof gg||t instanceof vg)&&t.style(e)})}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){let t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t<this.actionsList.children.length;t++)if(e===this.actionsList.children[t]){this.focusedItem=t;break}}updateFocus(e){super.updateFocus(e,!0,!0),this.focusedItem!==void 0&&this.scrollableElement.setScrollPosition({scrollTop:Math.round(this.menuElement.scrollTop)})}doGetActionViewItem(e,t,n){if(e instanceof i.Ia)return new vg(t.context,e,{icon:!0});if(e instanceof i.La){let r=new _g(e,e.actions,n,Object.assign(Object.assign({},t),{submenuIds:new Set([...t.submenuIds||[],e.id])}));if(t.enableMnemonics){let e=r.getMnemonic();if(e&&r.isEnabled()){let t=[];this.mnemonics.has(e)&&(t=this.mnemonics.get(e)),t.push(r),this.mnemonics.set(e,t)}}return r}else{let n={enableMnemonics:t.enableMnemonics,useEventAsContext:t.useEventAsContext};if(t.getKeyBinding){let r=t.getKeyBinding(e);if(r){let e=r.getLabel();e&&(n.keybinding=e)}}let r=new gg(t.context,e,n);if(t.enableMnemonics){let e=r.getMnemonic();if(e&&r.isEnabled()){let t=[];this.mnemonics.has(e)&&(t=this.mnemonics.get(e)),t.push(r),this.mnemonics.set(e,t)}}return r}}},gg=class extends Ff{constructor(e,t,n={}){if(n.isMenu=!0,super(t,t,n),this.options=n,this.options.icon=n.icon===void 0?!1:n.icon,this.options.label=n.label===void 0?!0:n.label,this.cssClass=``,this.options.label&&n.enableMnemonics){let e=this.getAction().label;if(e){let t=fg.exec(e);t&&(this.mnemonic=(t[1]?t[1]:t[3]).toLocaleLowerCase())}}this.runOnceToEnableMouseUp=new i.ys(()=>{this.element&&(this._register(i.Ka(this.element,i.Ua.MOUSE_UP,e=>{if(i.Ha.stop(e,!0),i.bc){if(new i.Bo(e).rightButton)return;this.onClick(e)}else setTimeout(()=>{this.onClick(e)},0)})),this._register(i.Ka(this.element,i.Ua.CONTEXT_MENU,e=>{i.Ha.stop(e,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=i.Xa(this.element,i.za(`a.action-menu-item`)),this._action.id===i.Ia.ID?this.item.setAttribute(`role`,`presentation`):(this.item.setAttribute(`role`,`menuitem`),this.mnemonic&&this.item.setAttribute(`aria-keyshortcuts`,`${this.mnemonic}`)),this.check=i.Xa(this.item,i.za(`span.menu-item-check`+i.Tl.menuSelection.cssSelector)),this.check.setAttribute(`role`,`none`),this.label=i.Xa(this.item,i.za(`span.action-label`)),this.options.label&&this.options.keybinding&&(i.Xa(this.item,i.za(`span.keybinding`)).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item&&this.item.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute(`aria-posinset`,`${e}`),this.item.setAttribute(`aria-setsize`,`${t}`))}updateLabel(){var e;if(this.label&&this.options.label){i.$a(this.label);let t=bf(this.getAction().label);if(t){let n=yg(t);this.options.enableMnemonics||(t=n),this.label.setAttribute(`aria-label`,n.replace(/&&/g,`&`));let r=fg.exec(t);if(r){t=i.Fc(t),pg.lastIndex=0;let n=pg.exec(t);for(;n&&n[1];)n=pg.exec(t);let a=e=>e.replace(/&&/g,`&`);n?this.label.append(i.Qc(a(t.substr(0,n.index)),` `),i.za(`u`,{"aria-hidden":`true`},n[3]),i.rl(a(t.substr(n.index+n[0].length)),` `)):this.label.innerText=a(t).trim(),(e=this.item)==null||e.setAttribute(`aria-keyshortcuts`,(r[1]?r[1]:r[3]).toLocaleLowerCase())}else this.label.innerText=t.replace(/&&/g,`&`).trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(` `)),this.options.icon&&this.label?(this.cssClass=this.getAction().class||``,this.label.classList.add(`icon`),this.cssClass&&this.label.classList.add(...this.cssClass.split(` `)),this.updateEnabled()):this.label&&this.label.classList.remove(`icon`)}updateEnabled(){this.getAction().enabled?(this.element&&(this.element.classList.remove(`disabled`),this.element.removeAttribute(`aria-disabled`)),this.item&&(this.item.classList.remove(`disabled`),this.item.removeAttribute(`aria-disabled`),this.item.tabIndex=0)):(this.element&&(this.element.classList.add(`disabled`),this.element.setAttribute(`aria-disabled`,`true`)),this.item&&(this.item.classList.add(`disabled`),this.item.setAttribute(`aria-disabled`,`true`)))}updateChecked(){if(!this.item)return;let e=this.getAction().checked;this.item.classList.toggle(`checked`,!!e),e===void 0?(this.item.setAttribute(`role`,`menuitem`),this.item.setAttribute(`aria-checked`,``)):(this.item.setAttribute(`role`,`menuitemcheckbox`),this.item.setAttribute(`aria-checked`,e?`true`:`false`))}getMnemonic(){return this.mnemonic}applyStyle(){if(!this.menuStyle)return;let e=this.element&&this.element.classList.contains(`focused`),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,n=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,r=e&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:``,i=e&&this.menuStyle.selectionBorderColor?`-1px`:``;this.item&&(this.item.style.color=t?t.toString():``,this.item.style.backgroundColor=n?n.toString():``,this.item.style.outline=r,this.item.style.outlineOffset=i),this.check&&(this.check.style.color=t?t.toString():``)}style(e){this.menuStyle=e,this.applyStyle()}},_g=class extends gg{constructor(e,t,n,r){super(e,e,r),this.submenuActions=t,this.parentData=n,this.submenuOptions=r,this.mysubmenu=null,this.submenuDisposables=this._register(new i.Zl),this.mouseOver=!1,this.expandDirection=r&&r.expandDirection!==void 0?r.expandDirection:mg.Right,this.showScheduler=new i.ys(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new i.ys(()=>{this.element&&!i.bo(i.ao(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add(`monaco-submenu-item`),this.item.tabIndex=0,this.item.setAttribute(`aria-haspopup`,`true`),this.updateAriaExpanded(`false`),this.submenuIndicator=i.Xa(this.item,i.za(`span.submenu-indicator`+i.Tl.menuSubmenu.cssSelector)),this.submenuIndicator.setAttribute(`aria-hidden`,`true`)),this._register(i.Ka(this.element,i.Ua.KEY_UP,e=>{let t=new i.Ho(e);(t.equals(17)||t.equals(3))&&(i.Ha.stop(e,!0),this.createSubmenu(!0))})),this._register(i.Ka(this.element,i.Ua.KEY_DOWN,e=>{let t=new i.Ho(e);i.ao()===this.item&&(t.equals(17)||t.equals(3))&&i.Ha.stop(e,!0)})),this._register(i.Ka(this.element,i.Ua.MOUSE_OVER,e=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register(i.Ka(this.element,i.Ua.MOUSE_LEAVE,e=>{this.mouseOver=!1})),this._register(i.Ka(this.element,i.Ua.FOCUS_OUT,e=>{this.element&&!i.bo(i.ao(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(e){i.Ha.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded(`false`),this.submenuContainer&&=(this.submenuDisposables.clear(),void 0)}}calculateSubmenuMenuLayout(e,t,n,r){let i={top:0,left:0};return i.left=fh(e.width,t.width,{position:r===mg.Right?0:1,offset:n.left,size:n.width}),i.left>=n.left&&i.left<n.left+n.width&&(n.left+10+t.width<=e.width&&(i.left=n.left+10),n.top+=10,n.height=0),i.top=fh(e.height,t.height,{position:0,offset:n.top,size:0}),i.top+t.height===n.top&&i.top+n.height+t.height<=e.height&&(i.top+=n.height),i}createSubmenu(e=!0){if(this.element)if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.updateAriaExpanded(`true`),this.submenuContainer=i.Xa(this.element,i.za(`div.monaco-submenu`)),this.submenuContainer.classList.add(`menubar-menu-items-holder`,`context-view`);let t=getComputedStyle(this.parentData.parent.domNode),n=parseFloat(t.paddingTop||`0`)||0;this.submenuContainer.style.zIndex=`1`,this.submenuContainer.style.position=`fixed`,this.submenuContainer.style.top=`0`,this.submenuContainer.style.left=`0`,this.parentData.submenu=new hg(this.submenuContainer,this.submenuActions.length?this.submenuActions:[new i.Fa],this.submenuOptions),this.menuStyle&&this.parentData.submenu.style(this.menuStyle);let r=this.element.getBoundingClientRect(),a={top:r.top-n,left:r.left,height:r.height+2*n,width:r.width},o=this.submenuContainer.getBoundingClientRect(),{top:s,left:c}=this.calculateSubmenuMenuLayout(new i.Ba(window.innerWidth,window.innerHeight),i.Ba.lift(o),a,this.expandDirection);this.submenuContainer.style.left=`${c-o.left}px`,this.submenuContainer.style.top=`${s-o.top}px`,this.submenuDisposables.add(i.Ka(this.submenuContainer,i.Ua.KEY_UP,e=>{new i.Ho(e).equals(15)&&(i.Ha.stop(e,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add(i.Ka(this.submenuContainer,i.Ua.KEY_DOWN,e=>{new i.Ho(e).equals(15)&&i.Ha.stop(e,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(e){var t;this.item&&((t=this.item)==null||t.setAttribute(`aria-expanded`,e))}applyStyle(){var e;if(super.applyStyle(),!this.menuStyle)return;let t=this.element&&this.element.classList.contains(`focused`)&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=t?`${t}`:``),(e=this.parentData.submenu)==null||e.style(this.menuStyle)}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&=(this.mysubmenu.dispose(),null),this.submenuContainer&&=void 0}},vg=class extends If{style(e){this.label&&(this.label.style.borderBottomColor=e.separatorColor?`${e.separatorColor}`:``)}};function yg(e){let t=fg,n=t.exec(e);if(!n)return e;let r=!n[1];return e.replace(t,r?`$2$3`:``).trim()}function bg(e,t){let n=`
|
|
151
|
+
.monaco-menu {
|
|
152
|
+
font-size: 13px;
|
|
153
|
+
border-radius: 5px;
|
|
154
|
+
min-width: 160px;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
${dg(i.Tl.menuSelection)}
|
|
158
|
+
${dg(i.Tl.menuSubmenu)}
|
|
159
|
+
|
|
160
|
+
.monaco-menu .monaco-action-bar {
|
|
161
|
+
text-align: right;
|
|
162
|
+
overflow: hidden;
|
|
163
|
+
white-space: nowrap;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.monaco-menu .monaco-action-bar .actions-container {
|
|
167
|
+
display: flex;
|
|
168
|
+
margin: 0 auto;
|
|
169
|
+
padding: 0;
|
|
170
|
+
width: 100%;
|
|
171
|
+
justify-content: flex-end;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.monaco-menu .monaco-action-bar.vertical .actions-container {
|
|
175
|
+
display: inline-block;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.monaco-menu .monaco-action-bar.reverse .actions-container {
|
|
179
|
+
flex-direction: row-reverse;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.monaco-menu .monaco-action-bar .action-item {
|
|
183
|
+
cursor: pointer;
|
|
184
|
+
display: inline-block;
|
|
185
|
+
transition: transform 50ms ease;
|
|
186
|
+
position: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.monaco-menu .monaco-action-bar .action-item.disabled {
|
|
190
|
+
cursor: default;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.monaco-menu .monaco-action-bar.animated .action-item.active {
|
|
194
|
+
transform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.monaco-menu .monaco-action-bar .action-item .icon,
|
|
198
|
+
.monaco-menu .monaco-action-bar .action-item .codicon {
|
|
199
|
+
display: inline-block;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.monaco-menu .monaco-action-bar .action-item .codicon {
|
|
203
|
+
display: flex;
|
|
204
|
+
align-items: center;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.monaco-menu .monaco-action-bar .action-label {
|
|
208
|
+
font-size: 11px;
|
|
209
|
+
margin-right: 4px;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.monaco-menu .monaco-action-bar .action-item.disabled .action-label,
|
|
213
|
+
.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {
|
|
214
|
+
color: var(--vscode-disabledForeground);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/* Vertical actions */
|
|
218
|
+
|
|
219
|
+
.monaco-menu .monaco-action-bar.vertical {
|
|
220
|
+
text-align: left;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.monaco-menu .monaco-action-bar.vertical .action-item {
|
|
224
|
+
display: block;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
|
|
228
|
+
display: block;
|
|
229
|
+
border-bottom: 1px solid var(--vscode-menu-separatorBackground);
|
|
230
|
+
padding-top: 1px;
|
|
231
|
+
padding: 30px;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.monaco-menu .secondary-actions .monaco-action-bar .action-label {
|
|
235
|
+
margin-left: 6px;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/* Action Items */
|
|
239
|
+
.monaco-menu .monaco-action-bar .action-item.select-container {
|
|
240
|
+
overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */
|
|
241
|
+
flex: 1;
|
|
242
|
+
max-width: 170px;
|
|
243
|
+
min-width: 60px;
|
|
244
|
+
display: flex;
|
|
245
|
+
align-items: center;
|
|
246
|
+
justify-content: center;
|
|
247
|
+
margin-right: 10px;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.monaco-menu .monaco-action-bar.vertical {
|
|
251
|
+
margin-left: 0;
|
|
252
|
+
overflow: visible;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.monaco-menu .monaco-action-bar.vertical .actions-container {
|
|
256
|
+
display: block;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.monaco-menu .monaco-action-bar.vertical .action-item {
|
|
260
|
+
padding: 0;
|
|
261
|
+
transform: none;
|
|
262
|
+
display: flex;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
.monaco-menu .monaco-action-bar.vertical .action-item.active {
|
|
266
|
+
transform: none;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.monaco-menu .monaco-action-bar.vertical .action-menu-item {
|
|
270
|
+
flex: 1 1 auto;
|
|
271
|
+
display: flex;
|
|
272
|
+
height: 2em;
|
|
273
|
+
align-items: center;
|
|
274
|
+
position: relative;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,
|
|
278
|
+
.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {
|
|
279
|
+
opacity: unset;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.monaco-menu .monaco-action-bar.vertical .action-label {
|
|
283
|
+
flex: 1 1 auto;
|
|
284
|
+
text-decoration: none;
|
|
285
|
+
padding: 0 1em;
|
|
286
|
+
background: none;
|
|
287
|
+
font-size: 12px;
|
|
288
|
+
line-height: 1;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
.monaco-menu .monaco-action-bar.vertical .keybinding,
|
|
292
|
+
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
|
|
293
|
+
display: inline-block;
|
|
294
|
+
flex: 2 1 auto;
|
|
295
|
+
padding: 0 1em;
|
|
296
|
+
text-align: right;
|
|
297
|
+
font-size: 12px;
|
|
298
|
+
line-height: 1;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
|
|
302
|
+
height: 100%;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {
|
|
306
|
+
font-size: 16px !important;
|
|
307
|
+
display: flex;
|
|
308
|
+
align-items: center;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {
|
|
312
|
+
margin-left: auto;
|
|
313
|
+
margin-right: -20px;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,
|
|
317
|
+
.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {
|
|
318
|
+
opacity: 0.4;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {
|
|
322
|
+
display: inline-block;
|
|
323
|
+
box-sizing: border-box;
|
|
324
|
+
margin: 0;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
.monaco-menu .monaco-action-bar.vertical .action-item {
|
|
328
|
+
position: static;
|
|
329
|
+
overflow: visible;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {
|
|
333
|
+
position: absolute;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
|
|
337
|
+
width: 100%;
|
|
338
|
+
height: 0px !important;
|
|
339
|
+
opacity: 1;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {
|
|
343
|
+
padding: 0.7em 1em 0.1em 1em;
|
|
344
|
+
font-weight: bold;
|
|
345
|
+
opacity: 1;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
.monaco-menu .monaco-action-bar.vertical .action-label:hover {
|
|
349
|
+
color: inherit;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
.monaco-menu .monaco-action-bar.vertical .menu-item-check {
|
|
353
|
+
position: absolute;
|
|
354
|
+
visibility: hidden;
|
|
355
|
+
width: 1em;
|
|
356
|
+
height: 100%;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {
|
|
360
|
+
visibility: visible;
|
|
361
|
+
display: flex;
|
|
362
|
+
align-items: center;
|
|
363
|
+
justify-content: center;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
/* Context Menu */
|
|
367
|
+
|
|
368
|
+
.context-view.monaco-menu-container {
|
|
369
|
+
outline: 0;
|
|
370
|
+
border: none;
|
|
371
|
+
animation: fadeIn 0.083s linear;
|
|
372
|
+
-webkit-app-region: no-drag;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
.context-view.monaco-menu-container :focus,
|
|
376
|
+
.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,
|
|
377
|
+
.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {
|
|
378
|
+
outline: 0;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
.hc-black .context-view.monaco-menu-container,
|
|
382
|
+
.hc-light .context-view.monaco-menu-container,
|
|
383
|
+
:host-context(.hc-black) .context-view.monaco-menu-container,
|
|
384
|
+
:host-context(.hc-light) .context-view.monaco-menu-container {
|
|
385
|
+
box-shadow: none;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,
|
|
389
|
+
.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,
|
|
390
|
+
:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,
|
|
391
|
+
:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {
|
|
392
|
+
background: none;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
/* Vertical Action Bar Styles */
|
|
396
|
+
|
|
397
|
+
.monaco-menu .monaco-action-bar.vertical {
|
|
398
|
+
padding: .6em 0;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
.monaco-menu .monaco-action-bar.vertical .action-menu-item {
|
|
402
|
+
height: 2em;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),
|
|
406
|
+
.monaco-menu .monaco-action-bar.vertical .keybinding {
|
|
407
|
+
font-size: inherit;
|
|
408
|
+
padding: 0 2em;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
.monaco-menu .monaco-action-bar.vertical .menu-item-check {
|
|
412
|
+
font-size: inherit;
|
|
413
|
+
width: 2em;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
|
|
417
|
+
font-size: inherit;
|
|
418
|
+
margin: 5px 0 !important;
|
|
419
|
+
padding: 0;
|
|
420
|
+
border-radius: 0;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,
|
|
424
|
+
:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {
|
|
425
|
+
margin-left: 0;
|
|
426
|
+
margin-right: 0;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
|
|
430
|
+
font-size: 60%;
|
|
431
|
+
padding: 0 1.8em;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator {
|
|
435
|
+
:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {
|
|
436
|
+
height: 100%;
|
|
437
|
+
mask-size: 10px 10px;
|
|
438
|
+
-webkit-mask-size: 10px 10px;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
.monaco-menu .action-item {
|
|
442
|
+
cursor: default;
|
|
443
|
+
}`;if(t){n+=`
|
|
444
|
+
/* Arrows */
|
|
445
|
+
.monaco-scrollable-element > .scrollbar > .scra {
|
|
446
|
+
cursor: pointer;
|
|
447
|
+
font-size: 11px !important;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
.monaco-scrollable-element > .visible {
|
|
451
|
+
opacity: 1;
|
|
452
|
+
|
|
453
|
+
/* Background rule added for IE9 - to allow clicks on dom node */
|
|
454
|
+
background:rgba(0,0,0,0);
|
|
455
|
+
|
|
456
|
+
transition: opacity 100ms linear;
|
|
457
|
+
}
|
|
458
|
+
.monaco-scrollable-element > .invisible {
|
|
459
|
+
opacity: 0;
|
|
460
|
+
pointer-events: none;
|
|
461
|
+
}
|
|
462
|
+
.monaco-scrollable-element > .invisible.fade {
|
|
463
|
+
transition: opacity 800ms linear;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
/* Scrollable Content Inset Shadow */
|
|
467
|
+
.monaco-scrollable-element > .shadow {
|
|
468
|
+
position: absolute;
|
|
469
|
+
display: none;
|
|
470
|
+
}
|
|
471
|
+
.monaco-scrollable-element > .shadow.top {
|
|
472
|
+
display: block;
|
|
473
|
+
top: 0;
|
|
474
|
+
left: 3px;
|
|
475
|
+
height: 3px;
|
|
476
|
+
width: 100%;
|
|
477
|
+
}
|
|
478
|
+
.monaco-scrollable-element > .shadow.left {
|
|
479
|
+
display: block;
|
|
480
|
+
top: 3px;
|
|
481
|
+
left: 0;
|
|
482
|
+
height: 100%;
|
|
483
|
+
width: 3px;
|
|
484
|
+
}
|
|
485
|
+
.monaco-scrollable-element > .shadow.top-left-corner {
|
|
486
|
+
display: block;
|
|
487
|
+
top: 0;
|
|
488
|
+
left: 0;
|
|
489
|
+
height: 3px;
|
|
490
|
+
width: 3px;
|
|
491
|
+
}
|
|
492
|
+
`;let t=e.scrollbarShadow;t&&(n+=`
|
|
493
|
+
.monaco-scrollable-element > .shadow.top {
|
|
494
|
+
box-shadow: ${t} 0 6px 6px -6px inset;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
.monaco-scrollable-element > .shadow.left {
|
|
498
|
+
box-shadow: ${t} 6px 0 6px -6px inset;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
.monaco-scrollable-element > .shadow.top.left {
|
|
502
|
+
box-shadow: ${t} 6px 6px 6px -6px inset;
|
|
503
|
+
}
|
|
504
|
+
`);let r=e.scrollbarSliderBackground;r&&(n+=`
|
|
505
|
+
.monaco-scrollable-element > .scrollbar > .slider {
|
|
506
|
+
background: ${r};
|
|
507
|
+
}
|
|
508
|
+
`);let i=e.scrollbarSliderHoverBackground;i&&(n+=`
|
|
509
|
+
.monaco-scrollable-element > .scrollbar > .slider:hover {
|
|
510
|
+
background: ${i};
|
|
511
|
+
}
|
|
512
|
+
`);let a=e.scrollbarSliderActiveBackground;a&&(n+=`
|
|
513
|
+
.monaco-scrollable-element > .scrollbar > .slider.active {
|
|
514
|
+
background: ${a};
|
|
515
|
+
}
|
|
516
|
+
`)}return n}function xg(e,t){let n=Object.create(null);for(let r in t){let a=t[r];a&&(n[r]=i.Ei(a,e))}return n}function Sg(e,t,n){function r(){let r=xg(e.getColorTheme(),t);typeof n==`function`?n(r):n.style(r)}return r(),e.onDidColorThemeChange(r)}function Cg(e,t,n){return Sg(t,{badgeBackground:n?.badgeBackground||i.Yt,badgeForeground:n?.badgeForeground||i.Xt,badgeBorder:i.en},e)}function wg(e,t,n){return Sg(t,Object.assign(Object.assign({},Tg),n||{}),e)}var Tg={listFocusBackground:i.Fr,listFocusForeground:i.Ir,listFocusOutline:i.Rr,listActiveSelectionBackground:i.Er,listActiveSelectionForeground:i.Dr,listActiveSelectionIconForeground:i.Or,listFocusAndSelectionOutline:i.Pr,listFocusAndSelectionBackground:i.Er,listFocusAndSelectionForeground:i.Dr,listInactiveSelectionBackground:i.Wr,listInactiveSelectionIconForeground:i.Kr,listInactiveSelectionForeground:i.Gr,listInactiveFocusBackground:i.Hr,listInactiveFocusOutline:i.Ur,listHoverBackground:i.Br,listHoverForeground:i.Vr,listDropBackground:i.kr,listSelectionOutline:i.qt,listHoverOutline:i.qt,listFilterWidgetBackground:i.Ar,listFilterWidgetOutline:i.Mr,listFilterWidgetNoMatchesOutline:i.jr,listFilterWidgetShadow:i.Nr,treeIndentGuidesStroke:i.Ri,tableColumnsBorder:i.ji,tableOddRowsBackgroundColor:i.Mi,inputActiveOptionBorder:i.cr,inputActiveOptionForeground:i.lr,inputActiveOptionBackground:i.sr,inputBackground:i.ur,inputForeground:i.fr,inputBorder:i.dr,inputValidationInfoBackground:i.gr,inputValidationInfoForeground:i.vr,inputValidationInfoBorder:i._r,inputValidationWarningBackground:i.yr,inputValidationWarningForeground:i.xr,inputValidationWarningBorder:i.br,inputValidationErrorBackground:i.pr,inputValidationErrorForeground:i.hr,inputValidationErrorBorder:i.mr},Eg={shadowColor:i.zi,borderColor:i.Jr,foregroundColor:i.Yr,backgroundColor:i.qr,selectionForegroundColor:i.Qr,selectionBackgroundColor:i.Xr,selectionBorderColor:i.Zr,separatorColor:i.$r,scrollbarShadow:i.Di,scrollbarSliderBackground:i.ki,scrollbarSliderHoverBackground:i.Ai,scrollbarSliderActiveBackground:i.Oi};function Dg(e,t,n){return Sg(t,Object.assign(Object.assign({},Eg),n),e)}var Og=class{constructor(e,t,n,r,i){this.contextViewService=e,this.telemetryService=t,this.notificationService=n,this.keybindingService=r,this.themeService=i,this.focusToReturn=null,this.block=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){let t=e.getActions();if(!t.length)return;this.focusToReturn=document.activeElement;let n,r=i.xo(e.domForShadowRoot)?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:r=>{let a=e.getMenuClassName?e.getMenuClassName():``;a&&(r.className+=` `+a),this.options.blockMouse&&(this.block=r.appendChild(i.za(`.context-view-block`)),this.block.style.position=`fixed`,this.block.style.cursor=`initial`,this.block.style.left=`0`,this.block.style.top=`0`,this.block.style.width=`100%`,this.block.style.height=`100%`,this.block.style.zIndex=`-1`,i.Ka(this.block,i.Ua.MOUSE_DOWN,e=>e.stopPropagation()));let o=new i.Zl,s=e.actionRunner||new i.Pa;return s.onBeforeRun(this.onActionRun,this,o),s.onDidRun(this.onDidActionRun,this,o),n=new hg(r,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:s,getKeyBinding:e.getKeyBinding?e.getKeyBinding:e=>this.keybindingService.lookupKeybinding(e.id)}),o.add(Dg(n,this.themeService)),n.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,o),n.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,o),o.add(i.Ka(window,i.Ua.BLUR,()=>this.contextViewService.hideContextView(!0))),o.add(i.Ka(window,i.Ua.MOUSE_DOWN,e=>{if(e.defaultPrevented)return;let t=new i.Bo(e),n=t.target;if(!t.rightButton){for(;n;){if(n===r)return;n=n.parentElement}this.contextViewService.hideContextView(!0)}})),i.tu(o,n)},focus:()=>{n?.focus(!!e.autoSelectFirstItem)},onHide:t=>{var n;(n=e.onHide)==null||n.call(e,!!t),this.block&&=(this.block.remove(),null),this.focusToReturn&&this.focusToReturn.focus()}},r,!!r)}onActionRun(e){this.telemetryService.publicLog2(`workbenchActionExecuted`,{id:e.action.id,from:`contextMenu`}),this.contextViewService.hideContextView(!1),this.focusToReturn&&this.focusToReturn.focus()}onDidActionRun(e){e.error&&!i.du(e.error)&&this.notificationService.error(e.error)}},kg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ag=function(e,t){return function(n,r){t(n,r,e)}},jg=class extends i.Xl{constructor(e,t,n,r,a){super(),this._onDidShowContextMenu=new i.Ul,this._onDidHideContextMenu=new i.Ul,this.contextMenuHandler=new Og(n,e,t,r,a)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){this.contextMenuHandler.showContextMenu(Object.assign(Object.assign({},e),{onHide:t=>{var n;(n=e.onHide)==null||n.call(e,t),this._onDidHideContextMenu.fire()}})),i.Wa.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};jg=kg([Ag(0,i.aa),Ag(1,pu),Ag(2,up),Ag(3,Im),Ag(4,i.ga)],jg);function Mg(e){let t=JSON.parse(e);return t=Ng(t),t}function Ng(e,t=0){if(!e||t>200)return e;if(typeof e==`object`){switch(e.$mid){case 1:return i.Al.revive(e);case 2:return new RegExp(e.source,e.flags);case 14:return new Date(e.source)}if(e instanceof i.tc||e instanceof Uint8Array)return e;if(Array.isArray(e))for(let n=0;n<e.length;++n)e[n]=Ng(e[n],t+1);else for(let n in e)Object.hasOwnProperty.call(e,n)&&(e[n]=Ng(e[n],t+1))}return e}var Pg;(function(e){e[e.API=0]=`API`,e[e.USER=1]=`USER`})(Pg||={});var Fg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ig=function(e,t){return function(n,r){t(n,r,e)}},Lg=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Rg=class{constructor(e){this._commandService=e}open(e,t){return Lg(this,void 0,void 0,function*(){if(!i.a(e,i.Io.command))return!1;if(!t?.allowCommands)return!0;typeof e==`string`&&(e=i.Al.parse(e));let n=[];try{n=Mg(decodeURIComponent(e.query))}catch{try{n=Mg(e.query)}catch{}}return Array.isArray(n)||(n=[n]),yield this._commandService.executeCommand(e.path,...n),!0})}};Rg=Fg([Ig(0,i.Ma)],Rg);var zg=class{constructor(e){this._editorService=e}open(e,t){return Lg(this,void 0,void 0,function*(){typeof e==`string`&&(e=i.Al.parse(e));let{selection:n,uri:r}=i.i(e);return e=r,e.scheme===i.Io.file&&(e=i.O(e)),yield this._editorService.openCodeEditor({resource:e,options:Object.assign({selection:n,source:t?.fromUserGesture?Pg.USER:Pg.API},t?.editorOptions)},this._editorService.getFocusedCodeEditor(),t?.openToSide),!0})}};zg=Fg([Ig(0,i.dc)],zg);var Bg=class{constructor(e,t){this._openers=new i.pd,this._validators=new i.pd,this._resolvers=new i.pd,this._resolvedUriTargets=new i.l(e=>e.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new i.pd,this._defaultExternalOpener={openExternal:e=>Lg(this,void 0,void 0,function*(){return i.o(e,i.Io.http,i.Io.https)?i.Po(e):window.location.href=e,!0})},this._openers.push({open:(e,t)=>Lg(this,void 0,void 0,function*(){return t?.openExternal||i.o(e,i.Io.mailto,i.Io.http,i.Io.https,i.Io.vsls)?(yield this._doOpenExternal(e,t),!0):!1})}),this._openers.push(new Rg(t)),this._openers.push(new zg(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}registerValidator(e){return{dispose:this._validators.push(e)}}registerExternalUriResolver(e){return{dispose:this._resolvers.push(e)}}setDefaultExternalOpener(e){this._defaultExternalOpener=e}registerExternalOpener(e){return{dispose:this._externalOpeners.push(e)}}open(e,t){return Lg(this,void 0,void 0,function*(){let n=typeof e==`string`?i.Al.parse(e):e,r=this._resolvedUriTargets.get(n)??e;for(let e of this._validators)if(!(yield e.shouldOpen(r)))return!1;for(let n of this._openers)if(yield n.open(e,t))return!0;return!1})}resolveExternalUri(e,t){return Lg(this,void 0,void 0,function*(){for(let n of this._resolvers)try{let r=yield n.resolveExternalUri(e,t);if(r)return this._resolvedUriTargets.has(r.resolved)||this._resolvedUriTargets.set(r.resolved,e),r}catch{}throw Error(`Could not resolve external URI: `+e.toString())})}_doOpenExternal(e,t){return Lg(this,void 0,void 0,function*(){let n=typeof e==`string`?i.Al.parse(e):e,r;try{r=(yield this.resolveExternalUri(n,t)).resolved}catch{r=n}let a;if(a=typeof e==`string`&&n.toString()===r.toString()?e:encodeURI(r.toString(!0)),t?.allowContributedOpeners){let e=typeof t?.allowContributedOpeners==`string`?t?.allowContributedOpeners:void 0;for(let t of this._externalOpeners)if(yield t.openExternal(a,{sourceUri:n,preferredOpenerId:e},i.Bl.None))return!0}return this._defaultExternalOpener.openExternal(a,{sourceUri:n},i.Bl.None)})}dispose(){this._validators.clear()}};Bg=Fg([Ig(0,i.dc),Ig(1,i.Ma)],Bg);var Vg;(function(e){e[e.Hint=1]=`Hint`,e[e.Info=2]=`Info`,e[e.Warning=4]=`Warning`,e[e.Error=8]=`Error`})(Vg||={}),(function(e){function t(e,t){return t-e}e.compare=t;let n=Object.create(null);n[e.Error]=i.Td(`sev.error`,`Error`),n[e.Warning]=i.Td(`sev.warning`,`Warning`),n[e.Info]=i.Td(`sev.info`,`Info`);function r(e){return n[e]||``}e.toString=r;function a(t){switch(t){case H.Error:return e.Error;case H.Warning:return e.Warning;case H.Info:return e.Info;case H.Ignore:return e.Hint}}e.fromSeverity=a;function o(t){switch(t){case e.Error:return H.Error;case e.Warning:return H.Warning;case e.Info:return H.Info;case e.Hint:return H.Ignore}}e.toSeverity=o})(Vg||={});var Hg;(function(e){function t(e){return n(e,!0)}e.makeKey=t;function n(e,t){let n=[``];return e.source?n.push(e.source.replace(`¦`,`\\¦`)):n.push(``),e.code?typeof e.code==`string`?n.push(e.code.replace(`¦`,`\\¦`)):n.push(e.code.value.replace(`¦`,`\\¦`)):n.push(``),e.severity!==void 0&&e.severity!==null?n.push(Vg.toString(e.severity)):n.push(``),e.message&&t?n.push(e.message.replace(`¦`,`\\¦`)):n.push(``),e.startLineNumber!==void 0&&e.startLineNumber!==null?n.push(e.startLineNumber.toString()):n.push(``),e.startColumn!==void 0&&e.startColumn!==null?n.push(e.startColumn.toString()):n.push(``),e.endLineNumber!==void 0&&e.endLineNumber!==null?n.push(e.endLineNumber.toString()):n.push(``),e.endColumn!==void 0&&e.endColumn!==null?n.push(e.endColumn.toString()):n.push(``),n.push(``),n.join(`¦`)}e.makeKeyOptionalMessage=n})(Hg||={});var Ug=i.mc(`markerService`),Wg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Gg=function(e,t){return function(n,r){t(n,r,e)}},Kg=class extends i.Xl{constructor(e){super(),this.model=e,this._markersData=new Map,this._register(i.au(()=>{this.model.deltaDecorations([...this._markersData.keys()],[]),this._markersData.clear()}))}update(e,t){let n=[...this._markersData.keys()];this._markersData.clear();let r=this.model.deltaDecorations(n,t);for(let t=0;t<r.length;t++)this._markersData.set(r[t],e[t]);return n.length!==0||r.length!==0}getMarker(e){return this._markersData.get(e.id)}},qg=class extends i.Xl{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new i.Ul),this._markerDecorations=new i.l,e.getModels().forEach(e=>this._onModelAdded(e)),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(e=>e.dispose()),this._markerDecorations.clear()}getMarker(e,t){let n=this._markerDecorations.get(e);return n&&n.getMarker(t)||null}_handleMarkerChange(e){e.forEach(e=>{let t=this._markerDecorations.get(e);t&&this._updateDecorations(t)})}_onModelAdded(e){let t=new Kg(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){var t;let n=this._markerDecorations.get(e.uri);n&&(n.dispose(),this._markerDecorations.delete(e.uri)),(e.uri.scheme===i.Io.inMemory||e.uri.scheme===i.Io.internal||e.uri.scheme===i.Io.vscode)&&((t=this._markerService)==null||t.read({resource:e.uri}).map(e=>e.owner).forEach(t=>this._markerService.remove(t,[e.uri])))}_updateDecorations(e){let t=this._markerService.read({resource:e.model.uri,take:500}),n=t.map(t=>({range:this._createDecorationRange(e.model,t),options:this._createDecorationOption(t)}));e.update(t,n)&&this._onDidChangeMarker.fire(e.model)}_createDecorationRange(e,t){let n=i.Ol.lift(t);if(t.severity===Vg.Hint&&!this._hasMarkerTag(t,1)&&!this._hasMarkerTag(t,2)&&(n=n.setEndPosition(n.startLineNumber,n.startColumn+2)),n=e.validateRange(n),n.isEmpty()){let t=e.getLineLastNonWhitespaceColumn(n.startLineNumber)||e.getLineMaxColumn(n.startLineNumber);if(t===1||n.endColumn>=t)return n;let r=e.getWordAtPosition(n.getStartPosition());r&&(n=new i.Ol(n.startLineNumber,r.startColumn,n.endLineNumber,r.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&t.startColumn===1&&n.startLineNumber===n.endLineNumber){let r=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);r<n.endColumn&&(n=new i.Ol(n.startLineNumber,r,n.endLineNumber,n.endColumn),t.startColumn=r)}return n}_createDecorationOption(e){let t,n,r,a,o;switch(e.severity){case Vg.Hint:t=this._hasMarkerTag(e,2)?void 0:this._hasMarkerTag(e,1)?`squiggly-unnecessary`:`squiggly-hint`,r=0;break;case Vg.Warning:t=`squiggly-warning`,n=i.xa(i.Ft),r=20,o={color:i.xa(i.li),position:i.oc.Inline};break;case Vg.Info:t=`squiggly-info`,n=i.xa(i.Nt),r=10;break;case Vg.Error:default:t=`squiggly-error`,n=i.xa(i.Mt),r=30,o={color:i.xa(i.ti),position:i.oc.Inline};break}return e.tags&&(e.tags.indexOf(1)!==-1&&(a=`squiggly-inline-unnecessary`),e.tags.indexOf(2)!==-1&&(a=`squiggly-inline-deprecated`)),{description:`marker-decoration`,stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:n,position:i.sc.Right},minimap:o,zIndex:r,inlineClassName:a}}_hasMarkerTag(e,t){return e.tags?e.tags.indexOf(t)>=0:!1}};qg=Wg([Gg(0,i.As),Gg(1,Ug)],qg);var Jg=class e{constructor(e,t){this._startLineNumber=e,this._tokens=t,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}static create(t,n){return new e(t,new Yg(n))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(e){return this._startLineNumber<=e&&e<=this._endLineNumber?this._tokens.getLineTokens(e-this._startLineNumber):null}getRange(){let e=this._tokens.getRange();return e&&new i.Ol(this._startLineNumber+e.startLineNumber,e.startColumn,this._startLineNumber+e.endLineNumber,e.endColumn)}removeTokens(e){let t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(t,e.startColumn-1,n,e.endColumn-1),this._updateEndLineNumber()}split(t){let n=t.startLineNumber-this._startLineNumber,r=t.endLineNumber-this._startLineNumber,[i,a,o]=this._tokens.split(n,t.startColumn-1,r,t.endColumn-1);return[new e(this._startLineNumber,i),new e(this._startLineNumber+o,a)]}applyEdit(e,t){let[n,r,a]=i.B(t);this.acceptEdit(e,n,r,a,t.length>0?t.charCodeAt(0):0)}acceptEdit(e,t,n,r,a){this._acceptDeleteRange(e),this._acceptInsertText(new i.kl(e.startLineNumber,e.startColumn),t,n,r,a),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;let t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;if(n<0){let e=n-t;this._startLineNumber-=e;return}let r=this._tokens.getMaxDeltaLine();if(!(t>=r+1)){if(t<0&&n>=r+1){this._startLineNumber=0,this._tokens.clear();return}if(t<0){let r=-t;this._startLineNumber-=r,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,n,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,n,e.endColumn-1)}}_acceptInsertText(e,t,n,r,i){if(t===0&&n===0)return;let a=e.lineNumber-this._startLineNumber;if(a<0){this._startLineNumber+=t;return}a>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(a,e.column-1,t,n,r,i)}},Yg=class e{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){let t=[];for(let n=0;n<this._tokenCount;n++)t.push(`(${this._getDeltaLine(n)+e},${this._getStartCharacter(n)}-${this._getEndCharacter(n)})`);return`[${t.join(`,`)}]`}getMaxDeltaLine(){let e=this._getTokenCount();return e===0?-1:this._getDeltaLine(e-1)}getRange(){let e=this._getTokenCount();if(e===0)return null;let t=this._getStartCharacter(0),n=this._getDeltaLine(e-1),r=this._getEndCharacter(e-1);return new i.Ol(0,t+1,n,r+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(e){return this._tokens[4*e]}_getStartCharacter(e){return this._tokens[4*e+1]}_getEndCharacter(e){return this._tokens[4*e+2]}isEmpty(){return this._getTokenCount()===0}getLineTokens(e){let t=0,n=this._getTokenCount()-1;for(;t<n;){let r=t+Math.floor((n-t)/2),i=this._getDeltaLine(r);if(i<e)t=r+1;else if(i>e)n=r-1;else{let i=r;for(;i>t&&this._getDeltaLine(i-1)===e;)i--;let a=r;for(;a<n&&this._getDeltaLine(a+1)===e;)a++;return new Xg(this._tokens.subarray(4*i,4*a+4))}}return this._getDeltaLine(t)===e?new Xg(this._tokens.subarray(4*t,4*t+4)):null}clear(){this._tokenCount=0}removeTokens(e,t,n,r){let i=this._tokens,a=this._tokenCount,o=0,s=!1,c=0;for(let l=0;l<a;l++){let a=4*l,u=i[a],d=i[a+1],f=i[a+2],p=i[a+3];if((u>e||u===e&&f>=t)&&(u<n||u===n&&d<=r))s=!0;else{if(o===0&&(c=u),s){let e=4*o;i[e]=u-c,i[e+1]=d,i[e+2]=f,i[e+3]=p}o++}}return this._tokenCount=o,c}split(t,n,r,i){let a=this._tokens,o=this._tokenCount,s=[],c=[],l=s,u=0,d=0;for(let e=0;e<o;e++){let o=4*e,s=a[o],f=a[o+1],p=a[o+2],m=a[o+3];if(s>t||s===t&&p>=n){if(s<r||s===r&&f<=i)continue;l!==c&&(l=c,u=0,d=s)}l[u++]=s-d,l[u++]=f,l[u++]=p,l[u++]=m}return[new e(new Uint32Array(s)),new e(new Uint32Array(c)),d]}acceptDeleteRange(e,t,n,r,i){let a=this._tokens,o=this._tokenCount,s=r-t,c=0,l=!1;for(let u=0;u<o;u++){let d=4*u,f=a[d],p=a[d+1],m=a[d+2],h=a[d+3];if(f<t||f===t&&m<=n){c++;continue}else if(f===t&&p<n)f===r&&m>i?m-=i-n:m=n;else if(f===t&&p===n)if(f===r&&m>i)m-=i-n;else{l=!0;continue}else if(f<r||f===r&&p<i)if(f===r&&m>i)f===t?(p=n,m=p+(m-i)):(p=0,m=p+(m-i));else{l=!0;continue}else if(f>r){if(s===0&&!l){c=o;break}f-=s}else if(f===r&&p>=i)e&&f===0&&(p+=e,m+=e),f-=s,p-=i-n,m-=i-n;else throw Error(`Not possible!`);let g=4*c;a[g]=f,a[g+1]=p,a[g+2]=m,a[g+3]=h,c++}this._tokenCount=c}acceptInsertText(e,t,n,r,i,a){let o=n===0&&r===1&&(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122),s=this._tokens,c=this._tokenCount;for(let a=0;a<c;a++){let c=4*a,l=s[c],u=s[c+1],d=s[c+2];if(!(l<e||l===e&&d<t)){if(l===e&&d===t)if(o)d+=1;else continue;else if(l===e&&u<t&&t<d)n===0?d+=r:d=t;else{if(l===e&&u===t&&o)continue;if(l===e)if(l+=n,n===0)u+=r,d+=r;else{let e=d-u;u=i+(u-t),d=u+e}else l+=n}s[c]=l,s[c+1]=u,s[c+2]=d}}}},Xg=class{constructor(e){this._tokens=e}getCount(){return this._tokens.length/4}getStartCharacter(e){return this._tokens[4*e+1]}getEndCharacter(e){return this._tokens[4*e+2]}getMetadata(e){return this._tokens[4*e+3]}},Zg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Qg=function(e,t){return function(n,r){t(n,r,e)}},$g=class{constructor(e,t,n,r){this._legend=e,this._themeService=t,this._languageService=n,this._logService=r,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new n_}getMetadata(e,t,n){let r=this._languageService.languageIdCodec.encodeLanguageId(n),a=this._hashTable.get(e,t,r),o;if(a)o=a.metadata,this._logService.getLevel()===i.es.Trace&&this._logService.trace(`SemanticTokensProviderStyling [CACHED] ${e} / ${t}: foreground ${i.Xo.getForeground(o)}, fontStyle ${i.Xo.getFontStyle(o).toString(2)}`);else{let a=this._legend.tokenTypes[e],s=[];if(a){let e=t;for(let t=0;e>0&&t<this._legend.tokenModifiers.length;t++)e&1&&s.push(this._legend.tokenModifiers[t]),e>>=1;e>0&&this._logService.getLevel()===i.es.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${t.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),s.push(`not-in-legend`));let r=this._themeService.getColorTheme().getTokenStyleMetadata(a,s,n);if(r===void 0)o=2147483647;else{if(o=0,r.italic!==void 0){let e=(r.italic?1:0)<<11;o|=e|1}if(r.bold!==void 0){let e=(r.bold?2:0)<<11;o|=e|2}if(r.underline!==void 0){let e=(r.underline?4:0)<<11;o|=e|4}if(r.strikethrough!==void 0){let e=(r.strikethrough?8:0)<<11;o|=e|8}if(r.foreground){let e=r.foreground<<15;o|=e|16}o===0&&(o=2147483647)}}else this._logService.getLevel()===i.es.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${e} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),o=2147483647,a=`not-in-legend`;this._hashTable.add(e,t,r,o),this._logService.getLevel()===i.es.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${e} (${a}) / ${t} (${s.join(` `)}): foreground ${i.Xo.getForeground(o)}, fontStyle ${i.Xo.getFontStyle(o).toString(2)}`)}return o}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,`${e}${t}`)}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,`${e}${t}`)}warnInvalidEditStart(e,t,n,r,i){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,`${e}${t}${n}${r}${i}`)}};$g=Zg([Qg(1,i.ga),Qg(2,i.Js),Qg(3,i.$o)],$g);function e_(e,t,n){let r=e.data,i=e.data.length/5|0,a=Math.max(Math.ceil(i/1024),400),o=[],s=0,c=1,l=0;for(;s<i;){let e=s,u=Math.min(e+a,i);if(u<i){let t=u;for(;t-1>e&&r[5*t]===0;)t--;if(t-1===e){let e=u;for(;e+1<i&&r[5*e]===0;)e++;u=e}else u=t}let d=new Uint32Array((u-e)*4),f=0,p=0,m=0,h=0;for(;s<u;){let e=5*s,i=r[e],a=r[e+1],o=c+i|0,u=i===0?l+a|0:a,g=u+r[e+2]|0,_=r[e+3],v=r[e+4];if(g<=u)t.warnInvalidLengthSemanticTokens(o,u+1);else if(m===o&&h>u)t.warnOverlappingSemanticTokens(o,u+1);else{let e=t.getMetadata(_,v,n);e!==2147483647&&(p===0&&(p=o),d[f]=o-p,d[f+1]=u,d[f+2]=g,d[f+3]=e,f+=4,m=o,h=g)}c=o,l=u,s++}f!==d.length&&(d=d.subarray(0,f));let g=Jg.create(p,d);o.push(g)}return o}var t_=class{constructor(e,t,n,r){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=n,this.metadata=r,this.next=null}},n_=class e{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=e._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<e._SIZES.length?2/3*this._currentLength:0),this._elements=[],e._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(e,t){for(let n=0;n<t;n++)e[n]=null}_hash2(e,t){return(e<<5)-e+t|0}_hashFunc(e,t,n){return this._hash2(this._hash2(e,t),n)%this._currentLength}get(e,t,n){let r=this._hashFunc(e,t,n),i=this._elements[r];for(;i;){if(i.tokenTypeIndex===e&&i.tokenModifierSet===t&&i.languageId===n)return i;i=i.next}return null}add(t,n,r,i){if(this._elementsCount++,this._growCount!==0&&this._elementsCount>=this._growCount){let t=this._elements;this._currentLengthIndex++,this._currentLength=e._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<e._SIZES.length?2/3*this._currentLength:0),this._elements=[],e._nullOutEntries(this._elements,this._currentLength);for(let e of t){let t=e;for(;t;){let e=t.next;t.next=null,this._add(t),t=e}}}this._add(new t_(t,n,r,i))}_add(e){let t=this._hashFunc(e.tokenTypeIndex,e.tokenModifierSet,e.languageId);e.next=this._elements[t],this._elements[t]=e}};n_._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143];function r_(e){for(let t=0,n=e.length;t<n;t+=4){let n=e[t+0],r=e[t+1],i=e[t+2],a=e[t+3];e[t+0]=a,e[t+1]=i,e[t+2]=r,e[t+3]=n}}function i_(e){let t=new Uint8Array(e.buffer,e.byteOffset,e.length*4);return i.yd()||r_(t),i.tc.wrap(t)}function a_(e){let t=new Uint32Array(o_(e)),n=0;if(t[n++]=e.id,e.type===`full`)t[n++]=1,t[n++]=e.data.length,t.set(e.data,n),n+=e.data.length;else{t[n++]=2,t[n++]=e.deltas.length;for(let r of e.deltas)t[n++]=r.start,t[n++]=r.deleteCount,r.data?(t[n++]=r.data.length,t.set(r.data,n),n+=r.data.length):t[n++]=0}return i_(t)}function o_(e){let t=0;if(t+=2,e.type===`full`)t+=1+e.data.length;else{t+=1,t+=3*e.deltas.length;for(let n of e.deltas)n.data&&(t+=n.data.length)}return t}var s_=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};function c_(e){return e&&!!e.data}function l_(e){return e&&Array.isArray(e.edits)}var u_=class{constructor(e,t,n){this.provider=e,this.tokens=t,this.error=n}};function d_(e,t){return e.has(t)}function f_(e,t){let n=e.orderedGroups(t);return n.length>0?n[0]:[]}function p_(e,t,n,r,i){return s_(this,void 0,void 0,function*(){let a=f_(e,t),o=yield Promise.all(a.map(e=>s_(this,void 0,void 0,function*(){let a,o=null;try{a=yield e.provideDocumentSemanticTokens(t,e===n?r:null,i)}catch(e){o=e,a=null}return(!a||!c_(a)&&!l_(a))&&(a=null),new u_(e,a,o)})));for(let e of o){if(e.error)throw e.error;if(e.tokens)return e}return o.length>0?o[0]:null})}function m_(e,t){let n=e.orderedGroups(t);return n.length>0?n[0]:null}var h_=class{constructor(e,t){this.provider=e,this.tokens=t}};function g_(e,t){return e.has(t)}function __(e,t){let n=e.orderedGroups(t);return n.length>0?n[0]:[]}function v_(e,t,n,r){return s_(this,void 0,void 0,function*(){let a=__(e,t),o=yield Promise.all(a.map(e=>s_(this,void 0,void 0,function*(){let a;try{a=yield e.provideDocumentRangeSemanticTokens(t,n,r)}catch(e){i.pu(e),a=null}return(!a||!c_(a))&&(a=null),new h_(e,a)})));for(let e of o)if(e.tokens)return e;return o.length>0?o[0]:null})}i.ja.registerCommand(`_provideDocumentSemanticTokensLegend`,(e,...t)=>s_(void 0,void 0,void 0,function*(){let[n]=t;i.Cu(n instanceof i.Al);let r=e.get(i.As).getModel(n);if(!r)return;let{documentSemanticTokensProvider:a}=e.get(i.Zo),o=m_(a,r);return o?o[0].getLegend():e.get(i.Ma).executeCommand(`_provideDocumentRangeSemanticTokensLegend`,n)})),i.ja.registerCommand(`_provideDocumentSemanticTokens`,(e,...t)=>s_(void 0,void 0,void 0,function*(){let[n]=t;i.Cu(n instanceof i.Al);let r=e.get(i.As).getModel(n);if(!r)return;let{documentSemanticTokensProvider:a}=e.get(i.Zo);if(!d_(a,r))return e.get(i.Ma).executeCommand(`_provideDocumentRangeSemanticTokens`,n,r.getFullModelRange());let o=yield p_(a,r,null,null,i.Bl.None);if(!o)return;let{provider:s,tokens:c}=o;if(!c||!c_(c))return;let l=a_({id:0,type:`full`,data:c.data});return c.resultId&&s.releaseDocumentSemanticTokens(c.resultId),l})),i.ja.registerCommand(`_provideDocumentRangeSemanticTokensLegend`,(e,...t)=>s_(void 0,void 0,void 0,function*(){let[n,r]=t;i.Cu(n instanceof i.Al);let a=e.get(i.As).getModel(n);if(!a)return;let{documentRangeSemanticTokensProvider:o}=e.get(i.Zo),s=__(o,a);if(s.length===0)return;if(s.length===1||!r||!i.Ol.isIRange(r))return s[0].getLegend();let c=yield v_(o,a,i.Ol.lift(r),i.Bl.None);if(c)return c.provider.getLegend()})),i.ja.registerCommand(`_provideDocumentRangeSemanticTokens`,(e,...t)=>s_(void 0,void 0,void 0,function*(){let[n,r]=t;i.Cu(n instanceof i.Al),i.Cu(i.Ol.isIRange(r));let a=e.get(i.As).getModel(n);if(!a)return;let{documentRangeSemanticTokensProvider:o}=e.get(i.Zo),s=yield v_(o,a,i.Ol.lift(r),i.Bl.None);if(!(!s||!s.tokens))return a_({id:0,type:`full`,data:s.tokens.data})}));var y_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},K=function(e,t){return function(n,r){t(n,r,e)}};function b_(e){return e.toString()}function x_(e){let t=new i.ls,n=e.createSnapshot(),r;for(;r=n.read();)t.update(r);return t.digest()}var S_=class{constructor(e,t,n){this._modelEventListeners=new i.Zl,this.model=e,this._languageSelection=null,this._languageSelectionListener=null,this._modelEventListeners.add(e.onWillDispose(()=>t(e))),this._modelEventListeners.add(e.onDidChangeLanguage(t=>n(e,t)))}_disposeLanguageSelection(){this._languageSelectionListener&&=(this._languageSelectionListener.dispose(),null)}dispose(){this._modelEventListeners.dispose(),this._disposeLanguageSelection()}setLanguage(e){this._disposeLanguageSelection(),this._languageSelection=e,this._languageSelectionListener=this._languageSelection.onDidChange(()=>this.model.setMode(e.languageId)),this.model.setMode(e.languageId)}},C_=i.vd||i.bd?1:2,w_=class{constructor(e,t,n,r,i,a,o,s){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=n,this.sharesUndoRedoStack=r,this.heapSize=i,this.sha1=a,this.versionId=o,this.alternativeVersionId=s}},T_=class e extends i.Xl{constructor(e,t,n,r,a,o,s,c,l){super(),this._configurationService=e,this._resourcePropertiesService=t,this._themeService=n,this._logService=r,this._undoRedoService=a,this._languageService=o,this._languageConfigurationService=s,this._languageFeatureDebounceService=c,this._onModelAdded=this._register(new i.Ul),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new i.Ul),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new i.Ul),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._semanticStyling=this._register(new k_(this._themeService,this._languageService,this._logService)),this._register(this._configurationService.onDidChangeConfiguration(()=>this._updateModelOptions())),this._updateModelOptions(),this._register(new O_(this._semanticStyling,this,this._themeService,this._configurationService,this._languageFeatureDebounceService,l))}static _readModelOptions(e,t){let n=i.hu.tabSize;if(e.editor&&e.editor.tabSize!==void 0){let t=parseInt(e.editor.tabSize,10);isNaN(t)||(n=t),n<1&&(n=1)}let r=n;if(e.editor&&e.editor.indentSize!==void 0&&e.editor.indentSize!==`tabSize`){let t=parseInt(e.editor.indentSize,10);isNaN(t)||(r=t),r<1&&(r=1)}let a=i.hu.insertSpaces;e.editor&&e.editor.insertSpaces!==void 0&&(a=e.editor.insertSpaces===`false`?!1:!!e.editor.insertSpaces);let o=C_,s=e.eol;s===`\r
|
|
517
|
+
`?o=2:s===`
|
|
518
|
+
`&&(o=1);let c=i.hu.trimAutoWhitespace;e.editor&&e.editor.trimAutoWhitespace!==void 0&&(c=e.editor.trimAutoWhitespace===`false`?!1:!!e.editor.trimAutoWhitespace);let l=i.hu.detectIndentation;e.editor&&e.editor.detectIndentation!==void 0&&(l=e.editor.detectIndentation===`false`?!1:!!e.editor.detectIndentation);let u=i.hu.largeFileOptimizations;e.editor&&e.editor.largeFileOptimizations!==void 0&&(u=e.editor.largeFileOptimizations===`false`?!1:!!e.editor.largeFileOptimizations);let d=i.hu.bracketPairColorizationOptions;return e.editor?.bracketPairColorization&&typeof e.editor.bracketPairColorization==`object`&&(d={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:n,indentSize:r,insertSpaces:a,detectIndentation:l,defaultEOL:o,trimAutoWhitespace:c,largeFileOptimizations:u,bracketPairColorizationOptions:d}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);let n=this._configurationService.getValue(`files.eol`,{overrideIdentifier:t});return n&&typeof n==`string`&&n!==`auto`?n:i.hd===3||i.hd===2?`
|
|
519
|
+
`:`\r
|
|
520
|
+
`}_shouldRestoreUndoStack(){let e=this._configurationService.getValue(`files.restoreUndoStack`);return typeof e==`boolean`?e:!0}getCreationOptions(t,n,r){let i=this._modelCreationOptionsByLanguageAndResource[t+n];if(!i){let a=this._configurationService.getValue(`editor`,{overrideIdentifier:t,resource:n}),o=this._getEOL(n,t);i=e._readModelOptions({editor:a,eol:o},r),this._modelCreationOptionsByLanguageAndResource[t+n]=i}return i}_updateModelOptions(){let t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);let n=Object.keys(this._models);for(let r=0,i=n.length;r<i;r++){let i=n[r],a=this._models[i],o=a.model.getLanguageId(),s=a.model.uri,c=t[o+s],l=this.getCreationOptions(o,s,a.model.isForSimpleWidget);e._setModelOptionsForModel(a.model,l,c)}}static _setModelOptionsForModel(e,t,n){n&&n.defaultEOL!==t.defaultEOL&&e.getLineCount()===1&&e.setEOL(t.defaultEOL===1?0:1),!(n&&n.detectIndentation===t.detectIndentation&&n.insertSpaces===t.insertSpaces&&n.tabSize===t.tabSize&&n.indentSize===t.indentSize&&n.trimAutoWhitespace===t.trimAutoWhitespace&&i.yu(n.bracketPairColorizationOptions,t.bracketPairColorizationOptions))&&(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,indentSize:t.indentSize,trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions}))}_insertDisposedModel(e){this._disposedModels.set(b_(e.uri),e),this._disposedModelsHeapSize+=e.heapSize}_removeDisposedModel(e){let t=this._disposedModels.get(b_(e));return t&&(this._disposedModelsHeapSize-=t.heapSize),this._disposedModels.delete(b_(e)),t}_ensureDisposedModelsHeapSize(e){if(this._disposedModelsHeapSize>e){let t=[];for(this._disposedModels.forEach(e=>{e.sharesUndoRedoStack||t.push(e)}),t.sort((e,t)=>e.time-t.time);t.length>0&&this._disposedModelsHeapSize>e;){let e=t.shift();this._removeDisposedModel(e.uri),e.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,n,r){let a=new i.p(e,t,this.getCreationOptions(t,n,r),n,this._undoRedoService,this._languageService,this._languageConfigurationService);if(n&&this._disposedModels.has(b_(n))){let e=this._removeDisposedModel(n),t=this._undoRedoService.getElements(n),r=x_(a)===e.sha1;if(r||e.sharesUndoRedoStack){for(let e of t.past)i.y(e)&&e.matchesResource(n)&&e.setModel(a);for(let e of t.future)i.y(e)&&e.matchesResource(n)&&e.setModel(a);this._undoRedoService.setElementsValidFlag(n,!0,e=>i.y(e)&&e.matchesResource(n)),r&&(a._overwriteVersionId(e.versionId),a._overwriteAlternativeVersionId(e.alternativeVersionId),a._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else e.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}let o=b_(a.uri);if(this._models[o])throw Error(`ModelService: Cannot add model because it already exists!`);let s=new S_(a,e=>this._onWillDispose(e),(e,t)=>this._onDidChangeLanguage(e,t));return this._models[o]=s,s}createModel(e,t,n,r=!1){let a;return t?(a=this._createModelData(e,t.languageId,n,r),this.setMode(a.model,t)):a=this._createModelData(e,i.Rs,n,r),this._onModelAdded.fire(a.model),a.model}setMode(e,t){if(!t)return;let n=this._models[b_(e.uri)];n&&n.setLanguage(t)}getModels(){let e=[],t=Object.keys(this._models);for(let n=0,r=t.length;n<r;n++){let r=t[n];e.push(this._models[r].model)}return e}getModel(e){let t=b_(e),n=this._models[t];return n?n.model:null}getSemanticTokensProviderStyling(e){return this._semanticStyling.get(e)}_schemaShouldMaintainUndoRedoElements(e){return e.scheme===i.Io.file||e.scheme===i.Io.vscodeRemote||e.scheme===i.Io.vscodeUserData||e.scheme===i.Io.vscodeNotebookCell||e.scheme===`fake-fs`}_onWillDispose(t){let n=b_(t.uri),r=this._models[n],a=this._undoRedoService.getUriComparisonKey(t.uri)!==t.uri.toString(),o=!1,s=0;if(a||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(t.uri)){let e=this._undoRedoService.getElements(t.uri);if(e.past.length>0||e.future.length>0){for(let n of e.past)i.y(n)&&n.matchesResource(t.uri)&&(o=!0,s+=n.heapSize(t.uri),n.setModel(t.uri));for(let n of e.future)i.y(n)&&n.matchesResource(t.uri)&&(o=!0,s+=n.heapSize(t.uri),n.setModel(t.uri))}}let c=e.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK;if(!o){if(!a){let e=r.model.getInitialUndoRedoSnapshot();e!==null&&this._undoRedoService.restoreSnapshot(e)}}else if(!a&&s>c){let e=r.model.getInitialUndoRedoSnapshot();e!==null&&this._undoRedoService.restoreSnapshot(e)}else this._ensureDisposedModelsHeapSize(c-s),this._undoRedoService.setElementsValidFlag(t.uri,!1,e=>i.y(e)&&e.matchesResource(t.uri)),this._insertDisposedModel(new w_(t.uri,r.model.getInitialUndoRedoSnapshot(),Date.now(),a,s,x_(t),t.getVersionId(),t.getAlternativeVersionId()));delete this._models[n],r.dispose(),delete this._modelCreationOptionsByLanguageAndResource[t.getLanguageId()+t.uri],this._onModelRemoved.fire(t)}_onDidChangeLanguage(t,n){let r=n.oldLanguage,i=t.getLanguageId(),a=this.getCreationOptions(r,t.uri,t.isForSimpleWidget),o=this.getCreationOptions(i,t.uri,t.isForSimpleWidget);e._setModelOptionsForModel(t,o,a),this._onModelModeChanged.fire({model:t,oldLanguageId:r})}};T_.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024,T_=y_([K(0,i.Ys),K(1,Wn),K(2,i.ga),K(3,i.$o),K(4,i.m),K(5,i.Js),K(6,i.Ps),K(7,i.t),K(8,i.Zo)],T_);var E_=`editor.semanticHighlighting`;function D_(e,t,n){let r=n.getValue(`editor.semanticHighlighting`,{overrideIdentifier:e.getLanguageId(),resource:e.uri})?.enabled;return typeof r==`boolean`?r:t.getColorTheme().semanticHighlighting}var O_=class extends i.Xl{constructor(e,t,n,r,i,a){super(),this._watchers=Object.create(null),this._semanticStyling=e;let o=e=>{this._watchers[e.uri.toString()]=new j_(e,this._semanticStyling,n,i,a)},s=(e,t)=>{t.dispose(),delete this._watchers[e.uri.toString()]},c=()=>{for(let e of t.getModels()){let t=this._watchers[e.uri.toString()];D_(e,n,r)?t||o(e):t&&s(e,t)}};this._register(t.onModelAdded(e=>{D_(e,n,r)&&o(e)})),this._register(t.onModelRemoved(e=>{let t=this._watchers[e.uri.toString()];t&&s(e,t)})),this._register(r.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.semanticHighlighting`)&&c()})),this._register(n.onDidColorThemeChange(c))}dispose(){for(let e of Object.values(this._watchers))e.dispose();super.dispose()}};O_=y_([K(1,i.As),K(2,i.ga),K(3,i.Ys),K(4,i.t),K(5,i.Zo)],O_);var k_=class extends i.Xl{constructor(e,t,n){super(),this._themeService=e,this._languageService=t,this._logService=n,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}get(e){return this._caches.has(e)||this._caches.set(e,new $g(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}},A_=class{constructor(e,t,n){this.provider=e,this.resultId=t,this.data=n}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}},j_=class e extends i.Xl{constructor(t,n,r,a,o){super(),this._isDisposed=!1,this._model=t,this._semanticStyling=n,this._provider=o.documentSemanticTokensProvider,this._debounceInformation=a.for(this._provider,`DocumentSemanticTokens`,{min:e.REQUEST_MIN_DELAY,max:e.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new i.ys(()=>this._fetchDocumentSemanticTokensNow(),e.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&=(this._currentDocumentResponse.dispose(),null),this._currentDocumentRequestCancellationTokenSource&&=(this._currentDocumentRequestCancellationTokenSource.cancel(),null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));let s=()=>{i.nu(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(let e of this._provider.all(t))typeof e.onDidChange==`function`&&this._documentProvidersChangeListeners.push(e.onDidChange(()=>this._fetchDocumentSemanticTokens.schedule(0)))};s(),this._register(this._provider.onDidChange(()=>{s(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(r.onDidColorThemeChange(e=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&=(this._currentDocumentResponse.dispose(),null),this._currentDocumentRequestCancellationTokenSource&&=(this._currentDocumentRequestCancellationTokenSource.cancel(),null),this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!d_(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}let e=new i.Vl,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,n=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,r=p_(this._provider,this._model,t,n,e.token);this._currentDocumentRequestCancellationTokenSource=e;let a=[],o=this._model.onDidChangeContent(e=>{a.push(e)}),s=new i.Yl(!1);r.then(e=>{if(this._debounceInformation.update(this._model,s.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,o.dispose(),!e)this._setDocumentSemanticTokens(null,null,null,a);else{let{provider:t,tokens:n}=e,r=this._semanticStyling.get(t);this._setDocumentSemanticTokens(t,n||null,r,a)}},e=>{e&&(i.du(e)||typeof e.message==`string`&&e.message.indexOf(`busy`)!==-1)||i.fu(e),this._currentDocumentRequestCancellationTokenSource=null,o.dispose(),a.length>0&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,n,r,i){i=Math.min(i,n.length-r,e.length-t);for(let a=0;a<i;a++)n[r+a]=e[t+a]}_setDocumentSemanticTokens(t,n,r,i){let a=this._currentDocumentResponse,o=()=>{i.length>0&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&=(this._currentDocumentResponse.dispose(),null),this._isDisposed){t&&n&&t.releaseDocumentSemanticTokens(n.resultId);return}if(!t||!r){this._model.tokenization.setSemanticTokens(null,!1);return}if(!n){this._model.tokenization.setSemanticTokens(null,!0),o();return}if(l_(n)){if(!a){this._model.tokenization.setSemanticTokens(null,!0);return}if(n.edits.length===0)n={resultId:n.resultId,data:a.data};else{let t=0;for(let e of n.edits)t+=(e.data?e.data.length:0)-e.deleteCount;let i=a.data,o=new Uint32Array(i.length+t),s=i.length,c=o.length;for(let t=n.edits.length-1;t>=0;t--){let l=n.edits[t];if(l.start>i.length){r.warnInvalidEditStart(a.resultId,n.resultId,t,l.start,i.length),this._model.tokenization.setSemanticTokens(null,!0);return}let u=s-(l.start+l.deleteCount);u>0&&(e._copy(i,s-u,o,c-u,u),c-=u),l.data&&(e._copy(l.data,0,o,c-l.data.length,l.data.length),c-=l.data.length),s=l.start}s>0&&e._copy(i,0,o,0,s),n={resultId:n.resultId,data:o}}}if(c_(n)){this._currentDocumentResponse=new A_(t,n.resultId,n.data);let e=e_(n,r,this._model.getLanguageId());if(i.length>0)for(let t of i)for(let n of e)for(let e of t.changes)n.applyEdit(e.range,e.text);this._model.tokenization.setSemanticTokens(e,!0)}else this._model.tokenization.setSemanticTokens(null,!0);o()}};j_.REQUEST_MIN_DELAY=300,j_.REQUEST_MAX_DELAY=2e3,j_=y_([K(2,i.ga),K(3,i.t),K(4,i.Zo)],j_);var M_=RegExp(`(\\\\)?\\$\\((${i.wl.iconNameExpression}(?:${i.wl.iconModifierExpression})?)\\)`,`g`);function N_(e){let t=[],n,r=0,i=0;for(;(n=M_.exec(e))!==null;){i=n.index||0,t.push(e.substring(r,i)),r=(n.index||0)+n[0].length;let[,a,o]=n;t.push(a?`$(${o})`:P_({id:o}))}return r<e.length&&t.push(e.substring(r)),t}function P_(e){let t=i.za(`span`);return t.classList.add(...i.wl.asClassNameArray(e)),t}var F_={buttonBackground:i.Bi.fromHex(`#0E639C`),buttonHoverBackground:i.Bi.fromHex(`#006BB3`),buttonSeparator:i.Bi.white,buttonForeground:i.Bi.white},I_=class extends i.Xl{constructor(e,t){super(),this._onDidClick=this._register(new i.Ul),this.options=t||Object.create(null),i.bu(this.options,F_,!1),this.buttonForeground=this.options.buttonForeground,this.buttonBackground=this.options.buttonBackground,this.buttonHoverBackground=this.options.buttonHoverBackground,this.buttonSecondaryForeground=this.options.buttonSecondaryForeground,this.buttonSecondaryBackground=this.options.buttonSecondaryBackground,this.buttonSecondaryHoverBackground=this.options.buttonSecondaryHoverBackground,this.buttonBorder=this.options.buttonBorder,this._element=document.createElement(`a`),this._element.classList.add(`monaco-button`),this._element.tabIndex=0,this._element.setAttribute(`role`,`button`),e.appendChild(this._element),this._register(Wi.addTarget(this._element)),[i.Ua.CLICK,N.Tap].forEach(e=>{this._register(i.Ka(this._element,e,e=>{if(!this.enabled){i.Ha.stop(e);return}this._onDidClick.fire(e)}))}),this._register(i.Ka(this._element,i.Ua.KEY_DOWN,e=>{let t=new i.Ho(e),n=!1;this.enabled&&(t.equals(3)||t.equals(10))?(this._onDidClick.fire(e),n=!0):t.equals(9)&&(this._element.blur(),n=!0),n&&i.Ha.stop(t,!0)})),this._register(i.Ka(this._element,i.Ua.MOUSE_OVER,e=>{this._element.classList.contains(`disabled`)||this.setHoverBackground()})),this._register(i.Ka(this._element,i.Ua.MOUSE_OUT,e=>{this.applyStyles()})),this.focusTracker=this._register(i.No(this._element)),this._register(this.focusTracker.onDidFocus(()=>{this.enabled&&this.setHoverBackground()})),this._register(this.focusTracker.onDidBlur(()=>{this.enabled&&this.applyStyles()})),this.applyStyles()}get onDidClick(){return this._onDidClick.event}setHoverBackground(){let e;e=this.options.secondary?this.buttonSecondaryHoverBackground?this.buttonSecondaryHoverBackground.toString():null:this.buttonHoverBackground?this.buttonHoverBackground.toString():null,e&&(this._element.style.backgroundColor=e)}style(e){this.buttonForeground=e.buttonForeground,this.buttonBackground=e.buttonBackground,this.buttonHoverBackground=e.buttonHoverBackground,this.buttonSecondaryForeground=e.buttonSecondaryForeground,this.buttonSecondaryBackground=e.buttonSecondaryBackground,this.buttonSecondaryHoverBackground=e.buttonSecondaryHoverBackground,this.buttonBorder=e.buttonBorder,this.applyStyles()}applyStyles(){if(this._element){let e,t;this.options.secondary?(t=this.buttonSecondaryForeground?this.buttonSecondaryForeground.toString():``,e=this.buttonSecondaryBackground?this.buttonSecondaryBackground.toString():``):(t=this.buttonForeground?this.buttonForeground.toString():``,e=this.buttonBackground?this.buttonBackground.toString():``);let n=this.buttonBorder?this.buttonBorder.toString():``;this._element.style.color=t,this._element.style.backgroundColor=e,this._element.style.borderWidth=n?`1px`:``,this._element.style.borderStyle=n?`solid`:``,this._element.style.borderColor=n}}get element(){return this._element}set label(e){this._element.classList.add(`monaco-text-button`),this.options.supportIcons?i.Eo(this._element,...N_(e)):this._element.textContent=e,typeof this.options.title==`string`?this._element.title=this.options.title:this.options.title&&(this._element.title=e)}set enabled(e){e?(this._element.classList.remove(`disabled`),this._element.setAttribute(`aria-disabled`,`false`),this._element.tabIndex=0):(this._element.classList.add(`disabled`),this._element.setAttribute(`aria-disabled`,`true`))}get enabled(){return!this._element.classList.contains(`disabled`)}},L_={badgeBackground:i.Bi.fromHex(`#4D4D4D`),badgeForeground:i.Bi.fromHex(`#FFFFFF`)},R_=class{constructor(e,t){this.count=0,this.options=t||Object.create(null),i.bu(this.options,L_,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=i.Xa(e,i.za(`.monaco-count-badge`)),this.countFormat=this.options.countFormat||`{0}`,this.titleFormat=this.options.titleFormat||``,this.setCount(this.options.count||0)}setCount(e){this.count=e,this.render()}setTitleFormat(e){this.titleFormat=e,this.render()}render(){this.element.textContent=i.Rc(this.countFormat,this.count),this.element.title=i.Rc(this.titleFormat,this.count),this.applyStyles()}style(e){this.badgeBackground=e.badgeBackground,this.badgeForeground=e.badgeForeground,this.badgeBorder=e.badgeBorder,this.applyStyles()}applyStyles(){if(this.element){let e=this.badgeBackground?this.badgeBackground.toString():``,t=this.badgeForeground?this.badgeForeground.toString():``,n=this.badgeBorder?this.badgeBorder.toString():``;this.element.style.backgroundColor=e,this.element.style.color=t,this.element.style.borderWidth=n?`1px`:``,this.element.style.borderStyle=n?`solid`:``,this.element.style.borderColor=n}}},z_=`done`,B_=`active`,V_=`infinite`,H_=`infinite-long-running`,U_=`discrete`,W_={progressBarBackground:i.Bi.fromHex(`#0E70C0`)},G_=class e extends i.Xl{constructor(t,n){super(),this.options=n||Object.create(null),i.bu(this.options,W_,!1),this.workedVal=0,this.progressBarBackground=this.options.progressBarBackground,this.showDelayedScheduler=this._register(new i.ys(()=>i.jo(this.element),0)),this.longRunningScheduler=this._register(new i.ys(()=>this.infiniteLongRunning(),e.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(t)}create(e){this.element=document.createElement(`div`),this.element.classList.add(`monaco-progress-container`),this.element.setAttribute(`role`,`progressbar`),this.element.setAttribute(`aria-valuemin`,`0`),e.appendChild(this.element),this.bit=document.createElement(`div`),this.bit.classList.add(`progress-bit`),this.element.appendChild(this.bit),this.applyStyles()}off(){this.bit.style.width=`inherit`,this.bit.style.opacity=`1`,this.element.classList.remove(B_,V_,H_,U_),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(z_),this.element.classList.contains(V_)?(this.bit.style.opacity=`0`,e?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width=`inherit`,e?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width=`2%`,this.bit.style.opacity=`1`,this.element.classList.remove(U_,z_,H_),this.element.classList.add(B_,V_),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(H_)}getContainer(){return this.element}style(e){this.progressBarBackground=e.progressBarBackground,this.applyStyles()}applyStyles(){if(this.bit){let e=this.progressBarBackground?this.progressBarBackground.toString():``;this.bit.style.backgroundColor=e}}};G_.LONG_RUNNING_INFINITE_THRESHOLD=1e4;var K_=class{constructor(e){this._prefix=e,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}},q_=new K_(`id#`),J_={},Y_=new K_(`quick-input-button-icon-`);function X_(e){if(!e)return;let t,n=e.dark.toString();return J_[n]?t=J_[n]:(t=Y_.nextId(),i.to(`.${t}, .hc-light .${t}`,`background-image: ${i.Qa(e.light||e.dark)}`),i.to(`.vs-dark .${t}, .hc-black .${t}`,`background-image: ${i.Qa(e.dark)}`),J_[n]=t),t}var Z_={ctrlCmd:!1,alt:!1},Q_;(function(e){e[e.Blur=1]=`Blur`,e[e.Gesture=2]=`Gesture`,e[e.Other=3]=`Other`})(Q_||={});var $_;(function(e){e[e.NONE=0]=`NONE`,e[e.FIRST=1]=`FIRST`,e[e.SECOND=2]=`SECOND`,e[e.LAST=3]=`LAST`})($_||={}),new class{constructor(e){this.options=e}};function ev(e,t={}){let n=nv(t);return n.textContent=e,n}function tv(e,t={}){let n=nv(t);return iv(n,av(e,!!t.renderCodeSegments),t.actionHandler,t.renderCodeSegments),n}function nv(e){let t=e.inline?`span`:`div`,n=document.createElement(t);return e.className&&(n.className=e.className),n}var rv=class{constructor(e){this.source=e,this.index=0}eos(){return this.index>=this.source.length}next(){let e=this.peek();return this.advance(),e}peek(){return this.source[this.index]}advance(){this.index++}};function iv(e,t,n,r){let a;if(t.type===2)a=document.createTextNode(t.content||``);else if(t.type===3)a=document.createElement(`b`);else if(t.type===4)a=document.createElement(`i`);else if(t.type===7&&r)a=document.createElement(`code`);else if(t.type===5&&n){let e=document.createElement(`a`);n.disposables.add(i.Ja(e,`click`,e=>{n.callback(String(t.index),e)})),a=e}else t.type===8?a=document.createElement(`br`):t.type===1&&(a=e);a&&e!==a&&e.appendChild(a),a&&Array.isArray(t.children)&&t.children.forEach(e=>{iv(a,e,n,r)})}function av(e,t){let n={type:1,children:[]},r=0,i=n,a=[],o=new rv(e);for(;!o.eos();){let e=o.next(),n=e===`\\`&&sv(o.peek(),t)!==0;if(n&&(e=o.next()),!n&&ov(e,t)&&e===o.peek()){o.advance(),i.type===2&&(i=a.pop());let n=sv(e,t);if(i.type===n||i.type===5&&n===6)i=a.pop();else{let e={type:n,children:[]};n===5&&(e.index=r,r++),i.children.push(e),a.push(i),i=e}}else if(e===`
|
|
521
|
+
`)i.type===2&&(i=a.pop()),i.children.push({type:8});else if(i.type!==2){let t={type:2,content:e};i.children.push(t),a.push(i),i=t}else i.content+=e}return i.type===2&&(i=a.pop()),a.length,n}function ov(e,t){return sv(e,t)!==0}function sv(e,t){switch(e){case`*`:return 3;case`_`:return 4;case`[`:return 5;case`]`:return 6;case"`":return t?7:0;default:return 0}}var cv=class{constructor(e,t=0,n=e.length,r=t-1){this.items=e,this.start=t,this.end=n,this.index=r}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}},lv=class{constructor(e=[],t=10){this._initialize(e),this._limit=t,this._onChange()}getHistory(){return this._elements}add(e){this._history.delete(e),this._history.add(e),this._onChange()}next(){return this._currentPosition()===this._elements.length-1?null:this._navigator.next()}previous(){return this._currentPosition()===0?null:this._navigator.previous()}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();let e=this._elements;this._navigator=new cv(e,0,e.length,e.length)}_reduceToLimit(){let e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))}_currentPosition(){let e=this._navigator.current();return e?this._elements.indexOf(e):-1}_initialize(e){this._history=new Set;for(let t of e)this._history.add(t)}get _elements(){let e=[];return this._history.forEach(t=>e.push(t)),e}},uv=i.za,dv={inputBackground:i.Bi.fromHex(`#3C3C3C`),inputForeground:i.Bi.fromHex(`#CCCCCC`),inputValidationInfoBorder:i.Bi.fromHex(`#55AAFF`),inputValidationInfoBackground:i.Bi.fromHex(`#063B49`),inputValidationWarningBorder:i.Bi.fromHex(`#B89500`),inputValidationWarningBackground:i.Bi.fromHex(`#352A05`),inputValidationErrorBorder:i.Bi.fromHex(`#BE1100`),inputValidationErrorBackground:i.Bi.fromHex(`#5A1D1D`)},fv=class extends ds{constructor(e,t,n){super(),this.state=`idle`,this.maxHeight=1/0,this._onDidChange=this._register(new i.Ul),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new i.Ul),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=t,this.options=n||Object.create(null),i.bu(this.options,dv,!1),this.message=null,this.placeholder=this.options.placeholder||``,this.tooltip=this.options.tooltip??(this.placeholder||``),this.ariaLabel=this.options.ariaLabel||``,this.inputBackground=this.options.inputBackground,this.inputForeground=this.options.inputForeground,this.inputBorder=this.options.inputBorder,this.inputValidationInfoBorder=this.options.inputValidationInfoBorder,this.inputValidationInfoBackground=this.options.inputValidationInfoBackground,this.inputValidationInfoForeground=this.options.inputValidationInfoForeground,this.inputValidationWarningBorder=this.options.inputValidationWarningBorder,this.inputValidationWarningBackground=this.options.inputValidationWarningBackground,this.inputValidationWarningForeground=this.options.inputValidationWarningForeground,this.inputValidationErrorBorder=this.options.inputValidationErrorBorder,this.inputValidationErrorBackground=this.options.inputValidationErrorBackground,this.inputValidationErrorForeground=this.options.inputValidationErrorForeground,this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=i.Xa(e,uv(`.monaco-inputbox.idle`));let r=this.options.flexibleHeight?`textarea`:`input`,a=i.Xa(this.element,uv(`.ibwrapper`));if(this.input=i.Xa(a,uv(r+`.input.empty`)),this.input.setAttribute(`autocorrect`,`off`),this.input.setAttribute(`autocapitalize`,`off`),this.input.setAttribute(`spellcheck`,`false`),this.onfocus(this.input,()=>this.element.classList.add(`synthetic-focus`)),this.onblur(this.input,()=>this.element.classList.remove(`synthetic-focus`)),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight==`number`?this.options.flexibleMaxHeight:1/0,this.mirror=i.Xa(a,uv(`div.mirror`)),this.mirror.innerText=`\xA0`,this.scrollableElement=new Ns(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute(`wrap`,`off`),this.mirror.style.whiteSpace=`pre`,this.mirror.style.wordWrap=`initial`),i.Xa(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(e=>this.input.scrollTop=e.scrollTop));let t=this._register(new U(document,`selectionchange`)),n=i.Wl.filter(t.event,()=>document.getSelection()?.anchorNode===a);this._register(n(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||`text`,this.input.setAttribute(`wrap`,`off`);this.ariaLabel&&this.input.setAttribute(`aria-label`,this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this.ignoreGesture(this.input),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new Rf(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute(`placeholder`,``)}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute(`placeholder`,this.placeholder||``)}setPlaceHolder(e){this.placeholder=e,this.input.setAttribute(`placeholder`,e)}setTooltip(e){this.tooltip=e,this.input.title=e}setAriaLabel(e){this.ariaLabel=e,e?this.input.setAttribute(`aria-label`,this.ariaLabel):this.input.removeAttribute(`aria-label`)}getAriaLabel(){return this.ariaLabel}get inputElement(){return this.input}get value(){return this.input.value}set value(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())}get height(){return typeof this.cachedHeight==`number`?this.cachedHeight:i.ho(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return document.activeElement===this.input}select(e=null){this.input.select(),e&&(this.input.setSelectionRange(e.start,e.end),e.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}enable(){this.input.removeAttribute(`disabled`)}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}get width(){return i.go(this.input)}set width(e){if(this.options.flexibleHeight&&this.options.flexibleWidth){let t=0;this.mirror&&(t=(parseFloat(this.mirror.style.paddingLeft||``)||0)+(parseFloat(this.mirror.style.paddingRight||``)||0)),this.input.style.width=e-t+`px`}else this.input.style.width=e+`px`;this.mirror&&(this.mirror.style.width=e+`px`)}set paddingRight(e){this.input.style.width=`calc(100% - ${e}px)`,this.mirror&&(this.mirror.style.paddingRight=e+`px`)}updateScrollDimensions(){if(typeof this.cachedContentHeight!=`number`||typeof this.cachedHeight!=`number`||!this.scrollableElement)return;let e=this.cachedContentHeight,t=this.cachedHeight,n=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:e,height:t}),this.scrollableElement.setScrollPosition({scrollTop:n})}showMessage(e,t){this.message=e,this.element.classList.remove(`idle`),this.element.classList.remove(`info`),this.element.classList.remove(`warning`),this.element.classList.remove(`error`),this.element.classList.add(this.classForType(e.type));let n=this.stylesForType(this.message.type);this.element.style.border=n.border?`1px solid ${n.border}`:``,(this.hasFocus()||t)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove(`info`),this.element.classList.remove(`warning`),this.element.classList.remove(`error`),this.element.classList.add(`idle`),this._hideMessage(),this.applyStyles()}validate(){let e=null;return this.validation&&(e=this.validation(this.value),e?(this.inputElement.setAttribute(`aria-invalid`,`true`),this.showMessage(e)):this.inputElement.hasAttribute(`aria-invalid`)&&(this.inputElement.removeAttribute(`aria-invalid`),this.hideMessage())),e?.type}stylesForType(e){switch(e){case 1:return{border:this.inputValidationInfoBorder,background:this.inputValidationInfoBackground,foreground:this.inputValidationInfoForeground};case 2:return{border:this.inputValidationWarningBorder,background:this.inputValidationWarningBackground,foreground:this.inputValidationWarningForeground};default:return{border:this.inputValidationErrorBorder,background:this.inputValidationErrorBackground,foreground:this.inputValidationErrorForeground}}}classForType(e){switch(e){case 1:return`info`;case 2:return`warning`;default:return`error`}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let e,t=()=>e.style.width=i.go(this.element)+`px`;this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:n=>{if(!this.message)return null;e=i.Xa(n,uv(`.monaco-inputbox-container`)),t();let r={inline:!0,className:`monaco-inputbox-message`},a=this.message.formatContent?tv(this.message.content,r):ev(this.message.content,r);a.classList.add(this.classForType(this.message.type));let o=this.stylesForType(this.message.type);return a.style.backgroundColor=o.background?o.background.toString():``,a.style.color=o.foreground?o.foreground.toString():``,a.style.border=o.border?`1px solid ${o.border}`:``,i.Xa(e,a),null},onHide:()=>{this.state=`closed`},layout:t});let n;n=this.message.type===3?i.Td(`alertErrorMessage`,`Error: {0}`,this.message.content):this.message.type===2?i.Td(`alertWarningMessage`,`Warning: {0}`,this.message.content):i.Td(`alertInfoMessage`,`Info: {0}`,this.message.content),vi(n),this.state=`open`}_hideMessage(){this.contextViewProvider&&(this.state===`open`&&this.contextViewProvider.hideContextView(),this.state=`idle`)}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle(`empty`,!this.value),this.state===`open`&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;let e=this.value,t=e.charCodeAt(e.length-1)===10?` `:``;(e+t).replace(/\u000c/g,``)?this.mirror.textContent=e+t:this.mirror.innerText=`\xA0`,this.layout()}style(e){this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()}applyStyles(){let e=this.inputBackground?this.inputBackground.toString():``,t=this.inputForeground?this.inputForeground.toString():``,n=this.inputBorder?this.inputBorder.toString():``;this.element.style.backgroundColor=e,this.element.style.color=t,this.input.style.backgroundColor=`inherit`,this.input.style.color=t,this.element.style.borderWidth=n?`1px`:``,this.element.style.borderStyle=n?`solid`:``,this.element.style.borderColor=n}layout(){if(!this.mirror)return;let e=this.cachedContentHeight;this.cachedContentHeight=i.ho(this.mirror),e!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+`px`,this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(e){let t=this.inputElement,n=t.selectionStart,r=t.selectionEnd,i=t.value;n!==null&&r!==null&&(this.value=i.substr(0,n)+e+i.substr(r),t.setSelectionRange(n+1,n+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar&&this.actionbar.dispose(),super.dispose()}},pv=class extends fv{constructor(e,t,n){let r=i.Td({key:`history.inputbox.hint`,comment:[`Text will be prefixed with ⇅ plus a single space, then used as a hint where input field keeps history`]},`for history`),a=` or \u21C5 ${r}`,o=` (\u21C5 ${r})`;super(e,t,n),this._onDidFocus=this._register(new i.Ul),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new i.Ul),this.onDidBlur=this._onDidBlur.event,this.history=new lv(n.history,100);let s=()=>{if(n.showHistoryHint&&n.showHistoryHint()&&!this.placeholder.endsWith(a)&&!this.placeholder.endsWith(o)&&this.history.getHistory().length){let e=this.placeholder.endsWith(`)`)?a:o,t=this.placeholder+e;n.showPlaceholderOnFocus&&document.activeElement!==this.input?this.placeholder=t:this.setPlaceHolder(t)}};this.observer=new MutationObserver((e,t)=>{e.forEach(e=>{e.target.textContent||s()})}),this.observer.observe(this.input,{attributeFilter:[`class`]}),this.onfocus(this.input,()=>s()),this.onblur(this.input,()=>{let e=e=>{if(this.placeholder.endsWith(e)){let t=this.placeholder.slice(0,this.placeholder.length-e.length);return n.showPlaceholderOnFocus?this.placeholder=t:this.setPlaceHolder(t),!0}else return!1};e(o)||e(a)})}dispose(){super.dispose(),this.observer&&=(this.observer.disconnect(),void 0)}addToHistory(){this.value&&this.value!==this.getCurrentValue()&&this.history.add(this.value)}showNextValue(){this.history.has(this.value)||this.addToHistory();let e=this.getNextValue();e&&=e===this.value?this.getNextValue():e,e&&(this.value=e,yi(this.value))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let e=this.getPreviousValue();e&&=e===this.value?this.getPreviousValue():e,e&&(this.value=e,yi(this.value))}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let e=this.history.current();return e||(e=this.history.last(),this.history.next()),e}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()||this.history.last()}},mv=i.za,hv=class extends i.Xl{constructor(e){super(),this.parent=e,this.onKeyDown=e=>i.Ka(this.inputBox.inputElement,i.Ua.KEY_DOWN,t=>{e(new i.Ho(t))}),this.onMouseDown=e=>i.Ka(this.inputBox.inputElement,i.Ua.MOUSE_DOWN,t=>{e(new i.Bo(t))}),this.onDidChange=e=>this.inputBox.onDidChange(e),this.container=i.Xa(this.parent,mv(`.quick-input-box`)),this.inputBox=this._register(new fv(this.container,void 0))}get value(){return this.inputBox.value}set value(e){this.inputBox.value=e}select(e=null){this.inputBox.select(e)}isSelectionAtEnd(){return this.inputBox.isSelectionAtEnd()}get placeholder(){return this.inputBox.inputElement.getAttribute(`placeholder`)||``}set placeholder(e){this.inputBox.setPlaceHolder(e)}get ariaLabel(){return this.inputBox.getAriaLabel()}set ariaLabel(e){this.inputBox.setAriaLabel(e)}get password(){return this.inputBox.inputElement.type===`password`}set password(e){this.inputBox.inputElement.type=e?`password`:`text`}setAttribute(e,t){this.inputBox.inputElement.setAttribute(e,t)}removeAttribute(e){this.inputBox.inputElement.removeAttribute(e)}showDecoration(e){e===H.Ignore?this.inputBox.hideMessage():this.inputBox.showMessage({type:e===H.Info?1:e===H.Warning?2:3,content:``})}stylesForType(e){return this.inputBox.stylesForType(e===H.Info?1:e===H.Warning?2:3)}setFocus(){this.inputBox.focus()}layout(){this.inputBox.layout()}style(e){this.inputBox.style(e)}},gv=class e{constructor(e,t){this.text=``,this.title=``,this.highlights=[],this.didEverRender=!1,this.supportIcons=t?.supportIcons??!1,this.domNode=i.Xa(e,i.za(`span.monaco-highlighted-label`))}get element(){return this.domNode}set(t,n=[],r=``,a){t||=``,a&&(t=e.escapeNewLines(t,n)),!(this.didEverRender&&this.text===t&&this.title===r&&i.yu(this.highlights,n))&&(this.text=t,this.title=r,this.highlights=n,this.render())}render(){let e=[],t=0;for(let n of this.highlights){if(n.end===n.start)continue;if(t<n.start){let r=this.text.substring(t,n.start);e.push(i.za(`span`,void 0,...this.supportIcons?N_(r):[r])),t=n.end}let r=this.text.substring(n.start,n.end),a=i.za(`span.highlight`,void 0,...this.supportIcons?N_(r):[r]);n.extraClasses&&a.classList.add(...n.extraClasses),e.push(a),t=n.end}if(t<this.text.length){let n=this.text.substring(t);e.push(i.za(`span`,void 0,...this.supportIcons?N_(n):[n]))}i.Eo(this.domNode,...e),this.title?this.domNode.title=this.title:this.domNode.removeAttribute(`title`),this.didEverRender=!0}static escapeNewLines(e,t){let n=0,r=0;return e.replace(/\r\n|\r|\n/g,(e,i)=>{r=e===`\r
|
|
522
|
+
`?-1:0,i+=n;for(let e of t)e.end<=i||(e.start>=i&&(e.start+=r),e.end>=i&&(e.end+=r));return n+=r,`⏎`})}},_v=class{constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set className(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?`0`:``)}dispose(){this.disposed=!0}},vv=class extends i.Xl{constructor(e,t){super(),this.customHovers=new Map,this.domNode=this._register(new _v(i.Xa(e,i.za(`.monaco-icon-label`)))),this.labelContainer=i.Xa(this.domNode.element,i.za(`.monaco-icon-label-container`));let n=i.Xa(this.labelContainer,i.za(`span.monaco-icon-name-container`));this.descriptionContainer=this._register(new _v(i.Xa(this.labelContainer,i.za(`span.monaco-icon-description-container`)))),t?.supportHighlights||t?.supportIcons?this.nameNode=new xv(n,!!t.supportIcons):this.nameNode=new yv(n),t?.supportDescriptionHighlights?this.descriptionNodeFactory=()=>new gv(i.Xa(this.descriptionContainer.element,i.za(`span.label-description`)),{supportIcons:!!t.supportIcons}):this.descriptionNodeFactory=()=>this._register(new _v(i.Xa(this.descriptionContainer.element,i.za(`span.label-description`)))),this.hoverDelegate=t?.hoverDelegate}get element(){return this.domNode.element}setLabel(e,t,n){let r=[`monaco-icon-label`];n&&(n.extraClasses&&r.push(...n.extraClasses),n.italic&&r.push(`italic`),n.strikethrough&&r.push(`strikethrough`)),this.domNode.className=r.join(` `),this.setupHover(n?.descriptionTitle?this.labelContainer:this.element,n?.title),this.nameNode.setLabel(e,n),(t||this.descriptionNode)&&(this.descriptionNode||=this.descriptionNodeFactory(),this.descriptionNode instanceof gv?(this.descriptionNode.set(t||``,n?n.descriptionMatches:void 0),this.setupHover(this.descriptionNode.element,n?.descriptionTitle)):(this.descriptionNode.textContent=t||``,this.setupHover(this.descriptionNode.element,n?.descriptionTitle||``),this.descriptionNode.empty=!t))}setupHover(e,t){let n=this.customHovers.get(e);if(n&&(n.dispose(),this.customHovers.delete(e)),!t){e.removeAttribute(`title`);return}if(!this.hoverDelegate)Mf(e,t);else{let n=Pf(this.hoverDelegate,e,t);n&&this.customHovers.set(e,n)}}dispose(){super.dispose();for(let e of this.customHovers.values())e.dispose();this.customHovers.clear()}},yv=class{constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&i.yu(this.options,t)))if(this.label=e,this.options=t,typeof e==`string`)this.singleLabel||=(this.container.innerText=``,this.container.classList.remove(`multiple`),i.Xa(this.container,i.za(`a.label-name`,{id:t?.domId}))),this.singleLabel.textContent=e;else{this.container.innerText=``,this.container.classList.add(`multiple`),this.singleLabel=void 0;for(let n=0;n<e.length;n++){let r=e[n],a=t?.domId&&`${t?.domId}_${n}`;i.Xa(this.container,i.za(`a.label-name`,{id:a,"data-icon-label-count":e.length,"data-icon-label-index":n,role:`treeitem`},r)),n<e.length-1&&i.Xa(this.container,i.za(`span.label-separator`,void 0,t?.separator||`/`))}}}};function bv(e,t,n){if(!n)return;let r=0;return e.map(e=>{let i={start:r,end:r+e.length},a=n.map(e=>G.intersect(i,e)).filter(e=>!G.isEmpty(e)).map(({start:e,end:t})=>({start:e-r,end:t-r}));return r=i.end+t.length,a})}var xv=class{constructor(e,t){this.container=e,this.supportIcons=t,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&i.yu(this.options,t)))if(this.label=e,this.options=t,typeof e==`string`)this.singleLabel||=(this.container.innerText=``,this.container.classList.remove(`multiple`),new gv(i.Xa(this.container,i.za(`a.label-name`,{id:t?.domId})),{supportIcons:this.supportIcons})),this.singleLabel.set(e,t?.matches,void 0,t?.labelEscapeNewLines);else{this.container.innerText=``,this.container.classList.add(`multiple`),this.singleLabel=void 0;let n=t?.separator||`/`,r=bv(e,n,t?.matches);for(let a=0;a<e.length;a++){let o=e[a],s=r?r[a]:void 0,c=t?.domId&&`${t?.domId}_${a}`,l=i.za(`a.label-name`,{id:c,"data-icon-label-count":e.length,"data-icon-label-index":a,role:`treeitem`});new gv(i.Xa(this.container,l),{supportIcons:this.supportIcons}).set(o,s,void 0,t?.labelEscapeNewLines),a<e.length-1&&i.Xa(l,i.za(`span.label-separator`,void 0,n))}}}},Sv=i.za,Cv=class e{constructor(e,t,n){this.os=t,this.keyElements=new Set,this.options=n||Object.create(null),this.labelBackground=this.options.keybindingLabelBackground,this.labelForeground=this.options.keybindingLabelForeground,this.labelBorder=this.options.keybindingLabelBorder,this.labelBottomBorder=this.options.keybindingLabelBottomBorder,this.labelShadow=this.options.keybindingLabelShadow,this.domNode=i.Xa(e,Sv(`.monaco-keybinding`)),this.didEverRender=!1,e.appendChild(this.domNode)}get element(){return this.domNode}set(t,n){this.didEverRender&&this.keybinding===t&&e.areSame(this.matches,n)||(this.keybinding=t,this.matches=n,this.render())}render(){if(this.clear(),this.keybinding){let[e,t]=this.keybinding.getParts();e&&this.renderPart(this.domNode,e,this.matches?this.matches.firstPart:null),t&&(i.Xa(this.domNode,Sv(`span.monaco-keybinding-key-chord-separator`,void 0,` `)),this.renderPart(this.domNode,t,this.matches?this.matches.chordPart:null)),this.domNode.title=this.keybinding.getAriaLabel()||``}else this.options&&this.options.renderUnboundKeybindings&&this.renderUnbound(this.domNode);this.applyStyles(),this.didEverRender=!0}clear(){i.$a(this.domNode),this.keyElements.clear()}renderPart(e,t,n){let r=Um.modifierLabels[this.os];t.ctrlKey&&this.renderKey(e,r.ctrlKey,!!n?.ctrlKey,r.separator),t.shiftKey&&this.renderKey(e,r.shiftKey,!!n?.shiftKey,r.separator),t.altKey&&this.renderKey(e,r.altKey,!!n?.altKey,r.separator),t.metaKey&&this.renderKey(e,r.metaKey,!!n?.metaKey,r.separator);let i=t.keyLabel;i&&this.renderKey(e,i,!!n?.keyCode,``)}renderKey(e,t,n,r){i.Xa(e,this.createKeyElement(t,n?`.highlight`:``)),r&&i.Xa(e,Sv(`span.monaco-keybinding-key-separator`,void 0,r))}renderUnbound(e){i.Xa(e,this.createKeyElement(i.Td(`unbound`,`Unbound`)))}createKeyElement(e,t=``){let n=Sv(`span.monaco-keybinding-key`+t,void 0,e);return this.keyElements.add(n),n}style(e){this.labelBackground=e.keybindingLabelBackground,this.labelForeground=e.keybindingLabelForeground,this.labelBorder=e.keybindingLabelBorder,this.labelBottomBorder=e.keybindingLabelBottomBorder,this.labelShadow=e.keybindingLabelShadow,this.applyStyles()}applyStyles(){if(this.element){for(let e of this.keyElements)this.labelBackground&&(e.style.backgroundColor=this.labelBackground?.toString()),this.labelBorder&&(e.style.borderColor=this.labelBorder.toString()),this.labelBottomBorder&&(e.style.borderBottomColor=this.labelBottomBorder.toString()),this.labelShadow&&(e.style.boxShadow=`inset 0 -1px 0 ${this.labelShadow}`);this.labelForeground&&(this.element.style.color=this.labelForeground.toString())}}static areSame(e,t){return e===t||!e&&!t?!0:!!e&&!!t&&i.yu(e.firstPart,t.firstPart)&&i.yu(e.chordPart,t.chordPart)}},wv=new i.hs(()=>{let e=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});return{collator:e,collatorIsNumeric:e.resolvedOptions().numeric}});new i.hs(()=>({collator:new Intl.Collator(void 0,{numeric:!0})})),new i.hs(()=>({collator:new Intl.Collator(void 0,{numeric:!0,sensitivity:`accent`})}));function Tv(e,t,n=!1){let r=e||``,i=t||``,a=wv.value.collator.compare(r,i);return wv.value.collatorIsNumeric&&a===0&&r!==i?r<i?-1:1:a}function Ev(e,t,n){let r=e.toLowerCase(),i=t.toLowerCase(),a=Dv(e,t,n);if(a)return a;let o=r.endsWith(n);if(o!==i.endsWith(n))return o?-1:1;let s=Tv(r,i);return s===0?r.localeCompare(i):s}function Dv(e,t,n){let r=e.toLowerCase(),i=t.toLowerCase(),a=r.startsWith(n),o=i.startsWith(n);if(a!==o)return a?-1:1;if(a&&o){if(r.length<i.length)return-1;if(r.length>i.length)return 1}return 0}var Ov=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},kv=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Av=i.za,jv=class{constructor(e){this.hidden=!1,this._onChecked=new i.Ul,this.onChecked=this._onChecked.event,Object.assign(this,e)}get checked(){return!!this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire(e))}dispose(){this._onChecked.dispose()}},Mv=class e{get templateId(){return e.ID}renderTemplate(e){let t=Object.create(null);t.toDisposeElement=[],t.toDisposeTemplate=[],t.entry=i.Xa(e,Av(`.quick-input-list-entry`));let n=i.Xa(t.entry,Av(`label.quick-input-list-label`));t.toDisposeTemplate.push(i.Ja(n,i.Ua.CLICK,e=>{t.checkbox.offsetParent||e.preventDefault()})),t.checkbox=i.Xa(n,Av(`input.quick-input-list-checkbox`)),t.checkbox.type=`checkbox`,t.toDisposeTemplate.push(i.Ja(t.checkbox,i.Ua.CHANGE,e=>{t.element.checked=t.checkbox.checked}));let r=i.Xa(n,Av(`.quick-input-list-rows`)),a=i.Xa(r,Av(`.quick-input-list-row`)),o=i.Xa(r,Av(`.quick-input-list-row`));return t.label=new vv(a,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0}),t.keybinding=new Cv(i.Xa(a,Av(`.quick-input-list-entry-keybinding`)),i.hd),t.detail=new vv(i.Xa(o,Av(`.quick-input-list-label-meta`)),{supportHighlights:!0,supportIcons:!0}),t.separator=i.Xa(t.entry,Av(`.quick-input-list-separator`)),t.actionBar=new Rf(t.entry),t.actionBar.domNode.classList.add(`quick-input-list-entry-action-bar`),t.toDisposeTemplate.push(t.actionBar),t}renderElement(e,t,n){n.toDisposeElement=i.nu(n.toDisposeElement),n.element=e,n.checkbox.checked=e.checked,n.toDisposeElement.push(e.onChecked(e=>n.checkbox.checked=e));let{labelHighlights:r,descriptionHighlights:a,detailHighlights:o}=e,s=Object.create(null);s.matches=r||[],s.descriptionTitle=e.saneDescription,s.descriptionMatches=a||[],s.extraClasses=e.item.iconClasses,s.italic=e.item.italic,s.strikethrough=e.item.strikethrough,n.label.setLabel(e.saneLabel,e.saneDescription,s),n.keybinding.set(e.item.keybinding),e.saneDetail&&n.detail.setLabel(e.saneDetail,void 0,{matches:o,title:e.saneDetail}),e.separator&&e.separator.label?(n.separator.textContent=e.separator.label,n.separator.style.display=``):n.separator.style.display=`none`,n.entry.classList.toggle(`quick-input-list-separator-border`,!!e.separator),n.actionBar.clear();let c=e.item.buttons;c&&c.length?(n.actionBar.push(c.map((t,n)=>{let r=t.iconClass||(t.iconPath?X_(t.iconPath):void 0);t.alwaysVisible&&(r=r?`${r} always-visible`:`always-visible`);let a=new i.Na(`id-${n}`,``,r,!0,()=>kv(this,void 0,void 0,function*(){e.fireButtonTriggered({button:t,item:e.item})}));return a.tooltip=t.tooltip||``,a}),{icon:!0,label:!1}),n.entry.classList.add(`has-actions`)):n.entry.classList.remove(`has-actions`)}disposeElement(e,t,n){n.toDisposeElement=i.nu(n.toDisposeElement)}disposeTemplate(e){e.toDisposeElement=i.nu(e.toDisposeElement),e.toDisposeTemplate=i.nu(e.toDisposeTemplate)}};Mv.ID=`listelement`;var Nv=class{getHeight(e){return e.saneDetail?44:22}getTemplateId(e){return Mv.ID}},q;(function(e){e[e.First=1]=`First`,e[e.Second=2]=`Second`,e[e.Last=3]=`Last`,e[e.Next=4]=`Next`,e[e.Previous=5]=`Previous`,e[e.NextPage=6]=`NextPage`,e[e.PreviousPage=7]=`PreviousPage`})(q||={});var Pv=class{constructor(e,t,n){this.parent=e,this.inputElements=[],this.elements=[],this.elementsToIndexes=new Map,this.matchOnDescription=!1,this.matchOnDetail=!1,this.matchOnLabel=!0,this.matchOnLabelMode=`fuzzy`,this.matchOnMeta=!0,this.sortByLabel=!0,this._onChangedAllVisibleChecked=new i.Ul,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new i.Ul,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new i.Ul,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new i.Ul,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new i.Ul,this.onButtonTriggered=this._onButtonTriggered.event,this._onKeyDown=new i.Ul,this.onKeyDown=this._onKeyDown.event,this._onLeave=new i.Ul,this.onLeave=this._onLeave.event,this._fireCheckedEvents=!0,this.elementDisposables=[],this.disposables=[],this.id=t,this.container=i.Xa(this.parent,Av(`.quick-input-list`));let r=new Nv,a=new Rv;this.list=n.createList(`QuickInput`,this.container,r,[new Mv],{identityProvider:{getId:e=>e.saneLabel},setRowLineHeight:!1,multipleSelectionSupport:!1,horizontalScrolling:!1,accessibilityProvider:a}),this.list.getHTMLElement().id=t,this.disposables.push(this.list),this.disposables.push(this.list.onKeyDown(e=>{let t=new i.Ho(e);switch(t.keyCode){case 10:this.toggleCheckbox();break;case 31:(i.bd?e.metaKey:e.ctrlKey)&&this.list.setFocus(i.id(this.list.length));break;case 16:{let e=this.list.getFocus();e.length===1&&e[0]===0&&this._onLeave.fire();break}case 18:{let e=this.list.getFocus();e.length===1&&e[0]===this.list.length-1&&this._onLeave.fire();break}}this._onKeyDown.fire(t)})),this.disposables.push(this.list.onMouseDown(e=>{e.browserEvent.button!==2&&e.browserEvent.preventDefault()})),this.disposables.push(i.Ka(this.container,i.Ua.CLICK,e=>{(e.x||e.y)&&this._onLeave.fire()})),this.disposables.push(this.list.onMouseMiddleClick(e=>{this._onLeave.fire()})),this.disposables.push(this.list.onContextMenu(e=>{typeof e.index==`number`&&(e.browserEvent.preventDefault(),this.list.setSelection([e.index]))})),this.disposables.push(this._onChangedAllVisibleChecked,this._onChangedCheckedCount,this._onChangedVisibleCount,this._onChangedCheckedElements,this._onButtonTriggered,this._onLeave,this._onKeyDown)}get onDidChangeFocus(){return i.Wl.map(this.list.onDidChangeFocus,e=>e.elements.map(e=>e.item))}get onDidChangeSelection(){return i.Wl.map(this.list.onDidChangeSelection,e=>({items:e.elements.map(e=>e.item),event:e.browserEvent}))}get scrollTop(){return this.list.scrollTop}set scrollTop(e){this.list.scrollTop=e}getAllVisibleChecked(){return this.allVisibleChecked(this.elements,!1)}allVisibleChecked(e,t=!0){for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r.hidden)if(r.checked)t=!0;else return!1}return t}getCheckedCount(){let e=0,t=this.elements;for(let n=0,r=t.length;n<r;n++)t[n].checked&&e++;return e}getVisibleCount(){let e=0,t=this.elements;for(let n=0,r=t.length;n<r;n++)t[n].hidden||e++;return e}setAllVisibleChecked(e){try{this._fireCheckedEvents=!1,this.elements.forEach(t=>{t.hidden||(t.checked=e)})}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}setElements(e){this.elementDisposables=i.nu(this.elementDisposables);let t=e=>this.fireButtonTriggered(e);this.inputElements=e,this.elements=e.reduce((n,r,a)=>{if(r.type!==`separator`){let o=a&&e[a-1],s=r.label&&r.label.replace(/\r?\n/g,` `),c=xf(s).text.trim(),l=r.meta&&r.meta.replace(/\r?\n/g,` `),u=r.description&&r.description.replace(/\r?\n/g,` `),d=r.detail&&r.detail.replace(/\r?\n/g,` `),f=r.ariaLabel||[s,u,d].map(e=>i.El(e)).filter(e=>!!e).join(`, `),p=this.parent.classList.contains(`show-checkboxes`);n.push(new jv({hasCheckbox:p,index:a,item:r,saneLabel:s,saneSortLabel:c,saneMeta:l,saneAriaLabel:f,saneDescription:u,saneDetail:d,labelHighlights:r.highlights?.label,descriptionHighlights:r.highlights?.description,detailHighlights:r.highlights?.detail,checked:!1,separator:o&&o.type===`separator`?o:void 0,fireButtonTriggered:t}))}return n},[]),this.elementDisposables.push(...this.elements),this.elementDisposables.push(...this.elements.map(e=>e.onChecked(()=>this.fireCheckedEvents()))),this.elementsToIndexes=this.elements.reduce((e,t,n)=>(e.set(t.item,n),e),new Map),this.list.splice(0,this.list.length),this.list.splice(0,this.list.length,this.elements),this._onChangedVisibleCount.fire(this.elements.length)}getFocusedElements(){return this.list.getFocusedElements().map(e=>e.item)}setFocusedElements(e){if(this.list.setFocus(e.filter(e=>this.elementsToIndexes.has(e)).map(e=>this.elementsToIndexes.get(e))),e.length>0){let e=this.list.getFocus()[0];typeof e==`number`&&this.list.reveal(e)}}getActiveDescendant(){return this.list.getHTMLElement().getAttribute(`aria-activedescendant`)}setSelectedElements(e){this.list.setSelection(e.filter(e=>this.elementsToIndexes.has(e)).map(e=>this.elementsToIndexes.get(e)))}getCheckedElements(){return this.elements.filter(e=>e.checked).map(e=>e.item)}setCheckedElements(e){try{this._fireCheckedEvents=!1;let t=new Set;for(let n of e)t.add(n);for(let e of this.elements)e.checked=t.has(e.item)}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}set enabled(e){this.list.getHTMLElement().style.pointerEvents=e?``:`none`}focus(e){if(!this.list.length)return;switch(e===q.Next&&this.list.getFocus()[0]===this.list.length-1&&(e=q.First),e===q.Previous&&this.list.getFocus()[0]===0&&(e=q.Last),e===q.Second&&this.list.length<2&&(e=q.First),e){case q.First:this.list.focusFirst();break;case q.Second:this.list.focusNth(1);break;case q.Last:this.list.focusLast();break;case q.Next:this.list.focusNext();break;case q.Previous:this.list.focusPrevious();break;case q.NextPage:this.list.focusNextPage();break;case q.PreviousPage:this.list.focusPreviousPage();break}let t=this.list.getFocus()[0];typeof t==`number`&&this.list.reveal(t)}clearFocus(){this.list.setFocus([])}domFocus(){this.list.domFocus()}layout(e){this.list.getHTMLElement().style.maxHeight=e?`calc(${Math.floor(e/44)*44}px)`:``,this.list.layout()}filter(e){if(!(this.sortByLabel||this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))return this.list.layout(),!1;let t=e;if(e=e.trim(),!e||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this.elements.forEach(e=>{e.labelHighlights=void 0,e.descriptionHighlights=void 0,e.detailHighlights=void 0,e.hidden=!1;let t=e.index&&this.inputElements[e.index-1];e.separator=t&&t.type===`separator`?t:void 0});else{let n;this.elements.forEach(r=>{let a;a=this.matchOnLabelMode===`fuzzy`?this.matchOnLabel?i.Iu(Cf(e,xf(r.saneLabel))):void 0:this.matchOnLabel?i.Iu(Fv(t,xf(r.saneLabel))):void 0;let o=this.matchOnDescription?i.Iu(Cf(e,xf(r.saneDescription||``))):void 0,s=this.matchOnDetail?i.Iu(Cf(e,xf(r.saneDetail||``))):void 0,c=this.matchOnMeta?i.Iu(Cf(e,xf(r.saneMeta||``))):void 0;if(a||o||s||c?(r.labelHighlights=a,r.descriptionHighlights=o,r.detailHighlights=s,r.hidden=!1):(r.labelHighlights=void 0,r.descriptionHighlights=void 0,r.detailHighlights=void 0,r.hidden=!r.item.alwaysShow),r.separator=void 0,!this.sortByLabel){let e=r.index&&this.inputElements[r.index-1];n=e&&e.type===`separator`?e:n,n&&!r.hidden&&(r.separator=n,n=void 0)}})}let n=this.elements.filter(e=>!e.hidden);if(this.sortByLabel&&e){let t=e.toLowerCase();n.sort((e,n)=>Lv(e,n,t))}return this.elementsToIndexes=n.reduce((e,t,n)=>(e.set(t.item,n),e),new Map),this.list.splice(0,this.list.length,n),this.list.setFocus([]),this.list.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(n.length),!0}toggleCheckbox(){try{this._fireCheckedEvents=!1;let e=this.list.getFocusedElements(),t=this.allVisibleChecked(e);for(let n of e)n.checked=!t}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}display(e){this.container.style.display=e?``:`none`}isDisplayed(){return this.container.style.display!==`none`}dispose(){this.elementDisposables=i.nu(this.elementDisposables),this.disposables=i.nu(this.disposables)}fireCheckedEvents(){this._fireCheckedEvents&&(this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedCheckedCount.fire(this.getCheckedCount()),this._onChangedCheckedElements.fire(this.getCheckedElements()))}fireButtonTriggered(e){this._onButtonTriggered.fire(e)}style(e){this.list.style(e)}};Ov([M],Pv.prototype,`onDidChangeFocus`,null),Ov([M],Pv.prototype,`onDidChangeSelection`,null);function Fv(e,t){let{text:n,iconOffsets:r}=t;if(!r||r.length===0)return Iv(e,n);let a=i.Qc(n,` `),o=n.length-a.length,s=Iv(e,a);if(s)for(let e of s){let t=r[e.start+o]+o;e.start+=t,e.end+=t}return s}function Iv(e,t){let n=t.toLowerCase().indexOf(e.toLowerCase());return n===-1?null:[{start:n,end:n+e.length}]}function Lv(e,t,n){let r=e.labelHighlights||[],i=t.labelHighlights||[];return r.length&&!i.length?-1:!r.length&&i.length?1:r.length===0&&i.length===0?0:Ev(e.saneSortLabel,t.saneSortLabel,n)}var Rv=class{getWidgetAriaLabel(){return i.Td(`quickInput`,`Quick Input`)}getAriaLabel(e){return e.separator?.label?`${e.saneAriaLabel}, ${e.separator.label}`:e.saneAriaLabel}getWidgetRole(){return`listbox`}getRole(e){return e.hasCheckbox?`checkbox`:`option`}isChecked(e){if(e.hasCheckbox)return{value:e.checked,onDidChange:e.onChecked}}},zv=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Bv=i.za,Vv={iconClass:i.Tl.quickInputBack.classNames,tooltip:i.Td(`quickInput.back`,`Back`),handle:-1},Hv=class e extends i.Xl{constructor(t){super(),this.ui=t,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.noValidationMessage=e.noPromptMessage,this._severity=H.Ignore,this.buttonsUpdated=!1,this.onDidTriggerButtonEmitter=this._register(new i.Ul),this.onDidHideEmitter=this._register(new i.Ul),this.onDisposeEmitter=this._register(new i.Ul),this.visibleDisposables=this._register(new i.Zl),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){let t=this._ignoreFocusOut!==e&&!i._d;this._ignoreFocusOut=e&&!i._d,t&&this.update()}get buttons(){return this._buttons}set buttons(e){this._buttons=e,this.buttonsUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(e=>{this.buttons.indexOf(e)!==-1&&this.onDidTriggerButtonEmitter.fire(e)})),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(e=Q_.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}update(){if(!this.visible)return;let e=this.getTitle();e&&this.ui.title.textContent!==e?this.ui.title.textContent=e:!e&&this.ui.title.innerHTML!==` `&&(this.ui.title.innerText=`\xA0`);let t=this.getDescription();if(this.ui.description1.textContent!==t&&(this.ui.description1.textContent=t),this.ui.description2.textContent!==t&&(this.ui.description2.textContent=t),this.busy&&!this.busyDelay&&(this.busyDelay=new i.xs,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();let e=this.buttons.filter(e=>e===Vv);this.ui.leftActionBar.push(e.map((e,t)=>{let n=new i.Na(`id-${t}`,``,e.iconClass||X_(e.iconPath),!0,()=>zv(this,void 0,void 0,function*(){this.onDidTriggerButtonEmitter.fire(e)}));return n.tooltip=e.tooltip||``,n}),{icon:!0,label:!1}),this.ui.rightActionBar.clear();let t=this.buttons.filter(e=>e!==Vv);this.ui.rightActionBar.push(t.map((e,t)=>{let n=new i.Na(`id-${t}`,``,e.iconClass||X_(e.iconPath),!0,()=>zv(this,void 0,void 0,function*(){this.onDidTriggerButtonEmitter.fire(e)}));return n.tooltip=e.tooltip||``,n}),{icon:!0,label:!1})}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);let n=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==n&&(this._lastValidationMessage=n,i.Eo(this.ui.message,...N_(n))),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():``}getDescription(){return this.description||``}getSteps(){return this.step&&this.totalSteps?i.Td(`quickInput.steps`,`{0}/{1}`,this.step,this.totalSteps):this.step?String(this.step):``}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==H.Ignore){let t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?`${t.foreground}`:``,this.ui.message.style.backgroundColor=t.background?`${t.background}`:``,this.ui.message.style.border=t.border?`1px solid ${t.border}`:``,this.ui.message.style.marginBottom=`-2px`}else this.ui.message.style.color=``,this.ui.message.style.backgroundColor=``,this.ui.message.style.border=``,this.ui.message.style.marginBottom=``}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}};Hv.noPromptMessage=i.Td(`inputModeEntry`,`Press 'Enter' to confirm your input or 'Escape' to cancel`);var Uv=class e extends Hv{constructor(){super(...arguments),this._value=``,this.onDidChangeValueEmitter=this._register(new i.Ul),this.onWillAcceptEmitter=this._register(new i.Ul),this.onDidAcceptEmitter=this._register(new i.Ul),this.onDidCustomEmitter=this._register(new i.Ul),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode=`fuzzy`,this._sortByLabel=!0,this._autoFocusOnList=!0,this._keepScrollPosition=!1,this._itemActivation=this.ui.isScreenReaderOptimized()?$_.NONE:$_.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new i.Ul),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new i.Ul),this.onDidTriggerItemButtonEmitter=this._register(new i.Ul),this.valueSelectionUpdated=!0,this._ok=`default`,this._customButton=!1,this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){this._value!==e&&(this._value=e,t||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get autoFocusOnList(){return this._autoFocusOnList}set autoFocusOnList(e){this._autoFocusOnList=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?Z_:this.ui.keyMods}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.autoFocusOnList&&(this.canSelectMany||this.ui.list.focus(q.First))}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{this.doSetValue(e,!0)})),this.visibleDisposables.add(this.ui.inputBox.onMouseDown(e=>{this.autoFocusOnList||this.ui.list.clearFocus()})),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown(e=>{switch(e.keyCode){case 18:this.ui.list.focus(q.Next),this.canSelectMany&&this.ui.list.domFocus(),i.Ha.stop(e,!0);break;case 16:this.ui.list.getFocusedElements().length?this.ui.list.focus(q.Previous):this.ui.list.focus(q.Last),this.canSelectMany&&this.ui.list.domFocus(),i.Ha.stop(e,!0);break;case 12:this.ui.list.focus(q.NextPage),this.canSelectMany&&this.ui.list.domFocus(),i.Ha.stop(e,!0);break;case 11:this.ui.list.focus(q.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),i.Ha.stop(e,!0);break;case 17:if(!this._canAcceptInBackground||!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!0));break;case 14:(e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&(this.ui.list.focus(q.First),i.Ha.stop(e,!0));break;case 13:(e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&(this.ui.list.focus(q.Last),i.Ha.stop(e,!0));break}})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this.ui.list.onDidChangeFocus(e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&i.Wu(e,this._activeItems,(e,t)=>e===t)||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:e,event:t})=>{if(this.canSelectMany){e.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&i.Wu(e,this._selectedItems,(e,t)=>e===t)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(t instanceof MouseEvent&&t.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(e=>{this.canSelectMany&&(this.selectedItemsToConfirm!==this._selectedItems&&i.Wu(e,this._selectedItems,(e,t)=>e===t)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e)))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(e=>this.onDidTriggerItemButtonEmitter.fire(e))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return i.Ka(this.ui.container,i.Ua.KEY_UP,e=>{if(this.canSelectMany||!this._quickNavigate)return;let t=new i.Ho(e),n=t.keyCode;this._quickNavigate.keybindings.some(e=>{let[r,i]=e.getParts();return i?!1:r.shiftKey&&n===4?!(t.ctrlKey||t.altKey||t.metaKey):!!(r.altKey&&n===6||r.ctrlKey&&n===5||r.metaKey&&n===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;let t=this.keepScrollPosition?this.scrollTop:0,n=!!this._hideInput&&this._items.length>0;this.ui.container.classList.toggle(`hidden-input`,n&&!this.description);let r={title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!n,progressBar:!n,visibleCount:!0,count:this.canSelectMany,ok:this.ok===`default`?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(r),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||``)&&(this.ui.inputBox.placeholder=this.placeholder||``);let i=this.ariaLabel;if(i||(i=this.placeholder||e.DEFAULT_ARIA_LABEL,this.title&&(i+=` - ${this.title}`)),this.ui.inputBox.ariaLabel!==i&&(this.ui.inputBox.ariaLabel=i),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated)switch(this.itemsUpdated=!1,this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case $_.NONE:this._itemActivation=$_.FIRST;break;case $_.SECOND:this.ui.list.focus(q.Second),this._itemActivation=$_.FIRST;break;case $_.LAST:this.ui.list.focus(q.Last),this._itemActivation=$_.FIRST;break;default:this.trySelectFirst();break}this.ui.container.classList.contains(`show-checkboxes`)!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||``,this.ui.customButton.element.title=this.customHover||``,this.ui.setComboboxAccessibility(!0),r.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(q.First)),this.keepScrollPosition&&(this.scrollTop=t)}};Uv.DEFAULT_ARIA_LABEL=i.Td(`quickInputBox.ariaLabel`,`Type to narrow down results.`);var Wv=class e extends i.Xl{constructor(e){super(),this.options=e,this.comboboxAccessibility=!1,this.enabled=!0,this.onDidAcceptEmitter=this._register(new i.Ul),this.onDidCustomEmitter=this._register(new i.Ul),this.onDidTriggerButtonEmitter=this._register(new i.Ul),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new i.Ul),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new i.Ul),this.onHide=this.onHideEmitter.event,this.idPrefix=e.idPrefix,this.parentElement=e.container,this.styles=e.styles,this.registerKeyModsListeners()}registerKeyModsListeners(){let e=e=>{this.keyMods.ctrlCmd=e.ctrlKey||e.metaKey,this.keyMods.alt=e.altKey};this._register(i.Ka(window,i.Ua.KEY_DOWN,e,!0)),this._register(i.Ka(window,i.Ua.KEY_UP,e,!0)),this._register(i.Ka(window,i.Ua.MOUSE_DOWN,e,!0))}getUI(){if(this.ui)return this.ui;let e=i.Xa(this.parentElement,Bv(`.quick-input-widget.show-file-icons`));e.tabIndex=-1,e.style.display=`none`;let t=i.ro(e),n=i.Xa(e,Bv(`.quick-input-titlebar`)),r=this._register(new Rf(n));r.domNode.classList.add(`quick-input-left-action-bar`);let a=i.Xa(n,Bv(`.quick-input-title`)),o=this._register(new Rf(n));o.domNode.classList.add(`quick-input-right-action-bar`);let s=i.Xa(e,Bv(`.quick-input-description`)),c=i.Xa(e,Bv(`.quick-input-header`)),l=i.Xa(c,Bv(`input.quick-input-check-all`));l.type=`checkbox`,l.setAttribute(`aria-label`,i.Td(`quickInput.checkAll`,`Toggle all checkboxes`)),this._register(i.Ja(l,i.Ua.CHANGE,e=>{let t=l.checked;C.setAllVisibleChecked(t)})),this._register(i.Ka(l,i.Ua.CLICK,e=>{(e.x||e.y)&&p.setFocus()}));let u=i.Xa(c,Bv(`.quick-input-description`)),d=i.Xa(c,Bv(`.quick-input-and-message`)),f=i.Xa(d,Bv(`.quick-input-filter`)),p=this._register(new hv(f));p.setAttribute(`aria-describedby`,`${this.idPrefix}message`);let m=i.Xa(f,Bv(`.quick-input-visible-count`));m.setAttribute(`aria-live`,`polite`),m.setAttribute(`aria-atomic`,`true`);let h=new R_(m,{countFormat:i.Td({key:`quickInput.visibleCount`,comment:[`This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers.`]},`{0} Results`)}),g=i.Xa(f,Bv(`.quick-input-count`));g.setAttribute(`aria-live`,`polite`);let _=new R_(g,{countFormat:i.Td({key:`quickInput.countSelected`,comment:[`This tells the user how many items are selected in a list of items to select from. The items can be anything.`]},`{0} Selected`)}),v=i.Xa(c,Bv(`.quick-input-action`)),y=new I_(v);y.label=i.Td(`ok`,`OK`),this._register(y.onDidClick(e=>{this.onDidAcceptEmitter.fire()}));let b=i.Xa(c,Bv(`.quick-input-action`)),x=new I_(b);x.label=i.Td(`custom`,`Custom`),this._register(x.onDidClick(e=>{this.onDidCustomEmitter.fire()}));let S=i.Xa(d,Bv(`#${this.idPrefix}message.quick-input-message`)),C=this._register(new Pv(e,this.idPrefix+`list`,this.options));this._register(C.onChangedAllVisibleChecked(e=>{l.checked=e})),this._register(C.onChangedVisibleCount(e=>{h.setCount(e)})),this._register(C.onChangedCheckedCount(e=>{_.setCount(e)})),this._register(C.onLeave(()=>{setTimeout(()=>{p.setFocus(),this.controller instanceof Uv&&this.controller.canSelectMany&&C.clearFocus()},0)})),this._register(C.onDidChangeFocus(()=>{this.comboboxAccessibility&&this.getUI().inputBox.setAttribute(`aria-activedescendant`,this.getUI().list.getActiveDescendant()||``)}));let w=new G_(e);w.getContainer().classList.add(`quick-input-progress`);let T=i.No(e);return this._register(T),this._register(i.Ka(e,i.Ua.FOCUS,e=>{this.previousFocusElement=e.relatedTarget instanceof HTMLElement?e.relatedTarget:void 0},!0)),this._register(T.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(Q_.Blur),this.previousFocusElement=void 0})),this._register(i.Ka(e,i.Ua.FOCUS,e=>{p.setFocus()})),this._register(i.Ka(e,i.Ua.KEY_DOWN,t=>{let n=new i.Ho(t);switch(n.keyCode){case 3:i.Ha.stop(t,!0),this.onDidAcceptEmitter.fire();break;case 9:i.Ha.stop(t,!0),this.hide(Q_.Gesture);break;case 2:if(!n.altKey&&!n.ctrlKey&&!n.metaKey){let r=[`.action-label.codicon`];e.classList.contains(`show-checkboxes`)?r.push(`input`):r.push(`input[type=text]`),this.getUI().list.isDisplayed()&&r.push(`.monaco-list`);let a=e.querySelectorAll(r.join(`, `));n.shiftKey&&n.target===a[0]?(i.Ha.stop(t,!0),a[a.length-1].focus()):!n.shiftKey&&n.target===a[a.length-1]&&(i.Ha.stop(t,!0),a[0].focus())}break}})),this.ui={container:e,styleSheet:t,leftActionBar:r,titleBar:n,title:a,description1:s,description2:u,rightActionBar:o,checkAll:l,filterContainer:f,inputBox:p,visibleCountContainer:m,visibleCount:h,countContainer:g,count:_,okContainer:v,ok:y,message:S,customButtonContainer:b,customButton:x,list:C,progressBar:w,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,isScreenReaderOptimized:()=>this.options.isScreenReaderOptimized(),show:e=>this.show(e),hide:()=>this.hide(),setVisibilities:e=>this.setVisibilities(e),setComboboxAccessibility:e=>this.setComboboxAccessibility(e),setEnabled:e=>this.setEnabled(e),setContextKey:e=>this.options.setContextKey(e)},this.updateStyles(),this.ui}pick(e,t={},n=i.Bl.None){return new Promise((r,a)=>{let o=e=>{var n;o=r,(n=t.onKeyMods)==null||n.call(t,s.keyMods),r(e)};if(n.isCancellationRequested){o(void 0);return}let s=this.createQuickPick(),c,l=[s,s.onDidAccept(()=>{if(s.canSelectMany)o(s.selectedItems.slice()),s.hide();else{let e=s.activeItems[0];e&&(o(e),s.hide())}}),s.onDidChangeActive(e=>{let n=e[0];n&&t.onDidFocus&&t.onDidFocus(n)}),s.onDidChangeSelection(e=>{if(!s.canSelectMany){let t=e[0];t&&(o(t),s.hide())}}),s.onDidTriggerItemButton(e=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton(Object.assign(Object.assign({},e),{removeItem:()=>{let t=s.items.indexOf(e.item);if(t!==-1){let e=s.items.slice(),n=e.splice(t,1),r=s.activeItems.filter(e=>e!==n[0]),i=s.keepScrollPosition;s.keepScrollPosition=!0,s.items=e,r&&(s.activeItems=r),s.keepScrollPosition=i}}}))),s.onDidChangeValue(e=>{c&&!e&&(s.activeItems.length!==1||s.activeItems[0]!==c)&&(s.activeItems=[c])}),n.onCancellationRequested(()=>{s.hide()}),s.onDidHide(()=>{i.nu(l),o(void 0)})];s.title=t.title,s.canSelectMany=!!t.canPickMany,s.placeholder=t.placeHolder,s.ignoreFocusOut=!!t.ignoreFocusLost,s.matchOnDescription=!!t.matchOnDescription,s.matchOnDetail=!!t.matchOnDetail,s.matchOnLabel=t.matchOnLabel===void 0||t.matchOnLabel,s.autoFocusOnList=t.autoFocusOnList===void 0||t.autoFocusOnList,s.quickNavigate=t.quickNavigate,s.hideInput=!!t.hideInput,s.contextKey=t.contextKey,s.busy=!0,Promise.all([e,t.activeItem]).then(([e,t])=>{c=t,s.busy=!1,s.items=e,s.canSelectMany&&(s.selectedItems=e.filter(e=>e.type!==`separator`&&e.picked)),c&&(s.activeItems=[c])}),s.show(),Promise.resolve(e).then(void 0,e=>{a(e),s.hide()})})}createQuickPick(){return new Uv(this.getUI())}show(e){let t=this.getUI();this.onShowEmitter.fire();let n=this.controller;this.controller=e,n&&n.didHide(),this.setEnabled(!0),t.leftActionBar.clear(),t.title.textContent=``,t.description1.textContent=``,t.description2.textContent=``,t.rightActionBar.clear(),t.checkAll.checked=!1,t.inputBox.placeholder=``,t.inputBox.password=!1,t.inputBox.showDecoration(H.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),i.Eo(t.message),t.progressBar.stop(),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.ignoreFocusOut=!1,this.setComboboxAccessibility(!1),t.inputBox.ariaLabel=``;let r=this.options.backKeybindingLabel();Vv.tooltip=r?i.Td(`quickInput.backWithKeybinding`,`Back ({0})`,r):i.Td(`quickInput.back`,`Back`),t.container.style.display=``,this.updateLayout(),t.inputBox.setFocus()}setVisibilities(e){let t=this.getUI();t.title.style.display=e.title?``:`none`,t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?``:`none`,t.description2.style.display=e.description&&!(e.inputBox||e.checkAll)?``:`none`,t.checkAll.style.display=e.checkAll?``:`none`,t.filterContainer.style.display=e.inputBox?``:`none`,t.visibleCountContainer.style.display=e.visibleCount?``:`none`,t.countContainer.style.display=e.count?``:`none`,t.okContainer.style.display=e.ok?``:`none`,t.customButtonContainer.style.display=e.customButton?``:`none`,t.message.style.display=e.message?``:`none`,t.progressBar.getContainer().style.display=e.progressBar?``:`none`,t.list.display(!!e.list),t.container.classList[e.checkBox?`add`:`remove`](`show-checkboxes`),this.updateLayout()}setComboboxAccessibility(e){if(e!==this.comboboxAccessibility){let t=this.getUI();this.comboboxAccessibility=e,this.comboboxAccessibility?(t.inputBox.setAttribute(`role`,`combobox`),t.inputBox.setAttribute(`aria-haspopup`,`true`),t.inputBox.setAttribute(`aria-autocomplete`,`list`),t.inputBox.setAttribute(`aria-activedescendant`,t.list.getActiveDescendant()||``)):(t.inputBox.removeAttribute(`role`),t.inputBox.removeAttribute(`aria-haspopup`),t.inputBox.removeAttribute(`aria-autocomplete`),t.inputBox.removeAttribute(`aria-activedescendant`))}}setEnabled(e){if(e!==this.enabled){this.enabled=e;for(let t of this.getUI().leftActionBar.viewItems)t.getAction().enabled=e;for(let t of this.getUI().rightActionBar.viewItems)t.getAction().enabled=e;this.getUI().checkAll.disabled=!e,this.getUI().ok.enabled=e,this.getUI().list.enabled=e}}hide(e){let t=this.controller;if(t){let n=!this.ui?.container.contains(document.activeElement);if(this.controller=null,this.onHideEmitter.fire(),this.getUI().container.style.display=`none`,!n){let e=this.previousFocusElement;for(;e&&!e.offsetParent;)e=i.Iu(e.parentElement);e?.offsetParent?(e.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}t.didHide(e)}}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.updateLayout()}updateLayout(){if(this.ui){this.ui.container.style.top=`${this.titleBarOffset}px`;let t=this.ui.container.style,n=Math.min(this.dimension.width*.62,e.MAX_WIDTH);t.width=n+`px`,t.marginLeft=`-`+n/2+`px`,this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&this.dimension.height*.4)}}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){let{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:n,contrastBorder:r,widgetShadow:i}=this.styles.widget;this.ui.titleBar.style.backgroundColor=e?e.toString():``,this.ui.container.style.backgroundColor=t?t.toString():``,this.ui.container.style.color=n?n.toString():``,this.ui.container.style.border=r?`1px solid ${r}`:``,this.ui.container.style.boxShadow=i?`0 0 8px 2px ${i}`:``,this.ui.inputBox.style(this.styles.inputBox),this.ui.count.style(this.styles.countBadge),this.ui.ok.style(this.styles.button),this.ui.customButton.style(this.styles.button),this.ui.progressBar.style(this.styles.progressBar),this.ui.list.style(this.styles.list);let a=[];this.styles.list.pickerGroupBorder&&a.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.list.pickerGroupBorder}; }`),this.styles.list.pickerGroupForeground&&a.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.list.pickerGroupForeground}; }`),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(a.push(`.quick-input-list .monaco-keybinding > .monaco-keybinding-key {`),this.styles.keybindingLabel.keybindingLabelBackground&&a.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&a.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&a.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&a.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&a.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),a.push(`}`));let o=a.join(`
|
|
523
|
+
`);o!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=o)}}};Wv.MAX_WIDTH=600;var Gv=class{constructor(e){this.spliceables=e}splice(e,t,n){this.spliceables.forEach(r=>r.splice(e,t,n))}},Kv=class extends Error{constructor(e,t){super(`ListError [${e}] ${t}`)}};function qv(e,t){let n=[];for(let r of t){if(e.start>=r.range.end)continue;if(e.end<r.range.start)break;let t=G.intersect(e,r.range);G.isEmpty(t)||n.push({range:t,size:r.size})}return n}function Jv({start:e,end:t},n){return{start:e+n,end:t+n}}function Yv(e){let t=[],n=null;for(let r of e){let e=r.range.start,i=r.range.end,a=r.size;if(n&&a===n.size){n.range.end=i;continue}n={range:{start:e,end:i},size:a},t.push(n)}return t}function Xv(...e){return Yv(e.reduce((e,t)=>e.concat(t),[]))}var Zv=class{constructor(){this.groups=[],this._size=0}splice(e,t,n=[]){let r=n.length-t,i=qv({start:0,end:e},this.groups),a=qv({start:e+t,end:1/0},this.groups).map(e=>({range:Jv(e.range,r),size:e.size}));this.groups=Xv(i,n.map((t,n)=>({range:{start:e+n,end:e+n+1},size:t.size})),a),this._size=this.groups.reduce((e,t)=>e+t.size*(t.range.end-t.range.start),0)}get count(){let e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;let t=0,n=0;for(let r of this.groups){let i=r.range.end-r.range.start,a=n+i*r.size;if(e<a)return t+Math.floor((e-n)/r.size);t+=i,n=a}return t}indexAfter(e){return Math.min(this.indexAt(e)+1,this.count)}positionAt(e){if(e<0)return-1;let t=0,n=0;for(let r of this.groups){let i=r.range.end-r.range.start,a=n+i;if(e<a)return t+(e-n)*r.size;t+=i*r.size,n=a}return-1}};function Qv(e){var t;try{(t=e.parentElement)==null||t.removeChild(e)}catch{}}var $v=class{constructor(e){this.renderers=e,this.cache=new Map}alloc(e){let t=this.getTemplateCache(e).pop();if(!t){let n=i.za(`.monaco-list-row`);t={domNode:n,templateId:e,templateData:this.getRenderer(e).renderTemplate(n)}}return t}release(e){e&&this.releaseRow(e)}releaseRow(e){let{domNode:t,templateId:n}=e;t&&(t.classList.remove(`scrolling`),Qv(t)),this.getTemplateCache(n).push(e)}getTemplateCache(e){let t=this.cache.get(e);return t||(t=[],this.cache.set(e,t)),t}dispose(){this.cache.forEach((e,t)=>{for(let n of e)this.getRenderer(t).disposeTemplate(n.templateData),n.templateData=null}),this.cache.clear()}getRenderer(e){let t=this.renderers.get(e);if(!t)throw Error(`No renderer found for ${e}`);return t}},ey=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ty={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(e){return[e]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0},ny=class{constructor(e){this.elements=e}update(){}getData(){return this.elements}},ry=class{constructor(e){this.elements=e}update(){}getData(){return this.elements}},iy=class{constructor(){this.types=[],this.files=[]}update(e){if(e.types&&this.types.splice(0,this.types.length,...e.types),e.files){this.files.splice(0,this.files.length);for(let t=0;t<e.files.length;t++){let n=e.files.item(t);n&&(n.size||n.type)&&this.files.push(n)}}}getData(){return{types:this.types,files:this.files}}};function ay(e,t){return Array.isArray(e)&&Array.isArray(t)?i.Wu(e,t):e===t}var oy=class{constructor(e){e?.getSetSize?this.getSetSize=e.getSetSize.bind(e):this.getSetSize=(e,t,n)=>n,e?.getPosInSet?this.getPosInSet=e.getPosInSet.bind(e):this.getPosInSet=(e,t)=>t+1,e?.getRole?this.getRole=e.getRole.bind(e):this.getRole=e=>`listitem`,e?.isChecked?this.isChecked=e.isChecked.bind(e):this.isChecked=e=>void 0}},sy=class e{constructor(t,n,r,a=ty){if(this.virtualDelegate=n,this.domId=`list_id_${++e.InstanceCount}`,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new i.ms(50),this.splicing=!1,this.dragOverAnimationStopDisposable=i.Xl.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=i.Xl.None,this.onDragLeaveTimeout=i.Xl.None,this.disposables=new i.Zl,this._onDidChangeContentHeight=new i.Ul,this._horizontalScrolling=!1,a.horizontalScrolling&&a.supportDynamicHeights)throw Error(`Horizontal scrolling and dynamic heights not supported simultaneously`);this.items=[],this.itemId=0,this.rangeMap=new Zv;for(let e of r)this.renderers.set(e.templateId,e);this.cache=this.disposables.add(new $v(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement(`div`),this.domNode.className=`monaco-list`,this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle(`mouse-support`,typeof a.mouseSupport==`boolean`?a.mouseSupport:!0),this._horizontalScrolling=a.horizontalScrolling??ty.horizontalScrolling,this.domNode.classList.toggle(`horizontal-scrolling`,this._horizontalScrolling),this.additionalScrollHeight=a.additionalScrollHeight===void 0?0:a.additionalScrollHeight,this.accessibilityProvider=new oy(a.accessibilityProvider),this.rowsContainer=document.createElement(`div`),this.rowsContainer.className=`monaco-list-rows`,(a.transformOptimization??ty.transformOptimization)&&(this.rowsContainer.style.transform=`translate3d(0px, 0px, 0px)`),this.disposables.add(Wi.addTarget(this.rowsContainer)),this.scrollable=new xs({forceIntegerValues:!0,smoothScrollDuration:a.smoothScrolling??!1?125:0,scheduleAtNextAnimationFrame:e=>i.Ao(e)}),this.scrollableElement=this.disposables.add(new Ps(this.rowsContainer,{alwaysConsumeMouseWheel:a.alwaysConsumeMouseWheel??ty.alwaysConsumeMouseWheel,horizontal:1,vertical:a.verticalScrollMode??ty.verticalScrollMode,useShadows:a.useShadows??ty.useShadows,mouseWheelScrollSensitivity:a.mouseWheelScrollSensitivity,fastScrollSensitivity:a.fastScrollSensitivity},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),t.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(i.Ka(this.rowsContainer,N.Change,e=>this.onTouchChange(e))),this.disposables.add(i.Ka(this.scrollableElement.getDomNode(),`scroll`,e=>e.target.scrollTop=0)),this.disposables.add(i.Ka(this.domNode,`dragover`,e=>this.onDragOver(this.toDragEvent(e)))),this.disposables.add(i.Ka(this.domNode,`drop`,e=>this.onDrop(this.toDragEvent(e)))),this.disposables.add(i.Ka(this.domNode,`dragleave`,e=>this.onDragLeave(this.toDragEvent(e)))),this.disposables.add(i.Ka(this.domNode,`dragend`,e=>this.onDragEnd(e))),this.setRowLineHeight=a.setRowLineHeight??ty.setRowLineHeight,this.setRowHeight=a.setRowHeight??ty.setRowHeight,this.supportDynamicHeights=a.supportDynamicHeights??ty.supportDynamicHeights,this.dnd=a.dnd??ty.dnd,this.layout()}get contentHeight(){return this.rangeMap.size}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(e){if(e!==this._horizontalScrolling){if(e&&this.supportDynamicHeights)throw Error(`Horizontal scrolling and dynamic heights not supported simultaneously`);if(this._horizontalScrolling=e,this.domNode.classList.toggle(`horizontal-scrolling`,this._horizontalScrolling),this._horizontalScrolling){for(let e of this.items)this.measureItemWidth(e);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:i.lo(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=``}}updateOptions(e){e.additionalScrollHeight!==void 0&&(this.additionalScrollHeight=e.additionalScrollHeight,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),e.smoothScrolling!==void 0&&this.scrollable.setSmoothScrollDuration(e.smoothScrolling?125:0),e.horizontalScrolling!==void 0&&(this.horizontalScrolling=e.horizontalScrolling),e.mouseWheelScrollSensitivity!==void 0&&this.scrollableElement.updateOptions({mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity}),e.fastScrollSensitivity!==void 0&&this.scrollableElement.updateOptions({fastScrollSensitivity:e.fastScrollSensitivity})}splice(e,t,n=[]){if(this.splicing)throw Error(`Can't run recursive splices.`);this.splicing=!0;try{return this._splice(e,t,n)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(e,t,n=[]){let r=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),a={start:e,end:e+t},o=G.intersect(r,a),s=new Map;for(let e=o.end-1;e>=o.start;e--){let t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){let n=s.get(t.templateId);n||(n=[],s.set(t.templateId,n));let r=this.renderers.get(t.templateId);r&&r.disposeElement&&r.disposeElement(t.element,e,t.row.templateData,t.size),n.push(t.row)}t.row=null}let c={start:e+t,end:this.items.length},l=G.intersect(c,r),u=G.relativeComplement(c,r),d=n.map(e=>({id:String(this.itemId++),element:e,templateId:this.virtualDelegate.getTemplateId(e),size:this.virtualDelegate.getHeight(e),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(e),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:i.Xl.None,checkedDisposable:i.Xl.None})),f;e===0&&t>=this.items.length?(this.rangeMap=new Zv,this.rangeMap.splice(0,0,d),f=this.items,this.items=d):(this.rangeMap.splice(e,t,d),f=this.items.splice(e,t,...d));let p=n.length-t,m=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),h=Jv(l,p),g=G.intersect(m,h);for(let e=g.start;e<g.end;e++)this.updateItemInDOM(this.items[e],e);let _=G.relativeComplement(h,m);for(let e of _)for(let t=e.start;t<e.end;t++)this.removeItemFromDOM(t);let v=u.map(e=>Jv(e,p)),y=[{start:e,end:e+n.length},...v].map(e=>G.intersect(m,e)),b=this.getNextToLastElement(y);for(let e of y)for(let t=e.start;t<e.end;t++){let e=this.items[t],n=s.get(e.templateId)?.pop();this.insertItemInDOM(t,b,n)}for(let e of s.values())for(let t of e)this.cache.release(t);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),f.map(e=>e.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||=i.Ao(()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null})}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth())}updateScrollWidth(){if(!this.horizontalScrolling)return;let e=0;for(let t of this.items)t.width!==void 0&&(e=Math.max(e,t.width));this.scrollWidth=e,this.scrollableElement.setScrollDimensions({scrollWidth:e===0?0:e+10})}rerender(){if(this.supportDynamicHeights){for(let e of this.items)e.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}element(e){return this.items[e].element}domElement(e){let t=this.items[e].row;return t&&t.domNode}elementHeight(e){return this.items[e].size}elementTop(e){return this.rangeMap.positionAt(e)}indexAt(e){return this.rangeMap.indexAt(e)}indexAfter(e){return this.rangeMap.indexAfter(e)}layout(e,t){let n={height:typeof e==`number`?e:i.co(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,n.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(n),t!==void 0&&(this.renderWidth=t,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:typeof t==`number`?t:i.lo(this.domNode)})}render(e,t,n,r,i,a=!1){let o=this.getRenderRange(t,n),s=G.relativeComplement(o,e),c=G.relativeComplement(e,o),l=this.getNextToLastElement(s);if(a){let t=G.intersect(e,o);for(let e=t.start;e<t.end;e++)this.updateItemInDOM(this.items[e],e)}for(let e of s)for(let t=e.start;t<e.end;t++)this.insertItemInDOM(t,l);for(let e of c)for(let t=e.start;t<e.end;t++)this.removeItemFromDOM(t);r!==void 0&&(this.rowsContainer.style.left=`-${r}px`),this.rowsContainer.style.top=`-${t}px`,this.horizontalScrolling&&i!==void 0&&(this.rowsContainer.style.width=`${Math.max(i,this.renderWidth)}px`),this.lastRenderTop=t,this.lastRenderHeight=n}insertItemInDOM(e,t,n){let r=this.items[e];r.row||=n??this.cache.alloc(r.templateId);let a=this.accessibilityProvider.getRole(r.element)||`listitem`;r.row.domNode.setAttribute(`role`,a);let o=this.accessibilityProvider.isChecked(r.element);if(typeof o==`boolean`)r.row.domNode.setAttribute(`aria-checked`,String(!!o));else if(o){let e=e=>r.row.domNode.setAttribute(`aria-checked`,String(!!e));e(o.value),r.checkedDisposable=o.onDidChange(e)}r.row.domNode.parentElement||(t?this.rowsContainer.insertBefore(r.row.domNode,t):this.rowsContainer.appendChild(r.row.domNode)),this.updateItemInDOM(r,e);let s=this.renderers.get(r.templateId);if(!s)throw Error(`No renderer found for template id ${r.templateId}`);s?.renderElement(r.element,e,r.row.templateData,r.size);let c=this.dnd.getDragURI(r.element);r.dragStartDisposable.dispose(),r.row.domNode.draggable=!!c,c&&(r.dragStartDisposable=i.Ka(r.row.domNode,`dragstart`,e=>this.onDragStart(r.element,c,e))),this.horizontalScrolling&&(this.measureItemWidth(r),this.eventuallyUpdateScrollWidth())}measureItemWidth(e){if(!e.row||!e.row.domNode)return;e.row.domNode.style.width=i.bc?`-moz-fit-content`:`fit-content`,e.width=i.lo(e.row.domNode);let t=window.getComputedStyle(e.row.domNode);t.paddingLeft&&(e.width+=parseFloat(t.paddingLeft)),t.paddingRight&&(e.width+=parseFloat(t.paddingRight)),e.row.domNode.style.width=``}updateItemInDOM(e,t){e.row.domNode.style.top=`${this.elementTop(t)}px`,this.setRowHeight&&(e.row.domNode.style.height=`${e.size}px`),this.setRowLineHeight&&(e.row.domNode.style.lineHeight=`${e.size}px`),e.row.domNode.setAttribute(`data-index`,`${t}`),e.row.domNode.setAttribute(`data-last-element`,t===this.length-1?`true`:`false`),e.row.domNode.setAttribute(`data-parity`,t%2==0?`even`:`odd`),e.row.domNode.setAttribute(`aria-setsize`,String(this.accessibilityProvider.getSetSize(e.element,t,this.length))),e.row.domNode.setAttribute(`aria-posinset`,String(this.accessibilityProvider.getPosInSet(e.element,t))),e.row.domNode.setAttribute(`id`,this.getElementDomId(t)),e.row.domNode.classList.toggle(`drop-target`,e.dropTarget)}removeItemFromDOM(e){let t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){let n=this.renderers.get(t.templateId);n&&n.disposeElement&&n.disposeElement(t.element,e,t.row.templateData,t.size),this.cache.release(t.row),t.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(e,t){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:e,reuseAnimation:t})}get scrollTop(){return this.getScrollTop()}set scrollTop(e){this.setScrollTop(e)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.additionalScrollHeight}get onMouseClick(){return i.Wl.map(this.disposables.add(new U(this.domNode,`click`)).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseDblClick(){return i.Wl.map(this.disposables.add(new U(this.domNode,`dblclick`)).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseMiddleClick(){return i.Wl.filter(i.Wl.map(this.disposables.add(new U(this.domNode,`auxclick`)).event,e=>this.toMouseEvent(e),this.disposables),e=>e.browserEvent.button===1,this.disposables)}get onMouseDown(){return i.Wl.map(this.disposables.add(new U(this.domNode,`mousedown`)).event,e=>this.toMouseEvent(e),this.disposables)}get onContextMenu(){return i.Wl.any(i.Wl.map(this.disposables.add(new U(this.domNode,`contextmenu`)).event,e=>this.toMouseEvent(e),this.disposables),i.Wl.map(this.disposables.add(new U(this.domNode,N.Contextmenu)).event,e=>this.toGestureEvent(e),this.disposables))}get onTouchStart(){return i.Wl.map(this.disposables.add(new U(this.domNode,`touchstart`)).event,e=>this.toTouchEvent(e),this.disposables)}get onTap(){return i.Wl.map(this.disposables.add(new U(this.rowsContainer,N.Tap)).event,e=>this.toGestureEvent(e),this.disposables)}toMouseEvent(e){let t=this.getItemIndexFromEventTarget(e.target||null),n=t===void 0?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element}}toTouchEvent(e){let t=this.getItemIndexFromEventTarget(e.target||null),n=t===void 0?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element}}toGestureEvent(e){let t=this.getItemIndexFromEventTarget(e.initialTarget||null),n=t===void 0?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element}}toDragEvent(e){let t=this.getItemIndexFromEventTarget(e.target||null),n=t===void 0?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element}}onScroll(e){try{let t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(t,e.scrollTop,e.height,e.scrollLeft,e.scrollWidth),this.supportDynamicHeights&&this._rerender(e.scrollTop,e.height,e.inSmoothScrolling)}catch(t){throw console.error(`Got bad scroll event:`,e),t}}onTouchChange(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY}onDragStart(e,t,n){var r,a;if(!n.dataTransfer)return;let o=this.dnd.getDragElements(e);if(n.dataTransfer.effectAllowed=`copyMove`,n.dataTransfer.setData(pd.TEXT,t),n.dataTransfer.setDragImage){let e;this.dnd.getDragLabel&&(e=this.dnd.getDragLabel(o,n)),e===void 0&&(e=String(o.length));let t=i.za(`.monaco-drag-image`);t.textContent=e,document.body.appendChild(t),n.dataTransfer.setDragImage(t,-10,-10),setTimeout(()=>document.body.removeChild(t),0)}this.currentDragData=new ny(o),md.CurrentDragAndDropData=new ry(o),(a=(r=this.dnd).onDragStart)==null||a.call(r,this.currentDragData,n)}onDragOver(e){var t;if(e.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),md.CurrentDragAndDropData&&md.CurrentDragAndDropData.getData()===`vscode-ui`||(this.setupDragAndDropScrollTopAnimation(e.browserEvent),!e.browserEvent.dataTransfer))return!1;if(!this.currentDragData)if(md.CurrentDragAndDropData)this.currentDragData=md.CurrentDragAndDropData;else{if(!e.browserEvent.dataTransfer.types)return!1;this.currentDragData=new iy}let n=this.dnd.onDragOver(this.currentDragData,e.element,e.index,e.browserEvent);if(this.canDrop=typeof n==`boolean`?n:n.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;e.browserEvent.dataTransfer.dropEffect=typeof n!=`boolean`&&n.effect===0?`copy`:`move`;let r;if(r=typeof n!=`boolean`&&n.feedback?n.feedback:e.index===void 0?[-1]:[e.index],r=i.Uu(r).filter(e=>e>=-1&&e<this.length).sort((e,t)=>e-t),r=r[0]===-1?[-1]:r,ay(this.currentDragFeedback,r))return!0;if(this.currentDragFeedback=r,this.currentDragFeedbackDisposable.dispose(),r[0]===-1)this.domNode.classList.add(`drop-target`),this.rowsContainer.classList.add(`drop-target`),this.currentDragFeedbackDisposable=i.au(()=>{this.domNode.classList.remove(`drop-target`),this.rowsContainer.classList.remove(`drop-target`)});else{for(let e of r){let n=this.items[e];n.dropTarget=!0,(t=n.row)==null||t.domNode.classList.add(`drop-target`)}this.currentDragFeedbackDisposable=i.au(()=>{var e;for(let t of r){let n=this.items[t];n.dropTarget=!1,(e=n.row)==null||e.domNode.classList.remove(`drop-target`)}})}return!0}onDragLeave(e){var t,n;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=i.ws(()=>this.clearDragOverFeedback(),100),this.currentDragData&&((n=(t=this.dnd).onDragLeave)==null||n.call(t,this.currentDragData,e.element,e.index,e.browserEvent))}onDrop(e){if(!this.canDrop)return;let t=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.currentDragData=void 0,md.CurrentDragAndDropData=void 0,!(!t||!e.browserEvent.dataTransfer)&&(e.browserEvent.preventDefault(),t.update(e.browserEvent.dataTransfer),this.dnd.drop(t,e.element,e.index,e.browserEvent))}onDragEnd(e){var t,n;this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.currentDragData=void 0,md.CurrentDragAndDropData=void 0,(n=(t=this.dnd).onDragEnd)==null||n.call(t,e)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=i.Xl.None}setupDragAndDropScrollTopAnimation(e){if(!this.dragOverAnimationDisposable){let e=i.mo(this.domNode).top;this.dragOverAnimationDisposable=i.Ya(this.animateDragAndDropScrollTop.bind(this,e))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=i.ws(()=>{this.dragOverAnimationDisposable&&=(this.dragOverAnimationDisposable.dispose(),void 0)},1e3),this.dragOverMouseY=e.pageY}animateDragAndDropScrollTop(e){if(this.dragOverMouseY===void 0)return;let t=this.dragOverMouseY-e,n=this.renderHeight-35;t<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(t-35))):t>n&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-n))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&=(this.dragOverAnimationDisposable.dispose(),void 0)}getItemIndexFromEventTarget(e){let t=this.scrollableElement.getDomNode(),n=e;for(;n instanceof HTMLElement&&n!==this.rowsContainer&&t.contains(n);){let e=n.getAttribute(`data-index`);if(e){let t=Number(e);if(!isNaN(t))return t}n=n.parentElement}}getRenderRange(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}}_rerender(e,t,n){let r=this.getRenderRange(e,t),i,a;e===this.elementTop(r.start)?(i=r.start,a=0):r.end-r.start>1&&(i=r.start+1,a=this.elementTop(i)-e);let o=0;for(;;){let s=this.getRenderRange(e,t),c=!1;for(let e=s.start;e<s.end;e++){let t=this.probeDynamicHeight(e);t!==0&&this.rangeMap.splice(e,1,[this.items[e]]),o+=t,c||=t!==0}if(!c){o!==0&&this.eventuallyUpdateScrollDimensions();let t=G.relativeComplement(r,s);for(let e of t)for(let t=e.start;t<e.end;t++)this.items[t].row&&this.removeItemFromDOM(t);let c=G.relativeComplement(s,r);for(let e of c)for(let t=e.start;t<e.end;t++){let e=t+1,n=e<this.items.length?this.items[e].row:null,r=n?n.domNode:null;this.insertItemInDOM(t,r)}for(let e=s.start;e<s.end;e++)this.items[e].row&&this.updateItemInDOM(this.items[e],e);if(typeof i==`number`){let t=this.scrollable.getFutureScrollPosition().scrollTop-e,r=this.elementTop(i)-a+t;this.setScrollTop(r,n)}this._onDidChangeContentHeight.fire(this.contentHeight);return}}}probeDynamicHeight(e){var t,n,r;let i=this.items[e];if(this.virtualDelegate.getDynamicHeight){let e=this.virtualDelegate.getDynamicHeight(i.element);if(e!==null){let t=i.size;return i.size=e,i.lastDynamicHeightWidth=this.renderWidth,e-t}}if(!i.hasDynamicHeight||i.lastDynamicHeightWidth===this.renderWidth||this.virtualDelegate.hasDynamicHeight&&!this.virtualDelegate.hasDynamicHeight(i.element))return 0;let a=i.size;if(!this.setRowHeight&&i.row){let e=i.row.domNode.offsetHeight;return i.size=e,i.lastDynamicHeightWidth=this.renderWidth,e-a}let o=this.cache.alloc(i.templateId);o.domNode.style.height=``,this.rowsContainer.appendChild(o.domNode);let s=this.renderers.get(i.templateId);return s&&(s.renderElement(i.element,e,o.templateData,void 0),(t=s.disposeElement)==null||t.call(s,i.element,e,o.templateData,void 0)),i.size=o.domNode.offsetHeight,(r=(n=this.virtualDelegate).setDynamicHeight)==null||r.call(n,i.element,i.size),i.lastDynamicHeightWidth=this.renderWidth,this.rowsContainer.removeChild(o.domNode),this.cache.release(o),i.size-a}getNextToLastElement(e){let t=e[e.length-1];if(!t)return null;let n=this.items[t.end];return!n||!n.row?null:n.row.domNode}getElementDomId(e){return`${this.domId}_${e}`}dispose(){var e;if(this.items){for(let t of this.items)if(t.row){let n=this.renderers.get(t.row.templateId);n&&((e=n.disposeElement)==null||e.call(n,t.element,-1,t.row.templateData,void 0),n.disposeTemplate(t.row.templateData))}this.items=[]}this.domNode&&this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),i.nu(this.disposables)}};sy.InstanceCount=0,ey([M],sy.prototype,`onMouseClick`,null),ey([M],sy.prototype,`onMouseDblClick`,null),ey([M],sy.prototype,`onMouseMiddleClick`,null),ey([M],sy.prototype,`onMouseDown`,null),ey([M],sy.prototype,`onContextMenu`,null),ey([M],sy.prototype,`onTouchStart`,null),ey([M],sy.prototype,`onTap`,null);var cy=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ly=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},uy=class{constructor(e){this.trait=e,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(e){return e}renderElement(e,t,n){let r=this.renderedElements.findIndex(e=>e.templateData===n);if(r>=0){let e=this.renderedElements[r];this.trait.unrender(n),e.index=t}else{let e={index:t,templateData:n};this.renderedElements.push(e)}this.trait.renderIndex(t,n)}splice(e,t,n){let r=[];for(let i of this.renderedElements)i.index<e?r.push(i):i.index>=e+t&&r.push({index:i.index+n-t,templateData:i.templateData});this.renderedElements=r}renderIndexes(e){for(let{index:t,templateData:n}of this.renderedElements)e.indexOf(t)>-1&&this.trait.renderIndex(t,n)}disposeTemplate(e){let t=this.renderedElements.findIndex(t=>t.templateData===e);t<0||this.renderedElements.splice(t,1)}},dy=class{constructor(e){this._trait=e,this.length=0,this.indexes=[],this.sortedIndexes=[],this._onChange=new i.Ul,this.onChange=this._onChange.event}get name(){return this._trait}get renderer(){return new uy(this)}splice(e,t,n){t=Math.max(0,Math.min(t,this.length-e));let r=n.length-t,i=e+t,a=[...this.sortedIndexes.filter(t=>t<e),...n.map((t,n)=>t?n+e:-1).filter(e=>e!==-1),...this.sortedIndexes.filter(e=>e>=i).map(e=>e+r)],o=this.length+r;if(this.sortedIndexes.length>0&&a.length===0&&o>0){let t=this.sortedIndexes.find(t=>t>=e)??o-1;a.push(Math.min(t,o-1))}this.renderer.splice(e,t,n.length),this._set(a,a),this.length=o}renderIndex(e,t){t.classList.toggle(this._trait,this.contains(e))}unrender(e){e.classList.remove(this._trait)}set(e,t){return this._set(e,[...e].sort(Py),t)}_set(e,t,n){let r=this.indexes,i=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;let a=My(i,e);return this.renderer.renderIndexes(a),this._onChange.fire({indexes:e,browserEvent:n}),r}get(){return this.indexes}contains(e){return i.Bu(this.sortedIndexes,e,Py)>=0}dispose(){i.nu(this._onChange)}};cy([M],dy.prototype,`renderer`,null);var fy=class extends dy{constructor(e){super(`selected`),this.setAriaSelected=e}renderIndex(e,t){super.renderIndex(e,t),this.setAriaSelected&&(this.contains(e)?t.setAttribute(`aria-selected`,`true`):t.setAttribute(`aria-selected`,`false`))}},py=class{constructor(e,t,n){this.trait=e,this.view=t,this.identityProvider=n}splice(e,t,n){if(!this.identityProvider)return this.trait.splice(e,t,n.map(()=>!1));let r=this.trait.get().map(e=>this.identityProvider.getId(this.view.element(e)).toString()),i=n.map(e=>r.indexOf(this.identityProvider.getId(e).toString())>-1);this.trait.splice(e,t,i)}};function my(e){return e.tagName===`INPUT`||e.tagName===`TEXTAREA`}function hy(e){return e.classList.contains(`monaco-editor`)?!0:e.classList.contains(`monaco-list`)||!e.parentElement?!1:hy(e.parentElement)}function gy(e){return e.tagName===`A`&&e.classList.contains(`monaco-button`)||e.tagName===`DIV`&&e.classList.contains(`monaco-button-dropdown`)?!0:e.classList.contains(`monaco-list`)||!e.parentElement?!1:gy(e.parentElement)}var _y=class{constructor(e,t,n){this.list=e,this.view=t,this.disposables=new i.Zl,this.multipleSelectionDisposables=new i.Zl,this.onKeyDown.filter(e=>e.keyCode===3).on(this.onEnter,this,this.disposables),this.onKeyDown.filter(e=>e.keyCode===16).on(this.onUpArrow,this,this.disposables),this.onKeyDown.filter(e=>e.keyCode===18).on(this.onDownArrow,this,this.disposables),this.onKeyDown.filter(e=>e.keyCode===11).on(this.onPageUpArrow,this,this.disposables),this.onKeyDown.filter(e=>e.keyCode===12).on(this.onPageDownArrow,this,this.disposables),this.onKeyDown.filter(e=>e.keyCode===9).on(this.onEscape,this,this.disposables),n.multipleSelectionSupport!==!1&&this.onKeyDown.filter(e=>(i.bd?e.metaKey:e.ctrlKey)&&e.keyCode===31).on(this.onCtrlA,this,this.multipleSelectionDisposables)}get onKeyDown(){return this.disposables.add(i.Wl.chain(this.disposables.add(new U(this.view.domNode,`keydown`)).event).filter(e=>!my(e.target)).map(e=>new i.Ho(e)))}updateOptions(e){e.multipleSelectionSupport!==void 0&&(this.multipleSelectionDisposables.clear(),e.multipleSelectionSupport&&this.onKeyDown.filter(e=>(i.bd?e.metaKey:e.ctrlKey)&&e.keyCode===31).on(this.onCtrlA,this,this.multipleSelectionDisposables))}onEnter(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus(),e.browserEvent)}onUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(1,!1,e.browserEvent);let t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent);let t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent);let t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent);let t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onCtrlA(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(i.id(this.list.length),e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(e){this.list.getSelection().length&&(e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}};cy([M],_y.prototype,`onKeyDown`,null);var vy;(function(e){e[e.Automatic=0]=`Automatic`,e[e.Trigger=1]=`Trigger`})(vy||={});var yy;(function(e){e[e.Idle=0]=`Idle`,e[e.Typing=1]=`Typing`})(yy||={});var by=new class{mightProducePrintableCharacter(e){return e.ctrlKey||e.metaKey||e.altKey?!1:e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30||e.keyCode>=93&&e.keyCode<=102||e.keyCode>=80&&e.keyCode<=90}},xy=class{constructor(e,t,n,r,a){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=n,this.keyboardNavigationEventFilter=r,this.delegate=a,this.enabled=!1,this.state=yy.Idle,this.mode=vy.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new i.Zl,this.disposables=new i.Zl,this.updateOptions(e.options)}updateOptions(e){e.typeNavigationEnabled??!0?this.enable():this.disable(),this.mode=e.typeNavigationMode??vy.Automatic}enable(){if(this.enabled)return;let e=!1,t=this.enabledDisposables.add(i.Wl.chain(this.enabledDisposables.add(new U(this.view.domNode,`keydown`)).event)).filter(e=>!my(e.target)).filter(()=>this.mode===vy.Automatic||this.triggered).map(e=>new i.Ho(e)).filter(t=>e||this.keyboardNavigationEventFilter(t)).filter(e=>this.delegate.mightProducePrintableCharacter(e)).forEach($u).map(e=>e.browserEvent.key).event,n=i.Wl.debounce(t,()=>null,800,void 0,void 0,this.enabledDisposables);i.Wl.reduce(i.Wl.any(t,n),(e,t)=>t===null?null:(e||``)+t,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),n(this.onClear,this,this.enabledDisposables),t(()=>e=!0,void 0,this.enabledDisposables),n(()=>e=!1,void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){let e=this.list.getFocus();if(e.length>0&&e[0]===this.previouslyFocused){let t=this.list.options.accessibilityProvider?.getAriaLabel(this.list.element(e[0]));t&&vi(t)}this.previouslyFocused=-1}onInput(e){if(!e){this.state=yy.Idle,this.triggered=!1;return}let t=this.list.getFocus(),n=t.length>0?t[0]:0,r=this.state===yy.Idle?1:0;this.state=yy.Typing;for(let t=0;t<this.list.length;t++){let i=(n+t+r)%this.list.length,a=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(this.view.element(i)),o=a&&a.toString();if(o===void 0||gd(e,o)){this.previouslyFocused=n,this.list.setFocus([i]),this.list.reveal(i);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}},Sy=class{constructor(e,t){this.list=e,this.view=t,this.disposables=new i.Zl,this.disposables.add(i.Wl.chain(this.disposables.add(new U(t.domNode,`keydown`)).event)).filter(e=>!my(e.target)).map(e=>new i.Ho(e)).filter(e=>e.keyCode===2&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey).on(this.onTab,this,this.disposables)}onTab(e){if(e.target!==this.view.domNode)return;let t=this.list.getFocus();if(t.length===0)return;let n=this.view.domElement(t[0]);if(!n)return;let r=n.querySelector(`[tabIndex]`);if(!r||!(r instanceof HTMLElement)||r.tabIndex===-1)return;let i=window.getComputedStyle(r);i.visibility===`hidden`||i.display===`none`||(e.preventDefault(),e.stopPropagation(),r.focus())}dispose(){this.disposables.dispose()}};function Cy(e){return i.bd?e.browserEvent.metaKey:e.browserEvent.ctrlKey}function wy(e){return e.browserEvent.shiftKey}function Ty(e){return e instanceof MouseEvent&&e.button===2}var Ey={isSelectionSingleChangeEvent:Cy,isSelectionRangeChangeEvent:wy},Dy=class{constructor(e){this.list=e,this.disposables=new i.Zl,this._onPointer=new i.Ul,this.onPointer=this._onPointer.event,e.options.multipleSelectionSupport!==!1&&(this.multipleSelectionController=this.list.options.multipleSelectionController||Ey),this.mouseSupport=e.options.mouseSupport===void 0||!!e.options.mouseSupport,this.mouseSupport&&(e.onMouseDown(this.onMouseDown,this,this.disposables),e.onContextMenu(this.onContextMenu,this,this.disposables),e.onMouseDblClick(this.onDoubleClick,this,this.disposables),e.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(Wi.addTarget(e.getHTMLElement()))),i.Wl.any(e.onMouseClick,e.onMouseMiddleClick,e.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(e){e.multipleSelectionSupport!==void 0&&(this.multipleSelectionController=void 0,e.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||Ey))}isSelectionSingleChangeEvent(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(e):!1}isSelectionRangeChangeEvent(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(e):!1}isSelectionChangeEvent(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)}onMouseDown(e){hy(e.browserEvent.target)||document.activeElement!==e.browserEvent.target&&this.list.domFocus()}onContextMenu(e){if(hy(e.browserEvent.target))return;let t=e.index===void 0?[]:[e.index];this.list.setFocus(t,e.browserEvent)}onViewPointer(e){if(!this.mouseSupport||my(e.browserEvent.target)||hy(e.browserEvent.target))return;let t=e.index;if(t===void 0){this.list.setFocus([],e.browserEvent),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionRangeChangeEvent(e)||this.isSelectionChangeEvent(e))return this.changeSelection(e);this.list.setFocus([t],e.browserEvent),this.list.setAnchor(t),Ty(e.browserEvent)||this.list.setSelection([t],e.browserEvent),this._onPointer.fire(e)}onDoubleClick(e){if(my(e.browserEvent.target)||hy(e.browserEvent.target)||this.isSelectionChangeEvent(e))return;let t=this.list.getFocus();this.list.setSelection(t,e.browserEvent)}changeSelection(e){let t=e.index,n=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(e)){n===void 0&&(n=this.list.getFocus()[0]??t,this.list.setAnchor(n));let r=i.id(Math.min(n,t),Math.max(n,t)+1),a=this.list.getSelection(),o=jy(My(a,[n]),n);if(o.length===0)return;let s=My(r,Ny(a,o));this.list.setSelection(s,e.browserEvent),this.list.setFocus([t],e.browserEvent)}else if(this.isSelectionSingleChangeEvent(e)){let n=this.list.getSelection(),r=n.filter(e=>e!==t);this.list.setFocus([t]),this.list.setAnchor(t),n.length===r.length?this.list.setSelection([...r,t],e.browserEvent):this.list.setSelection(r,e.browserEvent)}}dispose(){this.disposables.dispose()}},Oy=class{constructor(e,t){this.styleElement=e,this.selectorSuffix=t}style(e){let t=this.selectorSuffix&&`.${this.selectorSuffix}`,n=[];e.listBackground&&(e.listBackground.isOpaque()?n.push(`.monaco-list${t} .monaco-list-rows { background: ${e.listBackground}; }`):i.bd||`${this.selectorSuffix}`),e.listFocusBackground&&(n.push(`.monaco-list${t}:focus .monaco-list-row.focused { background-color: ${e.listFocusBackground}; }`),n.push(`.monaco-list${t}:focus .monaco-list-row.focused:hover { background-color: ${e.listFocusBackground}; }`)),e.listFocusForeground&&n.push(`.monaco-list${t}:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),e.listActiveSelectionBackground&&(n.push(`.monaco-list${t}:focus .monaco-list-row.selected { background-color: ${e.listActiveSelectionBackground}; }`),n.push(`.monaco-list${t}:focus .monaco-list-row.selected:hover { background-color: ${e.listActiveSelectionBackground}; }`)),e.listActiveSelectionForeground&&n.push(`.monaco-list${t}:focus .monaco-list-row.selected { color: ${e.listActiveSelectionForeground}; }`),e.listActiveSelectionIconForeground&&n.push(`.monaco-list${t}:focus .monaco-list-row.selected .codicon { color: ${e.listActiveSelectionIconForeground}; }`),e.listFocusAndSelectionOutline&&n.push(`.monaco-list${t}:focus .monaco-list-row.selected { outline-color: ${e.listFocusAndSelectionOutline} !important; }`),e.listFocusAndSelectionBackground&&n.push(`
|
|
524
|
+
.monaco-drag-image,
|
|
525
|
+
.monaco-list${t}:focus .monaco-list-row.selected.focused { background-color: ${e.listFocusAndSelectionBackground}; }
|
|
526
|
+
`),e.listFocusAndSelectionForeground&&n.push(`
|
|
527
|
+
.monaco-drag-image,
|
|
528
|
+
.monaco-list${t}:focus .monaco-list-row.selected.focused { color: ${e.listFocusAndSelectionForeground}; }
|
|
529
|
+
`),e.listInactiveFocusForeground&&(n.push(`.monaco-list${t} .monaco-list-row.focused { color: ${e.listInactiveFocusForeground}; }`),n.push(`.monaco-list${t} .monaco-list-row.focused:hover { color: ${e.listInactiveFocusForeground}; }`)),e.listInactiveSelectionIconForeground&&n.push(`.monaco-list${t} .monaco-list-row.focused .codicon { color: ${e.listInactiveSelectionIconForeground}; }`),e.listInactiveFocusBackground&&(n.push(`.monaco-list${t} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }`),n.push(`.monaco-list${t} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }`)),e.listInactiveSelectionBackground&&(n.push(`.monaco-list${t} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }`),n.push(`.monaco-list${t} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }`)),e.listInactiveSelectionForeground&&n.push(`.monaco-list${t} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }`),e.listHoverBackground&&n.push(`.monaco-list${t}:not(.drop-target) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }`),e.listHoverForeground&&n.push(`.monaco-list${t} .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }`),e.listSelectionOutline&&n.push(`.monaco-list${t} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }`),e.listFocusOutline&&n.push(`
|
|
530
|
+
.monaco-drag-image,
|
|
531
|
+
.monaco-list${t}:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }
|
|
532
|
+
.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }
|
|
533
|
+
`),e.listInactiveFocusOutline&&n.push(`.monaco-list${t} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }`),e.listHoverOutline&&n.push(`.monaco-list${t} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }`),e.listDropBackground&&n.push(`
|
|
534
|
+
.monaco-list${t}.drop-target,
|
|
535
|
+
.monaco-list${t} .monaco-list-rows.drop-target,
|
|
536
|
+
.monaco-list${t} .monaco-list-row.drop-target { background-color: ${e.listDropBackground} !important; color: inherit !important; }
|
|
537
|
+
`),e.tableColumnsBorder&&n.push(`
|
|
538
|
+
.monaco-table:hover > .monaco-split-view2,
|
|
539
|
+
.monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {
|
|
540
|
+
border-color: ${e.tableColumnsBorder};
|
|
541
|
+
}`),e.tableOddRowsBackgroundColor&&n.push(`
|
|
542
|
+
.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,
|
|
543
|
+
.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,
|
|
544
|
+
.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {
|
|
545
|
+
background-color: ${e.tableOddRowsBackgroundColor};
|
|
546
|
+
}
|
|
547
|
+
`),this.styleElement.textContent=n.join(`
|
|
548
|
+
`)}},ky={listFocusBackground:i.Bi.fromHex(`#7FB0D0`),listActiveSelectionBackground:i.Bi.fromHex(`#0E639C`),listActiveSelectionForeground:i.Bi.fromHex(`#FFFFFF`),listActiveSelectionIconForeground:i.Bi.fromHex(`#FFFFFF`),listFocusAndSelectionOutline:i.Bi.fromHex(`#90C2F9`),listFocusAndSelectionBackground:i.Bi.fromHex(`#094771`),listFocusAndSelectionForeground:i.Bi.fromHex(`#FFFFFF`),listInactiveSelectionBackground:i.Bi.fromHex(`#3F3F46`),listInactiveSelectionIconForeground:i.Bi.fromHex(`#FFFFFF`),listHoverBackground:i.Bi.fromHex(`#2A2D2E`),listDropBackground:i.Bi.fromHex(`#383B3D`),treeIndentGuidesStroke:i.Bi.fromHex(`#a9a9a9`),tableColumnsBorder:i.Bi.fromHex(`#cccccc`).transparent(.2),tableOddRowsBackgroundColor:i.Bi.fromHex(`#cccccc`).transparent(.04)},Ay={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){}}};function jy(e,t){let n=e.indexOf(t);if(n===-1)return[];let r=[],i=n-1;for(;i>=0&&e[i]===t-(n-i);)r.push(e[i--]);for(r.reverse(),i=n;i<e.length&&e[i]===t+(i-n);)r.push(e[i++]);return r}function My(e,t){let n=[],r=0,i=0;for(;r<e.length||i<t.length;)if(r>=e.length)n.push(t[i++]);else if(i>=t.length)n.push(e[r++]);else if(e[r]===t[i]){n.push(e[r]),r++,i++;continue}else e[r]<t[i]?n.push(e[r++]):n.push(t[i++]);return n}function Ny(e,t){let n=[],r=0,i=0;for(;r<e.length||i<t.length;)if(r>=e.length)n.push(t[i++]);else if(i>=t.length)n.push(e[r++]);else if(e[r]===t[i]){r++,i++;continue}else e[r]<t[i]?n.push(e[r++]):i++;return n}var Py=(e,t)=>e-t,Fy=class{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map(t=>t.renderTemplate(e))}renderElement(e,t,n,r){let i=0;for(let a of this.renderers)a.renderElement(e,t,n[i++],r)}disposeElement(e,t,n,r){var i;let a=0;for(let o of this.renderers)(i=o.disposeElement)==null||i.call(o,e,t,n[a],r),a+=1}disposeTemplate(e){let t=0;for(let n of this.renderers)n.disposeTemplate(e[t++])}},Iy=class{constructor(e){this.accessibilityProvider=e,this.templateId=`a18n`}renderTemplate(e){return e}renderElement(e,t,n){let r=this.accessibilityProvider.getAriaLabel(e);r?n.setAttribute(`aria-label`,r):n.removeAttribute(`aria-label`);let i=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);typeof i==`number`?n.setAttribute(`aria-level`,`${i}`):n.removeAttribute(`aria-level`)}disposeTemplate(e){}},Ly=class{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){let t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){var n,r;(r=(n=this.dnd).onDragStart)==null||r.call(n,e,t)}onDragOver(e,t,n,r){return this.dnd.onDragOver(e,t,n,r)}onDragLeave(e,t,n,r){var i,a;(a=(i=this.dnd).onDragLeave)==null||a.call(i,e,t,n,r)}onDragEnd(e){var t,n;(n=(t=this.dnd).onDragEnd)==null||n.call(t,e)}drop(e,t,n,r){this.dnd.drop(e,t,n,r)}},Ry=class{constructor(e,t,n,r,a=Ay){var o,s;this.user=e,this._options=a,this.focus=new dy(`focused`),this.anchor=new dy(`anchor`),this.eventBufferer=new i.Gl,this._ariaLabel=``,this.disposables=new i.Zl,this._onDidDispose=new i.Ul,this.onDidDispose=this._onDidDispose.event;let c=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?this._options.accessibilityProvider?.getWidgetRole():`list`;this.selection=new fy(c!==`listbox`),i.bu(a,ky,!1);let l=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=a.accessibilityProvider,this.accessibilityProvider&&(l.push(new Iy(this.accessibilityProvider)),(s=(o=this.accessibilityProvider).onDidChangeActiveDescendant)==null||s.call(o,this.onDidChangeActiveDescendant,this,this.disposables)),r=r.map(e=>new Fy(e.templateId,[...l,e]));let u=Object.assign(Object.assign({},a),{dnd:a.dnd&&new Ly(this,a.dnd)});if(this.view=new sy(t,n,r,u),this.view.domNode.setAttribute(`role`,c),a.styleController?this.styleController=a.styleController(this.view.domId):this.styleController=new Oy(i.ro(this.view.domNode),this.view.domId),this.spliceable=new Gv([new py(this.focus,this.view,a.identityProvider),new py(this.selection,this.view,a.identityProvider),new py(this.anchor,this.view,a.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new Sy(this,this.view)),(typeof a.keyboardSupport!=`boolean`||a.keyboardSupport)&&(this.keyboardController=new _y(this,this.view,a),this.disposables.add(this.keyboardController)),a.keyboardNavigationLabelProvider){let e=a.keyboardNavigationDelegate||by;this.typeNavigationController=new xy(this,this.view,a.keyboardNavigationLabelProvider,a.keyboardNavigationEventFilter??(()=>!0),e),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(a),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),this._options.multipleSelectionSupport!==!1&&this.view.domNode.setAttribute(`aria-multiselectable`,`true`)}get onDidChangeFocus(){return i.Wl.map(this.eventBufferer.wrapEvent(this.focus.onChange),e=>this.toListEvent(e),this.disposables)}get onDidChangeSelection(){return i.Wl.map(this.eventBufferer.wrapEvent(this.selection.onChange),e=>this.toListEvent(e),this.disposables)}get domId(){return this.view.domId}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let e=!1,t=this.disposables.add(i.Wl.chain(this.disposables.add(new U(this.view.domNode,`keydown`)).event)).map(e=>new i.Ho(e)).filter(t=>e=t.keyCode===58||t.shiftKey&&t.keyCode===68).map($u).filter(()=>!1).event,n=this.disposables.add(i.Wl.chain(this.disposables.add(new U(this.view.domNode,`keyup`)).event)).forEach(()=>e=!1).map(e=>new i.Ho(e)).filter(e=>e.keyCode===58||e.shiftKey&&e.keyCode===68).map($u).map(({browserEvent:e})=>{let t=this.getFocus(),n=t.length?t[0]:void 0;return{index:n,element:n===void 0?void 0:this.view.element(n),anchor:n===void 0?this.view.domNode:this.view.domElement(n),browserEvent:e}}).event,r=this.disposables.add(i.Wl.chain(this.view.onContextMenu)).filter(t=>!e).map(({element:e,index:t,browserEvent:n})=>({element:e,index:t,anchor:{x:n.pageX+1,y:n.pageY},browserEvent:n})).event;return i.Wl.any(t,n,r)}get onKeyDown(){return this.disposables.add(new U(this.view.domNode,`keydown`)).event}get onDidFocus(){return i.Wl.signal(this.disposables.add(new U(this.view.domNode,`focus`,!0)).event)}createMouseController(e){return new Dy(this)}updateOptions(e={}){var t,n;this._options=Object.assign(Object.assign({},this._options),e),(t=this.typeNavigationController)==null||t.updateOptions(this._options),this._options.multipleSelectionController!==void 0&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute(`aria-multiselectable`,`true`):this.view.domNode.removeAttribute(`aria-multiselectable`)),this.mouseController.updateOptions(e),(n=this.keyboardController)==null||n.updateOptions(e),this.view.updateOptions(e)}get options(){return this._options}splice(e,t,n=[]){if(e<0||e>this.view.length)throw new Kv(this.user,`Invalid start index: ${e}`);if(t<0)throw new Kv(this.user,`Invalid delete count: ${t}`);t===0&&n.length===0||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(e,t,n))}rerender(){this.view.rerender()}element(e){return this.view.element(e)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(e){this.view.setScrollTop(e)}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.view.domNode.setAttribute(`aria-label`,e)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(e,t){this.view.layout(e,t)}setSelection(e,t){for(let t of e)if(t<0||t>=this.length)throw new Kv(this.user,`Invalid index ${t}`);this.selection.set(e,t)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(e=>this.view.element(e))}setAnchor(e){if(e===void 0){this.anchor.set([]);return}if(e<0||e>=this.length)throw new Kv(this.user,`Invalid index ${e}`);this.anchor.set([e])}getAnchor(){return i.Xu(this.anchor.get(),void 0)}getAnchorElement(){let e=this.getAnchor();return e===void 0?void 0:this.element(e)}setFocus(e,t){for(let t of e)if(t<0||t>=this.length)throw new Kv(this.user,`Invalid index ${t}`);this.focus.set(e,t)}focusNext(e=1,t=!1,n,r){if(this.length===0)return;let i=this.focus.get(),a=this.findNextIndex(i.length>0?i[0]+e:0,t,r);a>-1&&this.setFocus([a],n)}focusPrevious(e=1,t=!1,n,r){if(this.length===0)return;let i=this.focus.get(),a=this.findPreviousIndex(i.length>0?i[0]-e:0,t,r);a>-1&&this.setFocus([a],n)}focusNextPage(e,t){return ly(this,void 0,void 0,function*(){let n=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);n=n===0?0:n-1;let r=this.getFocus()[0];if(r!==n&&(r===void 0||n>r)){let i=this.findPreviousIndex(n,!1,t);i>-1&&r!==i?this.setFocus([i],e):this.setFocus([n],e)}else{let a=this.view.getScrollTop(),o=a+this.view.renderHeight;n>r&&(o-=this.view.elementHeight(n)),this.view.setScrollTop(o),this.view.getScrollTop()!==a&&(this.setFocus([]),yield i.ks(0),yield this.focusNextPage(e,t))}})}focusPreviousPage(e,t){return ly(this,void 0,void 0,function*(){let n,r=this.view.getScrollTop();n=r===0?this.view.indexAt(r):this.view.indexAfter(r-1);let a=this.getFocus()[0];if(a!==n&&(a===void 0||a>=n)){let r=this.findNextIndex(n,!1,t);r>-1&&a!==r?this.setFocus([r],e):this.setFocus([n],e)}else{let n=r;this.view.setScrollTop(r-this.view.renderHeight),this.view.getScrollTop()!==n&&(this.setFocus([]),yield i.ks(0),yield this.focusPreviousPage(e,t))}})}focusLast(e,t){if(this.length===0)return;let n=this.findPreviousIndex(this.length-1,!1,t);n>-1&&this.setFocus([n],e)}focusFirst(e,t){this.focusNth(0,e,t)}focusNth(e,t,n){if(this.length===0)return;let r=this.findNextIndex(e,!1,n);r>-1&&this.setFocus([r],t)}findNextIndex(e,t=!1,n){for(let r=0;r<this.length;r++){if(e>=this.length&&!t)return-1;if(e%=this.length,!n||n(this.element(e)))return e;e++}return-1}findPreviousIndex(e,t=!1,n){for(let r=0;r<this.length;r++){if(e<0&&!t)return-1;if(e=(this.length+e%this.length)%this.length,!n||n(this.element(e)))return e;e--}return-1}getFocus(){return this.focus.get()}getFocusedElements(){return this.getFocus().map(e=>this.view.element(e))}reveal(e,t){if(e<0||e>=this.length)throw new Kv(this.user,`Invalid index ${e}`);let n=this.view.getScrollTop(),r=this.view.elementTop(e),a=this.view.elementHeight(e);if(i.ju(t)){let e=a-this.view.renderHeight;this.view.setScrollTop(e*i.s(t,0,1)+r)}else{let e=r+a,t=n+this.view.renderHeight;r<n&&e>=t||(r<n||e>=t&&a>=this.view.renderHeight?this.view.setScrollTop(r):e>=t&&this.view.setScrollTop(e-this.view.renderHeight))}}getHTMLElement(){return this.view.domNode}style(e){this.styleController.style(e)}toListEvent({indexes:e,browserEvent:t}){return{indexes:e,elements:e.map(e=>this.view.element(e)),browserEvent:t}}_onFocusChange(){let e=this.focus.get();this.view.domNode.classList.toggle(`element-focused`,e.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){let e=this.focus.get();if(e.length>0){let t;this.accessibilityProvider?.getActiveDescendantId&&(t=this.accessibilityProvider.getActiveDescendantId(this.view.element(e[0]))),this.view.domNode.setAttribute(`aria-activedescendant`,t||this.view.getElementDomId(e[0]))}else this.view.domNode.removeAttribute(`aria-activedescendant`)}_onSelectionChange(){let e=this.selection.get();this.view.domNode.classList.toggle(`selection-none`,e.length===0),this.view.domNode.classList.toggle(`selection-single`,e.length===1),this.view.domNode.classList.toggle(`selection-multiple`,e.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}};cy([M],Ry.prototype,`onDidChangeFocus`,null),cy([M],Ry.prototype,`onDidChangeSelection`,null),cy([M],Ry.prototype,`onContextMenu`,null),cy([M],Ry.prototype,`onKeyDown`,null),cy([M],Ry.prototype,`onDidFocus`,null);var zy=class{constructor(e,t){this.renderer=e,this.modelProvider=t}get templateId(){return this.renderer.templateId}renderTemplate(e){return{data:this.renderer.renderTemplate(e),disposable:i.Xl.None}}renderElement(e,t,n,r){if(n.disposable&&n.disposable.dispose(),!n.data)return;let a=this.modelProvider();if(a.isResolved(e))return this.renderer.renderElement(a.get(e),e,n.data,r);let o=new i.Vl,s=a.resolve(e,o.token);n.disposable={dispose:()=>o.cancel()},this.renderer.renderPlaceholder(e,n.data),s.then(t=>this.renderer.renderElement(t,e,n.data,r))}disposeTemplate(e){e.disposable&&=(e.disposable.dispose(),void 0),e.data&&=(this.renderer.disposeTemplate(e.data),void 0)}},By=class{constructor(e,t){this.modelProvider=e,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(e){let t=this.modelProvider();return t.isResolved(e)?this.accessibilityProvider.getAriaLabel(t.get(e)):null}};function Vy(e,t){return Object.assign(Object.assign({},t),{accessibilityProvider:t.accessibilityProvider&&new By(e,t.accessibilityProvider)})}var Hy=class{constructor(e,t,n,r,i={}){let a=()=>this.model;this.list=new Ry(e,t,n,r.map(e=>new zy(e,a)),Vy(a,i))}updateOptions(e){this.list.updateOptions(e)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return i.Wl.map(this.list.onMouseDblClick,({element:e,index:t,browserEvent:n})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:n}))}get onPointer(){return i.Wl.map(this.list.onPointer,({element:e,index:t,browserEvent:n})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:n}))}get onDidChangeSelection(){return i.Wl.map(this.list.onDidChangeSelection,({elements:e,indexes:t,browserEvent:n})=>({elements:e.map(e=>this._model.get(e)),indexes:t,browserEvent:n}))}get model(){return this._model}set model(e){this._model=e,this.list.splice(0,this.list.length,i.id(e.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(e=>this.model.get(e))}style(e){this.list.style(e)}dispose(){this.list.dispose()}},Uy={separatorBorder:i.Bi.transparent},Wy=class{constructor(e,t,n,r){this.container=e,this.view=t,this.disposable=r,this._cachedVisibleSize=void 0,typeof n==`number`?(this._size=n,this._cachedVisibleSize=void 0,e.classList.add(`visible`)):(this._size=0,this._cachedVisibleSize=n.cachedVisibleSize)}set size(e){this._size=e}get size(){return this._size}get visible(){return this._cachedVisibleSize===void 0}setVisible(e,t){var n,r;e!==this.visible&&(e?(this.size=i.s(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof t==`number`?t:this.size,this.size=0),this.container.classList.toggle(`visible`,e),(r=(n=this.view).setVisible)==null||r.call(n,e))}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?``:`none`}layout(e,t){this.layoutContainer(e),this.view.layout(this.size,e,t)}dispose(){return this.disposable.dispose(),this.view}},Gy=class extends Wy{layoutContainer(e){this.container.style.top=`${e}px`,this.container.style.height=`${this.size}px`}},Ky=class extends Wy{layoutContainer(e){this.container.style.left=`${e}px`,this.container.style.width=`${this.size}px`}},qy;(function(e){e[e.Idle=0]=`Idle`,e[e.Busy=1]=`Busy`})(qy||={});var Jy;(function(e){e.Distribute={type:`distribute`};function t(e){return{type:`split`,index:e}}e.Split=t;function n(e){return{type:`invisible`,cachedVisibleSize:e}}e.Invisible=n})(Jy||={});var Yy=class extends i.Xl{constructor(e,t={}){super(),this.size=0,this.contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=qy.Idle,this._onDidSashChange=this._register(new i.Ul),this._onDidSashReset=this._register(new i.Ul),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=t.orientation??0,this.inverseAltBehavior=t.inverseAltBehavior??!1,this.proportionalLayout=t.proportionalLayout??!0,this.getSashOrthogonalSize=t.getSashOrthogonalSize,this.el=document.createElement(`div`),this.el.classList.add(`monaco-split-view2`),this.el.classList.add(this.orientation===0?`vertical`:`horizontal`),e.appendChild(this.el),this.sashContainer=i.Xa(this.el,i.za(`.sash-container`)),this.viewContainer=i.za(`.split-view-container`),this.scrollable=new xs({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:i.Ao}),this.scrollableElement=this._register(new Ps(this.viewContainer,{vertical:this.orientation===0?t.scrollbarVisibility??1:2,horizontal:this.orientation===1?t.scrollbarVisibility??1:2},this.scrollable)),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(e=>{this.viewContainer.scrollTop=e.scrollTop,this.viewContainer.scrollLeft=e.scrollLeft})),i.Xa(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||Uy),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach((e,t)=>{let n=i.Pu(e.visible)||e.visible?e.size:{type:`invisible`,cachedVisibleSize:e.size},r=e.view;this.doAddView(r,n,t,!0)}),this.contentSize=this.viewItems.reduce((e,t)=>e+t.size,0),this.saveProportions())}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(e){for(let t of this.sashItems)t.sash.orthogonalStartSash=e;this._orthogonalStartSash=e}set orthogonalEndSash(e){for(let t of this.sashItems)t.sash.orthogonalEndSash=e;this._orthogonalEndSash=e}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}style(e){e.separatorBorder.isTransparent()?(this.el.classList.remove(`separator-border`),this.el.style.removeProperty(`--separator-border`)):(this.el.classList.add(`separator-border`),this.el.style.setProperty(`--separator-border`,e.separatorBorder.toString()))}addView(e,t,n=this.viewItems.length,r){this.doAddView(e,t,n,r)}layout(e,t){let n=Math.max(this.size,this.contentSize);if(this.size=e,this.layoutContext=t,this.proportions)for(let t=0;t<this.viewItems.length;t++){let n=this.viewItems[t];n.size=i.s(Math.round(this.proportions[t]*e),n.minimumSize,n.maximumSize)}else{let t=i.id(this.viewItems.length),r=t.filter(e=>this.viewItems[e].priority===1),a=t.filter(e=>this.viewItems[e].priority===2);this.resize(this.viewItems.length-1,e-n,void 0,r,a)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this.contentSize>0&&(this.proportions=this.viewItems.map(e=>e.size/this.contentSize))}onSashStart({sash:e,start:t,alt:n}){for(let e of this.viewItems)e.enabled=!1;let r=this.sashItems.findIndex(t=>t.sash===e),a=i.tu(i.Ka(document.body,`keydown`,e=>o(this.sashDragState.current,e.altKey)),i.Ka(document.body,`keyup`,()=>o(this.sashDragState.current,!1))),o=(e,t)=>{let n=this.viewItems.map(e=>e.size),o=-1/0,s=1/0;if(this.inverseAltBehavior&&(t=!t),t)if(r===this.sashItems.length-1){let e=this.viewItems[r];o=(e.minimumSize-e.size)/2,s=(e.maximumSize-e.size)/2}else{let e=this.viewItems[r+1];o=(e.size-e.maximumSize)/2,s=(e.size-e.minimumSize)/2}let c,l;if(!t){let e=i.id(r,-1),t=i.id(r+1,this.viewItems.length),a=e.reduce((e,t)=>e+(this.viewItems[t].minimumSize-n[t]),0),o=e.reduce((e,t)=>e+(this.viewItems[t].viewMaximumSize-n[t]),0),s=t.length===0?1/0:t.reduce((e,t)=>e+(n[t]-this.viewItems[t].minimumSize),0),u=t.length===0?-1/0:t.reduce((e,t)=>e+(n[t]-this.viewItems[t].viewMaximumSize),0),d=Math.max(a,u),f=Math.min(s,o),p=this.findFirstSnapIndex(e),m=this.findFirstSnapIndex(t);if(typeof p==`number`){let e=this.viewItems[p],t=Math.floor(e.viewMinimumSize/2);c={index:p,limitDelta:e.visible?d-t:d+t,size:e.size}}if(typeof m==`number`){let e=this.viewItems[m],t=Math.floor(e.viewMinimumSize/2);l={index:m,limitDelta:e.visible?f+t:f-t,size:e.size}}}this.sashDragState={start:e,current:e,index:r,sizes:n,minDelta:o,maxDelta:s,alt:t,snapBefore:c,snapAfter:l,disposable:a}};o(t,n)}onSashChange({current:e}){let{index:t,start:n,sizes:r,alt:i,minDelta:a,maxDelta:o,snapBefore:s,snapAfter:c}=this.sashDragState;this.sashDragState.current=e;let l=e-n,u=this.resize(t,l,r,void 0,void 0,a,o,s,c);if(i){let e=t===this.sashItems.length-1,n=this.viewItems.map(e=>e.size),r=e?t:t+1,i=this.viewItems[r],a=i.size-i.maximumSize,o=i.size-i.minimumSize,s=e?t-1:t+1;this.resize(s,-u,n,void 0,void 0,a,o)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions();for(let e of this.viewItems)e.enabled=!0}onViewChange(e,t){let n=this.viewItems.indexOf(e);n<0||n>=this.viewItems.length||(t=typeof t==`number`?t:e.size,t=i.s(t,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&n>0?(this.resize(n-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([n],void 0)))}resizeView(e,t){if(this.state!==qy.Idle)throw Error(`Cant modify splitview`);if(this.state=qy.Busy,e<0||e>=this.viewItems.length)return;let n=i.id(this.viewItems.length).filter(t=>t!==e),r=[...n.filter(e=>this.viewItems[e].priority===1),e],a=n.filter(e=>this.viewItems[e].priority===2),o=this.viewItems[e];t=Math.round(t),t=i.s(t,o.minimumSize,Math.min(o.maximumSize,this.size)),o.size=t,this.relayout(r,a),this.state=qy.Idle}distributeViewSizes(){let e=[],t=0;for(let n of this.viewItems)n.maximumSize-n.minimumSize>0&&(e.push(n),t+=n.size);let n=Math.floor(t/e.length);for(let t of e)t.size=i.s(n,t.minimumSize,t.maximumSize);let r=i.id(this.viewItems.length),a=r.filter(e=>this.viewItems[e].priority===1),o=r.filter(e=>this.viewItems[e].priority===2);this.relayout(a,o)}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}doAddView(e,t,n=this.viewItems.length,r){if(this.state!==qy.Idle)throw Error(`Cant modify splitview`);this.state=qy.Busy;let a=i.za(`.split-view-view`);n===this.viewItems.length?this.viewContainer.appendChild(a):this.viewContainer.insertBefore(a,this.viewContainer.children.item(n));let o=i.tu(e.onDidChange(e=>this.onViewChange(c,e)),i.au(()=>this.viewContainer.removeChild(a))),s;s=typeof t==`number`?t:t.type===`split`?this.getViewSize(t.index)/2:t.type===`invisible`?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize;let c=this.orientation===0?new Gy(a,e,s,o):new Ky(a,e,s,o);if(this.viewItems.splice(n,0,c),this.viewItems.length>1){let e={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},t=this.orientation===0?new dd(this.sashContainer,{getHorizontalSashTop:e=>this.getSashPosition(e),getHorizontalSashWidth:this.getSashOrthogonalSize},Object.assign(Object.assign({},e),{orientation:1})):new dd(this.sashContainer,{getVerticalSashLeft:e=>this.getSashPosition(e),getVerticalSashHeight:this.getSashOrthogonalSize},Object.assign(Object.assign({},e),{orientation:0})),r=this.orientation===0?e=>({sash:t,start:e.startY,current:e.currentY,alt:e.altKey}):e=>({sash:t,start:e.startX,current:e.currentX,alt:e.altKey}),a={sash:t,disposable:i.tu(i.Wl.map(t.onDidStart,r)(this.onSashStart,this),i.Wl.map(t.onDidChange,r)(this.onSashChange,this),i.Wl.map(t.onDidEnd,()=>this.sashItems.findIndex(e=>e.sash===t))(this.onSashEnd,this),t.onDidReset(()=>{let e=this.sashItems.findIndex(e=>e.sash===t),n=i.id(e,-1),r=i.id(e+1,this.viewItems.length),a=this.findFirstSnapIndex(n),o=this.findFirstSnapIndex(r);typeof a==`number`&&!this.viewItems[a].visible||typeof o==`number`&&!this.viewItems[o].visible||this._onDidSashReset.fire(e)}),t)};this.sashItems.splice(n-1,0,a)}a.appendChild(e.element);let l;typeof t!=`number`&&t.type===`split`&&(l=[t.index]),r||this.relayout([n],l),this.state=qy.Idle,!r&&typeof t!=`number`&&t.type===`distribute`&&this.distributeViewSizes()}relayout(e,t){let n=this.viewItems.reduce((e,t)=>e+t.size,0);this.resize(this.viewItems.length-1,this.size-n,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(e,t,n=this.viewItems.map(e=>e.size),r,a,o=-1/0,s=1/0,c,l){if(e<0||e>=this.viewItems.length)return 0;let u=i.id(e,-1),d=i.id(e+1,this.viewItems.length);if(a)for(let e of a)i.nd(u,e),i.nd(d,e);if(r)for(let e of r)i.td(u,e),i.td(d,e);let f=u.map(e=>this.viewItems[e]),p=u.map(e=>n[e]),m=d.map(e=>this.viewItems[e]),h=d.map(e=>n[e]),g=u.reduce((e,t)=>e+(this.viewItems[t].minimumSize-n[t]),0),_=u.reduce((e,t)=>e+(this.viewItems[t].maximumSize-n[t]),0),v=d.length===0?1/0:d.reduce((e,t)=>e+(n[t]-this.viewItems[t].minimumSize),0),y=d.length===0?-1/0:d.reduce((e,t)=>e+(n[t]-this.viewItems[t].maximumSize),0),b=Math.max(g,y,o),x=Math.min(v,_,s),S=!1;if(c){let e=this.viewItems[c.index],n=t>=c.limitDelta;S=n!==e.visible,e.setVisible(n,c.size)}if(!S&&l){let e=this.viewItems[l.index],n=t<l.limitDelta;S=n!==e.visible,e.setVisible(n,l.size)}if(S)return this.resize(e,t,n,r,a,o,s);t=i.s(t,b,x);for(let e=0,n=t;e<f.length;e++){let t=f[e],r=i.s(p[e]+n,t.minimumSize,t.maximumSize),a=r-p[e];n-=a,t.size=r}for(let e=0,n=t;e<m.length;e++){let t=m[e],r=i.s(h[e]-n,t.minimumSize,t.maximumSize),a=r-h[e];n+=a,t.size=r}return t}distributeEmptySpace(e){let t=this.viewItems.reduce((e,t)=>e+t.size,0),n=this.size-t,r=i.id(this.viewItems.length-1,-1),a=r.filter(e=>this.viewItems[e].priority===1),o=r.filter(e=>this.viewItems[e].priority===2);for(let e of o)i.nd(r,e);for(let e of a)i.td(r,e);typeof e==`number`&&i.td(r,e);for(let e=0;n!==0&&e<r.length;e++){let t=this.viewItems[r[e]],a=i.s(t.size+n,t.minimumSize,t.maximumSize),o=a-t.size;n-=o,t.size=a}}layoutViews(){this.contentSize=this.viewItems.reduce((e,t)=>e+t.size,0);let e=0;for(let t of this.viewItems)t.layout(e,this.layoutContext),e+=t.size;this.sashItems.forEach(e=>e.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.orientation===0?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this.contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this.contentSize})}updateSashEnablement(){let e=!1,t=this.viewItems.map(t=>e=t.size-t.minimumSize>0||e);e=!1;let n=this.viewItems.map(t=>e=t.maximumSize-t.size>0||e),r=[...this.viewItems].reverse();e=!1;let a=r.map(t=>e=t.size-t.minimumSize>0||e).reverse();e=!1;let o=r.map(t=>e=t.maximumSize-t.size>0||e).reverse(),s=0;for(let e=0;e<this.sashItems.length;e++){let{sash:r}=this.sashItems[e],c=this.viewItems[e];s+=c.size;let l=!(t[e]&&o[e+1]),u=!(n[e]&&a[e+1]);if(l&&u){let n=i.id(e,-1),o=i.id(e+1,this.viewItems.length),c=this.findFirstSnapIndex(n),l=this.findFirstSnapIndex(o),u=typeof c==`number`&&!this.viewItems[c].visible,d=typeof l==`number`&&!this.viewItems[l].visible;u&&a[e]&&(s>0||this.startSnappingEnabled)?r.state=1:d&&t[e]&&(s<this.contentSize||this.endSnappingEnabled)?r.state=2:r.state=0}else l&&!u?r.state=1:!l&&u?r.state=2:r.state=3}}getSashPosition(e){let t=0;for(let n=0;n<this.sashItems.length;n++)if(t+=this.viewItems[n].size,this.sashItems[n].sash===e)return t;return 0}findFirstSnapIndex(e){for(let t of e){let e=this.viewItems[t];if(e.visible&&e.snap)return t}for(let t of e){let e=this.viewItems[t];if(e.visible&&e.maximumSize-e.minimumSize>0)return;if(!e.visible&&e.snap)return t}}dispose(){super.dispose(),i.nu(this.viewItems),this.viewItems=[],this.sashItems.forEach(e=>e.disposable.dispose()),this.sashItems=[]}},Xy=class e{constructor(t,n,r){this.columns=t,this.getColumnSize=r,this.templateId=e.TemplateId,this.renderedTemplates=new Set;let i=new Map(n.map(e=>[e.templateId,e]));this.renderers=[];for(let e of t){let t=i.get(e.templateId);if(!t)throw Error(`Table cell renderer for template id ${e.templateId} not found.`);this.renderers.push(t)}}renderTemplate(e){let t=i.Xa(e,i.za(`.monaco-table-tr`)),n=[],r=[];for(let e=0;e<this.columns.length;e++){let a=this.renderers[e],o=i.Xa(t,i.za(`.monaco-table-td`,{"data-col-index":e}));o.style.width=`${this.getColumnSize(e)}px`,n.push(o),r.push(a.renderTemplate(o))}let a={container:e,cellContainers:n,cellTemplateData:r};return this.renderedTemplates.add(a),a}renderElement(e,t,n,r){for(let i=0;i<this.columns.length;i++){let a=this.columns[i].project(e);this.renderers[i].renderElement(a,t,n.cellTemplateData[i],r)}}disposeElement(e,t,n,r){for(let i=0;i<this.columns.length;i++){let a=this.renderers[i];if(a.disposeElement){let o=this.columns[i].project(e);a.disposeElement(o,t,n.cellTemplateData[i],r)}}}disposeTemplate(e){for(let t=0;t<this.columns.length;t++)this.renderers[t].disposeTemplate(e.cellTemplateData[t]);i.$a(e.container),this.renderedTemplates.delete(e)}layoutColumn(e,t){for(let{cellContainers:n}of this.renderedTemplates)n[e].style.width=`${t}px`}};Xy.TemplateId=`row`;function Zy(e){return{getHeight(t){return e.getHeight(t)},getTemplateId(){return Xy.TemplateId}}}var Qy=class{constructor(e,t){this.column=e,this.index=t,this._onDidLayout=new i.Ul,this.onDidLayout=this._onDidLayout.event,this.element=i.za(`.monaco-table-th`,{"data-col-index":t,title:e.tooltip},e.label)}get minimumSize(){return this.column.minimumWidth??120}get maximumSize(){return this.column.maximumWidth??1/0}get onDidChange(){return this.column.onDidChangeWidthConstraints??i.Wl.None}layout(e){this._onDidLayout.fire([this.index,e])}},$y=class e{constructor(t,n,r,a,o,s){this.virtualDelegate=r,this.domId=`table_id_${++e.InstanceCount}`,this.disposables=new i.Zl,this.cachedWidth=0,this.cachedHeight=0,this.domNode=i.Xa(n,i.za(`.monaco-table.${this.domId}`));let c=a.map((e,t)=>new Qy(e,t)),l={size:c.reduce((e,t)=>e+t.column.weight,0),views:c.map(e=>({size:e.column.weight,view:e}))};this.splitview=this.disposables.add(new Yy(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:l})),this.splitview.el.style.height=`${r.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${r.headerRowHeight}px`;let u=new Xy(a,o,e=>this.splitview.getViewSize(e));this.list=this.disposables.add(new Ry(t,this.domNode,Zy(r),[u],s)),i.Wl.any(...c.map(e=>e.onDidLayout))(([e,t])=>u.layoutColumn(e,t),null,this.disposables),this.splitview.onDidSashReset(e=>{let t=a.reduce((e,t)=>e+t.weight,0),n=a[e].weight/t*this.cachedWidth;this.splitview.resizeView(e,n)},null,this.disposables),this.styleElement=i.ro(this.domNode),this.style({})}get onDidChangeFocus(){return this.list.onDidChangeFocus}get onDidChangeSelection(){return this.list.onDidChangeSelection}get onMouseDblClick(){return this.list.onMouseDblClick}get onPointer(){return this.list.onPointer}get onDidFocus(){return this.list.onDidFocus}get onDidDispose(){return this.list.onDidDispose}updateOptions(e){this.list.updateOptions(e)}splice(e,t,n=[]){this.list.splice(e,t,n)}getHTMLElement(){return this.domNode}style(e){let t=[];t.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {
|
|
549
|
+
top: ${this.virtualDelegate.headerRowHeight+1}px;
|
|
550
|
+
height: calc(100% - ${this.virtualDelegate.headerRowHeight}px);
|
|
551
|
+
}`),this.styleElement.textContent=t.join(`
|
|
552
|
+
`),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}};$y.InstanceCount=0;var eb={inputActiveOptionBorder:i.Bi.fromHex(`#007ACC00`),inputActiveOptionForeground:i.Bi.fromHex(`#FFFFFF`),inputActiveOptionBackground:i.Bi.fromHex(`#0E639C50`)},tb=class extends ds{constructor(e){super(),this._onChange=this._register(new i.Ul),this.onChange=this._onChange.event,this._onKeyDown=this._register(new i.Ul),this.onKeyDown=this._onKeyDown.event,this._opts=Object.assign(Object.assign({},eb),e),this._checked=this._opts.isChecked;let t=[`monaco-custom-toggle`];this._opts.icon&&(this._icon=this._opts.icon,t.push(...i.wl.asClassNameArray(this._icon))),this._opts.actionClassName&&t.push(...this._opts.actionClassName.split(` `)),this._checked&&t.push(`checked`),this.domNode=document.createElement(`div`),this.domNode.title=this._opts.title,this.domNode.classList.add(...t),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute(`role`,`checkbox`),this.domNode.setAttribute(`aria-checked`,String(this._checked)),this.domNode.setAttribute(`aria-label`,this._opts.title),this.applyStyles(),this.onclick(this.domNode,e=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),e.preventDefault())}),this.ignoreGesture(this.domNode),this.onkeydown(this.domNode,e=>{if(e.keyCode===10||e.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),e.preventDefault(),e.stopPropagation();return}this._onKeyDown.fire(e)})}get enabled(){return this.domNode.getAttribute(`aria-disabled`)!==`true`}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this.domNode.setAttribute(`aria-checked`,String(this._checked)),this.domNode.classList.toggle(`checked`,this._checked),this.applyStyles()}width(){return 22}style(e){e.inputActiveOptionBorder&&(this._opts.inputActiveOptionBorder=e.inputActiveOptionBorder),e.inputActiveOptionForeground&&(this._opts.inputActiveOptionForeground=e.inputActiveOptionForeground),e.inputActiveOptionBackground&&(this._opts.inputActiveOptionBackground=e.inputActiveOptionBackground),this.applyStyles()}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder?this._opts.inputActiveOptionBorder.toString():``,this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground?this._opts.inputActiveOptionForeground.toString():`inherit`,this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground?this._opts.inputActiveOptionBackground.toString():``)}enable(){this.domNode.setAttribute(`aria-disabled`,`false`)}disable(){this.domNode.setAttribute(`aria-disabled`,`true`)}},nb=i.Td(`caseDescription`,`Match Case`),rb=i.Td(`wordsDescription`,`Match Whole Word`),ib=i.Td(`regexDescription`,`Use Regular Expression`),ab=class extends tb{constructor(e){super({icon:i.Tl.caseSensitive,title:nb+e.appendTitle,isChecked:e.isChecked,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}},ob=class extends tb{constructor(e){super({icon:i.Tl.wholeWord,title:rb+e.appendTitle,isChecked:e.isChecked,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}},sb=class extends tb{constructor(e){super({icon:i.Tl.regex,title:ib+e.appendTitle,isChecked:e.isChecked,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}},cb=i.Td(`defaultLabel`,`input`),lb=class extends ds{constructor(e,t,n,r){super(),this._showOptionButtons=n,this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalToggles=[],this._onDidOptionChange=this._register(new i.Ul),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new i.Ul),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new i.Ul),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new i.Ul),this._onKeyUp=this._register(new i.Ul),this._onCaseSensitiveKeyDown=this._register(new i.Ul),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new i.Ul),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.contextViewProvider=t,this.placeholder=r.placeholder||``,this.validation=r.validation,this.label=r.label||cb,this.inputActiveOptionBorder=r.inputActiveOptionBorder,this.inputActiveOptionForeground=r.inputActiveOptionForeground,this.inputActiveOptionBackground=r.inputActiveOptionBackground,this.inputBackground=r.inputBackground,this.inputForeground=r.inputForeground,this.inputBorder=r.inputBorder,this.inputValidationInfoBorder=r.inputValidationInfoBorder,this.inputValidationInfoBackground=r.inputValidationInfoBackground,this.inputValidationInfoForeground=r.inputValidationInfoForeground,this.inputValidationWarningBorder=r.inputValidationWarningBorder,this.inputValidationWarningBackground=r.inputValidationWarningBackground,this.inputValidationWarningForeground=r.inputValidationWarningForeground,this.inputValidationErrorBorder=r.inputValidationErrorBorder,this.inputValidationErrorBackground=r.inputValidationErrorBackground,this.inputValidationErrorForeground=r.inputValidationErrorForeground;let a=r.appendCaseSensitiveLabel||``,o=r.appendWholeWordsLabel||``,s=r.appendRegexLabel||``,c=r.history||[],l=!!r.flexibleHeight,u=!!r.flexibleWidth,d=r.flexibleMaxHeight;this.domNode=document.createElement(`div`),this.domNode.classList.add(`monaco-findInput`),this.inputBox=this._register(new pv(this.domNode,this.contextViewProvider,{placeholder:this.placeholder||``,ariaLabel:this.label||``,validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:c,showHistoryHint:r.showHistoryHint,flexibleHeight:l,flexibleWidth:u,flexibleMaxHeight:d})),this.regex=this._register(new sb({appendTitle:s,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.regex.onChange(e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(e=>{this._onRegexKeyDown.fire(e)})),this.wholeWords=this._register(new ob({appendTitle:o,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.wholeWords.onChange(e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new ab({appendTitle:a,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.caseSensitive.onChange(e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(e=>{this._onCaseSensitiveKeyDown.fire(e)}));let f=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,e=>{if(e.equals(15)||e.equals(17)||e.equals(9)){let t=f.indexOf(document.activeElement);if(t>=0){let n=-1;e.equals(17)?n=(t+1)%f.length:e.equals(15)&&(n=t===0?f.length-1:t-1),e.equals(9)?(f[t].blur(),this.inputBox.focus()):n>=0&&f[n].focus(),i.Ha.stop(e,!0)}}}),this.controls=document.createElement(`div`),this.controls.className=`controls`,this.controls.style.display=this._showOptionButtons?`block`:`none`,this.controls.appendChild(this.caseSensitive.domNode),this.controls.appendChild(this.wholeWords.domNode),this.controls.appendChild(this.regex.domNode),this._showOptionButtons||(this.caseSensitive.domNode.style.display=`none`,this.wholeWords.domNode.style.display=`none`,this.regex.domNode.style.display=`none`);for(let e of r?.additionalToggles??[])this._register(e),this.controls.appendChild(e.domNode),this._register(e.onChange(e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()})),this.additionalToggles.push(e);this.additionalToggles.length>0&&(this.controls.style.display=`block`),this.inputBox.paddingRight=(this._showOptionButtons?this.caseSensitive.width()+this.wholeWords.width()+this.regex.width():0)+this.additionalToggles.reduce((e,t)=>e+t.width(),0),this.domNode.appendChild(this.controls),e?.appendChild(this.domNode),this._register(i.Ka(this.inputBox.inputElement,`compositionstart`,e=>{this.imeSessionInProgress=!0})),this._register(i.Ka(this.inputBox.inputElement,`compositionend`,e=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,e=>this._onKeyDown.fire(e)),this.onkeyup(this.inputBox.inputElement,e=>this._onKeyUp.fire(e)),this.oninput(this.inputBox.inputElement,e=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,e=>this._onMouseDown.fire(e))}get onDidChange(){return this.inputBox.onDidChange}enable(){this.domNode.classList.remove(`disabled`),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable();for(let e of this.additionalToggles)e.enable()}disable(){this.domNode.classList.add(`disabled`),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable();for(let e of this.additionalToggles)e.disable()}setFocusInputOnOptionClick(e){this.fixFocusOnOptionClickEnabled=e}setEnabled(e){e?this.enable():this.disable()}getValue(){return this.inputBox.value}setValue(e){this.inputBox.value!==e&&(this.inputBox.value=e)}style(e){this.inputActiveOptionBorder=e.inputActiveOptionBorder,this.inputActiveOptionForeground=e.inputActiveOptionForeground,this.inputActiveOptionBackground=e.inputActiveOptionBackground,this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()}applyStyles(){if(this.domNode){let e={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground};this.regex.style(e),this.wholeWords.style(e),this.caseSensitive.style(e);for(let t of this.additionalToggles)t.style(e);let t={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(t)}}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive.checked}setCaseSensitive(e){this.caseSensitive.checked=e}getWholeWords(){return this.wholeWords.checked}setWholeWords(e){this.wholeWords.checked=e}getRegex(){return this.regex.checked}setRegex(e){this.regex.checked=e,this.validate()}focusOnCaseSensitive(){this.caseSensitive.focus()}highlightFindOptions(){this.domNode.classList.remove(`highlight-`+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add(`highlight-`+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(e){this.inputBox.showMessage(e)}clearMessage(){this.inputBox.hideMessage()}},ub;(function(e){e[e.Unknown=0]=`Unknown`,e[e.Twistie=1]=`Twistie`,e[e.Element=2]=`Element`,e[e.Filter=3]=`Filter`})(ub||={});var db=class extends Error{constructor(e,t){super(`TreeError [${e}] ${t}`)}},fb=class{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}};function pb(e){return typeof e==`object`&&`visibility`in e&&`data`in e}function mb(e){switch(e){case!0:return 1;case!1:return 0;default:return e}}function hb(e){return typeof e.collapsible==`boolean`}var gb=class{constructor(e,t,n,r={}){this.user=e,this.list=t,this.rootRef=[],this.eventBufferer=new i.Gl,this._onDidChangeCollapseState=new i.Ul,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new i.Ul,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new i.Ul,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new i.ms(i._s),this.collapseByDefault=r.collapseByDefault===void 0?!1:r.collapseByDefault,this.filter=r.filter,this.autoExpandSingleChildren=r.autoExpandSingleChildren===void 0?!1:r.autoExpandSingleChildren,this.root={parent:void 0,element:n,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(e,t,n=i.md.empty(),r={}){if(e.length===0)throw new db(this.user,`Invalid tree location`);r.diffIdentityProvider?this.spliceSmart(r.diffIdentityProvider,e,t,n,r):this.spliceSimple(e,t,n,r)}spliceSmart(e,t,n,r,a,o){r===void 0&&(r=i.md.empty()),o===void 0&&(o=a.diffDepth??0);let{parentNode:s}=this.getParentNodeWithListIndex(t);if(!s.lastDiffIds)return this.spliceSimple(t,n,r,a);let c=[...r],l=t[t.length-1],u=new dn({getElements:()=>s.lastDiffIds},{getElements:()=>[...s.children.slice(0,l),...c,...s.children.slice(l+n)].map(t=>e.getId(t.element).toString())}).ComputeDiff(!1);if(u.quitEarly)return s.lastDiffIds=void 0,this.spliceSimple(t,n,c,a);let d=t.slice(0,-1),f=(t,n,r)=>{if(o>0)for(let i=0;i<r;i++)t--,n--,this.spliceSmart(e,[...d,t,0],2**53-1,c[n].children,a,o-1)},p=Math.min(s.children.length,l+n),m=c.length;for(let e of u.changes.sort((e,t)=>t.originalStart-e.originalStart))f(p,m,p-(e.originalStart+e.originalLength)),p=e.originalStart,m=e.modifiedStart-l,this.spliceSimple([...d,p],e.originalLength,i.md.slice(c,m,m+e.modifiedLength),a);f(p,m,p)}spliceSimple(e,t,n=i.md.empty(),{onDidCreateNode:r,onDidDeleteNode:a,diffIdentityProvider:o}){let{parentNode:s,listIndex:c,revealed:l,visible:u}=this.getParentNodeWithListIndex(e),d=[],f=i.md.map(n,e=>this.createTreeNode(e,s,s.visible?1:0,l,d,r)),p=e[e.length-1],m=s.children.length>0,h=0;for(let e=p;e>=0&&e<s.children.length;e--){let t=s.children[e];if(t.visible){h=t.visibleChildIndex;break}}let g=[],_=0,v=0;for(let e of f)g.push(e),v+=e.renderNodeCount,e.visible&&(e.visibleChildIndex=h+ _++);let y=i.od(s.children,p,t,g);o?s.lastDiffIds?i.od(s.lastDiffIds,p,t,g.map(e=>o.getId(e.element).toString())):s.lastDiffIds=s.children.map(e=>o.getId(e.element).toString()):s.lastDiffIds=void 0;let b=0;for(let e of y)e.visible&&b++;if(b!==0)for(let e=p+g.length;e<s.children.length;e++){let t=s.children[e];t.visible&&(t.visibleChildIndex-=b)}if(s.visibleChildrenCount+=_-b,l&&u){let e=y.reduce((e,t)=>e+(t.visible?t.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(s,v-e),this.list.splice(c,e,d)}if(y.length>0&&a){let e=t=>{a(t),t.children.forEach(e)};y.forEach(e)}this._onDidSplice.fire({insertedNodes:g,deletedNodes:y});let x=s.children.length>0;m!==x&&this.setCollapsible(e.slice(0,-1),x);let S=s;for(;S;){if(S.visibility===2){this.refilterDelayer.trigger(()=>this.refilter());break}S=S.parent}}rerender(e){if(e.length===0)throw new db(this.user,`Invalid tree location`);let{node:t,listIndex:n,revealed:r}=this.getTreeNodeWithListIndex(e);t.visible&&r&&this.list.splice(n,1,[t])}has(e){return this.hasTreeNode(e)}getListIndex(e){let{listIndex:t,visible:n,revealed:r}=this.getTreeNodeWithListIndex(e);return n&&r?t:-1}getListRenderCount(e){return this.getTreeNode(e).renderNodeCount}isCollapsible(e){return this.getTreeNode(e).collapsible}setCollapsible(e,t){let n=this.getTreeNode(e);t===void 0&&(t=!n.collapsible);let r={collapsible:t};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,r))}isCollapsed(e){return this.getTreeNode(e).collapsed}setCollapsed(e,t,n){let r=this.getTreeNode(e);t===void 0&&(t=!r.collapsed);let i={collapsed:t,recursive:n||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,i))}_setCollapseState(e,t){let{node:n,listIndex:r,revealed:i}=this.getTreeNodeWithListIndex(e),a=this._setListNodeCollapseState(n,r,i,t);if(n!==this.root&&this.autoExpandSingleChildren&&a&&!hb(t)&&n.collapsible&&!n.collapsed&&!t.recursive){let r=-1;for(let e=0;e<n.children.length;e++)if(n.children[e].visible)if(r>-1){r=-1;break}else r=e;r>-1&&this._setCollapseState([...e,r],t)}return a}_setListNodeCollapseState(e,t,n,r){let i=this._setNodeCollapseState(e,r,!1);if(!n||!e.visible||!i)return i;let a=e.renderNodeCount,o=this.updateNodeAfterCollapseChange(e),s=a-(t===-1?0:1);return this.list.splice(t+1,s,o.slice(1)),i}_setNodeCollapseState(e,t,n){let r;if(e===this.root?r=!1:(hb(t)?(r=e.collapsible!==t.collapsible,e.collapsible=t.collapsible):e.collapsible?(r=e.collapsed!==t.collapsed,e.collapsed=t.collapsed):r=!1,r&&this._onDidChangeCollapseState.fire({node:e,deep:n})),!hb(t)&&t.recursive)for(let n of e.children)r=this._setNodeCollapseState(n,t,!0)||r;return r}expandTo(e){this.eventBufferer.bufferEvents(()=>{let t=this.getTreeNode(e);for(;t.parent;)t=t.parent,e=e.slice(0,e.length-1),t.collapsed&&this._setCollapseState(e,{collapsed:!1,recursive:!1})})}refilter(){let e=this.root.renderNodeCount,t=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,e,t),this.refilterDelayer.cancel()}createTreeNode(e,t,n,r,a,o){let s={parent:t,element:e.element,children:[],depth:t.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof e.collapsible==`boolean`?e.collapsible:e.collapsed!==void 0,collapsed:e.collapsed===void 0?this.collapseByDefault:e.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},c=this._filterNode(s,n);s.visibility=c,r&&a.push(s);let l=e.children||i.md.empty(),u=r&&c!==0&&!s.collapsed,d=i.md.map(l,e=>this.createTreeNode(e,s,c,u,a,o)),f=0,p=1;for(let e of d)s.children.push(e),p+=e.renderNodeCount,e.visible&&(e.visibleChildIndex=f++);return s.collapsible=s.collapsible||s.children.length>0,s.visibleChildrenCount=f,s.visible=c===2?f>0:c===1,s.visible?s.collapsed||(s.renderNodeCount=p):(s.renderNodeCount=0,r&&a.pop()),o?.(s),s}updateNodeAfterCollapseChange(e){let t=e.renderNodeCount,n=[];return this._updateNodeAfterCollapseChange(e,n),this._updateAncestorsRenderNodeCount(e.parent,n.length-t),n}_updateNodeAfterCollapseChange(e,t){if(e.visible===!1)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(let n of e.children)e.renderNodeCount+=this._updateNodeAfterCollapseChange(n,t);return this._onDidChangeRenderNodeCount.fire(e),e.renderNodeCount}updateNodeAfterFilterChange(e){let t=e.renderNodeCount,n=[];return this._updateNodeAfterFilterChange(e,e.visible?1:0,n),this._updateAncestorsRenderNodeCount(e.parent,n.length-t),n}_updateNodeAfterFilterChange(e,t,n,r=!0){let i;if(e!==this.root){if(i=this._filterNode(e,t),i===0)return e.visible=!1,e.renderNodeCount=0,!1;r&&n.push(e)}let a=n.length;e.renderNodeCount=e===this.root?0:1;let o=!1;if(!e.collapsed||i!==0){let t=0;for(let a of e.children)o=this._updateNodeAfterFilterChange(a,i,n,r&&!e.collapsed)||o,a.visible&&(a.visibleChildIndex=t++);e.visibleChildrenCount=t}else e.visibleChildrenCount=0;return e!==this.root&&(e.visible=i===2?o:i===1,e.visibility=i),e.visible?e.collapsed||(e.renderNodeCount+=n.length-a):(e.renderNodeCount=0,r&&n.pop()),this._onDidChangeRenderNodeCount.fire(e),e.visible}_updateAncestorsRenderNodeCount(e,t){if(t!==0)for(;e;)e.renderNodeCount+=t,this._onDidChangeRenderNodeCount.fire(e),e=e.parent}_filterNode(e,t){let n=this.filter?this.filter.filter(e.element,t):1;return typeof n==`boolean`?(e.filterData=void 0,n?1:0):pb(n)?(e.filterData=n.data,mb(n.visibility)):(e.filterData=void 0,mb(n))}hasTreeNode(e,t=this.root){if(!e||e.length===0)return!0;let[n,...r]=e;return n<0||n>t.children.length?!1:this.hasTreeNode(r,t.children[n])}getTreeNode(e,t=this.root){if(!e||e.length===0)return t;let[n,...r]=e;if(n<0||n>t.children.length)throw new db(this.user,`Invalid tree location`);return this.getTreeNode(r,t.children[n])}getTreeNodeWithListIndex(e){if(e.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};let{parentNode:t,listIndex:n,revealed:r,visible:i}=this.getParentNodeWithListIndex(e),a=e[e.length-1];if(a<0||a>t.children.length)throw new db(this.user,`Invalid tree location`);let o=t.children[a];return{node:o,listIndex:n,revealed:r,visible:i&&o.visible}}getParentNodeWithListIndex(e,t=this.root,n=0,r=!0,i=!0){let[a,...o]=e;if(a<0||a>t.children.length)throw new db(this.user,`Invalid tree location`);for(let e=0;e<a;e++)n+=t.children[e].renderNodeCount;return r&&=!t.collapsed,i&&=t.visible,o.length===0?{parentNode:t,listIndex:n,revealed:r,visible:i}:this.getParentNodeWithListIndex(o,t.children[a],n+1,r,i)}getNode(e=[]){return this.getTreeNode(e)}getNodeLocation(e){let t=[],n=e;for(;n.parent;)t.push(n.parent.children.indexOf(n)),n=n.parent;return t.reverse()}getParentNodeLocation(e){if(e.length!==0)return e.length===1?[]:i.cd(e)[0]}getFirstElementChild(e){let t=this.getTreeNode(e);if(t.children.length!==0)return t.children[0].element}},_b=class{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){let n=this.map.get(e);n&&(n.delete(t),n.size===0&&this.map.delete(e))}forEach(e,t){let n=this.map.get(e);n&&n.forEach(t)}},vb=class extends ny{constructor(e){super(e.elements.map(e=>e.element)),this.data=e}};function yb(e){return e instanceof ny?new vb(e):e}var bb=class{constructor(e,t){this.modelProvider=e,this.dnd=t,this.autoExpandDisposable=i.Xl.None}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(e=>e.element),t)}onDragStart(e,t){var n,r;(r=(n=this.dnd).onDragStart)==null||r.call(n,yb(e),t)}onDragOver(e,t,n,r,a=!0){let o=this.dnd.onDragOver(yb(e),t&&t.element,n,r),s=this.autoExpandNode!==t;if(s&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=t),t===void 0)return o;if(s&&typeof o!=`boolean`&&o.autoExpand&&(this.autoExpandDisposable=i.ws(()=>{let e=this.modelProvider(),n=e.getNodeLocation(t);e.isCollapsed(n)&&e.setCollapsed(n,!1),this.autoExpandNode=void 0},500)),typeof o==`boolean`||!o.accept||o.bubble===void 0||o.feedback)return a?o:{accept:typeof o==`boolean`?o:o.accept,effect:typeof o==`boolean`?void 0:o.effect,feedback:[n]};if(o.bubble===1){let n=this.modelProvider(),i=n.getNodeLocation(t),a=n.getParentNodeLocation(i),o=n.getNode(a),s=a&&n.getListIndex(a);return this.onDragOver(e,o,s,r,!1)}let c=this.modelProvider(),l=c.getNodeLocation(t),u=c.getListIndex(l),d=c.getListRenderCount(l);return Object.assign(Object.assign({},o),{feedback:i.id(u,u+d)})}drop(e,t,n,r){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(yb(e),t&&t.element,n,r)}onDragEnd(e){var t,n;(n=(t=this.dnd).onDragEnd)==null||n.call(t,e)}};function xb(e,t){return t&&Object.assign(Object.assign({},t),{identityProvider:t.identityProvider&&{getId(e){return t.identityProvider.getId(e.element)}},dnd:t.dnd&&new bb(e,t.dnd),multipleSelectionController:t.multipleSelectionController&&{isSelectionSingleChangeEvent(e){return t.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},e),{element:e.element}))},isSelectionRangeChangeEvent(e){return t.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},e),{element:e.element}))}},accessibilityProvider:t.accessibilityProvider&&Object.assign(Object.assign({},t.accessibilityProvider),{getSetSize(t){let n=e(),r=n.getNodeLocation(t),i=n.getParentNodeLocation(r);return n.getNode(i).visibleChildrenCount},getPosInSet(e){return e.visibleChildIndex+1},isChecked:t.accessibilityProvider&&t.accessibilityProvider.isChecked?e=>t.accessibilityProvider.isChecked(e.element):void 0,getRole:t.accessibilityProvider&&t.accessibilityProvider.getRole?e=>t.accessibilityProvider.getRole(e.element):()=>`treeitem`,getAriaLabel(e){return t.accessibilityProvider.getAriaLabel(e.element)},getWidgetAriaLabel(){return t.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:t.accessibilityProvider&&t.accessibilityProvider.getWidgetRole?()=>t.accessibilityProvider.getWidgetRole():()=>`tree`,getAriaLevel:t.accessibilityProvider&&t.accessibilityProvider.getAriaLevel?e=>t.accessibilityProvider.getAriaLevel(e.element):e=>e.depth,getActiveDescendantId:t.accessibilityProvider.getActiveDescendantId&&(e=>t.accessibilityProvider.getActiveDescendantId(e.element))}),keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},t.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel(e){return t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}})})}var Sb=class{constructor(e){this.delegate=e}getHeight(e){return this.delegate.getHeight(e.element)}getTemplateId(e){return this.delegate.getTemplateId(e.element)}hasDynamicHeight(e){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(e.element)}setDynamicHeight(e,t){var n,r;(r=(n=this.delegate).setDynamicHeight)==null||r.call(n,e.element,t)}},Cb;(function(e){e.None=`none`,e.OnHover=`onHover`,e.Always=`always`})(Cb||={});var wb=class{constructor(e,t=[]){this._elements=t,this.disposables=new i.Zl,this.onDidChange=i.Wl.forEach(e,e=>this._elements=e,this.disposables)}get elements(){return this._elements}dispose(){this.disposables.dispose()}},Tb=class e{constructor(t,n,r,a,o={}){var s;this.renderer=t,this.modelProvider=n,this.activeNodes=a,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=e.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.renderedIndentGuides=new _b,this.activeIndentNodes=new Set,this.indentGuidesDisposable=i.Xl.None,this.disposables=new i.Zl,this.templateId=t.templateId,this.updateOptions(o),i.Wl.map(r,e=>e.node)(this.onDidChangeNodeTwistieState,this,this.disposables),(s=t.onDidChangeTwistieState)==null||s.call(t,this.onDidChangeTwistieState,this,this.disposables)}updateOptions(e={}){if(e.indent!==void 0&&(this.indent=i.s(e.indent,0,40)),e.renderIndentGuides!==void 0){let t=e.renderIndentGuides!==Cb.None;if(t!==this.shouldRenderIndentGuides&&(this.shouldRenderIndentGuides=t,this.indentGuidesDisposable.dispose(),t)){let e=new i.Zl;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,e),this.indentGuidesDisposable=e,this._onDidChangeActiveNodes(this.activeNodes.elements)}}e.hideTwistiesOfChildlessElements!==void 0&&(this.hideTwistiesOfChildlessElements=e.hideTwistiesOfChildlessElements)}renderTemplate(e){let t=i.Xa(e,i.za(`.monaco-tl-row`)),n=i.Xa(t,i.za(`.monaco-tl-indent`)),r=i.Xa(t,i.za(`.monaco-tl-twistie`)),a=i.Xa(t,i.za(`.monaco-tl-contents`)),o=this.renderer.renderTemplate(a);return{container:e,indent:n,twistie:r,indentGuidesDisposable:i.Xl.None,templateData:o}}renderElement(t,n,r,i){typeof i==`number`&&(this.renderedNodes.set(t,{templateData:r,height:i}),this.renderedElements.set(t.element,t));let a=e.DefaultIndent+(t.depth-1)*this.indent;r.twistie.style.paddingLeft=`${a}px`,r.indent.style.width=`${a+this.indent-16}px`,this.renderTwistie(t,r),typeof i==`number`&&this.renderIndentGuides(t,r),this.renderer.renderElement(t,n,r.templateData,i)}disposeElement(e,t,n,r){var i,a;n.indentGuidesDisposable.dispose(),(a=(i=this.renderer).disposeElement)==null||a.call(i,e,t,n.templateData,r),typeof r==`number`&&(this.renderedNodes.delete(e),this.renderedElements.delete(e.element))}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}onDidChangeTwistieState(e){let t=this.renderedElements.get(e);t&&this.onDidChangeNodeTwistieState(t)}onDidChangeNodeTwistieState(e){let t=this.renderedNodes.get(e);t&&(this.renderTwistie(e,t.templateData),this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderIndentGuides(e,t.templateData))}renderTwistie(e,t){t.twistie.classList.remove(...i.Tl.treeItemExpanded.classNamesArray);let n=!1;this.renderer.renderTwistie&&(n=this.renderer.renderTwistie(e.element,t.twistie)),e.collapsible&&(!this.hideTwistiesOfChildlessElements||e.visibleChildrenCount>0)?(n||t.twistie.classList.add(...i.Tl.treeItemExpanded.classNamesArray),t.twistie.classList.add(`collapsible`),t.twistie.classList.toggle(`collapsed`,e.collapsed)):t.twistie.classList.remove(`collapsible`,`collapsed`),e.collapsible?t.container.setAttribute(`aria-expanded`,String(!e.collapsed)):t.container.removeAttribute(`aria-expanded`)}renderIndentGuides(e,t){if(i.$a(t.indent),t.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;let n=new i.Zl,r=this.modelProvider(),a=e;for(;;){let e=r.getNodeLocation(a),o=r.getParentNodeLocation(e);if(!o)break;let s=r.getNode(o),c=i.za(`.indent-guide`,{style:`width: ${this.indent}px`});this.activeIndentNodes.has(s)&&c.classList.add(`active`),t.indent.childElementCount===0?t.indent.appendChild(c):t.indent.insertBefore(c,t.indent.firstElementChild),this.renderedIndentGuides.add(s,c),n.add(i.au(()=>this.renderedIndentGuides.delete(s,c))),a=s}t.indentGuidesDisposable=n}_onDidChangeActiveNodes(e){if(!this.shouldRenderIndentGuides)return;let t=new Set,n=this.modelProvider();e.forEach(e=>{let r=n.getNodeLocation(e);try{let i=n.getParentNodeLocation(r);e.collapsible&&e.children.length>0&&!e.collapsed?t.add(e):i&&t.add(n.getNode(i))}catch{}}),this.activeIndentNodes.forEach(e=>{t.has(e)||this.renderedIndentGuides.forEach(e,e=>e.classList.remove(`active`))}),t.forEach(e=>{this.activeIndentNodes.has(e)||this.renderedIndentGuides.forEach(e,e=>e.classList.add(`active`))}),this.activeIndentNodes=t}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),i.nu(this.disposables)}};Tb.DefaultIndent=8;var Eb=class{constructor(e,t,n){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=n,this._totalCount=0,this._matchCount=0,this._pattern=``,this._lowercasePattern=``,this.disposables=new i.Zl,e.onWillRefilter(this.reset,this,this.disposables)}get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}filter(e,t){if(this._filter){let n=this._filter.filter(e,t),r;if(r=typeof n==`boolean`?n?1:0:pb(n)?mb(n.visibility):n,r===0)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:af.Default,visibility:!0};let n=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),r=Array.isArray(n)?n:[n];for(let e of r){let t=e&&e.toString();if(t===void 0)return{data:af.Default,visibility:!0};let n=sf(this._pattern,this._lowercasePattern,0,t,t.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(n)return this._matchCount++,r.length===1?{data:n,visibility:!0}:{data:{label:t,score:n},visibility:!0}}return this.tree.findMode===Db.Filter?2:{data:af.Default,visibility:!0}}reset(){this._totalCount=0,this._matchCount=0}dispose(){i.nu(this.disposables)}},Db;(function(e){e[e.Highlight=0]=`Highlight`,e[e.Filter=1]=`Filter`})(Db||={});var Ob=class{constructor(e,t,n,r,a){this.tree=e,this.view=n,this.filter=r,this.contextViewProvider=a,this._pattern=``,this.width=0,this._onDidChangeMode=new i.Ul,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangePattern=new i.Ul,this._onDidChangeOpenState=new i.Ul,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new i.Zl,this.disposables=new i.Zl,this._mode=e.options.defaultFindMode??Db.Highlight,t.onDidSplice(this.onDidSpliceModel,this,this.disposables)}get pattern(){return this._pattern}get mode(){return this._mode}set mode(e){e!==this._mode&&(this._mode=e,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(e))}onDidSpliceModel(){!this.widget||this.pattern.length===0||(this.tree.refilter(),this.render())}render(){var e,t;let n=this.filter.totalCount>0&&this.filter.matchCount===0;this.pattern&&n?(e=this.widget)==null||e.showMessage({type:2,content:i.Td(`not found`,`No elements found.`)}):(t=this.widget)==null||t.clearMessage()}shouldAllowFocus(e){return!this.widget||!this.pattern||this._mode===Db.Filter||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!af.isDefault(e.filterData)}style(e){var t;this.styles=e,(t=this.widget)==null||t.style(e)}layout(e){var t;this.width=e,(t=this.widget)==null||t.layout(e)}dispose(){this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}};function kb(e){let t=ub.Unknown;return i._o(e.browserEvent.target,`monaco-tl-twistie`,`monaco-tl-row`)?t=ub.Twistie:i._o(e.browserEvent.target,`monaco-tl-contents`,`monaco-tl-row`)?t=ub.Element:i._o(e.browserEvent.target,`monaco-tree-type-filter`,`monaco-list`)&&(t=ub.Filter),{browserEvent:e.browserEvent,element:e.element?e.element.element:null,target:t}}function Ab(e,t){t(e),e.children.forEach(e=>Ab(e,t))}var jb=class{constructor(e,t){this.getFirstViewElementWithTrait=e,this.identityProvider=t,this.nodes=[],this._onDidChange=new i.Ul,this.onDidChange=this._onDidChange.event}get nodeSet(){return this._nodeSet||=this.createNodeSet(),this._nodeSet}set(e,t){!t?.__forceEvent&&i.Wu(this.nodes,e)||this._set(e,!1,t)}_set(e,t,n){if(this.nodes=[...e],this.elements=void 0,this._nodeSet=void 0,!t){let e=this;this._onDidChange.fire({get elements(){return e.get()},browserEvent:n})}}get(){return this.elements||=this.nodes.map(e=>e.element),[...this.elements]}getNodes(){return this.nodes}has(e){return this.nodeSet.has(e)}onDidModelSplice({insertedNodes:e,deletedNodes:t}){if(!this.identityProvider){let e=this.createNodeSet(),n=t=>e.delete(t);t.forEach(e=>Ab(e,n)),this.set([...e.values()]);return}let n=new Set,r=e=>n.add(this.identityProvider.getId(e.element).toString());t.forEach(e=>Ab(e,r));let i=new Map,a=e=>i.set(this.identityProvider.getId(e.element).toString(),e);e.forEach(e=>Ab(e,a));let o=[];for(let e of this.nodes){let t=this.identityProvider.getId(e.element).toString();if(!n.has(t))o.push(e);else{let e=i.get(t);e&&o.push(e)}}if(this.nodes.length>0&&o.length===0){let e=this.getFirstViewElementWithTrait();e&&o.push(e)}this._set(o,!0)}createNodeSet(){let e=new Set;for(let t of this.nodes)e.add(t);return e}},Mb=class extends Dy{constructor(e,t){super(e),this.tree=t}onViewPointer(e){if(gy(e.browserEvent.target)||my(e.browserEvent.target)||hy(e.browserEvent.target))return;let t=e.element;if(!t||this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e))return super.onViewPointer(e);let n=e.browserEvent.target,r=n.classList.contains(`monaco-tl-twistie`)||n.classList.contains(`monaco-icon-label`)&&n.classList.contains(`folder-icon`)&&e.browserEvent.offsetX<16,i=!1;if(i=typeof this.tree.expandOnlyOnTwistieClick==`function`?this.tree.expandOnlyOnTwistieClick(t.element):!!this.tree.expandOnlyOnTwistieClick,i&&!r&&e.browserEvent.detail!==2||!this.tree.expandOnDoubleClick&&e.browserEvent.detail===2)return super.onViewPointer(e);if(t.collapsible){let n=this.tree.model,a=n.getNodeLocation(t),o=e.browserEvent.altKey;if(this.tree.setFocus([a]),n.setCollapsed(a,void 0,o),i&&r)return}super.onViewPointer(e)}onDoubleClick(e){e.browserEvent.target.classList.contains(`monaco-tl-twistie`)||!this.tree.expandOnDoubleClick||super.onDoubleClick(e)}},Nb=class extends Ry{constructor(e,t,n,r,i,a,o,s){super(e,t,n,r,s),this.focusTrait=i,this.selectionTrait=a,this.anchorTrait=o}createMouseController(e){return new Mb(this,e.tree)}splice(e,t,n=[]){if(super.splice(e,t,n),n.length===0)return;let r=[],a=[],o;n.forEach((t,n)=>{this.focusTrait.has(t)&&r.push(e+n),this.selectionTrait.has(t)&&a.push(e+n),this.anchorTrait.has(t)&&(o=e+n)}),r.length>0&&super.setFocus(i.Uu([...super.getFocus(),...r])),a.length>0&&super.setSelection(i.Uu([...super.getSelection(),...a])),typeof o==`number`&&super.setAnchor(o)}setFocus(e,t,n=!1){super.setFocus(e,t),n||this.focusTrait.set(e.map(e=>this.element(e)),t)}setSelection(e,t,n=!1){super.setSelection(e,t),n||this.selectionTrait.set(e.map(e=>this.element(e)),t)}setAnchor(e,t=!1){super.setAnchor(e),t||(e===void 0?this.anchorTrait.set([]):this.anchorTrait.set([this.element(e)]))}},Pb=class{constructor(e,t,n,r,a={}){this._user=e,this._options=a,this.eventBufferer=new i.Gl,this.onDidChangeFindOpenState=i.Wl.None,this.disposables=new i.Zl,this._onWillRefilter=new i.Ul,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new i.Ul;let o=new Sb(n),s=new i.Jl,c=new i.Jl,l=this.disposables.add(new wb(c.event));this.renderers=r.map(e=>new Tb(e,()=>this.model,s.event,l,a));for(let e of this.renderers)this.disposables.add(e);let u;a.keyboardNavigationLabelProvider&&(u=new Eb(this,a.keyboardNavigationLabelProvider,a.filter),a=Object.assign(Object.assign({},a),{filter:u}),this.disposables.add(u)),this.focus=new jb(()=>this.view.getFocusedElements()[0],a.identityProvider),this.selection=new jb(()=>this.view.getSelectedElements()[0],a.identityProvider),this.anchor=new jb(()=>this.view.getAnchorElement(),a.identityProvider),this.view=new Nb(e,t,o,this.renderers,this.focus,this.selection,this.anchor,Object.assign(Object.assign({},xb(()=>this.model,a)),{tree:this})),this.model=this.createModel(e,this.view,a),s.input=this.model.onDidChangeCollapseState;let d=i.Wl.forEach(this.model.onDidSplice,e=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(e),this.selection.onDidModelSplice(e)})},this.disposables);if(d(()=>null,null,this.disposables),c.input=i.Wl.chain(i.Wl.any(d,this.focus.onDidChange,this.selection.onDidChange)).debounce(()=>null,0).map(()=>{let e=new Set;for(let t of this.focus.getNodes())e.add(t);for(let t of this.selection.getNodes())e.add(t);return[...e.values()]}).event,a.keyboardSupport!==!1){let e=i.Wl.chain(this.view.onKeyDown).filter(e=>!my(e.target)).map(e=>new i.Ho(e));e.filter(e=>e.keyCode===15).on(this.onLeftArrow,this,this.disposables),e.filter(e=>e.keyCode===17).on(this.onRightArrow,this,this.disposables),e.filter(e=>e.keyCode===10).on(this.onSpace,this,this.disposables)}a.keyboardNavigationLabelProvider&&a.contextViewProvider?(this.findController=new Ob(this,this.model,this.view,u,a.contextViewProvider),this.focusNavigationFilter=e=>this.findController.shouldAllowFocus(e),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode):this.onDidChangeFindMode=i.Wl.None,this.styleElement=i.ro(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle(`always`,this._options.renderIndentGuides===Cb.Always)}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return i.Wl.filter(i.Wl.map(this.view.onMouseDblClick,kb),e=>e.target!==ub.Filter)}get onPointer(){return i.Wl.map(this.view.onPointer,kb)}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return i.Wl.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){return this.findController?.mode??Db.Highlight}set findMode(e){this.findController&&(this.findController.mode=e)}get expandOnDoubleClick(){return this._options.expandOnDoubleClick===void 0?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return this._options.expandOnlyOnTwistieClick===void 0?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}updateOptions(e={}){this._options=Object.assign(Object.assign({},this._options),e);for(let t of this.renderers)t.updateOptions(e);this.view.updateOptions(this._options),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle(`always`,this._options.renderIndentGuides===Cb.Always)}get options(){return this._options}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(e){this.view.scrollTop=e}domFocus(){this.view.domFocus()}layout(e,t){var n;this.view.layout(e,t),i.ju(t)&&((n=this.findController)==null||n.layout(t))}style(e){var t;let n=`.${this.view.domId}`,r=[];e.treeIndentGuidesStroke&&(r.push(`.monaco-list${n}:hover .monaco-tl-indent > .indent-guide, .monaco-list${n}.always .monaco-tl-indent > .indent-guide { border-color: ${e.treeIndentGuidesStroke.transparent(.4)}; }`),r.push(`.monaco-list${n} .monaco-tl-indent > .indent-guide.active { border-color: ${e.treeIndentGuidesStroke}; }`)),this.styleElement.textContent=r.join(`
|
|
553
|
+
`),(t=this.findController)==null||t.style(e),this.view.style(e)}getParentElement(e){let t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){let n=e.map(e=>this.model.getNode(e));this.selection.set(n,t);let r=e.map(e=>this.model.getListIndex(e)).filter(e=>e>-1);this.view.setSelection(r,t,!0)}getSelection(){return this.selection.get()}setFocus(e,t){let n=e.map(e=>this.model.getNode(e));this.focus.set(n,t);let r=e.map(e=>this.model.getListIndex(e)).filter(e=>e>-1);this.view.setFocus(r,t,!0)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);let n=this.model.getListIndex(e);n!==-1&&this.view.reveal(n,t)}onLeftArrow(e){e.preventDefault(),e.stopPropagation();let t=this.view.getFocusedElements();if(t.length===0)return;let n=t[0],r=this.model.getNodeLocation(n);if(!this.model.setCollapsed(r,!0)){let e=this.model.getParentNodeLocation(r);if(!e)return;let t=this.model.getListIndex(e);this.view.reveal(t),this.view.setFocus([t])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();let t=this.view.getFocusedElements();if(t.length===0)return;let n=t[0],r=this.model.getNodeLocation(n);if(!this.model.setCollapsed(r,!1)){if(!n.children.some(e=>e.visible))return;let[e]=this.view.getFocus(),t=e+1;this.view.reveal(t),this.view.setFocus([t])}}onSpace(e){e.preventDefault(),e.stopPropagation();let t=this.view.getFocusedElements();if(t.length===0)return;let n=t[0],r=this.model.getNodeLocation(n),i=e.browserEvent.altKey;this.model.setCollapsed(r,void 0,i)}dispose(){i.nu(this.disposables),this.view.dispose()}},Fb=class{constructor(e,t,n={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new gb(e,t,null,n),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,n.sorter&&(this.sorter={compare(e,t){return n.sorter.compare(e.element,t.element)}}),this.identityProvider=n.identityProvider}setChildren(e,t=i.md.empty(),n={}){let r=this.getElementLocation(e);this._setChildren(r,this.preserveCollapseState(t),n)}_setChildren(e,t=i.md.empty(),n){let r=new Set,a=new Set,o=e=>{var t;if(e.element===null)return;let i=e;if(r.add(i.element),this.nodes.set(i.element,i),this.identityProvider){let e=this.identityProvider.getId(i.element).toString();a.add(e),this.nodesByIdentity.set(e,i)}(t=n.onDidCreateNode)==null||t.call(n,i)},s=e=>{var t;if(e.element===null)return;let i=e;if(r.has(i.element)||this.nodes.delete(i.element),this.identityProvider){let e=this.identityProvider.getId(i.element).toString();a.has(e)||this.nodesByIdentity.delete(e)}(t=n.onDidDeleteNode)==null||t.call(n,i)};this.model.splice([...e,0],Number.MAX_VALUE,t,Object.assign(Object.assign({},n),{onDidCreateNode:o,onDidDeleteNode:s}))}preserveCollapseState(e=i.md.empty()){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),i.md.map(e,e=>{let t=this.nodes.get(e.element);if(!t&&this.identityProvider){let n=this.identityProvider.getId(e.element).toString();t=this.nodesByIdentity.get(n)}if(!t)return Object.assign(Object.assign({},e),{children:this.preserveCollapseState(e.children)});let n=typeof e.collapsible==`boolean`?e.collapsible:t.collapsible,r=e.collapsed===void 0?t.collapsed:e.collapsed;return Object.assign(Object.assign({},e),{collapsible:n,collapsed:r,children:this.preserveCollapseState(e.children)})})}rerender(e){let t=this.getElementLocation(e);this.model.rerender(t)}getFirstElementChild(e=null){let t=this.getElementLocation(e);return this.model.getFirstElementChild(t)}has(e){return this.nodes.has(e)}getListIndex(e){let t=this.getElementLocation(e);return this.model.getListIndex(t)}getListRenderCount(e){let t=this.getElementLocation(e);return this.model.getListRenderCount(t)}isCollapsible(e){let t=this.getElementLocation(e);return this.model.isCollapsible(t)}setCollapsible(e,t){let n=this.getElementLocation(e);return this.model.setCollapsible(n,t)}isCollapsed(e){let t=this.getElementLocation(e);return this.model.isCollapsed(t)}setCollapsed(e,t,n){let r=this.getElementLocation(e);return this.model.setCollapsed(r,t,n)}expandTo(e){let t=this.getElementLocation(e);this.model.expandTo(t)}refilter(){this.model.refilter()}getNode(e=null){if(e===null)return this.model.getNode(this.model.rootRef);let t=this.nodes.get(e);if(!t)throw new db(this.user,`Tree element not found: ${e}`);return t}getNodeLocation(e){return e.element}getParentNodeLocation(e){if(e===null)throw new db(this.user,`Invalid getParentNodeLocation call`);let t=this.nodes.get(e);if(!t)throw new db(this.user,`Tree element not found: ${e}`);let n=this.model.getNodeLocation(t),r=this.model.getParentNodeLocation(n);return this.model.getNode(r).element}getElementLocation(e){if(e===null)return[];let t=this.nodes.get(e);if(!t)throw new db(this.user,`Tree element not found: ${e}`);return this.model.getNodeLocation(t)}};function Ib(e){return{element:{elements:[e.element],incompressible:e.incompressible||!1},children:i.md.map(i.md.from(e.children),Ib),collapsible:e.collapsible,collapsed:e.collapsed}}function Lb(e){let t=[e.element],n=e.incompressible||!1,r,a;for(;[a,r]=i.md.consume(i.md.from(e.children),2),!(a.length!==1||a[0].incompressible);)e=a[0],t.push(e.element);return{element:{elements:t,incompressible:n},children:i.md.map(i.md.concat(a,r),Lb),collapsible:e.collapsible,collapsed:e.collapsed}}function Rb(e,t=0){let n;return n=t<e.element.elements.length-1?[Rb(e,t+1)]:i.md.map(i.md.from(e.children),e=>Rb(e,0)),t===0&&e.element.incompressible?{element:e.element.elements[t],children:n,incompressible:!0,collapsible:e.collapsible,collapsed:e.collapsed}:{element:e.element.elements[t],children:n,collapsible:e.collapsible,collapsed:e.collapsed}}function zb(e){return Rb(e,0)}function Bb(e,t,n){return e.element===t?Object.assign(Object.assign({},e),{children:n}):Object.assign(Object.assign({},e),{children:i.md.map(i.md.from(e.children),e=>Bb(e,t,n))})}var Vb=e=>({getId(t){return t.elements.map(t=>e.getId(t).toString()).join(`\0`)}}),Hb=class{constructor(e,t,n={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.model=new Fb(e,t,n),this.enabled=n.compressionEnabled===void 0?!0:n.compressionEnabled,this.identityProvider=n.identityProvider}get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}setChildren(e,t=i.md.empty(),n){let r=n.diffIdentityProvider&&Vb(n.diffIdentityProvider);if(e===null){let e=i.md.map(t,this.enabled?Lb:Ib);this._setChildren(null,e,{diffIdentityProvider:r,diffDepth:1/0});return}let a=this.nodes.get(e);if(!a)throw Error(`Unknown compressed tree node`);let o=this.model.getNode(a),s=this.model.getParentNodeLocation(a),c=this.model.getNode(s),l=Bb(zb(o),e,t),u=(this.enabled?Lb:Ib)(l),d=c.children.map(e=>e===o?u:e);this._setChildren(c.element,d,{diffIdentityProvider:r,diffDepth:o.depth-c.depth})}setCompressionEnabled(e){if(e===this.enabled)return;this.enabled=e;let t=this.model.getNode().children,n=i.md.map(t,zb),r=i.md.map(n,e?Lb:Ib);this._setChildren(null,r,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(e,t,n){let r=new Set;this.model.setChildren(e,t,Object.assign(Object.assign({},n),{onDidCreateNode:e=>{for(let t of e.element.elements)r.add(t),this.nodes.set(t,e.element)},onDidDeleteNode:e=>{for(let t of e.element.elements)r.has(t)||this.nodes.delete(t)}}))}has(e){return this.nodes.has(e)}getListIndex(e){let t=this.getCompressedNode(e);return this.model.getListIndex(t)}getListRenderCount(e){let t=this.getCompressedNode(e);return this.model.getListRenderCount(t)}getNode(e){if(e===void 0)return this.model.getNode();let t=this.getCompressedNode(e);return this.model.getNode(t)}getNodeLocation(e){let t=this.model.getNodeLocation(e);return t===null?null:t.elements[t.elements.length-1]}getParentNodeLocation(e){let t=this.getCompressedNode(e),n=this.model.getParentNodeLocation(t);return n===null?null:n.elements[n.elements.length-1]}getFirstElementChild(e){let t=this.getCompressedNode(e);return this.model.getFirstElementChild(t)}isCollapsible(e){let t=this.getCompressedNode(e);return this.model.isCollapsible(t)}setCollapsible(e,t){let n=this.getCompressedNode(e);return this.model.setCollapsible(n,t)}isCollapsed(e){let t=this.getCompressedNode(e);return this.model.isCollapsed(t)}setCollapsed(e,t,n){let r=this.getCompressedNode(e);return this.model.setCollapsed(r,t,n)}expandTo(e){let t=this.getCompressedNode(e);this.model.expandTo(t)}rerender(e){let t=this.getCompressedNode(e);this.model.rerender(t)}refilter(){this.model.refilter()}getCompressedNode(e){if(e===null)return null;let t=this.nodes.get(e);if(!t)throw new db(this.user,`Tree element not found: ${e}`);return t}},Ub=e=>e[e.length-1],Wb=class e{constructor(e,t){this.unwrapper=e,this.node=t}get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(t=>new e(this.unwrapper,t))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}};function Gb(e,t){return{splice(n,r,i){t.splice(n,r,i.map(t=>e.map(t)))},updateElementHeight(e,n){t.updateElementHeight(e,n)}}}function Kb(e,t){return Object.assign(Object.assign({},t),{identityProvider:t.identityProvider&&{getId(n){return t.identityProvider.getId(e(n))}},sorter:t.sorter&&{compare(e,n){return t.sorter.compare(e.elements[0],n.elements[0])}},filter:t.filter&&{filter(n,r){return t.filter.filter(e(n),r)}}})}var qb=class{constructor(e,t,n={}){this.rootRef=null,this.elementMapper=n.elementMapper||Ub;let r=e=>this.elementMapper(e.elements);this.nodeMapper=new fb(e=>new Wb(r,e)),this.model=new Hb(e,Gb(this.nodeMapper,t),Kb(r,n))}get onDidSplice(){return i.Wl.map(this.model.onDidSplice,({insertedNodes:e,deletedNodes:t})=>({insertedNodes:e.map(e=>this.nodeMapper.map(e)),deletedNodes:t.map(e=>this.nodeMapper.map(e))}))}get onDidChangeCollapseState(){return i.Wl.map(this.model.onDidChangeCollapseState,({node:e,deep:t})=>({node:this.nodeMapper.map(e),deep:t}))}get onDidChangeRenderNodeCount(){return i.Wl.map(this.model.onDidChangeRenderNodeCount,e=>this.nodeMapper.map(e))}setChildren(e,t=i.md.empty(),n={}){this.model.setChildren(e,t,n)}setCompressionEnabled(e){this.model.setCompressionEnabled(e)}has(e){return this.model.has(e)}getListIndex(e){return this.model.getListIndex(e)}getListRenderCount(e){return this.model.getListRenderCount(e)}getNode(e){return this.nodeMapper.map(this.model.getNode(e))}getNodeLocation(e){return e.element}getParentNodeLocation(e){return this.model.getParentNodeLocation(e)}getFirstElementChild(e){let t=this.model.getFirstElementChild(e);return t==null?t:this.elementMapper(t.elements)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}setCollapsed(e,t,n){return this.model.setCollapsed(e,t,n)}expandTo(e){return this.model.expandTo(e)}rerender(e){return this.model.rerender(e)}refilter(){return this.model.refilter()}getCompressedTreeNode(e=null){return this.model.getNode(e)}},Jb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Yb=class extends Pb{constructor(e,t,n,r,i={}){super(e,t,n,r,i),this.user=e}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}setChildren(e,t=i.md.empty(),n){this.model.setChildren(e,t,n)}rerender(e){if(e===void 0){this.view.rerender();return}this.model.rerender(e)}hasElement(e){return this.model.has(e)}createModel(e,t,n){return new Fb(e,t,n)}},Xb=class{constructor(e,t){this._compressedTreeNodeProvider=e,this.renderer=t,this.templateId=t.templateId,t.onDidChangeTwistieState&&(this.onDidChangeTwistieState=t.onDidChangeTwistieState)}get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}renderTemplate(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}}renderElement(e,t,n,r){let i=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element);i.element.elements.length===1?(n.compressedTreeNode=void 0,this.renderer.renderElement(e,t,n.data,r)):(n.compressedTreeNode=i,this.renderer.renderCompressedElements(i,t,n.data,r))}disposeElement(e,t,n,r){var i,a,o,s;n.compressedTreeNode?(a=(i=this.renderer).disposeCompressedElements)==null||a.call(i,n.compressedTreeNode,t,n.data,r):(s=(o=this.renderer).disposeElement)==null||s.call(o,e,t,n.data,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.data)}renderTwistie(e,t){return this.renderer.renderTwistie?this.renderer.renderTwistie(e,t):!1}};Jb([M],Xb.prototype,`compressedTreeNodeProvider`,null);function Zb(e,t){return t&&Object.assign(Object.assign({},t),{keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(n){let r;try{r=e().getCompressedTreeNode(n)}catch{return t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(n)}return r.element.elements.length===1?t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(n):t.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(r.element.elements)}}})}var Qb=class extends Yb{constructor(e,t,n,r,i={}){let a=()=>this,o=r.map(e=>new Xb(a,e));super(e,t,n,o,Zb(a,i))}setChildren(e,t=i.md.empty(),n){this.model.setChildren(e,t,n)}createModel(e,t,n){return new qb(e,t,n)}updateOptions(e={}){super.updateOptions(e),e.compressionEnabled!==void 0&&this.model.setCompressionEnabled(e.compressionEnabled)}getCompressedTreeNode(e=null){return this.model.getCompressedTreeNode(e)}},$b=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};function ex(e){return Object.assign(Object.assign({},e),{children:[],refreshPromise:void 0,stale:!0,slow:!1,collapsedByDefault:void 0})}function tx(e,t){return t.parent?t.parent===e?!0:tx(e,t.parent):!1}function nx(e,t){return e===t||tx(e,t)||tx(t,e)}var rx=class e{constructor(e){this.node=e}get element(){return this.node.element.element}get children(){return this.node.children.map(t=>new e(t))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}},ix=class{constructor(e,t,n){this.renderer=e,this.nodeMapper=t,this.onDidChangeTwistieState=n,this.renderedNodes=new Map,this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,n,r){this.renderer.renderElement(this.nodeMapper.map(e),t,n.templateData,r)}renderTwistie(e,t){return e.slow?(t.classList.add(...i.Tl.treeItemLoading.classNamesArray),!0):(t.classList.remove(...i.Tl.treeItemLoading.classNamesArray),!1)}disposeElement(e,t,n,r){var i,a;(a=(i=this.renderer).disposeElement)==null||a.call(i,this.nodeMapper.map(e),t,n.templateData,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear()}};function ax(e){return{browserEvent:e.browserEvent,elements:e.elements.map(e=>e.element)}}function ox(e){return{browserEvent:e.browserEvent,element:e.element&&e.element.element,target:e.target}}var sx=class extends ny{constructor(e){super(e.elements.map(e=>e.element)),this.data=e}};function cx(e){return e instanceof ny?new sx(e):e}var lx=class{constructor(e){this.dnd=e}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(e=>e.element),t)}onDragStart(e,t){var n,r;(r=(n=this.dnd).onDragStart)==null||r.call(n,cx(e),t)}onDragOver(e,t,n,r,i=!0){return this.dnd.onDragOver(cx(e),t&&t.element,n,r)}drop(e,t,n,r){this.dnd.drop(cx(e),t&&t.element,n,r)}onDragEnd(e){var t,n;(n=(t=this.dnd).onDragEnd)==null||n.call(t,e)}};function ux(e){return e&&Object.assign(Object.assign({},e),{collapseByDefault:!0,identityProvider:e.identityProvider&&{getId(t){return e.identityProvider.getId(t.element)}},dnd:e.dnd&&new lx(e.dnd),multipleSelectionController:e.multipleSelectionController&&{isSelectionSingleChangeEvent(t){return e.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},t),{element:t.element}))},isSelectionRangeChangeEvent(t){return e.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},t),{element:t.element}))}},accessibilityProvider:e.accessibilityProvider&&Object.assign(Object.assign({},e.accessibilityProvider),{getPosInSet:void 0,getSetSize:void 0,getRole:e.accessibilityProvider.getRole?t=>e.accessibilityProvider.getRole(t.element):()=>`treeitem`,isChecked:e.accessibilityProvider.isChecked?t=>!!e.accessibilityProvider?.isChecked(t.element):void 0,getAriaLabel(t){return e.accessibilityProvider.getAriaLabel(t.element)},getWidgetAriaLabel(){return e.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:e.accessibilityProvider.getWidgetRole?()=>e.accessibilityProvider.getWidgetRole():()=>`tree`,getAriaLevel:e.accessibilityProvider.getAriaLevel&&(t=>e.accessibilityProvider.getAriaLevel(t.element)),getActiveDescendantId:e.accessibilityProvider.getActiveDescendantId&&(t=>e.accessibilityProvider.getActiveDescendantId(t.element))}),filter:e.filter&&{filter(t,n){return e.filter.filter(t.element,n)}},keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},e.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel(t){return e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)}}),sorter:void 0,expandOnlyOnTwistieClick:e.expandOnlyOnTwistieClick===void 0?void 0:typeof e.expandOnlyOnTwistieClick==`function`?(t=>e.expandOnlyOnTwistieClick(t.element)):e.expandOnlyOnTwistieClick,additionalScrollHeight:e.additionalScrollHeight})}function dx(e,t){t(e),e.children.forEach(e=>dx(e,t))}var fx=class{constructor(e,t,n,r,a,o={}){this.user=e,this.dataSource=a,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new i.Ul,this._onDidChangeNodeSlowState=new i.Ul,this.nodeMapper=new fb(e=>new rx(e)),this.disposables=new i.Zl,this.identityProvider=o.identityProvider,this.autoExpandSingleChildren=o.autoExpandSingleChildren===void 0?!1:o.autoExpandSingleChildren,this.sorter=o.sorter,this.collapseByDefault=o.collapseByDefault,this.tree=this.createTree(e,t,n,r,o),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.root=ex({element:void 0,parent:null,hasChildren:!0}),this.identityProvider&&(this.root=Object.assign(Object.assign({},this.root),{id:null})),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}get onDidChangeFocus(){return i.Wl.map(this.tree.onDidChangeFocus,ax)}get onDidChangeSelection(){return i.Wl.map(this.tree.onDidChangeSelection,ax)}get onMouseDblClick(){return i.Wl.map(this.tree.onMouseDblClick,ox)}get onPointer(){return i.Wl.map(this.tree.onPointer,ox)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidDispose(){return this.tree.onDidDispose}createTree(e,t,n,r,i){return new Yb(e,t,new Sb(n),r.map(e=>new ix(e,this.nodeMapper,this._onDidChangeNodeSlowState.event)),ux(i)||{})}updateOptions(e={}){this.tree.updateOptions(e)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(e){this.tree.scrollTop=e}domFocus(){this.tree.domFocus()}layout(e,t){this.tree.layout(e,t)}style(e){this.tree.style(e)}getInput(){return this.root.element}setInput(e,t){return $b(this,void 0,void 0,function*(){this.refreshPromises.forEach(e=>e.cancel()),this.refreshPromises.clear(),this.root.element=e;let n=t&&{viewState:t,focus:[],selection:[]};yield this._updateChildren(e,!0,!1,n),n&&(this.tree.setFocus(n.focus),this.tree.setSelection(n.selection)),t&&typeof t.scrollTop==`number`&&(this.scrollTop=t.scrollTop)})}_updateChildren(e=this.root.element,t=!0,n=!1,r,a){return $b(this,void 0,void 0,function*(){if(this.root.element===void 0)throw new db(this.user,`Tree input not set`);this.root.refreshPromise&&(yield this.root.refreshPromise,yield i.Wl.toPromise(this._onDidRender.event));let o=this.getDataNode(e);if(yield this.refreshAndRenderNode(o,t,r,a),n)try{this.tree.rerender(o)}catch{}})}rerender(e){if(e===void 0||e===this.root.element){this.tree.rerender();return}let t=this.getDataNode(e);this.tree.rerender(t)}getNode(e=this.root.element){let t=this.getDataNode(e),n=this.tree.getNode(t===this.root?null:t);return this.nodeMapper.map(n)}collapse(e,t=!1){let n=this.getDataNode(e);return this.tree.collapse(n===this.root?null:n,t)}expand(e,t=!1){return $b(this,void 0,void 0,function*(){if(this.root.element===void 0)throw new db(this.user,`Tree input not set`);this.root.refreshPromise&&(yield this.root.refreshPromise,yield i.Wl.toPromise(this._onDidRender.event));let n=this.getDataNode(e);if(this.tree.hasElement(n)&&!this.tree.isCollapsible(n)||(n.refreshPromise&&(yield this.root.refreshPromise,yield i.Wl.toPromise(this._onDidRender.event)),n!==this.root&&!n.refreshPromise&&!this.tree.isCollapsed(n)))return!1;let r=this.tree.expand(n===this.root?null:n,t);return n.refreshPromise&&(yield this.root.refreshPromise,yield i.Wl.toPromise(this._onDidRender.event)),r})}setSelection(e,t){let n=e.map(e=>this.getDataNode(e));this.tree.setSelection(n,t)}getSelection(){return this.tree.getSelection().map(e=>e.element)}setFocus(e,t){let n=e.map(e=>this.getDataNode(e));this.tree.setFocus(n,t)}getFocus(){return this.tree.getFocus().map(e=>e.element)}reveal(e,t){this.tree.reveal(this.getDataNode(e),t)}getParentElement(e){let t=this.tree.getParentElement(this.getDataNode(e));return t&&t.element}getFirstElementChild(e=this.root.element){let t=this.getDataNode(e),n=this.tree.getFirstElementChild(t===this.root?null:t);return n&&n.element}getDataNode(e){let t=this.nodes.get(e===this.root.element?null:e);if(!t)throw new db(this.user,`Data tree node not found: ${e}`);return t}refreshAndRenderNode(e,t,n,r){return $b(this,void 0,void 0,function*(){yield this.refreshNode(e,t,n),this.render(e,n,r)})}refreshNode(e,t,n){return $b(this,void 0,void 0,function*(){let r;return this.subTreeRefreshPromises.forEach((i,a)=>{!r&&nx(a,e)&&(r=i.then(()=>this.refreshNode(e,t,n)))}),r||this.doRefreshSubTree(e,t,n)})}doRefreshSubTree(e,t,n){return $b(this,void 0,void 0,function*(){let r;e.refreshPromise=new Promise(e=>r=e),this.subTreeRefreshPromises.set(e,e.refreshPromise),e.refreshPromise.finally(()=>{e.refreshPromise=void 0,this.subTreeRefreshPromises.delete(e)});try{let r=yield this.doRefreshNode(e,t,n);e.stale=!1,yield i.vs.settled(r.map(e=>this.doRefreshSubTree(e,t,n)))}finally{r()}})}doRefreshNode(e,t,n){return $b(this,void 0,void 0,function*(){e.hasChildren=!!this.dataSource.hasChildren(e.element);let r;if(!e.hasChildren)r=Promise.resolve(i.md.empty());else{let t=this.doGetChildren(e);if(i.Au(t))r=Promise.resolve(t);else{let n=i.ks(800);n.then(()=>{e.slow=!0,this._onDidChangeNodeSlowState.fire(e)},e=>null),r=t.finally(()=>n.cancel())}}try{let i=yield r;return this.setChildren(e,i,t,n)}catch(t){if(e!==this.root&&this.tree.hasElement(e)&&this.tree.collapse(e),i.du(t))return[];throw t}finally{e.slow&&(e.slow=!1,this._onDidChangeNodeSlowState.fire(e))}})}doGetChildren(e){let t=this.refreshPromises.get(e);if(t)return t;let n=this.dataSource.getChildren(e.element);return i.Au(n)?this.processChildren(n):(t=i.Cs(()=>$b(this,void 0,void 0,function*(){return this.processChildren(yield n)})),this.refreshPromises.set(e,t),t.finally(()=>{this.refreshPromises.delete(e)}))}_onDidChangeCollapseState({node:e,deep:t}){e.element!==null&&!e.collapsed&&e.element.stale&&(t?this.collapse(e.element.element):this.refreshAndRenderNode(e.element,!1).catch(i.fu))}setChildren(e,t,n,r){let i=[...t];if(e.children.length===0&&i.length===0)return[];let a=new Map,o=new Map;for(let t of e.children)if(a.set(t.element,t),this.identityProvider){let e=this.tree.isCollapsed(t);o.set(t.id,{node:t,collapsed:e})}let s=[],c=i.map(t=>{let i=!!this.dataSource.hasChildren(t);if(!this.identityProvider){let n=ex({element:t,parent:e,hasChildren:i});return i&&this.collapseByDefault&&!this.collapseByDefault(t)&&(n.collapsedByDefault=!1,s.push(n)),n}let c=this.identityProvider.getId(t).toString(),l=o.get(c);if(l){let e=l.node;return a.delete(e.element),this.nodes.delete(e.element),this.nodes.set(t,e),e.element=t,e.hasChildren=i,n?l.collapsed?(e.children.forEach(e=>dx(e,e=>this.nodes.delete(e.element))),e.children.splice(0,e.children.length),e.stale=!0):s.push(e):i&&this.collapseByDefault&&!this.collapseByDefault(t)&&(e.collapsedByDefault=!1,s.push(e)),e}let u=ex({element:t,parent:e,id:c,hasChildren:i});return r&&r.viewState.focus&&r.viewState.focus.indexOf(c)>-1&&r.focus.push(u),r&&r.viewState.selection&&r.viewState.selection.indexOf(c)>-1&&r.selection.push(u),r&&r.viewState.expanded&&r.viewState.expanded.indexOf(c)>-1?s.push(u):i&&this.collapseByDefault&&!this.collapseByDefault(t)&&(u.collapsedByDefault=!1,s.push(u)),u});for(let e of a.values())dx(e,e=>this.nodes.delete(e.element));for(let e of c)this.nodes.set(e.element,e);return e.children.splice(0,e.children.length,...c),e!==this.root&&this.autoExpandSingleChildren&&c.length===1&&s.length===0&&(c[0].collapsedByDefault=!1,s.push(c[0])),s}render(e,t,n){let r=e.children.map(e=>this.asTreeElement(e,t)),i=n&&Object.assign(Object.assign({},n),{diffIdentityProvider:n.diffIdentityProvider&&{getId(e){return n.diffIdentityProvider.getId(e.element)}}});this.tree.setChildren(e===this.root?null:e,r,i),e!==this.root&&this.tree.setCollapsible(e,e.hasChildren),this._onDidRender.fire()}asTreeElement(e,t){if(e.stale)return{element:e,collapsible:e.hasChildren,collapsed:!0};let n;return n=t&&t.viewState.expanded&&e.id&&t.viewState.expanded.indexOf(e.id)>-1?!1:e.collapsedByDefault,e.collapsedByDefault=void 0,{element:e,children:e.hasChildren?i.md.map(e.children,e=>this.asTreeElement(e,t)):[],collapsible:e.hasChildren,collapsed:n}}processChildren(e){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),e}dispose(){this.disposables.dispose()}},px=class e{constructor(e){this.node=e}get element(){return{elements:this.node.element.elements.map(e=>e.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(t=>new e(t))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}},mx=class{constructor(e,t,n,r){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=n,this.onDidChangeTwistieState=r,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,n,r){this.renderer.renderElement(this.nodeMapper.map(e),t,n.templateData,r)}renderCompressedElements(e,t,n,r){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,n.templateData,r)}renderTwistie(e,t){return e.slow?(t.classList.add(...i.Tl.treeItemLoading.classNamesArray),!0):(t.classList.remove(...i.Tl.treeItemLoading.classNamesArray),!1)}disposeElement(e,t,n,r){var i,a;(a=(i=this.renderer).disposeElement)==null||a.call(i,this.nodeMapper.map(e),t,n.templateData,r)}disposeCompressedElements(e,t,n,r){var i,a;(a=(i=this.renderer).disposeCompressedElements)==null||a.call(i,this.compressibleNodeMapperProvider().map(e),t,n.templateData,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=i.nu(this.disposables)}};function hx(e){let t=e&&ux(e);return t&&Object.assign(Object.assign({},t),{keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},t.keyboardNavigationLabelProvider),{getCompressedNodeKeyboardNavigationLabel(t){return e.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map(e=>e.element))}})})}var gx=class extends fx{constructor(e,t,n,r,i,a,o={}){super(e,t,n,i,a,o),this.compressionDelegate=r,this.compressibleNodeMapper=new fb(e=>new px(e)),this.filter=o.filter}createTree(e,t,n,r,i){return new Qb(e,t,new Sb(n),r.map(e=>new mx(e,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),hx(i)||{})}asTreeElement(e,t){return Object.assign({incompressible:this.compressionDelegate.isIncompressible(e.element)},super.asTreeElement(e,t))}updateOptions(e={}){this.tree.updateOptions(e)}render(e,t){if(!this.identityProvider)return super.render(e,t);let n=e=>this.identityProvider.getId(e).toString(),r=e=>{let t=new Set;for(let r of e){let e=this.tree.getCompressedTreeNode(r===this.root?null:r);if(e.element)for(let r of e.element.elements)t.add(n(r.element))}return t},i=r(this.tree.getSelection()),a=r(this.tree.getFocus());super.render(e,t);let o=this.getSelection(),s=!1,c=this.getFocus(),l=!1,u=e=>{let t=e.element;if(t)for(let e=0;e<t.elements.length;e++){let r=n(t.elements[e].element),u=t.elements[t.elements.length-1].element;i.has(r)&&o.indexOf(u)===-1&&(o.push(u),s=!0),a.has(r)&&c.indexOf(u)===-1&&(c.push(u),l=!0)}e.children.forEach(u)};u(this.tree.getCompressedTreeNode(e===this.root?null:e)),s&&this.setSelection(o),l&&this.setFocus(c)}processChildren(e){return this.filter&&(e=i.md.filter(e,e=>{let t=_x(this.filter.filter(e,1));if(t===2)throw Error(`Recursive tree visibility not supported in async data compressed trees`);return t===1})),super.processChildren(e)}};function _x(e){return typeof e==`boolean`?e?1:0:pb(e)?mb(e.visibility):mb(e)}var vx=class extends Pb{constructor(e,t,n,r,i,a={}){super(e,t,n,r,a),this.user=e,this.dataSource=i,this.identityProvider=a.identityProvider}createModel(e,t,n){return new Fb(e,t,n)}};new i.Da(`isMac`,i.bd,i.Td(`isMac`,`Whether the operating system is macOS`)),new i.Da(`isLinux`,i.vd,i.Td(`isLinux`,`Whether the operating system is Linux`));var yx=new i.Da(`isWindows`,i.Cd,i.Td(`isWindows`,`Whether the operating system is Windows`));new i.Da(`isWeb`,i.Sd,i.Td(`isWeb`,`Whether the platform is a web browser`)),new i.Da(`isMacNative`,i.bd&&!i.Sd,i.Td(`isMacNative`,`Whether the operating system is macOS on a non-browser platform`)),new i.Da(`isIOS`,i._d,i.Td(`isIOS`,`Whether the operating system is iOS`)),new i.Da(`isDevelopment`,!1,!0),new i.Da(`productQualityType`,``,i.Td(`productQualityType`,`Quality type of VS Code`));var bx=`inputFocus`;new i.Da(bx,!1,i.Td(`inputFocus`,`Whether keyboard focus is inside an input box`));var xx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},J=function(e,t){return function(n,r){t(n,r,e)}},Sx=i.mc(`listService`),Cx=class{constructor(e){this._themeService=e,this.disposables=new i.Zl,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}get lastFocusedList(){return this._lastFocusedWidget}setLastFocusedList(e){var t,n;e!==this._lastFocusedWidget&&((t=this._lastFocusedWidget)==null||t.getHTMLElement().classList.remove(`last-focused`),this._lastFocusedWidget=e,(n=this._lastFocusedWidget)==null||n.getHTMLElement().classList.add(`last-focused`))}register(e,t){if(!this._hasCreatedStyleController){this._hasCreatedStyleController=!0;let e=new Oy(i.ro(),``);this.disposables.add(wg(e,this._themeService))}if(this.lists.some(t=>t.widget===e))throw Error(`Cannot register the same widget multiple times`);let n={widget:e,extraContextKeys:t};return this.lists.push(n),e.getHTMLElement()===document.activeElement&&this.setLastFocusedList(e),i.tu(e.onDidFocus(()=>this.setLastFocusedList(e)),i.au(()=>this.lists.splice(this.lists.indexOf(n),1)),e.onDidDispose(()=>{this.lists=this.lists.filter(e=>e!==n),this._lastFocusedWidget===e&&this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}};Cx=xx([J(0,i.ga)],Cx);var wx=new i.Da(`listFocus`,!0),Tx=new i.Da(`listSupportsMultiselect`,!0),Ex=i.Ta.and(wx,i.Ta.not(bx)),Dx=new i.Da(`listHasSelectionOrFocus`,!1),Ox=new i.Da(`listDoubleSelection`,!1),kx=new i.Da(`listMultiSelection`,!1),Ax=new i.Da(`listSelectionNavigation`,!1),jx=new i.Da(`treeElementCanCollapse`,!1),Mx=new i.Da(`treeElementHasParent`,!1),Nx=new i.Da(`treeElementCanExpand`,!1),Px=new i.Da(`treeElementHasChild`,!1),Fx=new i.Da(`treeFindOpen`,!1),Ix=`listTypeNavigationMode`,Lx=`listAutomaticKeyboardNavigation`;function Rx(e,t){let n=e.createScoped(t.getHTMLElement());return wx.bindTo(n),n}var zx=`workbench.list.multiSelectModifier`,Bx=`workbench.list.openMode`,Vx=`workbench.list.horizontalScrolling`,Hx=`workbench.list.defaultFindMode`,Ux=`workbench.list.keyboardNavigation`,Wx=`workbench.tree.indent`,Gx=`workbench.tree.renderIndentGuides`,Kx=`workbench.list.smoothScrolling`,qx=`workbench.list.mouseWheelScrollSensitivity`,Jx=`workbench.list.fastScrollSensitivity`,Yx=`workbench.tree.expandMode`;function Xx(e){return e.getValue(zx)===`alt`}var Zx=class extends i.Xl{constructor(e){super(),this.configurationService=e,this.useAltAsMultipleSelectionModifier=Xx(e),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(zx)&&(this.useAltAsMultipleSelectionModifier=Xx(this.configurationService))}))}isSelectionSingleChangeEvent(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:Cy(e)}isSelectionRangeChangeEvent(e){return wy(e)}};function Qx(e,t,n){let r=e.get(i.Ys),a=e.get(Im),o=new i.Zl;return[Object.assign(Object.assign({},n),{keyboardNavigationDelegate:{mightProducePrintableCharacter(e){return a.mightProducePrintableCharacter(e)}},smoothScrolling:!!r.getValue(Kx),mouseWheelScrollSensitivity:r.getValue(qx),fastScrollSensitivity:r.getValue(Jx),multipleSelectionController:n.multipleSelectionController??o.add(new Zx(r)),keyboardNavigationEventFilter:oS(t,a)}),o]}var $x=class extends Ry{constructor(e,t,n,r,i,a,o,s,c,l){let u=i.horizontalScrolling===void 0?!!c.getValue(Vx):i.horizontalScrolling,[d,f]=l.invokeFunction(Qx,t,i);super(e,t,n,r,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},xg(s.getColorTheme(),Tg)),d),{horizontalScrolling:u})),this.disposables.add(f),this.contextKeyService=Rx(a,this),this.themeService=s,this.listSupportsMultiSelect=Tx.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(i.multipleSelectionSupport!==!1),Ax.bindTo(this.contextKeyService).set(!!i.selectionNavigation),this.listHasSelectionOrFocus=Dx.bindTo(this.contextKeyService),this.listDoubleSelection=Ox.bindTo(this.contextKeyService),this.listMultiSelection=kx.bindTo(this.contextKeyService),this.horizontalScrolling=i.horizontalScrolling,this._useAltAsMultipleSelectionModifier=Xx(c),this.disposables.add(this.contextKeyService),this.disposables.add(o.register(this)),i.overrideStyles&&this.updateStyles(i.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{let e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(e.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{let e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)})),this.disposables.add(c.onDidChangeConfiguration(e=>{e.affectsConfiguration(zx)&&(this._useAltAsMultipleSelectionModifier=Xx(c));let t={};if(e.affectsConfiguration(Vx)&&this.horizontalScrolling===void 0){let e=!!c.getValue(Vx);t=Object.assign(Object.assign({},t),{horizontalScrolling:e})}if(e.affectsConfiguration(Kx)){let e=!!c.getValue(Kx);t=Object.assign(Object.assign({},t),{smoothScrolling:e})}if(e.affectsConfiguration(qx)){let e=c.getValue(qx);t=Object.assign(Object.assign({},t),{mouseWheelScrollSensitivity:e})}if(e.affectsConfiguration(Jx)){let e=c.getValue(Jx);t=Object.assign(Object.assign({},t),{fastScrollSensitivity:e})}Object.keys(t).length>0&&this.updateOptions(t)})),this.navigator=new rS(this,Object.assign({configurationService:c},i)),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){var t;(t=this._styler)==null||t.dispose(),this._styler=wg(this,this.themeService,e)}dispose(){var e;(e=this._styler)==null||e.dispose(),super.dispose()}};$x=xx([J(5,i.Ea),J(6,Sx),J(7,i.ga),J(8,i.Ys),J(9,i.fc)],$x);var eS=class extends Hy{constructor(e,t,n,r,a,o,s,c,l,u){let d=a.horizontalScrolling===void 0?!!l.getValue(Vx):a.horizontalScrolling,[f,p]=u.invokeFunction(Qx,t,a);super(e,t,n,r,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},xg(c.getColorTheme(),Tg)),f),{horizontalScrolling:d})),this.disposables=new i.Zl,this.disposables.add(p),this.contextKeyService=Rx(o,this),this.themeService=c,this.horizontalScrolling=a.horizontalScrolling,this.listSupportsMultiSelect=Tx.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(a.multipleSelectionSupport!==!1),Ax.bindTo(this.contextKeyService).set(!!a.selectionNavigation),this._useAltAsMultipleSelectionModifier=Xx(l),this.disposables.add(this.contextKeyService),this.disposables.add(s.register(this)),a.overrideStyles&&this.updateStyles(a.overrideStyles),a.overrideStyles&&this.disposables.add(wg(this,c,a.overrideStyles)),this.disposables.add(l.onDidChangeConfiguration(e=>{e.affectsConfiguration(zx)&&(this._useAltAsMultipleSelectionModifier=Xx(l));let t={};if(e.affectsConfiguration(Vx)&&this.horizontalScrolling===void 0){let e=!!l.getValue(Vx);t=Object.assign(Object.assign({},t),{horizontalScrolling:e})}if(e.affectsConfiguration(Kx)){let e=!!l.getValue(Kx);t=Object.assign(Object.assign({},t),{smoothScrolling:e})}if(e.affectsConfiguration(qx)){let e=l.getValue(qx);t=Object.assign(Object.assign({},t),{mouseWheelScrollSensitivity:e})}if(e.affectsConfiguration(Jx)){let e=l.getValue(Jx);t=Object.assign(Object.assign({},t),{fastScrollSensitivity:e})}Object.keys(t).length>0&&this.updateOptions(t)})),this.navigator=new rS(this,Object.assign({configurationService:l},a)),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){var t;(t=this._styler)==null||t.dispose(),this._styler=wg(this,this.themeService,e)}dispose(){var e;(e=this._styler)==null||e.dispose(),this.disposables.dispose(),super.dispose()}};eS=xx([J(5,i.Ea),J(6,Sx),J(7,i.ga),J(8,i.Ys),J(9,i.fc)],eS);var tS=class extends $y{constructor(e,t,n,r,i,a,o,s,c,l,u){let d=a.horizontalScrolling===void 0?!!l.getValue(Vx):a.horizontalScrolling,[f,p]=u.invokeFunction(Qx,t,a);super(e,t,n,r,i,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},xg(c.getColorTheme(),Tg)),f),{horizontalScrolling:d})),this.disposables.add(p),this.contextKeyService=Rx(o,this),this.themeService=c,this.listSupportsMultiSelect=Tx.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(a.multipleSelectionSupport!==!1),Ax.bindTo(this.contextKeyService).set(!!a.selectionNavigation),this.listHasSelectionOrFocus=Dx.bindTo(this.contextKeyService),this.listDoubleSelection=Ox.bindTo(this.contextKeyService),this.listMultiSelection=kx.bindTo(this.contextKeyService),this.horizontalScrolling=a.horizontalScrolling,this._useAltAsMultipleSelectionModifier=Xx(l),this.disposables.add(this.contextKeyService),this.disposables.add(s.register(this)),a.overrideStyles&&this.updateStyles(a.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{let e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(e.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{let e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)})),this.disposables.add(l.onDidChangeConfiguration(e=>{e.affectsConfiguration(zx)&&(this._useAltAsMultipleSelectionModifier=Xx(l));let t={};if(e.affectsConfiguration(Vx)&&this.horizontalScrolling===void 0){let e=!!l.getValue(Vx);t=Object.assign(Object.assign({},t),{horizontalScrolling:e})}if(e.affectsConfiguration(Kx)){let e=!!l.getValue(Kx);t=Object.assign(Object.assign({},t),{smoothScrolling:e})}if(e.affectsConfiguration(qx)){let e=l.getValue(qx);t=Object.assign(Object.assign({},t),{mouseWheelScrollSensitivity:e})}if(e.affectsConfiguration(Jx)){let e=l.getValue(Jx);t=Object.assign(Object.assign({},t),{fastScrollSensitivity:e})}Object.keys(t).length>0&&this.updateOptions(t)})),this.navigator=new iS(this,Object.assign({configurationService:l},a)),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){var t;(t=this._styler)==null||t.dispose(),this._styler=wg(this,this.themeService,e)}dispose(){var e;(e=this._styler)==null||e.dispose(),this.disposables.dispose(),super.dispose()}};tS=xx([J(6,i.Ea),J(7,Sx),J(8,i.ga),J(9,i.Ys),J(10,i.fc)],tS);var nS=class extends i.Xl{constructor(e,t){super(),this.widget=e,this._onDidOpen=this._register(new i.Ul),this.onDidOpen=this._onDidOpen.event,this._register(i.Wl.filter(this.widget.onDidChangeSelection,e=>e.browserEvent instanceof KeyboardEvent)(e=>this.onSelectionFromKeyboard(e))),this._register(this.widget.onPointer(e=>this.onPointer(e.element,e.browserEvent))),this._register(this.widget.onMouseDblClick(e=>this.onMouseDblClick(e.element,e.browserEvent))),typeof t?.openOnSingleClick!=`boolean`&&t?.configurationService?(this.openOnSingleClick=t?.configurationService.getValue(Bx)!==`doubleClick`,this._register(t?.configurationService.onDidChangeConfiguration(()=>{this.openOnSingleClick=t?.configurationService.getValue(Bx)!==`doubleClick`}))):this.openOnSingleClick=t?.openOnSingleClick??!0}onSelectionFromKeyboard(e){if(e.elements.length!==1)return;let t=e.browserEvent,n=typeof t.preserveFocus==`boolean`?t.preserveFocus:!0,r=typeof t.pinned==`boolean`?t.pinned:!n;this._open(this.getSelectedElement(),n,r,!1,e.browserEvent)}onPointer(e,t){if(!this.openOnSingleClick||t.detail===2)return;let n=t.button===1,r=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!0,n,r,t)}onMouseDblClick(e,t){if(!t)return;let n=t.target;if(n.classList.contains(`monaco-tl-twistie`)||n.classList.contains(`monaco-icon-label`)&&n.classList.contains(`folder-icon`)&&t.offsetX<16)return;let r=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!1,!0,r,t)}_open(e,t,n,r,i){e&&this._onDidOpen.fire({editorOptions:{preserveFocus:t,pinned:n,revealIfVisible:!0},sideBySide:r,element:e,browserEvent:i})}},rS=class extends nS{constructor(e,t){super(e,t),this.widget=e}getSelectedElement(){return this.widget.getSelectedElements()[0]}},iS=class extends nS{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelectedElements()[0]}},aS=class extends nS{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelection()[0]??void 0}};function oS(e,t){let n=!1;return r=>{if(r.toKeybinding().isModifierKey())return!1;if(n)return n=!1,!1;let i=t.softDispatch(r,e);return i?.enterChord?(n=!0,!1):(n=!1,!i)}}var sS=class extends Yb{constructor(e,t,n,r,i,a,o,s,c,l){let{options:u,getTypeNavigationMode:d,disposable:f}=a.invokeFunction(pS,t,i);super(e,t,n,r,u),this.disposables.add(f),this.internals=new mS(this,i,d,i.overrideStyles,o,s,c,l),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};sS=xx([J(5,i.fc),J(6,i.Ea),J(7,Sx),J(8,i.ga),J(9,i.Ys)],sS);var cS=class extends Qb{constructor(e,t,n,r,i,a,o,s,c,l){let{options:u,getTypeNavigationMode:d,disposable:f}=a.invokeFunction(pS,t,i);super(e,t,n,r,u),this.disposables.add(f),this.internals=new mS(this,i,d,i.overrideStyles,o,s,c,l),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};cS=xx([J(5,i.fc),J(6,i.Ea),J(7,Sx),J(8,i.ga),J(9,i.Ys)],cS);var lS=class extends vx{constructor(e,t,n,r,i,a,o,s,c,l,u){let{options:d,getTypeNavigationMode:f,disposable:p}=o.invokeFunction(pS,t,a);super(e,t,n,r,i,d),this.disposables.add(p),this.internals=new mS(this,a,f,a.overrideStyles,s,c,l,u),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};lS=xx([J(6,i.fc),J(7,i.Ea),J(8,Sx),J(9,i.ga),J(10,i.Ys)],lS);var uS=class extends fx{constructor(e,t,n,r,i,a,o,s,c,l,u){let{options:d,getTypeNavigationMode:f,disposable:p}=o.invokeFunction(pS,t,a);super(e,t,n,r,i,d),this.disposables.add(p),this.internals=new mS(this,a,f,a.overrideStyles,s,c,l,u),this.disposables.add(this.internals)}get onDidOpen(){return this.internals.onDidOpen}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};uS=xx([J(6,i.fc),J(7,i.Ea),J(8,Sx),J(9,i.ga),J(10,i.Ys)],uS);var dS=class extends gx{constructor(e,t,n,r,i,a,o,s,c,l,u,d){let{options:f,getTypeNavigationMode:p,disposable:m}=s.invokeFunction(pS,t,o);super(e,t,n,r,i,a,f),this.disposables.add(m),this.internals=new mS(this,o,p,o.overrideStyles,c,l,u,d),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};dS=xx([J(7,i.fc),J(8,i.Ea),J(9,Sx),J(10,i.ga),J(11,i.Ys)],dS);function fS(e){let t=e.getValue(Hx);if(t===`highlight`)return Db.Highlight;if(t===`filter`)return Db.Filter;let n=e.getValue(Ux);if(n===`simple`||n===`highlight`)return Db.Highlight;if(n===`filter`)return Db.Filter}function pS(e,t,n){let r=e.get(i.Ys),a=e.get(Im),o=e.get(up),s=e.get(i.Ea),c=e.get(i.fc),l=()=>{let e=s.getContextKeyValue(Ix);if(e===`automatic`)return vy.Automatic;if(e===`trigger`||s.getContextKeyValue(Lx)===!1)return vy.Trigger},u=n.horizontalScrolling===void 0?!!r.getValue(Vx):n.horizontalScrolling,[d,f]=c.invokeFunction(Qx,t,n),p=n.additionalScrollHeight;return{getTypeNavigationMode:l,disposable:f,options:Object.assign(Object.assign({keyboardSupport:!1},d),{indent:typeof r.getValue(Wx)==`number`?r.getValue(Wx):void 0,renderIndentGuides:r.getValue(Gx),smoothScrolling:!!r.getValue(Kx),defaultFindMode:fS(r),horizontalScrolling:u,keyboardNavigationEventFilter:oS(t,a),additionalScrollHeight:p,hideTwistiesOfChildlessElements:n.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:n.expandOnlyOnTwistieClick??r.getValue(Yx)===`doubleClick`,contextViewProvider:o})}}var mS=class{constructor(e,t,n,r,i,a,o,s){this.tree=e,this.themeService=o,this.disposables=[],this.contextKeyService=Rx(i,e),this.listSupportsMultiSelect=Tx.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(t.multipleSelectionSupport!==!1),Ax.bindTo(this.contextKeyService).set(!!t.selectionNavigation),this.hasSelectionOrFocus=Dx.bindTo(this.contextKeyService),this.hasDoubleSelection=Ox.bindTo(this.contextKeyService),this.hasMultiSelection=kx.bindTo(this.contextKeyService),this.treeElementCanCollapse=jx.bindTo(this.contextKeyService),this.treeElementHasParent=Mx.bindTo(this.contextKeyService),this.treeElementCanExpand=Nx.bindTo(this.contextKeyService),this.treeElementHasChild=Px.bindTo(this.contextKeyService),this.treeFindOpen=Fx.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=Xx(s),this.updateStyleOverrides(r);let c=()=>{let t=e.getFocus()[0];if(!t)return;let n=e.getNode(t);this.treeElementCanCollapse.set(n.collapsible&&!n.collapsed),this.treeElementHasParent.set(!!e.getParentElement(t)),this.treeElementCanExpand.set(n.collapsible&&n.collapsed),this.treeElementHasChild.set(!!e.getFirstElementChild(t))},l=new Set;l.add(Ix),l.add(Lx),this.disposables.push(this.contextKeyService,a.register(e),e.onDidChangeSelection(()=>{let t=e.getSelection(),n=e.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(t.length>0||n.length>0),this.hasMultiSelection.set(t.length>1),this.hasDoubleSelection.set(t.length===2)})}),e.onDidChangeFocus(()=>{let t=e.getSelection(),n=e.getFocus();this.hasSelectionOrFocus.set(t.length>0||n.length>0),c()}),e.onDidChangeCollapseState(c),e.onDidChangeModel(c),e.onDidChangeFindOpenState(e=>this.treeFindOpen.set(e)),s.onDidChangeConfiguration(n=>{let r={};if(n.affectsConfiguration(zx)&&(this._useAltAsMultipleSelectionModifier=Xx(s)),n.affectsConfiguration(Wx)){let e=s.getValue(Wx);r=Object.assign(Object.assign({},r),{indent:e})}if(n.affectsConfiguration(Gx)){let e=s.getValue(Gx);r=Object.assign(Object.assign({},r),{renderIndentGuides:e})}if(n.affectsConfiguration(Kx)){let e=!!s.getValue(Kx);r=Object.assign(Object.assign({},r),{smoothScrolling:e})}if((n.affectsConfiguration(Hx)||n.affectsConfiguration(Ux))&&e.updateOptions({defaultFindMode:fS(s)}),n.affectsConfiguration(Vx)&&t.horizontalScrolling===void 0){let e=!!s.getValue(Vx);r=Object.assign(Object.assign({},r),{horizontalScrolling:e})}if(n.affectsConfiguration(Yx)&&t.expandOnlyOnTwistieClick===void 0&&(r=Object.assign(Object.assign({},r),{expandOnlyOnTwistieClick:s.getValue(Yx)===`doubleClick`})),n.affectsConfiguration(qx)){let e=s.getValue(qx);r=Object.assign(Object.assign({},r),{mouseWheelScrollSensitivity:e})}if(n.affectsConfiguration(Jx)){let e=s.getValue(Jx);r=Object.assign(Object.assign({},r),{fastScrollSensitivity:e})}Object.keys(r).length>0&&e.updateOptions(r)}),this.contextKeyService.onDidChangeContext(t=>{t.affectsSome(l)&&e.updateOptions({typeNavigationMode:n()})})),this.navigator=new aS(e,Object.assign({configurationService:s},t)),this.disposables.push(this.navigator)}get onDidOpen(){return this.navigator.onDidOpen}updateOptions(e){e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyleOverrides(e){i.nu(this.styler),this.styler=e?wg(this.tree,this.themeService,e):i.Xl.None}dispose(){this.disposables=i.nu(this.disposables),i.nu(this.styler),this.styler=void 0}};mS=xx([J(4,i.Ea),J(5,Sx),J(6,i.ga),J(7,i.Ys)],mS),i.Ws.as(i.zs.Configuration).registerConfiguration({id:`workbench`,order:7,title:i.Td(`workbenchConfigurationTitle`,`Workbench`),type:`object`,properties:{[zx]:{type:`string`,enum:[`ctrlCmd`,`alt`],markdownEnumDescriptions:[i.Td(`multiSelectModifier.ctrlCmd`,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),i.Td(`multiSelectModifier.alt`,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:`ctrlCmd`,description:i.Td({key:`multiSelectModifier`,comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},`The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.`)},[Bx]:{type:`string`,enum:[`singleClick`,`doubleClick`],default:`singleClick`,description:i.Td({key:`openModeModifier`,comment:["`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized."]},`Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.`)},[Vx]:{type:`boolean`,default:!1,description:i.Td(`horizontalScrolling setting`,`Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.`)},[Wx]:{type:`number`,default:8,minimum:4,maximum:40,description:i.Td(`tree indent setting`,`Controls tree indentation in pixels.`)},[Gx]:{type:`string`,enum:[`none`,`onHover`,`always`],default:`onHover`,description:i.Td(`render tree indent guides`,`Controls whether the tree should render indent guides.`)},[Kx]:{type:`boolean`,default:!1,description:i.Td(`list smoothScrolling setting`,`Controls whether lists and trees have smooth scrolling.`)},[qx]:{type:`number`,default:1,markdownDescription:i.Td(`Mouse Wheel Scroll Sensitivity`,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[Jx]:{type:`number`,default:5,description:i.Td(`Fast Scroll Sensitivity`,"Scrolling speed multiplier when pressing `Alt`.")},[Hx]:{type:`string`,enum:[`highlight`,`filter`],enumDescriptions:[i.Td(`defaultFindModeSettingKey.highlight`,`Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements.`),i.Td(`defaultFindModeSettingKey.filter`,`Filter elements when searching.`)],default:`highlight`,description:i.Td(`defaultFindModeSettingKey`,`Controls the default find mode for lists and trees in the workbench.`)},[Ux]:{type:`string`,enum:[`simple`,`highlight`,`filter`],enumDescriptions:[i.Td(`keyboardNavigationSettingKey.simple`,`Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes.`),i.Td(`keyboardNavigationSettingKey.highlight`,`Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements.`),i.Td(`keyboardNavigationSettingKey.filter`,`Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.`)],default:`highlight`,description:i.Td(`keyboardNavigationSettingKey`,`Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.`),deprecated:!0,deprecationMessage:i.Td(`keyboardNavigationSettingKeyDeprecated`,`Please use 'workbench.list.defaultFindMode' instead.`)},[Yx]:{type:`string`,enum:[`singleClick`,`doubleClick`],default:`singleClick`,description:i.Td(`expand mode`,`Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.`)}}});var hS;(function(e){e[e.PRESERVE=0]=`PRESERVE`,e[e.LAST=1]=`LAST`})(hS||={});var gS={Quickaccess:`workbench.contributions.quickaccess`},_S=class{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(e){return e.prefix.length===0?this.defaultProvider=e:this.providers.push(e),this.providers.sort((e,t)=>t.prefix.length-e.prefix.length),i.au(()=>{this.providers.splice(this.providers.indexOf(e),1),this.defaultProvider===e&&(this.defaultProvider=void 0)})}getQuickAccessProviders(){return i.Vu([this.defaultProvider,...this.providers])}getQuickAccessProvider(e){return e&&this.providers.find(t=>e.startsWith(t.prefix))||this.defaultProvider}};i.Ws.add(gS.Quickaccess,new _S);var vS=i.mc(`quickInputService`),yS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},bS=function(e,t){return function(n,r){t(n,r,e)}},xS=class extends i.Xl{constructor(e,t){super(),this.quickInputService=e,this.instantiationService=t,this.registry=i.Ws.as(gS.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(e=``,t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,n){let[r,a]=this.getOrInstantiateProvider(e),o=this.visibleQuickAccess,s=o?.descriptor;if(o&&a&&s===a){e!==a.prefix&&!n?.preserveValue&&(o.picker.value=e),this.adjustValueSelection(o.picker,a,n);return}if(a&&!n?.preserveValue){let t;if(o&&s&&s!==a){let e=o.value.substr(s.prefix.length);e&&(t=`${a.prefix}${e}`)}if(!t){let e=r?.defaultFilterValue;e===hS.LAST?t=this.lastAcceptedPickerValues.get(a):typeof e==`string`&&(t=`${a.prefix}${e}`)}typeof t==`string`&&(e=t)}let c=new i.Zl,l=c.add(this.quickInputService.createQuickPick());l.value=e,this.adjustValueSelection(l,a,n),l.placeholder=a?.placeholder,l.quickNavigate=n?.quickNavigateConfiguration,l.hideInput=!!l.quickNavigate&&!o,(typeof n?.itemActivation==`number`||n?.quickNavigateConfiguration)&&(l.itemActivation=n?.itemActivation??$_.SECOND),l.contextKey=a?.contextKey,l.filterValue=e=>e.substring(a?a.prefix.length:0),a?.placeholder&&(l.ariaLabel=a?.placeholder);let u;t&&(u=new i.ps,c.add(i.ou(l.onWillAccept)(e=>{e.veto(),l.hide()}))),c.add(this.registerPickerListeners(l,r,a,e));let d=c.add(new i.Vl);if(r&&c.add(r.provide(l,d.token)),i.ou(l.onDidHide)(()=>{l.selectedItems.length===0&&d.cancel(),c.dispose(),u?.complete(l.selectedItems.slice(0))}),l.show(),t)return u?.p}adjustValueSelection(e,t,n){let r;r=n?.preserveValue?[e.value.length,e.value.length]:[t?.prefix.length??0,e.value.length],e.valueSelection=r}registerPickerListeners(e,t,n,r){let a=new i.Zl,o=this.visibleQuickAccess={picker:e,descriptor:n,value:r};return a.add(i.au(()=>{o===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),a.add(e.onDidChangeValue(e=>{let[n]=this.getOrInstantiateProvider(e);n===t?o.value=e:this.show(e,{preserveValue:!0})})),n&&a.add(e.onDidAccept(()=>{this.lastAcceptedPickerValues.set(n,e.value)})),a}getOrInstantiateProvider(e){let t=this.registry.getQuickAccessProvider(e);if(!t)return[void 0,void 0];let n=this.mapProviderToDescriptor.get(t);return n||(n=this.instantiationService.createInstance(t.ctor),this.mapProviderToDescriptor.set(t,n)),[n,t]}};xS=yS([bS(0,vS),bS(1,i.fc)],xS);var SS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},CS=function(e,t){return function(n,r){t(n,r,e)}},wS=class extends i._a{constructor(e,t,n,r,i){super(n),this.instantiationService=e,this.contextKeyService=t,this.accessibilityService=r,this.layoutService=i,this.contexts=new Map}get controller(){return this._controller||=this._register(this.createController()),this._controller}get quickAccess(){return this._quickAccess||=this._register(this.instantiationService.createInstance(xS)),this._quickAccess}createController(e=this.layoutService,t){let n={idPrefix:`quickInput_`,container:e.container,ignoreFocusOut:()=>!1,isScreenReaderOptimized:()=>this.accessibilityService.isScreenReaderOptimized(),backKeybindingLabel:()=>void 0,setContextKey:e=>this.setContextKey(e),returnFocus:()=>e.focus(),createList:(e,t,n,r,i)=>this.instantiationService.createInstance($x,e,t,n,r,i),styles:this.computeStyles()},r=this._register(new Wv(Object.assign(Object.assign({},n),t)));return r.layout(e.dimension,e.offset.quickPickTop),this._register(e.onDidLayout(t=>r.layout(t,e.offset.quickPickTop))),this._register(r.onShow(()=>this.resetContextKeys())),this._register(r.onHide(()=>this.resetContextKeys())),r}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new i.Da(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),!(t&&t.get())&&(this.resetContextKeys(),t?.set(!0))}resetContextKeys(){this.contexts.forEach(e=>{e.get()&&e.reset()})}pick(e,t={},n=i.Bl.None){return this.controller.pick(e,t,n)}createQuickPick(){return this.controller.createQuickPick()}updateStyles(){this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:Object.assign({},xg(this.theme,{quickInputBackground:i.yi,quickInputForeground:i.bi,quickInputTitleBackground:i.wi,contrastBorder:i.en,widgetShadow:i.zi})),inputBox:xg(this.theme,{inputForeground:i.fr,inputBackground:i.ur,inputBorder:i.dr,inputValidationInfoBackground:i.gr,inputValidationInfoForeground:i.vr,inputValidationInfoBorder:i._r,inputValidationWarningBackground:i.yr,inputValidationWarningForeground:i.xr,inputValidationWarningBorder:i.br,inputValidationErrorBackground:i.pr,inputValidationErrorForeground:i.hr,inputValidationErrorBorder:i.mr}),countBadge:xg(this.theme,{badgeBackground:i.Yt,badgeForeground:i.Xt,badgeBorder:i.en}),button:xg(this.theme,{buttonForeground:i.Qt,buttonBackground:i.Zt,buttonHoverBackground:i.$t,buttonBorder:i.en}),progressBar:xg(this.theme,{progressBarBackground:i.vi}),keybindingLabel:xg(this.theme,{keybindingLabelBackground:i.Sr,keybindingLabelForeground:i.Tr,keybindingLabelBorder:i.Cr,keybindingLabelBottomBorder:i.wr,keybindingLabelShadow:i.zi}),list:xg(this.theme,{listBackground:i.yi,listInactiveFocusForeground:i.Si,listInactiveSelectionIconForeground:i.Ci,listInactiveFocusBackground:i.xi,listFocusOutline:i.qt,listInactiveFocusOutline:i.qt,pickerGroupBorder:i.pi,pickerGroupForeground:i.mi})}}};wS=SS([CS(0,i.fc),CS(1,i.Ea),CS(2,i.ga),CS(3,Mi),CS(4,Qp)],wS);var TS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ES=function(e,t){return function(n,r){t(n,r,e)}},DS=class extends wS{constructor(e,t,n,r,i,a){super(t,n,r,i,new nm(e.getContainerDomNode(),a)),this.host=void 0;let o=kS.get(e);if(o){let t=o.widget;this.host={_serviceBrand:void 0,get hasContainer(){return!0},get container(){return t.getDomNode()},get dimension(){return e.getLayoutInfo()},get onDidLayout(){return e.onDidLayoutChange},focus:()=>e.focus(),offset:{top:0,quickPickTop:0}}}else this.host=void 0}createController(){return super.createController(this.host)}};DS=TS([ES(1,i.fc),ES(2,i.Ea),ES(3,i.ga),ES(4,Mi),ES(5,i.dc)],DS);var OS=class{constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}get activeService(){let e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw Error(`Quick input service needs a focused editor to work.`);let t=this.mapEditorToService.get(e);if(!t){let n=t=this.instantiationService.createInstance(DS,e);this.mapEditorToService.set(e,t),i.ou(e.onDidDispose)(()=>{n.dispose(),this.mapEditorToService.delete(e)})}return t}get quickAccess(){return this.activeService.quickAccess}pick(e,t={},n=i.Bl.None){return this.activeService.pick(e,t,n)}createQuickPick(){return this.activeService.createQuickPick()}};OS=TS([ES(0,i.fc),ES(1,i.dc)],OS);var kS=class e{constructor(e){this.editor=e,this.widget=new AS(this.editor)}static get(t){return t.getContribution(e.ID)}dispose(){this.widget.dispose()}};kS.ID=`editor.controller.quickInput`;var AS=class e{constructor(e){this.codeEditor=e,this.domNode=document.createElement(`div`),this.codeEditor.addOverlayWidget(this)}getId(){return e.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}};AS.ID=`editor.contrib.quickInputWidget`,i.ta(kS.ID,kS);var jS=class{constructor(e,t,n,r,i){this._parsedThemeRuleBrand=void 0,this.token=e,this.index=t,this.fontStyle=n,this.foreground=r,this.background=i}};function MS(e){if(!e||!Array.isArray(e))return[];let t=[],n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r],a=-1;if(typeof i.fontStyle==`string`){a=0;let e=i.fontStyle.split(` `);for(let t=0,n=e.length;t<n;t++)switch(e[t]){case`italic`:a|=1;break;case`bold`:a|=2;break;case`underline`:a|=4;break;case`strikethrough`:a|=8;break}}let o=null;typeof i.foreground==`string`&&(o=i.foreground);let s=null;typeof i.background==`string`&&(s=i.background),t[n++]=new jS(i.token||``,r,a,o,s)}return t}function NS(e,t){e.sort((e,t)=>{let n=zS(e.token,t.token);return n===0?e.index-t.index:n});let n=0,r=`000000`,i=`ffffff`;for(;e.length>=1&&e[0].token===``;){let t=e.shift();t.fontStyle!==-1&&(n=t.fontStyle),t.foreground!==null&&(r=t.foreground),t.background!==null&&(i=t.background)}let a=new FS;for(let e of t)a.getId(e);let o=a.getId(r),s=a.getId(i),c=new VS(new BS(n,o,s));for(let t=0,n=e.length;t<n;t++){let n=e[t];c.insert(n.token,n.fontStyle,a.getId(n.foreground),a.getId(n.background))}return new IS(a,c)}var PS=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/,FS=class{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(e){if(e===null)return 0;let t=e.match(PS);if(!t)throw Error(`Illegal value for token color: `+e);e=t[1].toUpperCase();let n=this._color2id.get(e);return n||(n=++this._lastColorId,this._color2id.set(e,n),this._id2color[n]=i.Bi.fromHex(`#`+e),n)}getColorMap(){return this._id2color.slice(0)}},IS=class{constructor(e,t){this._colorMap=e,this._root=t,this._cache=new Map}static createFromRawTokenTheme(e,t){return this.createFromParsedTokenTheme(MS(e),t)}static createFromParsedTokenTheme(e,t){return NS(e,t)}getColorMap(){return this._colorMap.getColorMap()}_match(e){return this._root.match(e)}match(e,t){let n=this._cache.get(t);if(n===void 0){let e=this._match(t),r=RS(t);n=(e.metadata|r<<8)>>>0,this._cache.set(t,n)}return(n|e<<0)>>>0}},LS=/\b(comment|string|regex|regexp)\b/;function RS(e){let t=e.match(LS);if(!t)return 0;switch(t[1]){case`comment`:return 1;case`string`:return 2;case`regex`:return 3;case`regexp`:return 3}throw Error(`Unexpected match for standard token type!`)}function zS(e,t){return e<t?-1:e>t?1:0}var BS=class e{constructor(e,t,n){this._themeTrieElementRuleBrand=void 0,this._fontStyle=e,this._foreground=t,this._background=n,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new e(this._fontStyle,this._foreground,this._background)}acceptOverwrite(e,t,n){e!==-1&&(this._fontStyle=e),t!==0&&(this._foreground=t),n!==0&&(this._background=n),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}},VS=class e{constructor(e){this._themeTrieElementBrand=void 0,this._mainRule=e,this._children=new Map}match(e){if(e===``)return this._mainRule;let t=e.indexOf(`.`),n,r;t===-1?(n=e,r=``):(n=e.substring(0,t),r=e.substring(t+1));let i=this._children.get(n);return i===void 0?this._mainRule:i.match(r)}insert(t,n,r,i){if(t===``){this._mainRule.acceptOverwrite(n,r,i);return}let a=t.indexOf(`.`),o,s;a===-1?(o=t,s=``):(o=t.substring(0,a),s=t.substring(a+1));let c=this._children.get(o);c===void 0&&(c=new e(this._mainRule.clone()),this._children.set(o,c)),c.insert(s,n,r,i)}};function HS(e){let t=[];for(let n=1,r=e.length;n<r;n++){let r=e[n];t[n]=`.mtk${n} { color: ${r}; }`}return t.push(`.mtki { font-style: italic; }`),t.push(`.mtkb { font-weight: bold; }`),t.push(`.mtku { text-decoration: underline; text-underline-position: under; }`),t.push(`.mtks { text-decoration: line-through; }`),t.push(`.mtks.mtku { text-decoration: underline line-through; text-underline-position: under; }`),t.join(`
|
|
554
|
+
`)}var US={base:`vs`,inherit:!1,rules:[{token:``,foreground:`000000`,background:`fffffe`},{token:`invalid`,foreground:`cd3131`},{token:`emphasis`,fontStyle:`italic`},{token:`strong`,fontStyle:`bold`},{token:`variable`,foreground:`001188`},{token:`variable.predefined`,foreground:`4864AA`},{token:`constant`,foreground:`dd0000`},{token:`comment`,foreground:`008000`},{token:`number`,foreground:`098658`},{token:`number.hex`,foreground:`3030c0`},{token:`regexp`,foreground:`800000`},{token:`annotation`,foreground:`808080`},{token:`type`,foreground:`008080`},{token:`delimiter`,foreground:`000000`},{token:`delimiter.html`,foreground:`383838`},{token:`delimiter.xml`,foreground:`0000FF`},{token:`tag`,foreground:`800000`},{token:`tag.id.pug`,foreground:`4F76AC`},{token:`tag.class.pug`,foreground:`4F76AC`},{token:`meta.scss`,foreground:`800000`},{token:`metatag`,foreground:`e00000`},{token:`metatag.content.html`,foreground:`FF0000`},{token:`metatag.html`,foreground:`808080`},{token:`metatag.xml`,foreground:`808080`},{token:`metatag.php`,fontStyle:`bold`},{token:`key`,foreground:`863B00`},{token:`string.key.json`,foreground:`A31515`},{token:`string.value.json`,foreground:`0451A5`},{token:`attribute.name`,foreground:`FF0000`},{token:`attribute.value`,foreground:`0451A5`},{token:`attribute.value.number`,foreground:`098658`},{token:`attribute.value.unit`,foreground:`098658`},{token:`attribute.value.html`,foreground:`0000FF`},{token:`attribute.value.xml`,foreground:`0000FF`},{token:`string`,foreground:`A31515`},{token:`string.html`,foreground:`0000FF`},{token:`string.sql`,foreground:`FF0000`},{token:`string.yaml`,foreground:`0451A5`},{token:`keyword`,foreground:`0000FF`},{token:`keyword.json`,foreground:`0451A5`},{token:`keyword.flow`,foreground:`AF00DB`},{token:`keyword.flow.scss`,foreground:`0000FF`},{token:`operator.scss`,foreground:`666666`},{token:`operator.sql`,foreground:`778899`},{token:`operator.swift`,foreground:`666666`},{token:`predefined.sql`,foreground:`C700C7`}],colors:{[i.gn]:`#FFFFFE`,[i.En]:`#000000`,[i.Pn]:`#E5EBF1`,[i.bt]:`#D3D3D3`,[i.X]:`#939393`,[i.Jn]:`#ADD6FF4D`}},WS={base:`vs-dark`,inherit:!1,rules:[{token:``,foreground:`D4D4D4`,background:`1E1E1E`},{token:`invalid`,foreground:`f44747`},{token:`emphasis`,fontStyle:`italic`},{token:`strong`,fontStyle:`bold`},{token:`variable`,foreground:`74B0DF`},{token:`variable.predefined`,foreground:`4864AA`},{token:`variable.parameter`,foreground:`9CDCFE`},{token:`constant`,foreground:`569CD6`},{token:`comment`,foreground:`608B4E`},{token:`number`,foreground:`B5CEA8`},{token:`number.hex`,foreground:`5BB498`},{token:`regexp`,foreground:`B46695`},{token:`annotation`,foreground:`cc6666`},{token:`type`,foreground:`3DC9B0`},{token:`delimiter`,foreground:`DCDCDC`},{token:`delimiter.html`,foreground:`808080`},{token:`delimiter.xml`,foreground:`808080`},{token:`tag`,foreground:`569CD6`},{token:`tag.id.pug`,foreground:`4F76AC`},{token:`tag.class.pug`,foreground:`4F76AC`},{token:`meta.scss`,foreground:`A79873`},{token:`meta.tag`,foreground:`CE9178`},{token:`metatag`,foreground:`DD6A6F`},{token:`metatag.content.html`,foreground:`9CDCFE`},{token:`metatag.html`,foreground:`569CD6`},{token:`metatag.xml`,foreground:`569CD6`},{token:`metatag.php`,fontStyle:`bold`},{token:`key`,foreground:`9CDCFE`},{token:`string.key.json`,foreground:`9CDCFE`},{token:`string.value.json`,foreground:`CE9178`},{token:`attribute.name`,foreground:`9CDCFE`},{token:`attribute.value`,foreground:`CE9178`},{token:`attribute.value.number.css`,foreground:`B5CEA8`},{token:`attribute.value.unit.css`,foreground:`B5CEA8`},{token:`attribute.value.hex.css`,foreground:`D4D4D4`},{token:`string`,foreground:`CE9178`},{token:`string.sql`,foreground:`FF0000`},{token:`keyword`,foreground:`569CD6`},{token:`keyword.flow`,foreground:`C586C0`},{token:`keyword.json`,foreground:`CE9178`},{token:`keyword.flow.scss`,foreground:`569CD6`},{token:`operator.scss`,foreground:`909090`},{token:`operator.sql`,foreground:`778899`},{token:`operator.swift`,foreground:`909090`},{token:`predefined.sql`,foreground:`FF00FF`}],colors:{[i.gn]:`#1E1E1E`,[i.En]:`#D4D4D4`,[i.Pn]:`#3A3D41`,[i.bt]:`#404040`,[i.X]:`#707070`,[i.Jn]:`#ADD6FF26`}},GS={base:`hc-black`,inherit:!1,rules:[{token:``,foreground:`FFFFFF`,background:`000000`},{token:`invalid`,foreground:`f44747`},{token:`emphasis`,fontStyle:`italic`},{token:`strong`,fontStyle:`bold`},{token:`variable`,foreground:`1AEBFF`},{token:`variable.parameter`,foreground:`9CDCFE`},{token:`constant`,foreground:`569CD6`},{token:`comment`,foreground:`608B4E`},{token:`number`,foreground:`FFFFFF`},{token:`regexp`,foreground:`C0C0C0`},{token:`annotation`,foreground:`569CD6`},{token:`type`,foreground:`3DC9B0`},{token:`delimiter`,foreground:`FFFF00`},{token:`delimiter.html`,foreground:`FFFF00`},{token:`tag`,foreground:`569CD6`},{token:`tag.id.pug`,foreground:`4F76AC`},{token:`tag.class.pug`,foreground:`4F76AC`},{token:`meta`,foreground:`D4D4D4`},{token:`meta.tag`,foreground:`CE9178`},{token:`metatag`,foreground:`569CD6`},{token:`metatag.content.html`,foreground:`1AEBFF`},{token:`metatag.html`,foreground:`569CD6`},{token:`metatag.xml`,foreground:`569CD6`},{token:`metatag.php`,fontStyle:`bold`},{token:`key`,foreground:`9CDCFE`},{token:`string.key`,foreground:`9CDCFE`},{token:`string.value`,foreground:`CE9178`},{token:`attribute.name`,foreground:`569CD6`},{token:`attribute.value`,foreground:`3FF23F`},{token:`string`,foreground:`CE9178`},{token:`string.sql`,foreground:`FF0000`},{token:`keyword`,foreground:`569CD6`},{token:`keyword.flow`,foreground:`C586C0`},{token:`operator.sql`,foreground:`778899`},{token:`operator.swift`,foreground:`909090`},{token:`predefined.sql`,foreground:`FF00FF`}],colors:{[i.gn]:`#000000`,[i.En]:`#FFFFFF`,[i.bt]:`#FFFFFF`,[i.X]:`#FFFFFF`}},KS={base:`hc-light`,inherit:!1,rules:[{token:``,foreground:`292929`,background:`FFFFFF`},{token:`invalid`,foreground:`B5200D`},{token:`emphasis`,fontStyle:`italic`},{token:`strong`,fontStyle:`bold`},{token:`variable`,foreground:`264F70`},{token:`variable.predefined`,foreground:`4864AA`},{token:`constant`,foreground:`dd0000`},{token:`comment`,foreground:`008000`},{token:`number`,foreground:`098658`},{token:`number.hex`,foreground:`3030c0`},{token:`regexp`,foreground:`800000`},{token:`annotation`,foreground:`808080`},{token:`type`,foreground:`008080`},{token:`delimiter`,foreground:`000000`},{token:`delimiter.html`,foreground:`383838`},{token:`tag`,foreground:`800000`},{token:`tag.id.pug`,foreground:`4F76AC`},{token:`tag.class.pug`,foreground:`4F76AC`},{token:`meta.scss`,foreground:`800000`},{token:`metatag`,foreground:`e00000`},{token:`metatag.content.html`,foreground:`B5200D`},{token:`metatag.html`,foreground:`808080`},{token:`metatag.xml`,foreground:`808080`},{token:`metatag.php`,fontStyle:`bold`},{token:`key`,foreground:`863B00`},{token:`string.key.json`,foreground:`A31515`},{token:`string.value.json`,foreground:`0451A5`},{token:`attribute.name`,foreground:`264F78`},{token:`attribute.value`,foreground:`0451A5`},{token:`string`,foreground:`A31515`},{token:`string.sql`,foreground:`B5200D`},{token:`keyword`,foreground:`0000FF`},{token:`keyword.flow`,foreground:`AF00DB`},{token:`operator.sql`,foreground:`778899`},{token:`operator.swift`,foreground:`666666`},{token:`predefined.sql`,foreground:`C700C7`}],colors:{[i.gn]:`#FFFFFF`,[i.En]:`#292929`,[i.bt]:`#292929`,[i.X]:`#292929`}};function qS(e){let t=new i.Ul,n=Wf();return n.onDidChange(()=>t.fire()),e?.onDidProductIconThemeChange(()=>t.fire()),{onDidChange:t.event,getCSS(){let t=e?e.getProductIconTheme():new JS,r={},a=e=>{let n=t.getIcon(e);if(!n)return;let a=n.font;return a?(r[a.id]=a.definition,`.codicon-${e.id}:before { content: '${n.fontCharacter}'; font-family: ${i.Za(a.id)}; }`):`.codicon-${e.id}:before { content: '${n.fontCharacter}'; }`},o=[];for(let e of n.getIcons()){let t=a(e);t&&o.push(t)}for(let e in r){let t=r[e],n=t.weight?`font-weight: ${t.weight};`:``,a=t.style?`font-style: ${t.style};`:``,s=t.src.map(e=>`${i.Qa(e.location)} format('${e.format}')`).join(`, `);o.push(`@font-face { src: ${s}; font-family: ${i.Za(e)};${n}${a} font-display: block; }`)}return o.join(`
|
|
555
|
+
`)}}}var JS=class{getIcon(e){let t=Wf(),n=e.defaults;for(;i.va.isThemeIcon(n);){let e=t.getIcon(n.id);if(!e)return;n=e.defaults}return n}},YS=`vs-dark`,XS=`hc-black`,ZS=`hc-light`,QS=i.Ws.as(i.Kt.ColorContribution),$S=i.Ws.as(i.ha.ThemingContribution),eC=class{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;let n=t.base;e.length>0?(tC(e)?this.id=e:this.id=n+` `+e,this.themeName=e):(this.id=n,this.themeName=n),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){let e=new Map;for(let t in this.themeData.colors)e.set(t,i.Bi.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){let t=nC(this.themeData.base);for(let n in t.colors)e.has(n)||e.set(n,i.Bi.fromHex(t.colors[n]))}this.colors=e}return this.colors}getColor(e,t){let n=this.getColors().get(e);if(n)return n;if(t!==!1)return this.getDefault(e)}getDefault(e){let t=this.defaultColors[e];return t||(t=QS.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return Object.prototype.hasOwnProperty.call(this.getColors(),e)}get type(){switch(this.base){case`vs`:return i.Sa.LIGHT;case XS:return i.Sa.HIGH_CONTRAST_DARK;case ZS:return i.Sa.HIGH_CONTRAST_LIGHT;default:return i.Sa.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){let n=nC(this.themeData.base);e=n.rules,n.encodedTokensColors&&(t=n.encodedTokensColors)}let n=this.themeData.colors[`editor.foreground`],r=this.themeData.colors[`editor.background`];if(n||r){let t={token:``};n&&(t.foreground=n),r&&(t.background=r),e.push(t)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=IS.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,n){let r=this.tokenTheme._match([e].concat(t).join(`.`)).metadata,a=i.Xo.getForeground(r),o=i.Xo.getFontStyle(r);return{foreground:a,italic:!!(o&1),bold:!!(o&2),underline:!!(o&4),strikethrough:!!(o&8)}}};function tC(e){return e===`vs`||e===`vs-dark`||e===`hc-black`||e===`hc-light`}function nC(e){switch(e){case`vs`:return US;case YS:return WS;case XS:return GS;case ZS:return KS}}function rC(e){return new eC(e,nC(e))}var iC=class extends i.Xl{constructor(){super(),this._onColorThemeChange=this._register(new i.Ul),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new i.Ul),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new JS,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(`vs`,rC(`vs`)),this._knownThemes.set(YS,rC(YS)),this._knownThemes.set(XS,rC(XS)),this._knownThemes.set(ZS,rC(ZS));let e=qS(this);this._codiconCSS=e.getCSS(),this._themeCSS=``,this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(`vs`),this._onOSSchemeChanged(),e.onDidChange(()=>{this._codiconCSS=e.getCSS(),this._updateCSS()}),i.gc(`(forced-colors: active)`,()=>{this._onOSSchemeChanged()})}registerEditorContainer(e){return i.Co(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=i.ro(),this._globalStyleElement.className=`monaco-colors`,this._globalStyleElement.textContent=this._allCSS,this._styleElements.push(this._globalStyleElement)),i.Xl.None}_registerShadowDomContainer(e){let t=i.ro(e);return t.className=`monaco-colors`,t.textContent=this._allCSS,this._styleElements.push(t),{dispose:()=>{for(let e=0;e<this._styleElements.length;e++)if(this._styleElements[e]===t){this._styleElements.splice(e,1);return}}}}defineTheme(e,t){if(!/^[a-z0-9\-]+$/i.test(e))throw Error(`Illegal theme name!`);if(!tC(t.base)&&!tC(e))throw Error(`Illegal theme base!`);this._knownThemes.set(e,new eC(e,t)),tC(e)&&this._knownThemes.forEach(t=>{t.base===e&&t.notifyBaseUpdated()}),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(`vs`),this._updateActualTheme(t)}_updateActualTheme(e){!e||this._theme===e||(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){let e=window.matchMedia(`(forced-colors: active)`).matches;if(e!==i.wa(this._theme.type)){let t;t=i.Ca(this._theme.type)?e?XS:YS:e?ZS:`vs`,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){let e=[],t={},n={addRule:n=>{t[n]||(e.push(n),t[n]=!0)}};$S.getThemingParticipants().forEach(e=>e(this._theme,n,this._environment));let r=[];for(let e of QS.getColors()){let t=this._theme.getColor(e.id,!0);t&&r.push(`${i.Jt(e.id)}: ${t.toString()};`)}n.addRule(`.monaco-editor { ${r.join(`
|
|
556
|
+
`)} }`);let a=this._colorMapOverride||this._theme.tokenTheme.getColorMap();n.addRule(HS(a)),this._themeCSS=e.join(`
|
|
557
|
+
`),this._updateCSS(),i.xl.setColorMap(a),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._styleElements.forEach(e=>e.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}},aC=i.mc(`themeService`),oC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},sC=function(e,t){return function(n,r){t(n,r,e)}},cC=class extends i.Xl{constructor(e,t,n){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=n,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new i.Ul,this._onDidChangeReducedMotion=new i.Ul,this._accessibilityModeEnabledContext=Ni.bindTo(this._contextKeyService);let r=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.accessibilitySupport`)&&(r(),this._onDidChangeScreenReaderOptimized.fire()),e.affectsConfiguration(`workbench.reduceMotion`)&&(this._configMotionReduced=this._configurationService.getValue(`workbench.reduceMotion`),this._onDidChangeReducedMotion.fire())})),r(),this._register(this.onDidChangeScreenReaderOptimized(()=>r()));let a=window.matchMedia(`(prefers-reduced-motion: reduce)`);this._systemMotionReduced=a.matches,this._configMotionReduced=this._configurationService.getValue(`workbench.reduceMotion`),this.initReducedMotionListeners(a)}initReducedMotionListeners(e){if(!this._layoutService.hasContainer)return;this._register(i.Ka(e,`change`,()=>{this._systemMotionReduced=e.matches,this._configMotionReduced===`auto`&&this._onDidChangeReducedMotion.fire()}));let t=()=>{let e=this.isMotionReduced();this._layoutService.container.classList.toggle(`reduce-motion`,e),this._layoutService.container.classList.toggle(`enable-motion`,!e)};t(),this._register(this.onDidChangeReducedMotion(()=>t()))}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){let e=this._configurationService.getValue(`editor.accessibilitySupport`);return e===`on`||e===`auto`&&this._accessibilitySupport===2}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){let e=this._configMotionReduced;return e===`on`||e===`auto`&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};cC=oC([sC(0,i.Ea),sC(1,Qp),sC(2,i.Ys)],cC);var lC=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},uC;(function(e){e[e.None=0]=`None`,e[e.Initialized=1]=`Initialized`,e[e.Closed=2]=`Closed`})(uC||={});var dC=class e extends i.Xl{constructor(t,n=Object.create(null)){super(),this.database=t,this.options=n,this._onDidChangeStorage=this._register(new i.Ul),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=uC.None,this.cache=new Map,this.flushDelayer=new i.bs(e.DEFAULT_FLUSH_DELAY),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal(e=>this.onDidChangeItemsExternal(e)))}onDidChangeItemsExternal(e){var t,n;(t=e.changed)==null||t.forEach((e,t)=>this.accept(t,e)),(n=e.deleted)==null||n.forEach(e=>this.accept(e,void 0))}accept(e,t){if(this.state===uC.Closed)return;let n=!1;i.Fu(t)?n=this.cache.delete(e):this.cache.get(e)!==t&&(this.cache.set(e,t),n=!0),n&&this._onDidChangeStorage.fire(e)}get(e,t){let n=this.cache.get(e);return i.Fu(n)?t:n}getBoolean(e,t){let n=this.get(e);return i.Fu(n)?t:n===`true`}getNumber(e,t){let n=this.get(e);return i.Fu(n)?t:parseInt(n,10)}set(e,t){return lC(this,void 0,void 0,function*(){if(this.state===uC.Closed)return;if(i.Fu(t))return this.delete(e);let n=String(t);if(this.cache.get(e)!==n)return this.cache.set(e,n),this.pendingInserts.set(e,n),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire(e),this.doFlush()})}delete(e){return lC(this,void 0,void 0,function*(){if(this.state!==uC.Closed&&this.cache.delete(e))return this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire(e),this.doFlush()})}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}flushPending(){return lC(this,void 0,void 0,function*(){if(!this.hasPending)return;let e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally(()=>{var e;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)(e=this.whenFlushedCallbacks.pop())==null||e()})})}doFlush(e){return lC(this,void 0,void 0,function*(){return this.flushDelayer.trigger(()=>this.flushPending(),e)})}dispose(){this.flushDelayer.dispose(),super.dispose()}};dC.DEFAULT_FLUSH_DELAY=100;var fC=class{constructor(){this.onDidChangeItemsExternal=i.Wl.None,this.items=new Map}updateItems(e){var t,n;return lC(this,void 0,void 0,function*(){(t=e.insert)==null||t.forEach((e,t)=>this.items.set(t,e)),(n=e.delete)==null||n.forEach(e=>this.items.delete(e))})}},pC=`__$__targetStorageMarker`,mC=i.mc(`storageService`),hC;(function(e){e[e.NONE=0]=`NONE`,e[e.SHUTDOWN=1]=`SHUTDOWN`})(hC||={});var gC=class e extends i.Xl{constructor(t={flushInterval:e.DEFAULT_FLUSH_INTERVAL}){super(),this.options=t,this._onDidChangeValue=this._register(new i.ql),this.onDidChangeValue=this._onDidChangeValue.event,this._onDidChangeTarget=this._register(new i.ql),this._onWillSaveState=this._register(new i.Ul),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}emitDidChangeValue(e,t){if(t===pC){switch(e){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:t,target:this.getKeyTargets(e)[t]})}get(e,t,n){return this.getStorage(t)?.get(e,n)}getBoolean(e,t,n){return this.getStorage(t)?.getBoolean(e,n)}getNumber(e,t,n){return this.getStorage(t)?.getNumber(e,n)}store(e,t,n,r){if(i.Fu(t)){this.remove(e,n);return}this.withPausedEmitters(()=>{var i;this.updateKeyTarget(e,n,r),(i=this.getStorage(n))==null||i.set(e,t)})}remove(e,t){this.withPausedEmitters(()=>{var n;this.updateKeyTarget(e,t,void 0),(n=this.getStorage(t))==null||n.delete(e)})}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(e,t,n){var r,i;let a=this.getKeyTargets(t);typeof n==`number`?a[e]!==n&&(a[e]=n,(r=this.getStorage(t))==null||r.set(pC,JSON.stringify(a))):typeof a[e]==`number`&&(delete a[e],(i=this.getStorage(t))==null||i.set(pC,JSON.stringify(a)))}get workspaceKeyTargets(){return this._workspaceKeyTargets||=this.loadKeyTargets(1),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||=this.loadKeyTargets(0),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||=this.loadKeyTargets(-1),this._applicationKeyTargets}getKeyTargets(e){switch(e){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){let t=this.get(pC,e);if(t)try{return JSON.parse(t)}catch{}return Object.create(null)}};gC.DEFAULT_FLUSH_INTERVAL=60*1e3;var _C=class extends gC{constructor(){super(),this.applicationStorage=this._register(new dC(new fC)),this.profileStorage=this._register(new dC(new fC)),this.workspaceStorage=this._register(new dC(new fC)),this._register(this.workspaceStorage.onDidChangeStorage(e=>this.emitDidChangeValue(1,e))),this._register(this.profileStorage.onDidChangeStorage(e=>this.emitDidChangeValue(0,e))),this._register(this.applicationStorage.onDidChangeStorage(e=>this.emitDidChangeValue(-1,e)))}getStorage(e){switch(e){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}},vC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},yC=function(e,t){return function(n,r){t(n,r,e)}},bC=class{constructor(e,t){this._commandService=e,this._hiddenStates=new xC(t)}createMenu(e,t,n){return new SC(e,this._hiddenStates,Object.assign({emitEventsForSubmenuChanges:!1,eventDebounceDelay:50},n),this._commandService,t,this)}};bC=vC([yC(0,i.Ma),yC(1,mC)],bC);var xC=class e{constructor(t){this._storageService=t,this._disposables=new i.Zl,this._onDidChange=new i.Ul,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1;try{let n=t.get(e._key,0,`{}`);this._data=JSON.parse(n)}catch{this._data=Object.create(null)}this._disposables.add(t.onDidChangeValue(n=>{if(n.key===e._key){if(!this._ignoreChangeEvent)try{let n=t.get(e._key,0,`{}`);this._data=JSON.parse(n)}catch{}this._onDidChange.fire()}}))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}isHidden(e,t){return this._data[e.id]?.includes(t)??!1}updateHidden(e,t,n){let r=this._data[e.id];if(n)r?r.indexOf(t)<0&&r.push(t):this._data[e.id]=[t];else if(r){let n=r.indexOf(t);n>=0&&i.ad(r,n),r.length===0&&delete this._data[e.id]}this._persist()}_persist(){try{this._ignoreChangeEvent=!0;let t=JSON.stringify(this._data);this._storageService.store(e._key,t,0,0)}finally{this._ignoreChangeEvent=!1}}};xC._key=`menu.hiddenCommands`,xC=vC([yC(0,mC)],xC);var SC=class e{constructor(e,t,n,r,a,o){this._id=e,this._hiddenStates=t,this._options=n,this._commandService=r,this._contextKeyService=a,this._menuService=o,this._disposables=new i.Zl,this._menuGroups=[],this._contextKeys=new Set,this._build();let s=new i.ys(()=>{this._build(),this._onDidChange.fire(this)},n.eventDebounceDelay);this._disposables.add(s),this._disposables.add(i.da.onDidChangeMenu(t=>{t.has(e)&&s.schedule()}));let c=this._disposables.add(new i.Zl);this._onDidChange=new i.Ul({onFirstListenerAdd:()=>{let e=new i.ys(()=>this._onDidChange.fire(this),n.eventDebounceDelay);c.add(e),c.add(a.onDidChangeContext(t=>{t.affectsSome(this._contextKeys)&&e.schedule()})),c.add(t.onDidChange(()=>{e.schedule()}))},onLastListenerRemove:c.clear.bind(c)}),this.onDidChange=this._onDidChange.event}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}_build(){this._menuGroups.length=0,this._contextKeys.clear();let t=i.da.getMenuItems(this._id),n;t.sort(e._compareMenuItems);for(let e of t){let t=e.group||``;(!n||n[0]!==t)&&(n=[t,[]],this._menuGroups.push(n)),n[1].push(e),this._collectContextKeys(e)}}_collectContextKeys(t){if(e._fillInKbExprKeys(t.when,this._contextKeys),i.pa(t)){if(t.command.precondition&&e._fillInKbExprKeys(t.command.precondition,this._contextKeys),t.command.toggled){let n=t.command.toggled.condition||t.command.toggled;e._fillInKbExprKeys(n,this._contextKeys)}}else this._options.emitEventsForSubmenuChanges&&i.da.getMenuItems(t.submenu).forEach(this._collectContextKeys,this)}getActions(e){let t=[],n=[];for(let r of this._menuGroups){let[a,o]=r,s=[],c=[];for(let t of o)if(this._contextKeyService.contextMatchesRules(t.when)){let r,a=i.pa(t),o=new i.ua(new wC(this._id,a?t.command:t,this._hiddenStates),n);if(a)this._hiddenStates.isHidden(this._id,t.command.id)||(r=new i.la(t.command,t.alt,e,o,this._contextKeyService,this._commandService)),s.push(new CC(this._id,t.command,this._hiddenStates));else if(r=new i.fa(t,o,this._menuService,this._contextKeyService,e),r.actions.length===0&&(r.dispose(),r=void 0),r){let e=(t,n)=>n instanceof i.fa?new i.La(n.id,n.label,n.actions.map(t=>e(n.item.submenu,t))):n instanceof i.la?new CC(t,n.item,this._hiddenStates):n;s.push(e(this._id,r))}r&&c.push(r)}c.length>0&&t.push([a,c]),s.length>0&&n.push(s)}return t}static _fillInKbExprKeys(e,t){if(e)for(let n of e.keys())t.add(n)}static _compareMenuItems(t,n){let r=t.group,a=n.group;if(r!==a){if(!r)return 1;if(!a||r===`navigation`)return-1;if(a===`navigation`)return 1;let e=r.localeCompare(a);if(e!==0)return e}let o=t.order||0,s=n.order||0;return o<s?-1:o>s?1:e._compareTitles(i.pa(t)?t.command.title:t.title,i.pa(n)?n.command.title:n.title)}static _compareTitles(e,t){let n=typeof e==`string`?e:e.original,r=typeof t==`string`?t:t.original;return n.localeCompare(r)}};SC=vC([yC(3,i.Ma),yC(4,i.Ea),yC(5,i.sa)],SC);var CC=class{constructor(e,t,n){this.enabled=!0,this.tooltip=``,this.id=`toggle/${e.id}/${t.id}`,this.label=typeof t.title==`string`?t.title:t.title.value;let r=n.isHidden(e,t.id);this.checked=!r,this.run=()=>{r=!r,n.updateHidden(e,t.id,r)}}dispose(){}},wC=class{constructor(e,t,n){this.enabled=!0,this.tooltip=``;let r=i.ma(t)?t.submenu.id:t.id;this.id=`hide/${e.id}/${r}`,this.label=i.Td(`hide.label`,`Hide '{0}'`,typeof t.title==`string`?t.title:t.title.value),this.run=()=>{n.updateHidden(e,r,!0)}}dispose(){}},TC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},EC=function(e,t){return function(n,r){t(n,r,e)}},DC=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},OC=class extends i.Xl{constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText=``,this.resources=[],(i.xc||i.wc)&&this.installWebKitWriteTextWorkaround()}installWebKitWriteTextWorkaround(){let e=()=>{let e=new i.ps;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=e,navigator.clipboard.write([new ClipboardItem({"text/plain":e.p})]).catch(t=>DC(this,void 0,void 0,function*(){(!(t instanceof Error)||t.name!==`NotAllowedError`||!e.isRejected)&&this.logService.error(t)}))};this.layoutService.hasContainer&&(this._register(i.Ka(this.layoutService.container,`click`,e)),this._register(i.Ka(this.layoutService.container,`keydown`,e)))}writeText(e,t){return DC(this,void 0,void 0,function*(){if(t){this.mapTextToType.set(t,e);return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return yield navigator.clipboard.writeText(e)}catch(e){console.error(e)}let n=document.activeElement,r=document.body.appendChild(i.za(`textarea`,{"aria-hidden":!0}));r.style.height=`1px`,r.style.width=`1px`,r.style.position=`absolute`,r.value=e,r.focus(),r.select(),document.execCommand(`copy`),n instanceof HTMLElement&&n.focus(),document.body.removeChild(r)})}readText(e){return DC(this,void 0,void 0,function*(){if(e)return this.mapTextToType.get(e)||``;try{return yield navigator.clipboard.readText()}catch(e){return console.error(e),``}})}readFindText(){return DC(this,void 0,void 0,function*(){return this.findText})}writeFindText(e){return DC(this,void 0,void 0,function*(){this.findText=e})}readResources(){return DC(this,void 0,void 0,function*(){return this.resources})}};OC=TC([EC(0,Qp),EC(1,i.$o)],OC);var kC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},AC=function(e,t){return function(n,r){t(n,r,e)}},jC=`data-keybinding-context`,MC=class{constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return Object.assign({},this._value)}setValue(e,t){return this._value[e]===t?!1:(this._value[e]=t,!0)}removeValue(e){return e in this._value?(delete this._value[e],!0):!1}getValue(e){let t=this._value[e];return t===void 0&&this._parent?this._parent.getValue(e):t}},NC=class extends MC{constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}};NC.INSTANCE=new NC;var PC=class e extends MC{constructor(e,t,n){super(e,null),this._configurationService=t,this._values=i.u.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(e=>{if(e.source===6){let e=Array.from(i.md.map(this._values,([e])=>e));this._values.clear(),n.fire(new LC(e))}else{let t=[];for(let n of e.affectedKeys){let e=`config.${n}`,r=this._values.findSuperstr(e);r!==void 0&&(t.push(...i.md.map(r,([e])=>e)),this._values.deleteSuperstr(e)),this._values.has(e)&&(t.push(e),this._values.delete(e))}n.fire(new LC(t))}})}dispose(){this._listener.dispose()}getValue(t){if(t.indexOf(e._keyPrefix)!==0)return super.getValue(t);if(this._values.has(t))return this._values.get(t);let n=t.substr(e._keyPrefix.length),r=this._configurationService.getValue(n),i;switch(typeof r){case`number`:case`boolean`:case`string`:i=r;break;default:i=Array.isArray(r)?JSON.stringify(r):r}return this._values.set(t,i),i}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}};PC._keyPrefix=`config.`;var FC=class{constructor(e,t,n){this._service=e,this._key=t,this._defaultValue=n,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){this._defaultValue===void 0?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}},IC=class{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}},LC=class{constructor(e){this.keys=e}affectsSome(e){for(let t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every(t=>e.has(t))}},RC=class{constructor(e){this.events=e}affectsSome(e){for(let t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every(t=>t.allKeysContainedIn(e))}};function zC(e,t){return e.allKeysContainedIn(new Set(Object.keys(t)))}var BC=class{constructor(e){this._onDidChangeContext=new i.ql({merge:e=>new RC(e)}),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw Error(`AbstractContextKeyService has been disposed`);return new FC(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw Error(`AbstractContextKeyService has been disposed`);return new HC(this,e)}contextMatchesRules(e){if(this._isDisposed)throw Error(`AbstractContextKeyService has been disposed`);let t=this.getContextValuesContainer(this._myContextId);return e?e.evaluate(t):!0}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;let n=this.getContextValuesContainer(this._myContextId);n&&n.setValue(e,t)&&this._onDidChangeContext.fire(new IC(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new IC(e))}getContext(e){return this._isDisposed?NC.INSTANCE:this.getContextValuesContainer(UC(e))}},VC=class extends BC{constructor(e){super(0),this._contexts=new Map,this._toDispose=new i.Zl,this._lastContextId=0;let t=new PC(this._myContextId,e,this._onDidChangeContext);this._contexts.set(this._myContextId,t),this._toDispose.add(t)}dispose(){this._onDidChangeContext.dispose(),this._isDisposed=!0,this._toDispose.dispose()}getContextValuesContainer(e){return this._isDisposed?NC.INSTANCE:this._contexts.get(e)||NC.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw Error(`ContextKeyService has been disposed`);let t=++this._lastContextId;return this._contexts.set(t,new MC(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};VC=kC([AC(0,i.Ys)],VC);var HC=class extends BC{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=new i.$l,this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(jC)){let e=``;this._domNode.classList&&(e=Array.from(this._domNode.classList.values()).join(`, `)),console.error(`Element already has context attribute${e?`: `+e:``}`)}this._domNode.setAttribute(jC,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(e=>{let t=this._parent.getContextValuesContainer(this._myContextId).value;zC(e,t)||this._onDidChangeContext.fire(e)})}dispose(){this._isDisposed||=(this._onDidChangeContext.dispose(),this._parent.disposeContext(this._myContextId),this._parentChangeListener.dispose(),this._domNode.removeAttribute(jC),!0)}getContextValuesContainer(e){return this._isDisposed?NC.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw Error(`ScopedContextKeyService has been disposed`);return this._parent.createChildContext(e)}disposeContext(e){this._isDisposed||this._parent.disposeContext(e)}};function UC(e){for(;e;){if(e.hasAttribute(jC)){let t=e.getAttribute(jC);return t?parseInt(t,10):NaN}e=e.parentElement}return 0}function WC(e,t,n){e.get(i.Ea).createKey(String(t),GC(n))}function GC(e){return i.gu(e,e=>{if(typeof e==`object`&&e.$mid===1)return i.Al.revive(e).toString();if(e instanceof i.Al)return e.toString()})}i.ja.registerCommand(i.Oa,WC),i.ja.registerCommand({id:`getContextKeyInfo`,handler(){return[...i.Da.all()].sort((e,t)=>e.key.localeCompare(t.key))},description:{description:i.Td(`getContextKeyInfo`,`A command that returns information about context keys`),args:[]}}),i.ja.registerCommand(`_generateContextKeyInfo`,function(){let e=[],t=new Set;for(let n of i.Da.all())t.has(n.key)||(t.add(n.key),e.push(n));e.sort((e,t)=>e.key.localeCompare(t.key)),JSON.stringify(e,void 0,2)});var KC=class{constructor(e){this.incoming=new Map,this.outgoing=new Map,this.data=e}},qC=class{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){let e=[];for(let t of this._nodes.values())t.outgoing.size===0&&e.push(t);return e}insertEdge(e,t){let n=this.lookupOrInsertNode(e),r=this.lookupOrInsertNode(t);n.outgoing.set(this._hashFn(t),r),r.incoming.set(this._hashFn(e),n)}removeNode(e){let t=this._hashFn(e);this._nodes.delete(t);for(let e of this._nodes.values())e.outgoing.delete(t),e.incoming.delete(t)}lookupOrInsertNode(e){let t=this._hashFn(e),n=this._nodes.get(t);return n||(n=new KC(e),this._nodes.set(t,n)),n}isEmpty(){return this._nodes.size===0}toString(){let e=[];for(let[t,n]of this._nodes)e.push(`${t}, (incoming)[${[...n.incoming.keys()].join(`, `)}], (outgoing)[${[...n.outgoing.keys()].join(`,`)}]`);return e.join(`
|
|
558
|
+
`)}findCycleSlow(){for(let[e,t]of this._nodes){let n=new Set([e]),r=this._findCycle(t,n);if(r)return r}}_findCycle(e,t){for(let[n,r]of e.outgoing){if(t.has(n))return[...t,n].join(` -> `);t.add(n);let e=this._findCycle(r,t);if(e)return e;t.delete(n)}}},JC=class extends Error{constructor(e){super(`cyclic dependency between services`),this.message=e.findCycleSlow()??`UNABLE to detect cycle, dumping graph: \n${e.toString()}`}},YC=class e{constructor(e=new uu,t=!1,n){this._activeInstantiations=new Set,this._services=e,this._strict=t,this._parent=n,this._services.set(i.fc,this)}createChild(t){return new e(t,this._strict,this)}invokeFunction(e,...t){let n=XC.traceInvocation(e),r=!1;try{return e({get:e=>{if(r)throw i.uu(`service accessor is only valid during the invocation of its target method`);let t=this._getOrCreateServiceInstance(e,n);if(!t)throw Error(`[invokeFunction] unknown service '${e}'`);return t}},...t)}finally{r=!0,n.stop()}}createInstance(e,...t){let n,r;return e instanceof i.qs?(n=XC.traceCreation(e.ctor),r=this._createInstance(e.ctor,e.staticArguments.concat(t),n)):(n=XC.traceCreation(e),r=this._createInstance(e,t,n)),n.stop(),r}_createInstance(e,t=[],n){let r=i.pc.getServiceDependencies(e).sort((e,t)=>e.index-t.index),a=[];for(let t of r){let r=this._getOrCreateServiceInstance(t.id,n);r||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.`,!1),a.push(r)}let o=r.length>0?r[0].index:t.length;if(t.length!==o){`${e.name}${o+1}${t.length}`;let n=o-t.length;t=n>0?t.concat(Array(n)):t.slice(0,o)}return new e(...t,...a)}_setServiceInstance(e,t){if(this._services.get(e)instanceof i.qs)this._services.set(e,t);else if(this._parent)this._parent._setServiceInstance(e,t);else throw Error(`illegalState - setting UNKNOWN service instance`)}_getServiceInstanceOrDescriptor(e){let t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){let n=this._getServiceInstanceOrDescriptor(e);return n instanceof i.qs?this._safeCreateAndCacheServiceInstance(e,n,t.branch(e,!0)):(t.branch(e,!1),n)}_safeCreateAndCacheServiceInstance(e,t,n){if(this._activeInstantiations.has(e))throw Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,n)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,n){let r=new qC(e=>e.id.toString()),a=0,o=[{id:e,desc:t,_trace:n}];for(;o.length;){let t=o.pop();if(r.lookupOrInsertNode(t),a++>1e3)throw new JC(r);for(let n of i.pc.getServiceDependencies(t.desc.ctor)){let a=this._getServiceInstanceOrDescriptor(n.id);if(a||this._throwIfStrict(`[createInstance] ${e} depends on ${n.id} which is NOT registered.`,!0),a instanceof i.qs){let e={id:n.id,desc:a,_trace:t._trace.branch(n.id,!0)};r.insertEdge(t,e),o.push(e)}}}for(;;){let e=r.roots();if(e.length===0){if(!r.isEmpty())throw new JC(r);break}for(let{data:t}of e){if(this._getServiceInstanceOrDescriptor(t.id)instanceof i.qs){let e=this._createServiceInstanceWithOwner(t.id,t.desc.ctor,t.desc.staticArguments,t.desc.supportsDelayedInstantiation,t._trace);this._setServiceInstance(t.id,e)}r.removeNode(t)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,n=[],r,a){if(this._services.get(e)instanceof i.qs)return this._createServiceInstance(t,n,r,a);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,n,r,a);throw Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(e,t=[],n,r){if(n){let n=new i.hs(()=>this._createInstance(e,t,r));return new Proxy(Object.create(null),{get(e,t){if(t in e)return e[t];let r=n.value,i=r[t];return typeof i==`function`?(i=i.bind(r),e[t]=i,i):i},set(e,t,r){return n.value[t]=r,!0}})}else return this._createInstance(e,t,r)}_throwIfStrict(e,t){if(this._strict)throw Error(e)}},XC=class e{constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}static traceInvocation(t){return e._None}static traceCreation(t){return e._None}branch(t,n){let r=new e(2,t.toString());return this._dep.push([t,n,r]),r}stop(){let t=Date.now()-this._start;e._totals+=t;let n=!1;function r(e,t){let i=[],a=Array(e+1).join(` `);for(let[o,s,c]of t._dep)if(s&&c){n=!0,i.push(`${a}CREATES -> ${o}`);let t=r(e+1,c);t&&i.push(t)}else i.push(`${a}uses -> ${o}`);return i.join(`
|
|
559
|
+
`)}let i=[`${this.type===0?`CREATE`:`CALL`} ${this.name}`,`${r(1,this)}`,`DONE, took ${t.toFixed(2)}ms (grand total ${e._totals.toFixed(2)}ms)`];(t>2||n)&&i.join(`
|
|
560
|
+
`)}};XC._None=new class extends XC{constructor(){super(-1,null)}stop(){}branch(){return this}},XC._totals=0;var ZC=class{constructor(){this._byResource=new i.l,this._byOwner=new Map}set(e,t,n){let r=this._byResource.get(e);r||(r=new Map,this._byResource.set(e,r)),r.set(t,n);let a=this._byOwner.get(t);a||(a=new i.l,this._byOwner.set(t,a)),a.set(e,n)}get(e,t){return this._byResource.get(e)?.get(t)}delete(e,t){let n=!1,r=!1,i=this._byResource.get(e);i&&(n=i.delete(t));let a=this._byOwner.get(t);if(a&&(r=a.delete(e)),n!==r)throw Error(`illegal state`);return n&&r}values(e){return typeof e==`string`?this._byOwner.get(e)?.values()??i.md.empty():i.Al.isUri(e)?this._byResource.get(e)?.values()??i.md.empty():i.md.map(i.md.concat(...this._byOwner.values()),e=>e[1])}},QC=class{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new i.l,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(let t of e){let e=this._data.get(t);e&&this._substract(e);let n=this._resourceStats(t);this._add(n),this._data.set(t,n)}}_resourceStats(e){let t={errors:0,warnings:0,infos:0,unknowns:0};if(e.scheme===i.Io.inMemory||e.scheme===i.Io.walkThrough||e.scheme===i.Io.walkThroughSnippet)return t;for(let{severity:n}of this._service.read({resource:e}))n===Vg.Error?t.errors+=1:n===Vg.Warning?t.warnings+=1:n===Vg.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}},$C=class e{constructor(){this._onMarkerChanged=new i.Hl({delay:0,merge:e._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new ZC,this._stats=new QC(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(let n of t||[])this.changeOne(e,n,[])}changeOne(t,n,r){if(i.Qu(r))this._data.delete(n,t)&&this._onMarkerChanged.fire([n]);else{let i=[];for(let a of r){let r=e._toMarker(t,n,a);r&&i.push(r)}this._data.set(n,t,i),this._onMarkerChanged.fire([n])}}static _toMarker(e,t,n){let{code:r,severity:i,message:a,source:o,startLineNumber:s,startColumn:c,endLineNumber:l,endColumn:u,relatedInformation:d,tags:f}=n;if(a)return s=s>0?s:1,c=c>0?c:1,l=l>=s?l:s,u=u>0?u:c,{resource:t,owner:e,code:r,severity:i,message:a,source:o,startLineNumber:s,startColumn:c,endLineNumber:l,endColumn:u,relatedInformation:d,tags:f}}changeAll(t,n){let r=[],a=this._data.values(t);if(a)for(let e of a){let n=i.md.first(e);n&&(r.push(n.resource),this._data.delete(n.resource,t))}if(i.$u(n)){let a=new i.l;for(let{resource:i,marker:o}of n){let n=e._toMarker(t,i,o);if(!n)continue;let s=a.get(i);s?s.push(n):(a.set(i,[n]),r.push(i))}for(let[e,n]of a)this._data.set(e,t,n)}r.length>0&&this._onMarkerChanged.fire(r)}read(t=Object.create(null)){let{owner:n,resource:r,severities:i,take:a}=t;if((!a||a<0)&&(a=-1),n&&r){let t=this._data.get(r,n);if(t){let n=[];for(let r of t)if(e._accept(r,i)){let e=n.push(r);if(a>0&&e===a)break}return n}else return[]}else if(!n&&!r){let t=[];for(let n of this._data.values())for(let r of n)if(e._accept(r,i)){let e=t.push(r);if(a>0&&e===a)return t}return t}else{let t=this._data.values(r??n),o=[];for(let n of t)for(let t of n)if(e._accept(t,i)){let e=o.push(t);if(a>0&&e===a)return o}return o}}static _accept(e,t){return t===void 0||(t&e.severity)===e.severity}static _merge(e){let t=new i.l;for(let n of e)for(let e of n)t.set(e,!0);return Array.from(t.keys())}};function ew(e,t,n,r,a,o){if(Array.isArray(e)){let i=0;for(let s of e){let e=ew(s,t,n,r,a,o);if(e===10)return e;e>i&&(i=e)}return i}else if(typeof e==`string`)return r?e===`*`?5:e===n?10:0:0;else if(e){let{language:s,pattern:c,scheme:l,hasAccessToAllModels:u,notebookType:d}=e;if(!r&&!u)return 0;d&&a&&(t=a);let f=0;if(l)if(l===t.scheme)f=10;else if(l===`*`)f=5;else return 0;if(s)if(s===n)f=10;else if(s===`*`)f=Math.max(f,5);else return 0;if(d)if(d===o)f=10;else if(d===`*`&&o!==void 0)f=Math.max(f,5);else return 0;if(c){let e;if(e=typeof c==`string`?c:Object.assign(Object.assign({},c),{base:i.Pl(c.base)}),e===t.fsPath||Hh(e,t.fsPath))f=10;else return 0}return f}else return 0}function tw(e){return typeof e==`string`?!1:Array.isArray(e)?e.every(tw):!!e.exclusive}var nw=class{constructor(e,t,n,r){this.uri=e,this.languageId=t,this.notebookUri=n,this.notebookType=r}equals(e){return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&this.notebookUri?.toString()===e.notebookUri?.toString()}},Y=class e{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new i.Ul,this.onDidChange=this._onDidChange.event}register(e,t){let n={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(n),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),i.au(()=>{if(n){let e=this._entries.indexOf(n);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),n=void 0)}})}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e);let t=[];for(let e of this._entries)e._score>0&&t.push(e.provider);return t}ordered(e){let t=[];return this._orderedForEach(e,e=>t.push(e.provider)),t}orderedGroups(e){let t=[],n,r;return this._orderedForEach(e,e=>{n&&r===e._score?n.push(e.provider):(r=e._score,n=[e.provider],t.push(n))}),t}_orderedForEach(e,t){this._updateScores(e);for(let e of this._entries)e._score>0&&t(e)}_updateScores(t){let n=this._notebookInfoResolver?.call(this,t.uri),r=n?new nw(t.uri,t.getLanguageId(),n.uri,n.type):new nw(t.uri,t.getLanguageId(),void 0,void 0);if(!this._lastCandidate?.equals(r)){this._lastCandidate=r;for(let e of this._entries)if(e._score=ew(e.selector,r.uri,r.languageId,i.lc(t),r.notebookUri,r.notebookType),tw(e.selector)&&e._score>0){for(let e of this._entries)e._score=0;e._score=1e3;break}this._entries.sort(e._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._score<t._score?1:e._score>t._score?-1:e._time<t._time?1:e._time>t._time?-1:0}},rw=class{constructor(){this.referenceProvider=new Y(this._score.bind(this)),this.renameProvider=new Y(this._score.bind(this)),this.codeActionProvider=new Y(this._score.bind(this)),this.definitionProvider=new Y(this._score.bind(this)),this.typeDefinitionProvider=new Y(this._score.bind(this)),this.declarationProvider=new Y(this._score.bind(this)),this.implementationProvider=new Y(this._score.bind(this)),this.documentSymbolProvider=new Y(this._score.bind(this)),this.inlayHintsProvider=new Y(this._score.bind(this)),this.colorProvider=new Y(this._score.bind(this)),this.codeLensProvider=new Y(this._score.bind(this)),this.documentFormattingEditProvider=new Y(this._score.bind(this)),this.documentRangeFormattingEditProvider=new Y(this._score.bind(this)),this.onTypeFormattingEditProvider=new Y(this._score.bind(this)),this.signatureHelpProvider=new Y(this._score.bind(this)),this.hoverProvider=new Y(this._score.bind(this)),this.documentHighlightProvider=new Y(this._score.bind(this)),this.selectionRangeProvider=new Y(this._score.bind(this)),this.foldingRangeProvider=new Y(this._score.bind(this)),this.linkProvider=new Y(this._score.bind(this)),this.inlineCompletionsProvider=new Y(this._score.bind(this)),this.completionProvider=new Y(this._score.bind(this)),this.linkedEditingRangeProvider=new Y(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new Y(this._score.bind(this)),this.documentSemanticTokensProvider=new Y(this._score.bind(this)),this.documentOnDropEditProvider=new Y(this._score.bind(this)),this.documentPasteEditProvider=new Y(this._score.bind(this))}_score(e){return this._notebookTypeResolver?.call(this,e)}};i.Ks(i.Zo,rw,!0);var iw=class extends Am{constructor(e={}){let t=i.Ws.as(i.zs.Configuration).getConfigurationProperties(),n=Object.keys(t),r=Object.create(null),a=[];for(let n in t){let a=e[n];i.Xs(r,n,a===void 0?t[n].default:a,e=>console.error(`Conflict in default settings: ${e}`))}for(let e of Object.keys(r))i.Bs.test(e)&&a.push({identifiers:i.Vs(e),keys:Object.keys(r[e]),contents:i.$s(r[e],e=>console.error(`Conflict in default settings file: ${e}`))});super(r,n,a)}},aw=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},X=function(e,t){return function(n,r){t(n,r,e)}},ow=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},sw=class{constructor(e){this.disposed=!1,this.model=e,this._onWillDispose=new i.Ul}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}},cw=class{constructor(e){this.modelService=e}createModelReference(e){let t=this.modelService.getModel(e);return t?Promise.resolve(new i.Ql(new sw(t))):Promise.reject(Error(`Model not found`))}};cw=aw([X(0,i.As)],cw);var lw=class e{show(){return e.NULL_PROGRESS_RUNNER}showWhile(e,t){return ow(this,void 0,void 0,function*(){yield e})}};lw.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};var uw=class{withProgress(e,t,n){return t({report:()=>{}})}},dw=class{confirm(e){return this.doConfirm(e).then(e=>({confirmed:e,checkboxChecked:!1}))}doConfirm(e){let t=e.message;return e.detail&&(t=t+`
|
|
561
|
+
|
|
562
|
+
`+e.detail),Promise.resolve(window.confirm(t))}show(e,t,n,r){return Promise.resolve({choice:0})}},fw=class e{info(e){return this.notify({severity:H.Info,message:e})}warn(e){return this.notify({severity:H.Warning,message:e})}error(e){return this.notify({severity:H.Error,message:e})}notify(t){switch(t.severity){case H.Error:console.error(t.message);break;case H.Warning:t.message;break;default:t.message;break}return e.NO_OP}status(e,t){return i.Xl.None}};fw.NO_OP=new mu;var pw=class{constructor(e){this._onWillExecuteCommand=new i.Ul,this._onDidExecuteCommand=new i.Ul,this.onWillExecuteCommand=this._onWillExecuteCommand.event,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){let n=i.ja.getCommand(e);if(!n)return Promise.reject(Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});let r=this._instantiationService.invokeFunction.apply(this._instantiationService,[n.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(r)}catch(e){return Promise.reject(e)}}};pw=aw([X(0,i.fc)],pw);var mw=class extends Pm{constructor(e,t,n,r,a,o){super(e,t,n,r,a),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];let s=e=>{let t=new i.Zl;t.add(i.Ka(e,i.Ua.KEY_DOWN,e=>{let t=new i.Ho(e);this._dispatch(t,t.target)&&(t.preventDefault(),t.stopPropagation())})),t.add(i.Ka(e,i.Ua.KEY_UP,e=>{let t=new i.Ho(e);this._singleModifierDispatch(t,t.target)&&t.preventDefault()})),this._domNodeListeners.push(new hw(e,t))},c=e=>{for(let t=0;t<this._domNodeListeners.length;t++){let n=this._domNodeListeners[t];n.domNode===e&&(this._domNodeListeners.splice(t,1),n.dispose())}},l=e=>{e.getOption(55)||s(e.getContainerDomNode())};this._register(o.onCodeEditorAdd(l)),this._register(o.onCodeEditorRemove(e=>{e.getOption(55)||c(e.getContainerDomNode())})),o.listCodeEditors().forEach(l);let u=e=>{s(e.getContainerDomNode())};this._register(o.onDiffEditorAdd(u)),this._register(o.onDiffEditorRemove(e=>{c(e.getContainerDomNode())})),o.listDiffEditors().forEach(u)}addDynamicKeybinding(e,t,n,r){let a=i.qo(t,i.hd),o=new i.Zl;return a&&(this._dynamicKeybindings.push({keybinding:a.parts,command:e,when:r,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}),o.add(i.au(()=>{for(let t=0;t<this._dynamicKeybindings.length;t++)if(this._dynamicKeybindings[t].command===e){this._dynamicKeybindings.splice(t,1),this.updateResolver();return}}))),o.add(i.ja.registerCommand(e,n)),this.updateResolver(),o}updateResolver(){this._cachedResolver=null,this._onDidUpdateKeybindings.fire()}_getResolver(){return this._cachedResolver||=new Lm(this._toNormalizedKeybindingItems(i.oa.getDefaultKeybindings(),!0),this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1),e=>this._log(e)),this._cachedResolver}_documentHasFocus(){return document.hasFocus()}_toNormalizedKeybindingItems(e,t){let n=[],r=0;for(let a of e){let e=a.when||void 0,o=a.keybinding;if(!o)n[r++]=new Bm(void 0,a.command,a.commandArgs,e,t,null,!1);else{let s=Jm.resolveUserBinding(o,i.hd);for(let i of s)n[r++]=new Bm(i,a.command,a.commandArgs,e,t,null,!1)}}return n}resolveKeyboardEvent(e){return new Jm(new i.Ko(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode).toChord(),i.hd)}};mw=aw([X(0,i.Ea),X(1,i.Ma),X(2,i.aa),X(3,pu),X(4,i.$o),X(5,i.dc)],mw);var hw=class extends i.Xl{constructor(e,t){super(),this.domNode=e,this._register(t)}};function gw(e){return e&&typeof e==`object`&&(!e.overrideIdentifier||typeof e.overrideIdentifier==`string`)&&(!e.resource||e.resource instanceof i.Al)}var _w=class{constructor(){this._onDidChangeConfiguration=new i.Ul,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._configuration=new jm(new iw,new Am,new Am,new Am)}getValue(e,t){let n=typeof e==`string`?e:void 0,r=gw(e)?e:gw(t)?t:{};return this._configuration.getValue(n,r,void 0)}updateValues(e){let t={data:this._configuration.toData()},n=[];for(let t of e){let[e,r]=t;this.getValue(e)!==r&&(this._configuration.updateValue(e,r),n.push(e))}if(n.length>0){let e=new Mm({keys:n,overrides:[]},t,this._configuration);e.source=7,e.sourceConfig=null,this._onDidChangeConfiguration.fire(e)}return Promise.resolve()}updateValue(e,t,n,r){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t,void 0)}},vw=class{constructor(e){this.configurationService=e,this._onDidChangeConfiguration=new i.Ul,this.configurationService.onDidChangeConfiguration(e=>{this._onDidChangeConfiguration.fire({affectedKeys:e.affectedKeys,affectsConfiguration:(t,n)=>e.affectsConfiguration(n)})})}getValue(e,t,n){let r=i.kl.isIPosition(t)&&t?typeof n==`string`?n:void 0:typeof t==`string`?t:void 0;return r===void 0?this.configurationService.getValue():this.configurationService.getValue(r)}};vw=aw([X(0,i.Ys)],vw);var yw=class{constructor(e){this.configurationService=e}getEOL(e,t){let n=this.configurationService.getValue(`files.eol`,{overrideIdentifier:t,resource:e});return n&&typeof n==`string`&&n!==`auto`?n:i.vd||i.bd?`
|
|
563
|
+
`:`\r
|
|
564
|
+
`}};yw=aw([X(0,i.Ys)],yw);var bw=class{publicLog(e,t){return Promise.resolve(void 0)}publicLog2(e,t){return this.publicLog(e,t)}},xw=class e{constructor(){this.workspace={id:`4064f6ec-cb38-4ad0-af64-ee6467e63c82`,folders:[new $m({uri:i.Al.from({scheme:e.SCHEME,authority:`model`,path:`/`}),name:``,index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(t){return t&&t.scheme===e.SCHEME?this.workspace.folders[0]:null}};xw.SCHEME=`inmemory`;function Sw(e,t,n){if(!t||!(e instanceof _w))return;let r=[];Object.keys(t).forEach(e=>{Dm(e)&&r.push([`editor.${e}`,t[e]]),n&&Om(e)&&r.push([`diffEditor.${e}`,t[e]])}),r.length>0&&e.updateValues(r)}var Cw=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}apply(e,t){return ow(this,void 0,void 0,function*(){let t=new Map;for(let n of e){if(!(n instanceof bm))throw Error(`bad edit - only text edits are supported`);let e=this._modelService.getModel(n.resource);if(!e)throw Error(`bad edit - model not found`);if(typeof n.versionId==`number`&&e.getVersionId()!==n.versionId)throw Error(`bad state - model changed in the meantime`);let r=t.get(e);r||(r=[],t.set(e,r)),r.push(km.replaceMove(i.Ol.lift(n.textEdit.range),n.textEdit.text))}let n=0,r=0;for(let[e,i]of t)e.pushStackElement(),e.pushEditOperations([],i,()=>[]),e.pushStackElement(),r+=1,n+=i.length;return{ariaSummary:i.Rc(lh.bulkEditServiceSummary,n,r)}})}};Cw=aw([X(0,i.As)],Cw);var ww=class{getUriLabel(e,t){return e.scheme===`file`?e.fsPath:e.path}getUriBasenameLabel(e){return i.x(e)}},Tw=class extends _h{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,n){if(!t){let e=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();e&&(t=e.getContainerDomNode())}return super.showContextView(e,t,n)}};Tw=aw([X(0,Qp),X(1,i.dc)],Tw);var Ew=class{constructor(){this._neverEmitter=new i.Ul,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}},Dw=class extends lg{constructor(){super()}},Ow=class extends i.ts{constructor(){super(new i.Qo)}},kw=class extends jg{constructor(e,t,n,r,i){super(e,t,n,r,i),this.configure({blockMouse:!1})}};kw=aw([X(0,i.aa),X(1,pu),X(2,up),X(3,Im),X(4,i.ga)],kw),i.Ks(i.Ys,_w),i.Ks(Un,vw),i.Ks(Wn,yw),i.Ks(Xm,xw),i.Ks(Ym,ww),i.Ks(i.aa,bw),i.Ks(rm,dw),i.Ks(pu,fw),i.Ks(Ug,$C),i.Ks(i.Js,Dw),i.Ks(aC,iC),i.Ks(i.$o,Ow),i.Ks(i.As,T_),i.Ks(xi,qg),i.Ks(i.Ea,VC),i.Ks(hp,uw),i.Ks(_p,lw),i.Ks(mC,_C),i.Ks(lp,Zn),i.Ks(vm,Cw),i.Ks(uh,Ew),i.Ks(i.Ra,cw),i.Ks(Mi,cC),i.Ks(Sx,Cx),i.Ks(i.Ma,pw),i.Ks(Im,mw),i.Ks(vS,OS),i.Ks(up,Tw),i.Ks(i.n,Bg),i.Ks(mp,OC),i.Ks(dp,kw),i.Ks(i.sa,bC);var Z;(function(e){let t=new uu;for(let[e,n]of i.Gs())t.set(e,n);let n=new YC(t,!0);t.set(i.fc,n);function r(e){let r=t.get(e);if(!r)throw Error(`Missing service `+e);return r instanceof i.qs?n.invokeFunction(t=>t.get(e)):r}e.get=r;let a=!1;function o(e){if(a)return n;a=!0;for(let[e,n]of i.Gs())t.get(e)||t.set(e,n);for(let n in e)if(e.hasOwnProperty(n)){let r=i.mc(n);t.get(r)instanceof i.qs&&t.set(r,e[n])}return n}e.initialize=o})(Z||={});var Aw=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Q=function(e,t){return function(n,r){t(n,r,e)}},jw=0,Mw=!1;function Nw(e){if(!e){if(Mw)return;Mw=!0}_i(e||document.body)}var Pw=class extends Vu{constructor(e,t,n,r,i,a,o,s,c,l,u,d){let f=Object.assign({},t);f.ariaLabel=f.ariaLabel||sh.editorViewAccessibleLabel,f.ariaLabel=f.ariaLabel+`;`+sh.accessibilityHelpMessage,super(e,f,{},n,r,i,a,s,c,l,u,d),o instanceof mw?this._standaloneKeybindingService=o:this._standaloneKeybindingService=null,Nw(f.ariaContainerElement)}addCommand(e,t,n){if(!this._standaloneKeybindingService)return null;let r=`DYNAMIC_`+ ++jw,a=i.Ta.deserialize(n);return this._standaloneKeybindingService.addDynamicKeybinding(r,e,t,a),r}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if(typeof e.id!=`string`||typeof e.label!=`string`||typeof e.run!=`function`)throw Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return i.Xl.None;let t=e.id,n=e.label,r=i.Ta.and(i.Ta.equals(`editorId`,this.getId()),i.Ta.deserialize(e.precondition)),a=e.keybindings,o=i.Ta.and(r,i.Ta.deserialize(e.keybindingContext)),s=e.contextMenuGroupId||null,c=e.contextMenuOrder||0,l=(t,...n)=>Promise.resolve(e.run(this,...n)),u=new i.Zl,d=this.getId()+`:`+t;if(u.add(i.ja.registerCommand(d,l)),s){let e={command:{id:d,title:n},when:r,group:s,order:c};u.add(i.da.appendMenuItem(i.ca.EditorContext,e))}if(Array.isArray(a))for(let e of a)u.add(this._standaloneKeybindingService.addDynamicKeybinding(d,e,l,o));let f=new kl(d,n,n,r,l,this._contextKeyService);return this._actions[t]=f,u.add(i.au(()=>{delete this._actions[t]})),u}_triggerCommand(e,t){if(this._codeEditorService instanceof Zp)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};Pw=Aw([Q(2,i.fc),Q(3,i.dc),Q(4,i.Ma),Q(5,i.Ea),Q(6,Im),Q(7,i.ga),Q(8,pu),Q(9,Mi),Q(10,i.Ps),Q(11,i.Zo)],Pw);var Fw=class extends Pw{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){let h=Object.assign({},t);Sw(l,h,!1);let g=s.registerEditorContainer(e);typeof h.theme==`string`&&s.setTheme(h.theme),h.autoDetectHighContrast!==void 0&&s.setAutoDetectHighContrast(!!h.autoDetectHighContrast);let _=h.model;delete h.model,super(e,h,n,r,i,a,o,s,c,u,p,m),this._configurationService=l,this._standaloneThemeService=s,this._register(g);let v;if(_===void 0){let e=f.getLanguageIdByMimeType(h.language)||h.language||`plaintext`;v=Lw(d,f,h.value||``,e,void 0),this._ownsModel=!0}else v=_,this._ownsModel=!1;if(this._attachModel(v),v){let e={oldModelUrl:null,newModelUrl:v.uri};this._onDidChangeModel.fire(e)}}dispose(){super.dispose()}updateOptions(e){Sw(this._configurationService,e,!1),typeof e.theme==`string`&&this._standaloneThemeService.setTheme(e.theme),e.autoDetectHighContrast!==void 0&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};Fw=Aw([Q(2,i.fc),Q(3,i.dc),Q(4,i.Ma),Q(5,i.Ea),Q(6,Im),Q(7,aC),Q(8,pu),Q(9,i.Ys),Q(10,Mi),Q(11,i.As),Q(12,i.Js),Q(13,i.Ps),Q(14,i.Zo)],Fw);var Iw=class extends Tp{constructor(e,t,n,r,i,a,o,s,c,l,u,d){let f=Object.assign({},t);Sw(c,f,!0);let p=o.registerEditorContainer(e);typeof f.theme==`string`&&o.setTheme(f.theme),f.autoDetectHighContrast!==void 0&&o.setAutoDetectHighContrast(!!f.autoDetectHighContrast),super(e,f,{},d,i,r,n,a,o,s,l,u),this._configurationService=c,this._standaloneThemeService=o,this._register(p)}dispose(){super.dispose()}updateOptions(e){Sw(this._configurationService,e,!0),typeof e.theme==`string`&&this._standaloneThemeService.setTheme(e.theme),e.autoDetectHighContrast!==void 0&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,n){return e.createInstance(Pw,t,n)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,n){return this.getModifiedEditor().addCommand(e,t,n)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};Iw=Aw([Q(2,i.fc),Q(3,i.Ea),Q(4,lp),Q(5,i.dc),Q(6,aC),Q(7,pu),Q(8,i.Ys),Q(9,dp),Q(10,_p),Q(11,mp)],Iw);function Lw(e,t,n,r,i){if(n||=``,!r){let r=n.indexOf(`
|
|
565
|
+
`),a=n;return r!==-1&&(a=n.substring(0,r)),Rw(e,n,t.createByFilepathOrFirstLine(i||null,a),i)}return Rw(e,n,t.createById(r),i)}function Rw(e,t,n,r){return e.createModel(t,n,r)}function zw(e,t,n){return Z.initialize(n||{}).createInstance(Fw,e,t)}function Bw(e){return Z.get(i.dc).onCodeEditorAdd(t=>{e(t)})}function Vw(e){return Z.get(i.dc).onDiffEditorAdd(t=>{e(t)})}function Hw(){return Z.get(i.dc).listCodeEditors()}function Uw(){return Z.get(i.dc).listDiffEditors()}function Ww(e,t,n){return Z.initialize(n||{}).createInstance(Iw,e,t)}function Gw(e,t){return new Rt(e,t)}function Kw(e,t,n){let r=Z.get(i.Js),a=r.getLanguageIdByMimeType(t)||t;return Lw(Z.get(i.As),r,e,a,n)}function qw(e,t){let n=Z.get(i.Js);Z.get(i.As).setMode(e,n.createById(t))}function Jw(e,t,n){e&&Z.get(Ug).changeOne(t,e.uri,n)}function Yw(e){Z.get(Ug).changeAll(e,[])}function Xw(e){return Z.get(Ug).read(e)}function Zw(e){return Z.get(Ug).onMarkerChanged(e)}function Qw(e){return Z.get(i.As).getModel(e)}function $w(){return Z.get(i.As).getModels()}function eT(e){return Z.get(i.As).onModelAdded(e)}function tT(e){return Z.get(i.As).onModelRemoved(e)}function nT(e){return Z.get(i.As).onModelLanguageChanged(t=>{e({model:t.model,oldLanguage:t.oldLanguageId})})}function rT(e){return ir(Z.get(i.As),Z.get(i.Ps),e)}function iT(e,t){let n=Z.get(i.Js),r=Z.get(aC);return r.registerEditorContainer(e),si.colorizeElement(r,n,e,t)}function aT(e,t,n){let r=Z.get(i.Js);return Z.get(aC).registerEditorContainer(document.body),si.colorize(r,e,t,n)}function oT(e,t,n=4){return Z.get(aC).registerEditorContainer(document.body),si.colorizeModelLine(e,t,n)}function sT(e){return i.xl.get(e)||{getInitialState:()=>i.js,tokenize:(t,n,r)=>i.Ms(e,r)}}function cT(e,t){i.xl.getOrCreate(t);let n=sT(t),r=i.al(e),a=[],o=n.getInitialState();for(let e=0,t=r.length;e<t;e++){let t=r[e],i=n.tokenize(t,!0,o);a[e]=i.tokens,o=i.endState}return a}function lT(e,t){Z.get(aC).defineTheme(e,t)}function uT(e){Z.get(aC).setTheme(e)}function dT(){It.clearAllFontInfos()}function fT(e,t){return i.ja.registerCommand({id:e,handler:t})}function pT(){return{create:zw,getEditors:Hw,getDiffEditors:Uw,onDidCreateEditor:Bw,onDidCreateDiffEditor:Vw,createDiffEditor:Ww,createDiffNavigator:Gw,createModel:Kw,setModelLanguage:qw,setModelMarkers:Jw,getModelMarkers:Xw,removeAllMarkers:Yw,onDidChangeMarkers:Zw,getModels:$w,getModel:Qw,onDidCreateModel:eT,onWillDisposeModel:tT,onDidChangeModelLanguage:nT,createWebWorker:rT,colorizeElement:iT,colorize:aT,colorizeModelLine:oT,tokenize:cT,defineTheme:lT,setTheme:uT,remeasureFonts:dT,registerCommand:fT,AccessibilitySupport:Re,ContentWidgetPositionPreference:Ue,CursorChangeReason:We,DefaultEndOfLine:Ge,EditorAutoIndentStrategy:qe,EditorOption:Je,EndOfLinePreference:Ye,EndOfLineSequence:Xe,MinimapPosition:it,MouseTargetType:at,OverlayWidgetPositionPreference:ot,OverviewRulerLane:st,RenderLineNumbersType:lt,RenderMinimap:ut,ScrollbarVisibility:ft,ScrollType:dt,TextEditorCursorBlinkingStyle:_t,TextEditorCursorStyle:vt,TrackedRangeStickiness:yt,WrappingIndent:bt,InjectedTextCursorStops:Qe,PositionAffinity:ct,ConfigurationChangedEvent:a,BareFontInfo:Mt,FontInfo:Nt,TextModelResolvedOptions:i.cc,FindMatch:i.ic,ApplyUpdateResult:c,EditorType:zt,EditorOptions:Le}}function mT(e,t){if(!t||!Array.isArray(t))return!1;for(let n of t)if(!e(n))return!1;return!0}function hT(e,t){return typeof e==`boolean`?e:t}function gT(e,t){return typeof e==`string`?e:t}function _T(e){let t={};for(let n of e)t[n]=!0;return t}function vT(e,t=!1){t&&(e=e.map(function(e){return e.toLowerCase()}));let n=_T(e);return t?function(e){return n[e.toLowerCase()]!==void 0&&n.hasOwnProperty(e.toLowerCase())}:function(e){return n[e]!==void 0&&n.hasOwnProperty(e)}}function yT(e,t){t=t.replace(/@@/g,``);let n=0,r;do r=!1,t=t.replace(/@(\w+)/g,function(n,i){r=!0;let a=``;if(typeof e[i]==`string`)a=e[i];else if(e[i]&&e[i]instanceof RegExp)a=e[i].source;else if(e[i]===void 0)throw j(e,`language definition does not contain attribute '`+i+`', used at: `+t);else throw j(e,`attribute reference '`+i+`' must be a string, used at: `+t);return Br(a)?``:`(?:`+a+`)`}),n++;while(r&&n<5);t=t.replace(/\x01/g,`@`);let i=(e.ignoreCase?`i`:``)+(e.unicode?`u`:``);return new RegExp(t,i)}function bT(e,t,n,r){if(r<0)return e;if(r<t.length)return t[r];if(r>=100){r-=100;let e=n.split(`.`);if(e.unshift(n),r<e.length)return e[r]}return null}function xT(e,t,n,r){let i=-1,a=n,o=n.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);o&&(o[3]&&(i=parseInt(o[3]),o[2]&&(i+=100)),a=o[4]);let s=`~`,c=a;!a||a.length===0?(s=`!=`,c=``):/^\w*$/.test(c)?s=`==`:(o=a.match(/^(@|!@|~|!~|==|!=)(.*)$/),o&&(s=o[1],c=o[2]));let l;if((s===`~`||s===`!~`)&&/^(\w|\|)*$/.test(c)){let t=vT(c.split(`|`),e.ignoreCase);l=function(e){return s===`~`?t(e):!t(e)}}else if(s===`@`||s===`!@`){let n=e[c];if(!n)throw j(e,`the @ match target '`+c+`' is not defined, in rule: `+t);if(!mT(function(e){return typeof e==`string`},n))throw j(e,`the @ match target '`+c+`' must be an array of strings, in rule: `+t);let r=vT(n,e.ignoreCase);l=function(e){return s===`@`?r(e):!r(e)}}else if(s===`~`||s===`!~`)if(c.indexOf(`$`)<0){let t=yT(e,`^`+c+`$`);l=function(e){return s===`~`?t.test(e):!t.test(e)}}else l=function(t,n,r,i){return yT(e,`^`+Wr(e,c,n,r,i)+`$`).test(t)};else if(c.indexOf(`$`)<0){let t=Vr(e,c);l=function(e){return s===`==`?e===t:e!==t}}else{let t=Vr(e,c);l=function(n,r,i,a,o){let c=Wr(e,t,r,i,a);return s===`==`?n===c:n!==c}}return i===-1?{name:n,value:r,test:function(e,t,n,r){return l(e,e,t,n,r)}}:{name:n,value:r,test:function(e,t,n,r){let a=bT(e,t,n,i);return l(a||``,e,t,n,r)}}}function ST(e,t,n){if(!n)return{token:``};if(typeof n==`string`)return n;if(n.token||n.token===``){if(typeof n.token!=`string`)throw j(e,`a 'token' attribute must be of type string, in rule: `+t);{let r={token:n.token};if(n.token.indexOf(`$`)>=0&&(r.tokenSubst=!0),typeof n.bracket==`string`)if(n.bracket===`@open`)r.bracket=1;else if(n.bracket===`@close`)r.bracket=-1;else throw j(e,`a 'bracket' attribute must be either '@open' or '@close', in rule: `+t);if(n.next){if(typeof n.next!=`string`)throw j(e,`the next state must be a string value in rule: `+t);{let i=n.next;if(!/^(@pop|@push|@popall)$/.test(i)&&(i[0]===`@`&&(i=i.substr(1)),i.indexOf(`$`)<0&&!Kr(e,Wr(e,i,``,[],``))))throw j(e,`the next state '`+n.next+`' is not defined in rule: `+t);r.next=i}}return typeof n.goBack==`number`&&(r.goBack=n.goBack),typeof n.switchTo==`string`&&(r.switchTo=n.switchTo),typeof n.log==`string`&&(r.log=n.log),typeof n.nextEmbedded==`string`&&(r.nextEmbedded=n.nextEmbedded,e.usesEmbedded=!0),r}}else if(Array.isArray(n)){let r=[];for(let i=0,a=n.length;i<a;i++)r[i]=ST(e,t,n[i]);return{group:r}}else if(n.cases){let r=[];for(let i in n.cases)if(n.cases.hasOwnProperty(i)){let a=ST(e,t,n.cases[i]);i===`@default`||i===`@`||i===``?r.push({test:void 0,value:a,name:i}):i===`@eos`?r.push({test:function(e,t,n,r){return r},value:a,name:i}):r.push(xT(e,t,i,a))}let i=e.defaultToken;return{test:function(e,t,n,a){for(let i of r)if(!i.test||i.test(e,t,n,a))return i.value;return i}}}else throw j(e,`an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: `+t)}var CT=class{constructor(e){this.regex=RegExp(``),this.action={token:``},this.matchOnlyAtLineStart=!1,this.name=``,this.name=e}setRegex(e,t){let n;if(typeof t==`string`)n=t;else if(t instanceof RegExp)n=t.source;else throw j(e,`rules must start with a match string or regular expression: `+this.name);this.matchOnlyAtLineStart=n.length>0&&n[0]===`^`,this.name=this.name+`: `+n,this.regex=yT(e,`^(?:`+(this.matchOnlyAtLineStart?n.substr(1):n)+`)`)}setAction(e,t){this.action=ST(e,this.name,t)}};function wT(e,t){if(!t||typeof t!=`object`)throw Error(`Monarch: expecting a language definition object`);let n={};n.languageId=e,n.includeLF=hT(t.includeLF,!1),n.noThrow=!1,n.maxStack=100,n.start=typeof t.start==`string`?t.start:null,n.ignoreCase=hT(t.ignoreCase,!1),n.unicode=hT(t.unicode,!1),n.tokenPostfix=gT(t.tokenPostfix,`.`+n.languageId),n.defaultToken=gT(t.defaultToken,`source`),n.usesEmbedded=!1;let r=t;r.languageId=e,r.includeLF=n.includeLF,r.ignoreCase=n.ignoreCase,r.unicode=n.unicode,r.noThrow=n.noThrow,r.usesEmbedded=n.usesEmbedded,r.stateNames=t.tokenizer,r.defaultToken=n.defaultToken;function i(e,a,o){for(let s of o){let o=s.include;if(o){if(typeof o!=`string`)throw j(n,`an 'include' attribute must be a string at: `+e);if(o[0]===`@`&&(o=o.substr(1)),!t.tokenizer[o])throw j(n,`include target '`+o+`' is not defined at: `+e);i(e+`.`+o,a,t.tokenizer[o])}else{let t=new CT(e);if(Array.isArray(s)&&s.length>=1&&s.length<=3)if(t.setRegex(r,s[0]),s.length>=3)if(typeof s[1]==`string`)t.setAction(r,{token:s[1],next:s[2]});else if(typeof s[1]==`object`){let e=s[1];e.next=s[2],t.setAction(r,e)}else throw j(n,`a next state as the last element of a rule can only be given if the action is either an object or a string, at: `+e);else t.setAction(r,s[1]);else{if(!s.regex)throw j(n,`a rule must either be an array, or an object with a 'regex' or 'include' field at: `+e);s.name&&typeof s.name==`string`&&(t.name=s.name),s.matchOnlyAtStart&&(t.matchOnlyAtLineStart=hT(s.matchOnlyAtLineStart,!1)),t.setRegex(r,s.regex),t.setAction(r,s.action)}a.push(t)}}}if(!t.tokenizer||typeof t.tokenizer!=`object`)throw j(n,`a language definition must define the 'tokenizer' attribute as an object`);n.tokenizer=[];for(let e in t.tokenizer)if(t.tokenizer.hasOwnProperty(e)){n.start||=e;let r=t.tokenizer[e];n.tokenizer[e]=[],i(`tokenizer.`+e,n.tokenizer[e],r)}if(n.usesEmbedded=r.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw j(n,`the 'brackets' attribute must be defined as an array`)}else t.brackets=[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}];let a=[];for(let e of t.brackets){let t=e;if(t&&Array.isArray(t)&&t.length===3&&(t={token:t[2],open:t[0],close:t[1]}),t.open===t.close)throw j(n,`open and close brackets in a 'brackets' attribute must be different: `+t.open+`
|
|
566
|
+
hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof t.open==`string`&&typeof t.token==`string`&&typeof t.close==`string`)a.push({token:t.token+n.tokenPostfix,open:Vr(n,t.open),close:Vr(n,t.close)});else throw j(n,`every element in the 'brackets' array must be a '{open,close,token}' object or array`)}return n.brackets=a,n.noThrow=!0,n}var TT=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};function ET(e){i.Ls.registerLanguage(e)}function DT(){let e=[];return e=e.concat(i.Ls.getLanguages()),e}function OT(e){return Z.get(i.Js).languageIdCodec.encodeLanguageId(e)}function kT(e,t){let n=Z.get(i.Js).onDidEncounterLanguage(r=>{r===e&&(n.dispose(),t())});return n}function AT(e,t){if(!Z.get(i.Js).isRegisteredLanguageId(e))throw Error(`Cannot set configuration for unknown language ${e}`);return Z.get(i.Ps).register(e,t,100)}var jT=class{constructor(e,t){this._languageId=e,this._actual=t}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,n){if(typeof this._actual.tokenize==`function`)return MT.adaptTokenize(this._languageId,this._actual,e,n);throw Error(`Not supported!`)}tokenizeEncoded(e,t,n){let r=this._actual.tokenizeEncoded(e,n);return new i.ml(r.tokens,r.endState)}},MT=class e{constructor(e,t,n,r){this._languageId=e,this._actual=t,this._languageService=n,this._standaloneThemeService=r}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){let n=[],r=0;for(let a=0,o=e.length;a<o;a++){let o=e[a],s=o.startIndex;a===0?s=0:s<r&&(s=r),n[a]=new i.bl(s,o.scopes,t),r=s}return n}static adaptTokenize(t,n,r,a){let o=n.tokenize(r,a),s=e._toClassicTokens(o.tokens,t),c;return c=o.endState.equals(a)?a:o.endState,new i.Sl(s,c)}tokenize(t,n,r){return e.adaptTokenize(this._languageId,this._actual,t,r)}_toBinaryTokens(e,t){let n=e.encodeLanguageId(this._languageId),r=this._standaloneThemeService.getColorTheme().tokenTheme,i=[],a=0,o=0;for(let e=0,s=t.length;e<s;e++){let s=t[e],c=r.match(n,s.scopes);if(a>0&&i[a-1]===c)continue;let l=s.startIndex;e===0?l=0:l<o&&(l=o),i[a++]=l,i[a++]=c,o=l}let s=new Uint32Array(a);for(let e=0;e<a;e++)s[e]=i[e];return s}tokenizeEncoded(e,t,n){let r=this._actual.tokenize(e,n),a=this._toBinaryTokens(this._languageService.languageIdCodec,r.tokens),o;return o=r.endState.equals(n)?n:r.endState,new i.ml(a,o)}};function NT(e){return typeof e.getInitialState==`function`}function PT(e){return`tokenizeEncoded`in e}function FT(e){return e&&typeof e.then==`function`}function IT(e){let t=Z.get(aC);if(e){let n=[null];for(let t=1,r=e.length;t<r;t++)n[t]=i.Bi.fromHex(e[t]);t.setColorMapOverride(n)}else t.setColorMapOverride(null)}function LT(e,t){return PT(t)?new jT(e,t):new MT(e,t,Z.get(i.Js),Z.get(aC))}function RT(e,t){return i.xl.registerFactory(e,{createTokenizationSupport:()=>TT(this,void 0,void 0,function*(){let n=yield Promise.resolve(t.create());return n?NT(n)?LT(e,n):new ri(Z.get(i.Js),Z.get(aC),e,wT(e,n),Z.get(i.Ys)):null})})}function zT(e,t){if(!Z.get(i.Js).isRegisteredLanguageId(e))throw Error(`Cannot set tokens provider for unknown language ${e}`);return FT(t)?RT(e,{create:()=>t}):i.xl.register(e,LT(e,t))}function BT(e,t){return FT(t)?RT(e,{create:()=>t}):i.xl.register(e,(t=>new ri(Z.get(i.Js),Z.get(aC),e,wT(e,t),Z.get(i.Ys)))(t))}function VT(e,t){return Z.get(i.Zo).referenceProvider.register(e,t)}function HT(e,t){return Z.get(i.Zo).renameProvider.register(e,t)}function UT(e,t){return Z.get(i.Zo).signatureHelpProvider.register(e,t)}function WT(e,t){return Z.get(i.Zo).hoverProvider.register(e,{provideHover:(e,n,r)=>{let a=e.getWordAtPosition(n);return Promise.resolve(t.provideHover(e,n,r)).then(e=>{if(e)return!e.range&&a&&(e.range=new i.Ol(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),e.range||=new i.Ol(n.lineNumber,n.column,n.lineNumber,n.column),e})}})}function GT(e,t){return Z.get(i.Zo).documentSymbolProvider.register(e,t)}function KT(e,t){return Z.get(i.Zo).documentHighlightProvider.register(e,t)}function qT(e,t){return Z.get(i.Zo).linkedEditingRangeProvider.register(e,t)}function JT(e,t){return Z.get(i.Zo).definitionProvider.register(e,t)}function YT(e,t){return Z.get(i.Zo).implementationProvider.register(e,t)}function XT(e,t){return Z.get(i.Zo).typeDefinitionProvider.register(e,t)}function ZT(e,t){return Z.get(i.Zo).codeLensProvider.register(e,t)}function QT(e,t,n){return Z.get(i.Zo).codeActionProvider.register(e,{providedCodeActionKinds:n?.providedCodeActionKinds,provideCodeActions:(e,n,r,a)=>{let o=Z.get(Ug).read({resource:e.uri}).filter(e=>i.Ol.areIntersectingOrTouching(e,n));return t.provideCodeActions(e,n,{markers:o,only:r.only},a)},resolveCodeAction:t.resolveCodeAction})}function $T(e,t){return Z.get(i.Zo).documentFormattingEditProvider.register(e,t)}function eE(e,t){return Z.get(i.Zo).documentRangeFormattingEditProvider.register(e,t)}function tE(e,t){return Z.get(i.Zo).onTypeFormattingEditProvider.register(e,t)}function nE(e,t){return Z.get(i.Zo).linkProvider.register(e,t)}function rE(e,t){return Z.get(i.Zo).completionProvider.register(e,t)}function iE(e,t){return Z.get(i.Zo).colorProvider.register(e,t)}function aE(e,t){return Z.get(i.Zo).foldingRangeProvider.register(e,t)}function oE(e,t){return Z.get(i.Zo).declarationProvider.register(e,t)}function sE(e,t){return Z.get(i.Zo).selectionRangeProvider.register(e,t)}function cE(e,t){return Z.get(i.Zo).documentSemanticTokensProvider.register(e,t)}function lE(e,t){return Z.get(i.Zo).documentRangeSemanticTokensProvider.register(e,t)}function uE(e,t){return Z.get(i.Zo).inlineCompletionsProvider.register(e,t)}function dE(e,t){return Z.get(i.Zo).inlayHintsProvider.register(e,t)}function fE(){return{register:ET,getLanguages:DT,onLanguage:kT,getEncodedLanguageId:OT,setLanguageConfiguration:AT,setColorMap:IT,registerTokensProviderFactory:RT,setTokensProvider:zT,setMonarchTokensProvider:BT,registerReferenceProvider:VT,registerRenameProvider:HT,registerCompletionItemProvider:rE,registerSignatureHelpProvider:UT,registerHoverProvider:WT,registerDocumentSymbolProvider:GT,registerDocumentHighlightProvider:KT,registerLinkedEditingRangeProvider:qT,registerDefinitionProvider:JT,registerImplementationProvider:YT,registerTypeDefinitionProvider:XT,registerCodeLensProvider:ZT,registerCodeActionProvider:QT,registerDocumentFormattingEditProvider:$T,registerDocumentRangeFormattingEditProvider:eE,registerOnTypeFormattingEditProvider:tE,registerLinkProvider:nE,registerColorProvider:iE,registerFoldingRangeProvider:aE,registerDeclarationProvider:oE,registerSelectionRangeProvider:sE,registerDocumentSemanticTokensProvider:cE,registerDocumentRangeSemanticTokensProvider:lE,registerInlineCompletionsProvider:uE,registerInlayHintsProvider:dE,DocumentHighlightKind:Ke,CompletionItemKind:Be,CompletionItemTag:Ve,CompletionItemInsertTextRule:ze,SymbolKind:ht,SymbolTag:gt,IndentAction:Ze,CompletionTriggerKind:He,SignatureHelpTriggerKind:mt,InlayHintKind:$e,InlineCompletionTriggerKind:et,FoldingRangeKind:i.hl}}var pE=i.mc(`IEditorCancelService`),mE=new i.Da(`cancellableOperation`,!1,i.Td(`cancellableOperation`,`Whether the editor runs a cancellable operation, e.g. like 'Peek References'`));i.Ks(pE,class{constructor(){this._tokens=new WeakMap}add(e,t){let n=this._tokens.get(e);n||(n=e.invokeWithinContext(e=>({key:mE.bindTo(e.get(i.Ea)),tokens:new i.pd})),this._tokens.set(e,n));let r;return n.key.set(!0),r=n.tokens.push(t),()=>{r&&=(r(),n.key.set(!n.tokens.isEmpty()),void 0)}}cancel(e){let t=this._tokens.get(e);if(!t)return;let n=t.tokens.pop();n&&(n.cancel(),t.key.set(!t.tokens.isEmpty()))}},!0);var hE=class extends i.Vl{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext(t=>t.get(pE).add(e,this))}dispose(){this._unregister(),super.dispose()}};i.ea(new class extends i.Ki{constructor(){super({id:`editor.cancelOperation`,kbOpts:{weight:100,primary:9},precondition:mE})}runEditorCommand(e,t){e.get(pE).cancel(t)}});var gE=class e{constructor(e,t){if(this.flags=t,this.flags&1){let t=e.getModel();this.modelVersionId=t?i.Rc(`{0}#{1}`,t.uri.toString(),t.getVersionId()):null}else this.modelVersionId=null;this.flags&4?this.position=e.getPosition():this.position=null,this.flags&2?this.selection=e.getSelection():this.selection=null,this.flags&8?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(t){if(!(t instanceof e))return!1;let n=t;return!(this.modelVersionId!==n.modelVersionId||this.scrollLeft!==n.scrollLeft||this.scrollTop!==n.scrollTop||!this.position&&n.position||this.position&&!n.position||this.position&&n.position&&!this.position.equals(n.position)||!this.selection&&n.selection||this.selection&&!n.selection||this.selection&&n.selection&&!this.selection.equalsRange(n.selection))}validate(t){return this._equals(new e(t,this.flags))}},_E=class extends hE{constructor(e,t,n,r){super(e,r),this._listener=new i.Zl,t&4&&this._listener.add(e.onDidChangeCursorPosition(e=>{(!n||!i.Ol.containsPosition(n,e.position))&&this.cancel()})),t&2&&this._listener.add(e.onDidChangeCursorSelection(e=>{(!n||!i.Ol.containsRange(n,e.selection))&&this.cancel()})),t&8&&this._listener.add(e.onDidScrollChange(e=>this.cancel())),t&1&&(this._listener.add(e.onDidChangeModel(e=>this.cancel())),this._listener.add(e.onDidChangeModelContent(e=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}},vE=class extends i.Vl{constructor(e,t){super(t),this._listener=e.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}};function yE(e){return e&&typeof e.getEditorType==`function`?e.getEditorType()===zt.ICodeEditor:!1}function bE(e){return e&&typeof e.getEditorType==`function`?e.getEditorType()===zt.IDiffEditor:!1}function xE(e){return yE(e)?e:bE(e)?e.getModifiedEditor():null}var SE=class e{static _handleEolEdits(e,t){let n,r=[];for(let e of t)typeof e.eol==`number`&&(n=e.eol),e.range&&typeof e.text==`string`&&r.push(e);return typeof n==`number`&&e.hasModel()&&e.getModel().pushEOL(n),r}static _isFullModelReplaceEdit(e,t){if(!e.hasModel())return!1;let n=e.getModel(),r=n.validateRange(t.range);return n.getFullModelRange().equalsRange(r)}static execute(t,n,r){r&&t.pushUndoStop();let a=e._handleEolEdits(t,n);a.length===1&&e._isFullModelReplaceEdit(t,a[0])?t.executeEdits(`formatEditsCommand`,a.map(e=>km.replace(i.Ol.lift(e.range),e.text))):t.executeEdits(`formatEditsCommand`,a.map(e=>km.replaceMove(i.Ol.lift(e.range),e.text))),r&&t.pushUndoStop()}},CE=class{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return typeof e==`string`?e.toLowerCase():e._lower}},wE=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};function TE(e){if(e=e.filter(e=>e.range),!e.length)return;let{range:t}=e[0];for(let n=1;n<e.length;n++)t=i.Ol.plusRange(t,e[n].range);let{startLineNumber:n,endLineNumber:r}=t;n===r?e.length===1?vi(i.Td(`hint11`,`Made 1 formatting edit on line {0}`,n)):vi(i.Td(`hintn1`,`Made {0} formatting edits on line {1}`,e.length,n)):e.length===1?vi(i.Td(`hint1n`,`Made 1 formatting edit between lines {0} and {1}`,n,r)):vi(i.Td(`hintnn`,`Made {0} formatting edits between lines {1} and {2}`,e.length,n,r))}function EE(e,t,n){let r=[],i=new Set,a=e.ordered(n);for(let e of a)r.push(e),e.extensionId&&i.add(CE.toKey(e.extensionId));let o=t.ordered(n);for(let e of o){if(e.extensionId){if(i.has(CE.toKey(e.extensionId)))continue;i.add(CE.toKey(e.extensionId))}r.push({displayName:e.displayName,extensionId:e.extensionId,provideDocumentFormattingEdits(t,n,r){return e.provideDocumentRangeFormattingEdits(t,t.getFullModelRange(),n,r)}})}return r}var DE=class e{static setFormatterSelector(t){return{dispose:e._selectors.unshift(t)}}static select(t,n,r){return wE(this,void 0,void 0,function*(){if(t.length===0)return;let a=i.md.first(e._selectors);if(a)return yield a(t,n,r)})}};DE._selectors=new i.pd;function OE(e,t,n,r,a,o){return wE(this,void 0,void 0,function*(){let s=e.get(i.fc),{documentRangeFormattingEditProvider:c}=e.get(i.Zo),l=yE(t)?t.getModel():t,u=c.ordered(l),d=yield DE.select(u,l,r);d&&(a.report(d),yield s.invokeFunction(kE,d,t,n,o))})}function kE(e,t,n,r,a){return wE(this,void 0,void 0,function*(){let o=e.get(lp),s,c;yE(n)?(s=n.getModel(),c=new _E(n,5,void 0,a)):(s=n,c=new vE(n,a));let l=[],u=0;for(let e of i.zu(r).sort(i.Ol.compareRangesUsingStarts))u>0&&i.Ol.areIntersectingOrTouching(l[u-1],e)?l[u-1]=i.Ol.fromPositions(l[u-1].getStartPosition(),e.getEndPosition()):u=l.push(e);let d=e=>wE(this,void 0,void 0,function*(){return(yield t.provideDocumentRangeFormattingEdits(s,e,s.getFormattingOptions(),c.token))||[]}),f=(e,t)=>{if(!e.length||!t.length)return!1;let n=e.reduce((e,t)=>i.Ol.plusRange(e,t.range),e[0].range);if(!t.some(e=>i.Ol.intersectRanges(n,e.range)))return!1;for(let n of e)for(let e of t)if(i.Ol.intersectRanges(n.range,e.range))return!0;return!1},p=[],m=[];try{for(let e of l){if(c.token.isCancellationRequested)return!0;m.push(yield d(e))}for(let e=0;e<l.length;++e)for(let t=e+1;t<l.length;++t){if(c.token.isCancellationRequested)return!0;if(f(m[e],m[t])){let n=i.Ol.plusRange(l[e],l[t]),r=yield d(n);l.splice(t,1),l.splice(e,1),l.push(n),m.splice(t,1),m.splice(e,1),m.push(r),e=0,t=0}}for(let e of m){if(c.token.isCancellationRequested)return!0;let t=yield o.computeMoreMinimalEdits(s.uri,e);t&&p.push(...t)}}finally{c.dispose()}if(p.length===0)return!1;if(yE(n))SE.execute(n,p,!0),TE(p),n.revealPositionInCenterIfOutsideViewport(n.getPosition(),1);else{let[{range:e}]=p,t=new i.Dl(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);s.pushEditOperations([t],p.map(e=>({text:e.text,range:i.Ol.lift(e.range),forceMoveMarkers:!0})),e=>{for(let{range:n}of e)if(i.Ol.areIntersectingOrTouching(n,t))return[new i.Dl(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn)];return null})}return!0})}function AE(e,t,n,r,a){return wE(this,void 0,void 0,function*(){let o=e.get(i.fc),s=e.get(i.Zo),c=yE(t)?t.getModel():t,l=EE(s.documentFormattingEditProvider,s.documentRangeFormattingEditProvider,c),u=yield DE.select(l,c,n);u&&(r.report(u),yield o.invokeFunction(jE,u,t,n,a))})}function jE(e,t,n,r,a){return wE(this,void 0,void 0,function*(){let o=e.get(lp),s,c;yE(n)?(s=n.getModel(),c=new _E(n,5,void 0,a)):(s=n,c=new vE(n,a));let l;try{let e=yield t.provideDocumentFormattingEdits(s,s.getFormattingOptions(),c.token);if(l=yield o.computeMoreMinimalEdits(s.uri,e),c.token.isCancellationRequested)return!0}finally{c.dispose()}if(!l||l.length===0)return!1;if(yE(n))SE.execute(n,l,r!==2),r!==2&&(TE(l),n.revealPositionInCenterIfOutsideViewport(n.getPosition(),1));else{let[{range:e}]=l,t=new i.Dl(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);s.pushEditOperations([t],l.map(e=>({text:e.text,range:i.Ol.lift(e.range),forceMoveMarkers:!0})),e=>{for(let{range:n}of e)if(i.Ol.areIntersectingOrTouching(n,t))return[new i.Dl(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn)];return null})}return!0})}function ME(e,t,n,r,a,o){return wE(this,void 0,void 0,function*(){let s=t.documentRangeFormattingEditProvider.ordered(n);for(let t of s){let s=yield Promise.resolve(t.provideDocumentRangeFormattingEdits(n,r,a,o)).catch(i.pu);if(i.$u(s))return yield e.computeMoreMinimalEdits(n.uri,s)}})}function NE(e,t,n,r,a){return wE(this,void 0,void 0,function*(){let o=EE(t.documentFormattingEditProvider,t.documentRangeFormattingEditProvider,n);for(let t of o){let o=yield Promise.resolve(t.provideDocumentFormattingEdits(n,r,a)).catch(i.pu);if(i.$u(o))return yield e.computeMoreMinimalEdits(n.uri,o)}})}function PE(e,t,n,r,a,o,s){let c=t.onTypeFormattingEditProvider.ordered(n);return c.length===0||c[0].autoFormatTriggerCharacters.indexOf(a)<0?Promise.resolve(void 0):Promise.resolve(c[0].provideOnTypeFormattingEdits(n,r,a,o,s)).catch(i.pu).then(t=>e.computeMoreMinimalEdits(n.uri,t))}i.ja.registerCommand(`_executeFormatRangeProvider`,function(e,...t){return wE(this,void 0,void 0,function*(){let[n,r,a]=t;i.Cu(i.Al.isUri(n)),i.Cu(i.Ol.isIRange(r));let o=e.get(i.Ra),s=e.get(lp),c=e.get(i.Zo),l=yield o.createModelReference(n);try{return ME(s,c,l.object.textEditorModel,i.Ol.lift(r),a,i.Bl.None)}finally{l.dispose()}})}),i.ja.registerCommand(`_executeFormatDocumentProvider`,function(e,...t){return wE(this,void 0,void 0,function*(){let[n,r]=t;i.Cu(i.Al.isUri(n));let a=e.get(i.Ra),o=e.get(lp),s=e.get(i.Zo),c=yield a.createModelReference(n);try{return NE(o,s,c.object.textEditorModel,r,i.Bl.None)}finally{c.dispose()}})}),i.ja.registerCommand(`_executeFormatOnTypeProvider`,function(e,...t){return wE(this,void 0,void 0,function*(){let[n,r,a,o]=t;i.Cu(i.Al.isUri(n)),i.Cu(i.kl.isIPosition(r)),i.Cu(typeof a==`string`);let s=e.get(i.Ra),c=e.get(lp),l=e.get(i.Zo),u=yield s.createModelReference(n);try{return PE(c,l,u.object.textEditorModel,i.kl.lift(r),a,o,i.Bl.None)}finally{u.dispose()}})});var FE=r.s({CancellationTokenSource:()=>IE,Emitter:()=>LE,KeyCode:()=>RE,KeyMod:()=>zE,MarkerSeverity:()=>WE,MarkerTag:()=>GE,Position:()=>BE,Range:()=>VE,Selection:()=>HE,SelectionDirection:()=>UE,Token:()=>qE,Uri:()=>KE,editor:()=>JE,languages:()=>YE});Le.wrappingIndent.defaultValue=0,Le.glyphMargin.defaultValue=!1,Le.autoIndent.defaultValue=3,Le.overviewRulerLanes.defaultValue=2,DE.setFormatterSelector((e,t,n)=>Promise.resolve(e[0]));var $=St();$.editor=pT(),$.languages=fE();var IE=$.CancellationTokenSource,LE=$.Emitter,RE=$.KeyCode,zE=$.KeyMod,BE=$.Position,VE=$.Range,HE=$.Selection,UE=$.SelectionDirection,WE=$.MarkerSeverity,GE=$.MarkerTag,KE=$.Uri,qE=$.Token,JE=$.editor,YE=$.languages;(i.gd.emailmakerMonacoEnvironment?.globalAPI||typeof define==`function`&&define.amd)&&(self.monaco=$),self.require!==void 0&&typeof self.require.config==`function`&&self.require.config({ignoreDuplicateModules:[`vscode-languageserver-types`,`vscode-languageserver-types/main`,`vscode-languageserver-textdocument`,`vscode-languageserver-textdocument/main`,`vscode-nls`,`vscode-nls/vscode-nls`,`jsonc-parser`,`jsonc-parser/main`,`vscode-uri`,`vscode-uri/index`,`vs/basic-languages/typescript/typescript`]}),Object.defineProperty(t,`$`,{enumerable:!0,get:function(){return nv}}),Object.defineProperty(t,`$n`,{enumerable:!0,get:function(){return dr}}),Object.defineProperty(t,`$t`,{enumerable:!0,get:function(){return vf}}),Object.defineProperty(t,`A`,{enumerable:!0,get:function(){return aC}}),Object.defineProperty(t,`An`,{enumerable:!0,get:function(){return Mo}}),Object.defineProperty(t,`At`,{enumerable:!0,get:function(){return Im}}),Object.defineProperty(t,`B`,{enumerable:!0,get:function(){return Nx}}),Object.defineProperty(t,`Bn`,{enumerable:!0,get:function(){return uo}}),Object.defineProperty(t,`Bt`,{enumerable:!0,get:function(){return dp}}),Object.defineProperty(t,`C`,{enumerable:!0,get:function(){return bE}}),Object.defineProperty(t,`Cn`,{enumerable:!0,get:function(){return Ul}}),Object.defineProperty(t,`Ct`,{enumerable:!0,get:function(){return ch}}),Object.defineProperty(t,`D`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(t,`Dn`,{enumerable:!0,get:function(){return ds}}),Object.defineProperty(t,`Dt`,{enumerable:!0,get:function(){return Qm}}),Object.defineProperty(t,`E`,{enumerable:!0,get:function(){return vE}}),Object.defineProperty(t,`En`,{enumerable:!0,get:function(){return Ns}}),Object.defineProperty(t,`Et`,{enumerable:!0,get:function(){return Zm}}),Object.defineProperty(t,`F`,{enumerable:!0,get:function(){return gS}}),Object.defineProperty(t,`Fn`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(t,`Ft`,{enumerable:!0,get:function(){return rm}}),Object.defineProperty(t,`G`,{enumerable:!0,get:function(){return ob}}),Object.defineProperty(t,`Gn`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(t,`Gt`,{enumerable:!0,get:function(){return Rf}}),Object.defineProperty(t,`H`,{enumerable:!0,get:function(){return lb}}),Object.defineProperty(t,`Hn`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(t,`Ht`,{enumerable:!0,get:function(){return lp}}),Object.defineProperty(t,`I`,{enumerable:!0,get:function(){return Sx}}),Object.defineProperty(t,`In`,{enumerable:!0,get:function(){return mo}}),Object.defineProperty(t,`It`,{enumerable:!0,get:function(){return _p}}),Object.defineProperty(t,`J`,{enumerable:!0,get:function(){return Yy}}),Object.defineProperty(t,`Jn`,{enumerable:!0,get:function(){return Mi}}),Object.defineProperty(t,`Jt`,{enumerable:!0,get:function(){return wf}}),Object.defineProperty(t,`K`,{enumerable:!0,get:function(){return tb}}),Object.defineProperty(t,`Kn`,{enumerable:!0,get:function(){return Wi}}),Object.defineProperty(t,`Kt`,{enumerable:!0,get:function(){return If}}),Object.defineProperty(t,`L`,{enumerable:!0,get:function(){return uS}}),Object.defineProperty(t,`Ln`,{enumerable:!0,get:function(){return ho}}),Object.defineProperty(t,`Lt`,{enumerable:!0,get:function(){return hp}}),Object.defineProperty(t,`M`,{enumerable:!0,get:function(){return ZS}}),Object.defineProperty(t,`Mn`,{enumerable:!0,get:function(){return jo}}),Object.defineProperty(t,`Mt`,{enumerable:!0,get:function(){return Sm}}),Object.defineProperty(t,`N`,{enumerable:!0,get:function(){return YS}}),Object.defineProperty(t,`Nn`,{enumerable:!0,get:function(){return Co}}),Object.defineProperty(t,`Nt`,{enumerable:!0,get:function(){return vm}}),Object.defineProperty(t,`O`,{enumerable:!0,get:function(){return mC}}),Object.defineProperty(t,`On`,{enumerable:!0,get:function(){return Go}}),Object.defineProperty(t,`Ot`,{enumerable:!0,get:function(){return Ym}}),Object.defineProperty(t,`P`,{enumerable:!0,get:function(){return vS}}),Object.defineProperty(t,`Pn`,{enumerable:!0,get:function(){return vo}}),Object.defineProperty(t,`Pt`,{enumerable:!0,get:function(){return ym}}),Object.defineProperty(t,`Q`,{enumerable:!0,get:function(){return pv}}),Object.defineProperty(t,`Qn`,{enumerable:!0,get:function(){return yi}}),Object.defineProperty(t,`Qt`,{enumerable:!0,get:function(){return kf}}),Object.defineProperty(t,`R`,{enumerable:!0,get:function(){return Ex}}),Object.defineProperty(t,`Rn`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(t,`Rt`,{enumerable:!0,get:function(){return gp}}),Object.defineProperty(t,`S`,{enumerable:!0,get:function(){return yE}}),Object.defineProperty(t,`Sn`,{enumerable:!0,get:function(){return Gl}}),Object.defineProperty(t,`St`,{enumerable:!0,get:function(){return oh}}),Object.defineProperty(t,`T`,{enumerable:!0,get:function(){return _E}}),Object.defineProperty(t,`Tn`,{enumerable:!0,get:function(){return Fs}}),Object.defineProperty(t,`Tt`,{enumerable:!0,get:function(){return eh}}),Object.defineProperty(t,`U`,{enumerable:!0,get:function(){return ab}}),Object.defineProperty(t,`Un`,{enumerable:!0,get:function(){return Na}}),Object.defineProperty(t,`Ut`,{enumerable:!0,get:function(){return Uf}}),Object.defineProperty(t,`V`,{enumerable:!0,get:function(){return yx}}),Object.defineProperty(t,`Vn`,{enumerable:!0,get:function(){return so}}),Object.defineProperty(t,`Vt`,{enumerable:!0,get:function(){return up}}),Object.defineProperty(t,`W`,{enumerable:!0,get:function(){return sb}}),Object.defineProperty(t,`Wn`,{enumerable:!0,get:function(){return Pa}}),Object.defineProperty(t,`Wt`,{enumerable:!0,get:function(){return Yf}}),Object.defineProperty(t,`X`,{enumerable:!0,get:function(){return vv}}),Object.defineProperty(t,`Xn`,{enumerable:!0,get:function(){return xi}}),Object.defineProperty(t,`Xt`,{enumerable:!0,get:function(){return Tf}}),Object.defineProperty(t,`Y`,{enumerable:!0,get:function(){return Ry}}),Object.defineProperty(t,`Yn`,{enumerable:!0,get:function(){return ji}}),Object.defineProperty(t,`Yt`,{enumerable:!0,get:function(){return Of}}),Object.defineProperty(t,`Z`,{enumerable:!0,get:function(){return gv}}),Object.defineProperty(t,`Zn`,{enumerable:!0,get:function(){return vi}}),Object.defineProperty(t,`Zt`,{enumerable:!0,get:function(){return Af}}),Object.defineProperty(t,`_`,{enumerable:!0,get:function(){return OE}}),Object.defineProperty(t,`_n`,{enumerable:!0,get:function(){return Vu}}),Object.defineProperty(t,`_t`,{enumerable:!0,get:function(){return th}}),Object.defineProperty(t,`a`,{enumerable:!0,get:function(){return WE}}),Object.defineProperty(t,`an`,{enumerable:!0,get:function(){return sf}}),Object.defineProperty(t,`ar`,{enumerable:!0,get:function(){return kt}}),Object.defineProperty(t,`at`,{enumerable:!0,get:function(){return E_}}),Object.defineProperty(t,`b`,{enumerable:!0,get:function(){return SE}}),Object.defineProperty(t,`bn`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(t,`bt`,{enumerable:!0,get:function(){return ah}}),Object.defineProperty(t,`c`,{enumerable:!0,get:function(){return VE}}),Object.defineProperty(t,`cn`,{enumerable:!0,get:function(){return gd}}),Object.defineProperty(t,`cr`,{enumerable:!0,get:function(){return ze}}),Object.defineProperty(t,`ct`,{enumerable:!0,get:function(){return g_}}),Object.defineProperty(t,`d`,{enumerable:!0,get:function(){return qE}}),Object.defineProperty(t,`dn`,{enumerable:!0,get:function(){return hd}}),Object.defineProperty(t,`dr`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(t,`dt`,{enumerable:!0,get:function(){return Ug}}),Object.defineProperty(t,`en`,{enumerable:!0,get:function(){return bf}}),Object.defineProperty(t,`er`,{enumerable:!0,get:function(){return hr}}),Object.defineProperty(t,`et`,{enumerable:!0,get:function(){return tv}}),Object.defineProperty(t,`f`,{enumerable:!0,get:function(){return KE}}),Object.defineProperty(t,`fn`,{enumerable:!0,get:function(){return pd}}),Object.defineProperty(t,`fr`,{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(t,`ft`,{enumerable:!0,get:function(){return Vg}}),Object.defineProperty(t,`g`,{enumerable:!0,get:function(){return TE}}),Object.defineProperty(t,`gn`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(t,`gt`,{enumerable:!0,get:function(){return uh}}),Object.defineProperty(t,`h`,{enumerable:!0,get:function(){return YE}}),Object.defineProperty(t,`hn`,{enumerable:!0,get:function(){return dd}}),Object.defineProperty(t,`ht`,{enumerable:!0,get:function(){return wg}}),Object.defineProperty(t,`i`,{enumerable:!0,get:function(){return zE}}),Object.defineProperty(t,`in`,{enumerable:!0,get:function(){return Gd}}),Object.defineProperty(t,`ir`,{enumerable:!0,get:function(){return dn}}),Object.defineProperty(t,`it`,{enumerable:!0,get:function(){return N_}}),Object.defineProperty(t,`j`,{enumerable:!0,get:function(){return XS}}),Object.defineProperty(t,`jn`,{enumerable:!0,get:function(){return Oo}}),Object.defineProperty(t,`jt`,{enumerable:!0,get:function(){return km}}),Object.defineProperty(t,`k`,{enumerable:!0,get:function(){return hC}}),Object.defineProperty(t,`kn`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(t,`kt`,{enumerable:!0,get:function(){return Um}}),Object.defineProperty(t,`l`,{enumerable:!0,get:function(){return HE}}),Object.defineProperty(t,`ln`,{enumerable:!0,get:function(){return yd}}),Object.defineProperty(t,`lr`,{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(t,`lt`,{enumerable:!0,get:function(){return e_}}),Object.defineProperty(t,`m`,{enumerable:!0,get:function(){return FE}}),Object.defineProperty(t,`mn`,{enumerable:!0,get:function(){return nd}}),Object.defineProperty(t,`mt`,{enumerable:!0,get:function(){return Cg}}),Object.defineProperty(t,`n`,{enumerable:!0,get:function(){return LE}}),Object.defineProperty(t,`nn`,{enumerable:!0,get:function(){return of}}),Object.defineProperty(t,`nr`,{enumerable:!0,get:function(){return Un}}),Object.defineProperty(t,`nt`,{enumerable:!0,get:function(){return q_}}),Object.defineProperty(t,`o`,{enumerable:!0,get:function(){return GE}}),Object.defineProperty(t,`on`,{enumerable:!0,get:function(){return uf}}),Object.defineProperty(t,`or`,{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(t,`ot`,{enumerable:!0,get:function(){return D_}}),Object.defineProperty(t,`p`,{enumerable:!0,get:function(){return JE}}),Object.defineProperty(t,`pn`,{enumerable:!0,get:function(){return fd}}),Object.defineProperty(t,`pr`,{enumerable:!0,get:function(){return we}}),Object.defineProperty(t,`pt`,{enumerable:!0,get:function(){return Mg}}),Object.defineProperty(t,`q`,{enumerable:!0,get:function(){return Jy}}),Object.defineProperty(t,`qn`,{enumerable:!0,get:function(){return Ni}}),Object.defineProperty(t,`qt`,{enumerable:!0,get:function(){return Ff}}),Object.defineProperty(t,`r`,{enumerable:!0,get:function(){return RE}}),Object.defineProperty(t,`rn`,{enumerable:!0,get:function(){return Wd}}),Object.defineProperty(t,`rr`,{enumerable:!0,get:function(){return In}}),Object.defineProperty(t,`rt`,{enumerable:!0,get:function(){return R_}}),Object.defineProperty(t,`s`,{enumerable:!0,get:function(){return BE}}),Object.defineProperty(t,`sn`,{enumerable:!0,get:function(){return vd}}),Object.defineProperty(t,`sr`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(t,`st`,{enumerable:!0,get:function(){return v_}}),Object.defineProperty(t,`t`,{enumerable:!0,get:function(){return IE}}),Object.defineProperty(t,`tn`,{enumerable:!0,get:function(){return af}}),Object.defineProperty(t,`tr`,{enumerable:!0,get:function(){return or}}),Object.defineProperty(t,`tt`,{enumerable:!0,get:function(){return K_}}),Object.defineProperty(t,`u`,{enumerable:!0,get:function(){return UE}}),Object.defineProperty(t,`un`,{enumerable:!0,get:function(){return Ld}}),Object.defineProperty(t,`ur`,{enumerable:!0,get:function(){return ne}}),Object.defineProperty(t,`ut`,{enumerable:!0,get:function(){return Hg}}),Object.defineProperty(t,`v`,{enumerable:!0,get:function(){return AE}}),Object.defineProperty(t,`vn`,{enumerable:!0,get:function(){return pu}}),Object.defineProperty(t,`vt`,{enumerable:!0,get:function(){return rh}}),Object.defineProperty(t,`w`,{enumerable:!0,get:function(){return gE}}),Object.defineProperty(t,`wn`,{enumerable:!0,get:function(){return Ml}}),Object.defineProperty(t,`wt`,{enumerable:!0,get:function(){return Xm}}),Object.defineProperty(t,`x`,{enumerable:!0,get:function(){return xE}}),Object.defineProperty(t,`xn`,{enumerable:!0,get:function(){return Wl}}),Object.defineProperty(t,`xt`,{enumerable:!0,get:function(){return ih}}),Object.defineProperty(t,`y`,{enumerable:!0,get:function(){return PE}}),Object.defineProperty(t,`yn`,{enumerable:!0,get:function(){return fu}}),Object.defineProperty(t,`yt`,{enumerable:!0,get:function(){return nh}}),Object.defineProperty(t,`z`,{enumerable:!0,get:function(){return jx}}),Object.defineProperty(t,`zn`,{enumerable:!0,get:function(){return oo}}),Object.defineProperty(t,`zt`,{enumerable:!0,get:function(){return mp}})});
|