@k8slens/extensions 5.3.1-git.541c00cf24.0 → 5.3.1-git.56e72b3a74.0

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.
@@ -38352,7 +38352,7 @@ eval("class Node {\n\t/// value;\n\t/// next;\n\n\tconstructor(value) {\n\t\tthi
38352
38352
  /*! exports provided: name, productName, description, homepage, version, main, copyright, license, author, scripts, config, engines, jest, build, dependencies, devDependencies, default */
38353
38353
  /***/ (function(module) {
38354
38354
 
38355
- eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"open-lens\\\",\\\"productName\\\":\\\"OpenLens\\\",\\\"description\\\":\\\"OpenLens - Open Source IDE for Kubernetes\\\",\\\"homepage\\\":\\\"https://github.com/lensapp/lens\\\",\\\"version\\\":\\\"5.3.0\\\",\\\"main\\\":\\\"static/build/main.js\\\",\\\"copyright\\\":\\\"© 2021 OpenLens Authors\\\",\\\"license\\\":\\\"MIT\\\",\\\"author\\\":{\\\"name\\\":\\\"OpenLens Authors\\\",\\\"email\\\":\\\"info@k8slens.dev\\\"},\\\"scripts\\\":{\\\"dev\\\":\\\"concurrently -i -k \\\\\\\"yarn run dev-run -C\\\\\\\" yarn:dev:*\\\",\\\"dev-build\\\":\\\"concurrently yarn:compile:*\\\",\\\"debug-build\\\":\\\"concurrently yarn:compile:main yarn:compile:extension-types\\\",\\\"dev-run\\\":\\\"nodemon --watch static/build/main.js --exec \\\\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\\\"\\\",\\\"dev:main\\\":\\\"yarn run compile:main --watch\\\",\\\"dev:renderer\\\":\\\"yarn run webpack-dev-server --config webpack.renderer.ts\\\",\\\"dev:extension-types\\\":\\\"yarn run compile:extension-types --watch\\\",\\\"compile\\\":\\\"env NODE_ENV=production concurrently yarn:compile:*\\\",\\\"compile:main\\\":\\\"yarn run webpack --config webpack.main.ts\\\",\\\"compile:renderer\\\":\\\"yarn run webpack --config webpack.renderer.ts\\\",\\\"compile:extension-types\\\":\\\"yarn run webpack --config webpack.extensions.ts\\\",\\\"npm:fix-build-version\\\":\\\"yarn run ts-node build/set_build_version.ts\\\",\\\"npm:fix-package-version\\\":\\\"yarn run ts-node build/set_npm_version.ts\\\",\\\"build:linux\\\":\\\"yarn run compile && electron-builder --linux --dir\\\",\\\"build:mac\\\":\\\"yarn run compile && electron-builder --mac --dir\\\",\\\"build:win\\\":\\\"yarn run compile && electron-builder --win --dir\\\",\\\"integration\\\":\\\"jest --runInBand --detectOpenHandles --forceExit integration\\\",\\\"dist\\\":\\\"yarn run compile && electron-builder --publish onTag\\\",\\\"dist:dir\\\":\\\"yarn run dist --dir -c.compression=store -c.mac.identity=null\\\",\\\"download-bins\\\":\\\"concurrently yarn:download:*\\\",\\\"download:kubectl\\\":\\\"yarn run ts-node build/download_kubectl.ts\\\",\\\"download:helm\\\":\\\"yarn run ts-node build/download_helm.ts\\\",\\\"build:tray-icons\\\":\\\"yarn run ts-node build/build_tray_icon.ts\\\",\\\"build:theme-vars\\\":\\\"yarn run ts-node build/build_theme_vars.ts\\\",\\\"lint\\\":\\\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\\\",\\\"lint:fix\\\":\\\"yarn run lint --fix\\\",\\\"mkdocs-serve-local\\\":\\\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\\\",\\\"verify-docs\\\":\\\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\\\",\\\"typedocs-extensions-api\\\":\\\"yarn run typedoc src/extensions/extension-api.ts\\\",\\\"version-checkout\\\":\\\"cat package.json | jq '.version' -r | xargs printf \\\\\\\"release/v%s\\\\\\\" | xargs git checkout -b\\\",\\\"version-commit\\\":\\\"cat package.json | jq '.version' -r | xargs printf \\\\\\\"release v%s\\\\\\\" | git commit --no-edit -s -F -\\\",\\\"version\\\":\\\"yarn run version-checkout && git add package.json && yarn run version-commit\\\",\\\"postversion\\\":\\\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\\\"},\\\"config\\\":{\\\"bundledKubectlVersion\\\":\\\"1.21.2\\\",\\\"bundledHelmVersion\\\":\\\"3.6.3\\\",\\\"sentryDsn\\\":\\\"\\\"},\\\"engines\\\":{\\\"node\\\":\\\">=14 <15\\\"},\\\"jest\\\":{\\\"collectCoverage\\\":false,\\\"verbose\\\":true,\\\"transform\\\":{\\\"^.+\\\\\\\\.tsx?$\\\":\\\"ts-jest\\\"},\\\"moduleNameMapper\\\":{\\\"\\\\\\\\.(css|scss)$\\\":\\\"<rootDir>/__mocks__/styleMock.ts\\\",\\\"\\\\\\\\.(svg)$\\\":\\\"<rootDir>/__mocks__/imageMock.ts\\\",\\\"src/(.*)\\\":\\\"<rootDir>/__mocks__/windowMock.ts\\\"},\\\"modulePathIgnorePatterns\\\":[\\\"<rootDir>/dist\\\",\\\"<rootDir>/src/extensions/npm\\\"],\\\"setupFiles\\\":[\\\"<rootDir>/src/jest.setup.ts\\\",\\\"jest-canvas-mock\\\"],\\\"globals\\\":{\\\"ts-jest\\\":{\\\"isolatedModules\\\":true}}},\\\"build\\\":{\\\"generateUpdatesFilesForAllChannels\\\":true,\\\"files\\\":[\\\"static/build/main.js\\\"],\\\"afterSign\\\":\\\"build/notarize.js\\\",\\\"extraResources\\\":[{\\\"from\\\":\\\"locales/\\\",\\\"to\\\":\\\"locales/\\\",\\\"filter\\\":\\\"**/*.js\\\"},{\\\"from\\\":\\\"static/\\\",\\\"to\\\":\\\"static/\\\",\\\"filter\\\":\\\"!**/main.js\\\"},{\\\"from\\\":\\\"build/tray\\\",\\\"to\\\":\\\"static/icons\\\",\\\"filter\\\":\\\"*.png\\\"},{\\\"from\\\":\\\"extensions/\\\",\\\"to\\\":\\\"./extensions/\\\",\\\"filter\\\":[\\\"**/*.tgz\\\",\\\"**/package.json\\\",\\\"!**/node_modules\\\"]},{\\\"from\\\":\\\"templates/\\\",\\\"to\\\":\\\"./templates/\\\",\\\"filter\\\":\\\"**/*.yaml\\\"},\\\"LICENSE\\\"],\\\"linux\\\":{\\\"category\\\":\\\"Network\\\",\\\"artifactName\\\":\\\"${productName}-${version}.${arch}.${ext}\\\",\\\"target\\\":[\\\"deb\\\",\\\"rpm\\\",\\\"AppImage\\\"],\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/linux/${arch}/kubectl\\\",\\\"to\\\":\\\"./${arch}/kubectl\\\"},{\\\"from\\\":\\\"binaries/client/${arch}/helm3/helm3\\\",\\\"to\\\":\\\"./helm3/helm3\\\"}]},\\\"rpm\\\":{\\\"fpm\\\":[\\\"--rpm-rpmbuild-define=%define _build_id_links none\\\"]},\\\"mac\\\":{\\\"hardenedRuntime\\\":true,\\\"gatekeeperAssess\\\":false,\\\"entitlements\\\":\\\"build/entitlements.mac.plist\\\",\\\"entitlementsInherit\\\":\\\"build/entitlements.mac.plist\\\",\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/darwin/${arch}/kubectl\\\",\\\"to\\\":\\\"./${arch}/kubectl\\\"},{\\\"from\\\":\\\"binaries/client/${arch}/helm3/helm3\\\",\\\"to\\\":\\\"./helm3/helm3\\\"}]},\\\"win\\\":{\\\"target\\\":[\\\"nsis\\\"],\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/windows/x64/kubectl.exe\\\",\\\"to\\\":\\\"./x64/kubectl.exe\\\"},{\\\"from\\\":\\\"binaries/client/windows/ia32/kubectl.exe\\\",\\\"to\\\":\\\"./ia32/kubectl.exe\\\"},{\\\"from\\\":\\\"binaries/client/x64/helm3/helm3.exe\\\",\\\"to\\\":\\\"./helm3/helm3.exe\\\"}]},\\\"nsis\\\":{\\\"include\\\":\\\"build/installer.nsh\\\",\\\"oneClick\\\":false,\\\"allowElevation\\\":true,\\\"createStartMenuShortcut\\\":true,\\\"allowToChangeInstallationDirectory\\\":true},\\\"protocols\\\":{\\\"name\\\":\\\"Lens Protocol Handler\\\",\\\"schemes\\\":[\\\"lens\\\"],\\\"role\\\":\\\"Viewer\\\"}},\\\"dependencies\\\":{\\\"@electron/remote\\\":\\\"^1.2.2\\\",\\\"@hapi/call\\\":\\\"^8.0.1\\\",\\\"@hapi/subtext\\\":\\\"^7.0.3\\\",\\\"@kubernetes/client-node\\\":\\\"^0.16.1\\\",\\\"@ogre-tools/injectable\\\":\\\"^1.3.0\\\",\\\"@ogre-tools/injectable-react\\\":\\\"^1.3.1\\\",\\\"@sentry/electron\\\":\\\"^2.5.4\\\",\\\"@sentry/integrations\\\":\\\"^6.15.0\\\",\\\"abort-controller\\\":\\\"^3.0.0\\\",\\\"auto-bind\\\":\\\"^4.0.0\\\",\\\"autobind-decorator\\\":\\\"^2.4.0\\\",\\\"await-lock\\\":\\\"^2.1.0\\\",\\\"byline\\\":\\\"^5.0.0\\\",\\\"chokidar\\\":\\\"^3.4.3\\\",\\\"conf\\\":\\\"^7.1.2\\\",\\\"crypto-js\\\":\\\"^4.1.1\\\",\\\"electron-devtools-installer\\\":\\\"^3.2.0\\\",\\\"electron-updater\\\":\\\"^4.6.1\\\",\\\"electron-window-state\\\":\\\"^5.0.3\\\",\\\"filehound\\\":\\\"^1.17.5\\\",\\\"fs-extra\\\":\\\"^9.0.1\\\",\\\"glob-to-regexp\\\":\\\"^0.4.1\\\",\\\"got\\\":\\\"^11.8.2\\\",\\\"grapheme-splitter\\\":\\\"^1.0.4\\\",\\\"handlebars\\\":\\\"^4.7.7\\\",\\\"http-proxy\\\":\\\"^1.18.1\\\",\\\"immer\\\":\\\"^9.0.6\\\",\\\"joi\\\":\\\"^17.5.0\\\",\\\"js-yaml\\\":\\\"^4.1.0\\\",\\\"jsdom\\\":\\\"^16.7.0\\\",\\\"jsonpath\\\":\\\"^1.1.1\\\",\\\"lodash\\\":\\\"^4.17.15\\\",\\\"mac-ca\\\":\\\"^1.0.6\\\",\\\"marked\\\":\\\"^2.1.3\\\",\\\"md5-file\\\":\\\"^5.0.0\\\",\\\"mobx\\\":\\\"^6.3.7\\\",\\\"mobx-observable-history\\\":\\\"^2.0.3\\\",\\\"mobx-react\\\":\\\"^7.2.1\\\",\\\"mock-fs\\\":\\\"^5.1.2\\\",\\\"moment\\\":\\\"^2.29.1\\\",\\\"moment-timezone\\\":\\\"^0.5.34\\\",\\\"monaco-editor\\\":\\\"^0.29.1\\\",\\\"monaco-editor-webpack-plugin\\\":\\\"^5.0.0\\\",\\\"node-fetch\\\":\\\"lensapp/node-fetch#2.x\\\",\\\"node-pty\\\":\\\"^0.10.1\\\",\\\"npm\\\":\\\"^6.14.15\\\",\\\"p-limit\\\":\\\"^3.1.0\\\",\\\"path-to-regexp\\\":\\\"^6.2.0\\\",\\\"proper-lockfile\\\":\\\"^4.1.2\\\",\\\"react\\\":\\\"^17.0.2\\\",\\\"react-dom\\\":\\\"^17.0.2\\\",\\\"react-material-ui-carousel\\\":\\\"^2.3.8\\\",\\\"react-router\\\":\\\"^5.2.0\\\",\\\"react-virtualized-auto-sizer\\\":\\\"^1.0.6\\\",\\\"readable-stream\\\":\\\"^3.6.0\\\",\\\"request\\\":\\\"^2.88.2\\\",\\\"request-promise-native\\\":\\\"^1.0.9\\\",\\\"rfc6902\\\":\\\"^4.0.2\\\",\\\"semver\\\":\\\"^7.3.2\\\",\\\"shell-env\\\":\\\"^3.0.1\\\",\\\"spdy\\\":\\\"^4.0.2\\\",\\\"tar\\\":\\\"^6.1.11\\\",\\\"tcp-port-used\\\":\\\"^1.0.2\\\",\\\"tempy\\\":\\\"1.0.1\\\",\\\"url-parse\\\":\\\"^1.5.3\\\",\\\"uuid\\\":\\\"^8.3.2\\\",\\\"win-ca\\\":\\\"^3.4.5\\\",\\\"winston\\\":\\\"^3.3.3\\\",\\\"winston-console-format\\\":\\\"^1.0.8\\\",\\\"winston-transport-browserconsole\\\":\\\"^1.0.5\\\",\\\"ws\\\":\\\"^7.5.5\\\"},\\\"devDependencies\\\":{\\\"@async-fn/jest\\\":\\\"^1.5.0\\\",\\\"@material-ui/core\\\":\\\"^4.12.3\\\",\\\"@material-ui/icons\\\":\\\"^4.11.2\\\",\\\"@material-ui/lab\\\":\\\"^4.0.0-alpha.60\\\",\\\"@pmmmwh/react-refresh-webpack-plugin\\\":\\\"^0.4.3\\\",\\\"@sentry/types\\\":\\\"^6.14.1\\\",\\\"@testing-library/jest-dom\\\":\\\"^5.16.1\\\",\\\"@testing-library/react\\\":\\\"^11.2.7\\\",\\\"@testing-library/user-event\\\":\\\"^13.5.0\\\",\\\"@types/byline\\\":\\\"^4.2.33\\\",\\\"@types/chart.js\\\":\\\"^2.9.34\\\",\\\"@types/color\\\":\\\"^3.0.2\\\",\\\"@types/crypto-js\\\":\\\"^3.1.47\\\",\\\"@types/dompurify\\\":\\\"^2.3.1\\\",\\\"@types/electron-devtools-installer\\\":\\\"^2.2.0\\\",\\\"@types/fs-extra\\\":\\\"^9.0.13\\\",\\\"@types/glob-to-regexp\\\":\\\"^0.4.1\\\",\\\"@types/hoist-non-react-statics\\\":\\\"^3.3.1\\\",\\\"@types/html-webpack-plugin\\\":\\\"^3.2.6\\\",\\\"@types/http-proxy\\\":\\\"^1.17.7\\\",\\\"@types/jest\\\":\\\"^26.0.24\\\",\\\"@types/js-yaml\\\":\\\"^4.0.5\\\",\\\"@types/jsdom\\\":\\\"^16.2.13\\\",\\\"@types/jsonpath\\\":\\\"^0.2.0\\\",\\\"@types/lodash\\\":\\\"^4.14.177\\\",\\\"@types/marked\\\":\\\"^2.0.5\\\",\\\"@types/md5-file\\\":\\\"^4.0.2\\\",\\\"@types/mini-css-extract-plugin\\\":\\\"^0.9.1\\\",\\\"@types/mock-fs\\\":\\\"^4.13.1\\\",\\\"@types/node\\\":\\\"14.17.33\\\",\\\"@types/node-fetch\\\":\\\"^2.5.12\\\",\\\"@types/npm\\\":\\\"^2.0.32\\\",\\\"@types/progress-bar-webpack-plugin\\\":\\\"^2.1.2\\\",\\\"@types/proper-lockfile\\\":\\\"^4.1.2\\\",\\\"@types/randomcolor\\\":\\\"^0.5.6\\\",\\\"@types/react\\\":\\\"^17.0.34\\\",\\\"@types/react-beautiful-dnd\\\":\\\"^13.1.2\\\",\\\"@types/react-dom\\\":\\\"^17.0.11\\\",\\\"@types/react-router-dom\\\":\\\"^5.3.2\\\",\\\"@types/react-select\\\":\\\"3.1.2\\\",\\\"@types/react-table\\\":\\\"^7.7.8\\\",\\\"@types/react-virtualized-auto-sizer\\\":\\\"^1.0.1\\\",\\\"@types/react-window\\\":\\\"^1.8.5\\\",\\\"@types/readable-stream\\\":\\\"^2.3.12\\\",\\\"@types/request\\\":\\\"^2.48.7\\\",\\\"@types/request-promise-native\\\":\\\"^1.0.18\\\",\\\"@types/semver\\\":\\\"^7.3.9\\\",\\\"@types/sharp\\\":\\\"^0.29.4\\\",\\\"@types/spdy\\\":\\\"^3.4.5\\\",\\\"@types/tar\\\":\\\"^4.0.5\\\",\\\"@types/tcp-port-used\\\":\\\"^1.0.0\\\",\\\"@types/tempy\\\":\\\"^0.3.0\\\",\\\"@types/triple-beam\\\":\\\"^1.3.2\\\",\\\"@types/url-parse\\\":\\\"^1.4.5\\\",\\\"@types/uuid\\\":\\\"^8.3.3\\\",\\\"@types/webpack\\\":\\\"^4.41.32\\\",\\\"@types/webpack-dev-server\\\":\\\"^3.11.6\\\",\\\"@types/webpack-env\\\":\\\"^1.16.3\\\",\\\"@types/webpack-node-externals\\\":\\\"^1.7.1\\\",\\\"@typescript-eslint/eslint-plugin\\\":\\\"^4.33.0\\\",\\\"@typescript-eslint/parser\\\":\\\"^4.33.0\\\",\\\"ansi_up\\\":\\\"^5.1.0\\\",\\\"chart.js\\\":\\\"^2.9.4\\\",\\\"circular-dependency-plugin\\\":\\\"^5.2.2\\\",\\\"color\\\":\\\"^3.2.1\\\",\\\"concurrently\\\":\\\"^5.3.0\\\",\\\"css-loader\\\":\\\"^5.2.7\\\",\\\"deepdash\\\":\\\"^5.3.9\\\",\\\"dompurify\\\":\\\"^2.3.3\\\",\\\"electron\\\":\\\"^13.6.1\\\",\\\"electron-builder\\\":\\\"^22.14.5\\\",\\\"electron-notarize\\\":\\\"^0.3.0\\\",\\\"esbuild\\\":\\\"^0.13.15\\\",\\\"esbuild-loader\\\":\\\"^2.16.0\\\",\\\"eslint\\\":\\\"^7.32.0\\\",\\\"eslint-plugin-header\\\":\\\"^3.1.1\\\",\\\"eslint-plugin-react\\\":\\\"^7.27.1\\\",\\\"eslint-plugin-react-hooks\\\":\\\"^4.3.0\\\",\\\"eslint-plugin-unused-imports\\\":\\\"^1.1.5\\\",\\\"file-loader\\\":\\\"^6.2.0\\\",\\\"flex.box\\\":\\\"^3.4.4\\\",\\\"fork-ts-checker-webpack-plugin\\\":\\\"^5.2.1\\\",\\\"hoist-non-react-statics\\\":\\\"^3.3.2\\\",\\\"html-webpack-plugin\\\":\\\"^4.5.2\\\",\\\"include-media\\\":\\\"^1.4.9\\\",\\\"jest\\\":\\\"26.6.3\\\",\\\"jest-canvas-mock\\\":\\\"^2.3.1\\\",\\\"jest-fetch-mock\\\":\\\"^3.0.3\\\",\\\"jest-mock-extended\\\":\\\"^1.0.18\\\",\\\"make-plural\\\":\\\"^6.2.2\\\",\\\"mini-css-extract-plugin\\\":\\\"^1.6.2\\\",\\\"node-gyp\\\":\\\"7.1.2\\\",\\\"node-loader\\\":\\\"^1.0.3\\\",\\\"nodemon\\\":\\\"^2.0.14\\\",\\\"playwright\\\":\\\"^1.17.1\\\",\\\"postcss\\\":\\\"^8.3.11\\\",\\\"postcss-loader\\\":\\\"4.3.0\\\",\\\"postinstall-postinstall\\\":\\\"^2.1.0\\\",\\\"progress-bar-webpack-plugin\\\":\\\"^2.1.0\\\",\\\"randomcolor\\\":\\\"^0.6.2\\\",\\\"raw-loader\\\":\\\"^4.0.2\\\",\\\"react-beautiful-dnd\\\":\\\"^13.1.0\\\",\\\"react-refresh\\\":\\\"^0.9.0\\\",\\\"react-router-dom\\\":\\\"^5.3.0\\\",\\\"react-select\\\":\\\"3.2.0\\\",\\\"react-select-event\\\":\\\"^5.1.0\\\",\\\"react-table\\\":\\\"^7.7.0\\\",\\\"react-window\\\":\\\"^1.8.6\\\",\\\"sass\\\":\\\"^1.44.0\\\",\\\"sass-loader\\\":\\\"^8.0.2\\\",\\\"sharp\\\":\\\"^0.29.3\\\",\\\"style-loader\\\":\\\"^2.0.0\\\",\\\"tailwindcss\\\":\\\"^2.2.19\\\",\\\"ts-jest\\\":\\\"26.5.6\\\",\\\"ts-loader\\\":\\\"^7.0.5\\\",\\\"ts-node\\\":\\\"^10.4.0\\\",\\\"type-fest\\\":\\\"^1.0.2\\\",\\\"typed-emitter\\\":\\\"^1.4.0\\\",\\\"typedoc\\\":\\\"0.22.10\\\",\\\"typedoc-plugin-markdown\\\":\\\"^3.11.3\\\",\\\"typeface-roboto\\\":\\\"^1.1.13\\\",\\\"typescript\\\":\\\"^4.5.2\\\",\\\"typescript-plugin-css-modules\\\":\\\"^3.4.0\\\",\\\"url-loader\\\":\\\"^4.1.1\\\",\\\"webpack\\\":\\\"^4.46.0\\\",\\\"webpack-cli\\\":\\\"^3.3.12\\\",\\\"webpack-dev-server\\\":\\\"^3.11.3\\\",\\\"webpack-node-externals\\\":\\\"^1.7.2\\\",\\\"xterm\\\":\\\"^4.15.0\\\",\\\"xterm-addon-fit\\\":\\\"^0.5.0\\\"}}\");\n\n//# sourceURL=webpack:///./package.json?");
38355
+ eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"open-lens\\\",\\\"productName\\\":\\\"OpenLens\\\",\\\"description\\\":\\\"OpenLens - Open Source IDE for Kubernetes\\\",\\\"homepage\\\":\\\"https://github.com/lensapp/lens\\\",\\\"version\\\":\\\"5.3.0\\\",\\\"main\\\":\\\"static/build/main.js\\\",\\\"copyright\\\":\\\"© 2021 OpenLens Authors\\\",\\\"license\\\":\\\"MIT\\\",\\\"author\\\":{\\\"name\\\":\\\"OpenLens Authors\\\",\\\"email\\\":\\\"info@k8slens.dev\\\"},\\\"scripts\\\":{\\\"dev\\\":\\\"concurrently -i -k \\\\\\\"yarn run dev-run -C\\\\\\\" yarn:dev:*\\\",\\\"dev-build\\\":\\\"concurrently yarn:compile:*\\\",\\\"debug-build\\\":\\\"concurrently yarn:compile:main yarn:compile:extension-types\\\",\\\"dev-run\\\":\\\"nodemon --watch static/build/main.js --exec \\\\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\\\"\\\",\\\"dev:main\\\":\\\"yarn run compile:main --watch\\\",\\\"dev:renderer\\\":\\\"yarn run webpack-dev-server --config webpack.renderer.ts\\\",\\\"dev:extension-types\\\":\\\"yarn run compile:extension-types --watch\\\",\\\"compile\\\":\\\"env NODE_ENV=production concurrently yarn:compile:*\\\",\\\"compile:main\\\":\\\"yarn run webpack --config webpack.main.ts\\\",\\\"compile:renderer\\\":\\\"yarn run webpack --config webpack.renderer.ts\\\",\\\"compile:extension-types\\\":\\\"yarn run webpack --config webpack.extensions.ts\\\",\\\"npm:fix-build-version\\\":\\\"yarn run ts-node build/set_build_version.ts\\\",\\\"npm:fix-package-version\\\":\\\"yarn run ts-node build/set_npm_version.ts\\\",\\\"build:linux\\\":\\\"yarn run compile && electron-builder --linux --dir\\\",\\\"build:mac\\\":\\\"yarn run compile && electron-builder --mac --dir\\\",\\\"build:win\\\":\\\"yarn run compile && electron-builder --win --dir\\\",\\\"integration\\\":\\\"jest --runInBand --detectOpenHandles --forceExit integration\\\",\\\"dist\\\":\\\"yarn run compile && electron-builder --publish onTag\\\",\\\"dist:dir\\\":\\\"yarn run dist --dir -c.compression=store -c.mac.identity=null\\\",\\\"download-bins\\\":\\\"concurrently yarn:download:*\\\",\\\"download:kubectl\\\":\\\"yarn run ts-node build/download_kubectl.ts\\\",\\\"download:helm\\\":\\\"yarn run ts-node build/download_helm.ts\\\",\\\"build:tray-icons\\\":\\\"yarn run ts-node build/build_tray_icon.ts\\\",\\\"build:theme-vars\\\":\\\"yarn run ts-node build/build_theme_vars.ts\\\",\\\"lint\\\":\\\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\\\",\\\"lint:fix\\\":\\\"yarn run lint --fix\\\",\\\"mkdocs-serve-local\\\":\\\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\\\",\\\"verify-docs\\\":\\\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\\\",\\\"typedocs-extensions-api\\\":\\\"yarn run typedoc src/extensions/extension-api.ts\\\",\\\"version-checkout\\\":\\\"cat package.json | jq '.version' -r | xargs printf \\\\\\\"release/v%s\\\\\\\" | xargs git checkout -b\\\",\\\"version-commit\\\":\\\"cat package.json | jq '.version' -r | xargs printf \\\\\\\"release v%s\\\\\\\" | git commit --no-edit -s -F -\\\",\\\"version\\\":\\\"yarn run version-checkout && git add package.json && yarn run version-commit\\\",\\\"postversion\\\":\\\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\\\"},\\\"config\\\":{\\\"bundledKubectlVersion\\\":\\\"1.21.2\\\",\\\"bundledHelmVersion\\\":\\\"3.6.3\\\",\\\"sentryDsn\\\":\\\"\\\"},\\\"engines\\\":{\\\"node\\\":\\\">=14 <15\\\"},\\\"jest\\\":{\\\"collectCoverage\\\":false,\\\"verbose\\\":true,\\\"transform\\\":{\\\"^.+\\\\\\\\.tsx?$\\\":\\\"ts-jest\\\"},\\\"moduleNameMapper\\\":{\\\"\\\\\\\\.(css|scss)$\\\":\\\"<rootDir>/__mocks__/styleMock.ts\\\",\\\"\\\\\\\\.(svg)$\\\":\\\"<rootDir>/__mocks__/imageMock.ts\\\",\\\"src/(.*)\\\":\\\"<rootDir>/__mocks__/windowMock.ts\\\"},\\\"modulePathIgnorePatterns\\\":[\\\"<rootDir>/dist\\\",\\\"<rootDir>/src/extensions/npm\\\"],\\\"setupFiles\\\":[\\\"<rootDir>/src/jest.setup.ts\\\",\\\"jest-canvas-mock\\\"],\\\"globals\\\":{\\\"ts-jest\\\":{\\\"isolatedModules\\\":true}}},\\\"build\\\":{\\\"generateUpdatesFilesForAllChannels\\\":true,\\\"files\\\":[\\\"static/build/main.js\\\"],\\\"afterSign\\\":\\\"build/notarize.js\\\",\\\"extraResources\\\":[{\\\"from\\\":\\\"locales/\\\",\\\"to\\\":\\\"locales/\\\",\\\"filter\\\":\\\"**/*.js\\\"},{\\\"from\\\":\\\"static/\\\",\\\"to\\\":\\\"static/\\\",\\\"filter\\\":\\\"!**/main.js\\\"},{\\\"from\\\":\\\"build/tray\\\",\\\"to\\\":\\\"static/icons\\\",\\\"filter\\\":\\\"*.png\\\"},{\\\"from\\\":\\\"extensions/\\\",\\\"to\\\":\\\"./extensions/\\\",\\\"filter\\\":[\\\"**/*.tgz\\\",\\\"**/package.json\\\",\\\"!**/node_modules\\\"]},{\\\"from\\\":\\\"templates/\\\",\\\"to\\\":\\\"./templates/\\\",\\\"filter\\\":\\\"**/*.yaml\\\"},\\\"LICENSE\\\"],\\\"linux\\\":{\\\"category\\\":\\\"Network\\\",\\\"artifactName\\\":\\\"${productName}-${version}.${arch}.${ext}\\\",\\\"target\\\":[\\\"deb\\\",\\\"rpm\\\",\\\"AppImage\\\"],\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/linux/${arch}/kubectl\\\",\\\"to\\\":\\\"./${arch}/kubectl\\\"},{\\\"from\\\":\\\"binaries/client/${arch}/helm3/helm3\\\",\\\"to\\\":\\\"./helm3/helm3\\\"}]},\\\"rpm\\\":{\\\"fpm\\\":[\\\"--rpm-rpmbuild-define=%define _build_id_links none\\\"]},\\\"mac\\\":{\\\"hardenedRuntime\\\":true,\\\"gatekeeperAssess\\\":false,\\\"entitlements\\\":\\\"build/entitlements.mac.plist\\\",\\\"entitlementsInherit\\\":\\\"build/entitlements.mac.plist\\\",\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/darwin/${arch}/kubectl\\\",\\\"to\\\":\\\"./${arch}/kubectl\\\"},{\\\"from\\\":\\\"binaries/client/${arch}/helm3/helm3\\\",\\\"to\\\":\\\"./helm3/helm3\\\"}]},\\\"win\\\":{\\\"target\\\":[\\\"nsis\\\"],\\\"extraResources\\\":[{\\\"from\\\":\\\"binaries/client/windows/x64/kubectl.exe\\\",\\\"to\\\":\\\"./x64/kubectl.exe\\\"},{\\\"from\\\":\\\"binaries/client/windows/ia32/kubectl.exe\\\",\\\"to\\\":\\\"./ia32/kubectl.exe\\\"},{\\\"from\\\":\\\"binaries/client/x64/helm3/helm3.exe\\\",\\\"to\\\":\\\"./helm3/helm3.exe\\\"}]},\\\"nsis\\\":{\\\"include\\\":\\\"build/installer.nsh\\\",\\\"oneClick\\\":false,\\\"allowElevation\\\":true,\\\"createStartMenuShortcut\\\":true,\\\"allowToChangeInstallationDirectory\\\":true},\\\"protocols\\\":{\\\"name\\\":\\\"Lens Protocol Handler\\\",\\\"schemes\\\":[\\\"lens\\\"],\\\"role\\\":\\\"Viewer\\\"}},\\\"dependencies\\\":{\\\"@electron/remote\\\":\\\"^1.2.2\\\",\\\"@hapi/call\\\":\\\"^8.0.1\\\",\\\"@hapi/subtext\\\":\\\"^7.0.3\\\",\\\"@kubernetes/client-node\\\":\\\"^0.16.1\\\",\\\"@ogre-tools/injectable\\\":\\\"^1.3.0\\\",\\\"@ogre-tools/injectable-react\\\":\\\"^1.3.1\\\",\\\"@sentry/electron\\\":\\\"^2.5.4\\\",\\\"@sentry/integrations\\\":\\\"^6.15.0\\\",\\\"abort-controller\\\":\\\"^3.0.0\\\",\\\"auto-bind\\\":\\\"^4.0.0\\\",\\\"autobind-decorator\\\":\\\"^2.4.0\\\",\\\"await-lock\\\":\\\"^2.1.0\\\",\\\"byline\\\":\\\"^5.0.0\\\",\\\"chokidar\\\":\\\"^3.4.3\\\",\\\"conf\\\":\\\"^7.1.2\\\",\\\"crypto-js\\\":\\\"^4.1.1\\\",\\\"electron-devtools-installer\\\":\\\"^3.2.0\\\",\\\"electron-updater\\\":\\\"^4.6.1\\\",\\\"electron-window-state\\\":\\\"^5.0.3\\\",\\\"filehound\\\":\\\"^1.17.5\\\",\\\"fs-extra\\\":\\\"^9.0.1\\\",\\\"glob-to-regexp\\\":\\\"^0.4.1\\\",\\\"got\\\":\\\"^11.8.2\\\",\\\"grapheme-splitter\\\":\\\"^1.0.4\\\",\\\"handlebars\\\":\\\"^4.7.7\\\",\\\"http-proxy\\\":\\\"^1.18.1\\\",\\\"immer\\\":\\\"^9.0.6\\\",\\\"joi\\\":\\\"^17.5.0\\\",\\\"js-yaml\\\":\\\"^4.1.0\\\",\\\"jsdom\\\":\\\"^16.7.0\\\",\\\"jsonpath\\\":\\\"^1.1.1\\\",\\\"lodash\\\":\\\"^4.17.15\\\",\\\"mac-ca\\\":\\\"^1.0.6\\\",\\\"marked\\\":\\\"^2.1.3\\\",\\\"md5-file\\\":\\\"^5.0.0\\\",\\\"mobx\\\":\\\"^6.3.7\\\",\\\"mobx-observable-history\\\":\\\"^2.0.3\\\",\\\"mobx-react\\\":\\\"^7.2.1\\\",\\\"mock-fs\\\":\\\"^5.1.2\\\",\\\"moment\\\":\\\"^2.29.1\\\",\\\"moment-timezone\\\":\\\"^0.5.34\\\",\\\"monaco-editor\\\":\\\"^0.29.1\\\",\\\"monaco-editor-webpack-plugin\\\":\\\"^5.0.0\\\",\\\"node-fetch\\\":\\\"lensapp/node-fetch#2.x\\\",\\\"node-pty\\\":\\\"^0.10.1\\\",\\\"npm\\\":\\\"^6.14.15\\\",\\\"p-limit\\\":\\\"^3.1.0\\\",\\\"path-to-regexp\\\":\\\"^6.2.0\\\",\\\"proper-lockfile\\\":\\\"^4.1.2\\\",\\\"react\\\":\\\"^17.0.2\\\",\\\"react-dom\\\":\\\"^17.0.2\\\",\\\"react-material-ui-carousel\\\":\\\"^2.3.8\\\",\\\"react-router\\\":\\\"^5.2.0\\\",\\\"react-virtualized-auto-sizer\\\":\\\"^1.0.6\\\",\\\"readable-stream\\\":\\\"^3.6.0\\\",\\\"request\\\":\\\"^2.88.2\\\",\\\"request-promise-native\\\":\\\"^1.0.9\\\",\\\"rfc6902\\\":\\\"^4.0.2\\\",\\\"semver\\\":\\\"^7.3.2\\\",\\\"shell-env\\\":\\\"^3.0.1\\\",\\\"spdy\\\":\\\"^4.0.2\\\",\\\"tar\\\":\\\"^6.1.11\\\",\\\"tcp-port-used\\\":\\\"^1.0.2\\\",\\\"tempy\\\":\\\"1.0.1\\\",\\\"url-parse\\\":\\\"^1.5.3\\\",\\\"uuid\\\":\\\"^8.3.2\\\",\\\"win-ca\\\":\\\"^3.4.5\\\",\\\"winston\\\":\\\"^3.3.3\\\",\\\"winston-console-format\\\":\\\"^1.0.8\\\",\\\"winston-transport-browserconsole\\\":\\\"^1.0.5\\\",\\\"ws\\\":\\\"^7.5.5\\\"},\\\"devDependencies\\\":{\\\"@async-fn/jest\\\":\\\"^1.5.0\\\",\\\"@material-ui/core\\\":\\\"^4.12.3\\\",\\\"@material-ui/icons\\\":\\\"^4.11.2\\\",\\\"@material-ui/lab\\\":\\\"^4.0.0-alpha.60\\\",\\\"@pmmmwh/react-refresh-webpack-plugin\\\":\\\"^0.4.3\\\",\\\"@sentry/types\\\":\\\"^6.14.1\\\",\\\"@testing-library/jest-dom\\\":\\\"^5.16.1\\\",\\\"@testing-library/react\\\":\\\"^11.2.7\\\",\\\"@testing-library/user-event\\\":\\\"^13.5.0\\\",\\\"@types/byline\\\":\\\"^4.2.33\\\",\\\"@types/chart.js\\\":\\\"^2.9.34\\\",\\\"@types/color\\\":\\\"^3.0.2\\\",\\\"@types/crypto-js\\\":\\\"^3.1.47\\\",\\\"@types/dompurify\\\":\\\"^2.3.1\\\",\\\"@types/electron-devtools-installer\\\":\\\"^2.2.0\\\",\\\"@types/fs-extra\\\":\\\"^9.0.13\\\",\\\"@types/glob-to-regexp\\\":\\\"^0.4.1\\\",\\\"@types/hoist-non-react-statics\\\":\\\"^3.3.1\\\",\\\"@types/html-webpack-plugin\\\":\\\"^3.2.6\\\",\\\"@types/http-proxy\\\":\\\"^1.17.7\\\",\\\"@types/jest\\\":\\\"^26.0.24\\\",\\\"@types/js-yaml\\\":\\\"^4.0.5\\\",\\\"@types/jsdom\\\":\\\"^16.2.13\\\",\\\"@types/jsonpath\\\":\\\"^0.2.0\\\",\\\"@types/lodash\\\":\\\"^4.14.177\\\",\\\"@types/marked\\\":\\\"^2.0.5\\\",\\\"@types/md5-file\\\":\\\"^4.0.2\\\",\\\"@types/mini-css-extract-plugin\\\":\\\"^0.9.1\\\",\\\"@types/mock-fs\\\":\\\"^4.13.1\\\",\\\"@types/node\\\":\\\"14.17.33\\\",\\\"@types/node-fetch\\\":\\\"^2.5.12\\\",\\\"@types/npm\\\":\\\"^2.0.32\\\",\\\"@types/progress-bar-webpack-plugin\\\":\\\"^2.1.2\\\",\\\"@types/proper-lockfile\\\":\\\"^4.1.2\\\",\\\"@types/randomcolor\\\":\\\"^0.5.6\\\",\\\"@types/react\\\":\\\"^17.0.34\\\",\\\"@types/react-beautiful-dnd\\\":\\\"^13.1.2\\\",\\\"@types/react-dom\\\":\\\"^17.0.11\\\",\\\"@types/react-router-dom\\\":\\\"^5.3.2\\\",\\\"@types/react-select\\\":\\\"3.1.2\\\",\\\"@types/react-table\\\":\\\"^7.7.8\\\",\\\"@types/react-virtualized-auto-sizer\\\":\\\"^1.0.1\\\",\\\"@types/react-window\\\":\\\"^1.8.5\\\",\\\"@types/readable-stream\\\":\\\"^2.3.12\\\",\\\"@types/request\\\":\\\"^2.48.7\\\",\\\"@types/request-promise-native\\\":\\\"^1.0.18\\\",\\\"@types/semver\\\":\\\"^7.3.9\\\",\\\"@types/sharp\\\":\\\"^0.29.4\\\",\\\"@types/spdy\\\":\\\"^3.4.5\\\",\\\"@types/tar\\\":\\\"^4.0.5\\\",\\\"@types/tcp-port-used\\\":\\\"^1.0.0\\\",\\\"@types/tempy\\\":\\\"^0.3.0\\\",\\\"@types/triple-beam\\\":\\\"^1.3.2\\\",\\\"@types/url-parse\\\":\\\"^1.4.5\\\",\\\"@types/uuid\\\":\\\"^8.3.3\\\",\\\"@types/webpack\\\":\\\"^4.41.32\\\",\\\"@types/webpack-dev-server\\\":\\\"^3.11.6\\\",\\\"@types/webpack-env\\\":\\\"^1.16.3\\\",\\\"@types/webpack-node-externals\\\":\\\"^1.7.1\\\",\\\"@typescript-eslint/eslint-plugin\\\":\\\"^4.33.0\\\",\\\"@typescript-eslint/parser\\\":\\\"^4.33.0\\\",\\\"ansi_up\\\":\\\"^5.1.0\\\",\\\"chart.js\\\":\\\"^2.9.4\\\",\\\"circular-dependency-plugin\\\":\\\"^5.2.2\\\",\\\"color\\\":\\\"^3.2.1\\\",\\\"concurrently\\\":\\\"^5.3.0\\\",\\\"css-loader\\\":\\\"^5.2.7\\\",\\\"deepdash\\\":\\\"^5.3.9\\\",\\\"dompurify\\\":\\\"^2.3.3\\\",\\\"electron\\\":\\\"^13.6.1\\\",\\\"electron-builder\\\":\\\"^22.14.5\\\",\\\"electron-notarize\\\":\\\"^0.3.0\\\",\\\"esbuild\\\":\\\"^0.13.15\\\",\\\"esbuild-loader\\\":\\\"^2.16.0\\\",\\\"eslint\\\":\\\"^7.32.0\\\",\\\"eslint-plugin-header\\\":\\\"^3.1.1\\\",\\\"eslint-plugin-react\\\":\\\"^7.27.1\\\",\\\"eslint-plugin-react-hooks\\\":\\\"^4.3.0\\\",\\\"eslint-plugin-unused-imports\\\":\\\"^1.1.5\\\",\\\"file-loader\\\":\\\"^6.2.0\\\",\\\"flex.box\\\":\\\"^3.4.4\\\",\\\"fork-ts-checker-webpack-plugin\\\":\\\"^5.2.1\\\",\\\"hoist-non-react-statics\\\":\\\"^3.3.2\\\",\\\"html-webpack-plugin\\\":\\\"^4.5.2\\\",\\\"include-media\\\":\\\"^1.4.9\\\",\\\"jest\\\":\\\"26.6.3\\\",\\\"jest-canvas-mock\\\":\\\"^2.3.1\\\",\\\"jest-fetch-mock\\\":\\\"^3.0.3\\\",\\\"jest-mock-extended\\\":\\\"^1.0.18\\\",\\\"make-plural\\\":\\\"^6.2.2\\\",\\\"mini-css-extract-plugin\\\":\\\"^1.6.2\\\",\\\"node-gyp\\\":\\\"7.1.2\\\",\\\"node-loader\\\":\\\"^1.0.3\\\",\\\"nodemon\\\":\\\"^2.0.14\\\",\\\"playwright\\\":\\\"^1.17.1\\\",\\\"postcss\\\":\\\"^8.4.5\\\",\\\"postcss-loader\\\":\\\"4.3.0\\\",\\\"postinstall-postinstall\\\":\\\"^2.1.0\\\",\\\"progress-bar-webpack-plugin\\\":\\\"^2.1.0\\\",\\\"randomcolor\\\":\\\"^0.6.2\\\",\\\"raw-loader\\\":\\\"^4.0.2\\\",\\\"react-beautiful-dnd\\\":\\\"^13.1.0\\\",\\\"react-refresh\\\":\\\"^0.9.0\\\",\\\"react-router-dom\\\":\\\"^5.3.0\\\",\\\"react-select\\\":\\\"3.2.0\\\",\\\"react-select-event\\\":\\\"^5.1.0\\\",\\\"react-table\\\":\\\"^7.7.0\\\",\\\"react-window\\\":\\\"^1.8.6\\\",\\\"sass\\\":\\\"^1.44.0\\\",\\\"sass-loader\\\":\\\"^8.0.2\\\",\\\"sharp\\\":\\\"^0.29.3\\\",\\\"style-loader\\\":\\\"^2.0.0\\\",\\\"tailwindcss\\\":\\\"^2.2.19\\\",\\\"ts-jest\\\":\\\"26.5.6\\\",\\\"ts-loader\\\":\\\"^7.0.5\\\",\\\"ts-node\\\":\\\"^10.4.0\\\",\\\"type-fest\\\":\\\"^1.0.2\\\",\\\"typed-emitter\\\":\\\"^1.4.0\\\",\\\"typedoc\\\":\\\"0.22.10\\\",\\\"typedoc-plugin-markdown\\\":\\\"^3.11.3\\\",\\\"typeface-roboto\\\":\\\"^1.1.13\\\",\\\"typescript\\\":\\\"^4.5.2\\\",\\\"typescript-plugin-css-modules\\\":\\\"^3.4.0\\\",\\\"url-loader\\\":\\\"^4.1.1\\\",\\\"webpack\\\":\\\"^4.46.0\\\",\\\"webpack-cli\\\":\\\"^3.3.12\\\",\\\"webpack-dev-server\\\":\\\"^3.11.3\\\",\\\"webpack-node-externals\\\":\\\"^1.7.2\\\",\\\"xterm\\\":\\\"^4.15.0\\\",\\\"xterm-addon-fit\\\":\\\"^0.5.0\\\"}}\");\n\n//# sourceURL=webpack:///./package.json?");
38356
38356
 
38357
38357
  /***/ }),
38358
38358
 
@@ -40944,7 +40944,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
40944
40944
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
40945
40945
 
40946
40946
  "use strict";
40947
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isLongRunningRequest\", function() { return isLongRunningRequest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LensProxy\", function() { return LensProxy; });\n/* harmony import */ var spdy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! spdy */ \"./node_modules/spdy/lib/spdy.js\");\n/* harmony import */ var spdy__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(spdy__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var http_proxy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! http-proxy */ \"./node_modules/http-proxy/index.js\");\n/* harmony import */ var http_proxy__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(http_proxy__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _common_event_bus__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/event-bus */ \"./src/common/event-bus.ts\");\n/* harmony import */ var _utils_parse_query__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/parse-query */ \"./src/main/utils/parse-query.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\n\n\n\nconst watchParam = \"watch\";\nconst followParam = \"follow\";\nfunction isLongRunningRequest(reqUrl) {\n const url = new URL(reqUrl, \"http://localhost\");\n return Object(_utils_parse_query__WEBPACK_IMPORTED_MODULE_6__[\"getBoolean\"])(url.searchParams, watchParam) || Object(_utils_parse_query__WEBPACK_IMPORTED_MODULE_6__[\"getBoolean\"])(url.searchParams, followParam);\n}\nclass LensProxy extends _common_utils__WEBPACK_IMPORTED_MODULE_4__[\"Singleton\"] {\n constructor(router, { shellApiRequest, kubeApiRequest, getClusterForRequest }) {\n super();\n Object.defineProperty(this, \"router\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: router\n });\n Object.defineProperty(this, \"origin\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"proxyServer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"closed\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"retryCounters\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Map()\n });\n Object.defineProperty(this, \"proxy\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: this.createProxy()\n });\n Object.defineProperty(this, \"getClusterForRequest\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"port\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.getClusterForRequest = getClusterForRequest;\n this.proxyServer = spdy__WEBPACK_IMPORTED_MODULE_0___default.a.createServer({\n spdy: {\n plain: true,\n protocols: [\"http/1.1\", \"spdy/3.1\"],\n },\n }, (req, res) => {\n this.handleRequest(req, res);\n });\n this.proxyServer\n .on(\"upgrade\", (req, socket, head) => {\n const isInternal = req.url.startsWith(`${_common_vars__WEBPACK_IMPORTED_MODULE_2__[\"apiPrefix\"]}?`);\n const cluster = getClusterForRequest(req);\n if (!cluster) {\n return void _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`[LENS-PROXY]: Could not find cluster for upgrade request from url=${req.url}`);\n }\n const reqHandler = isInternal ? shellApiRequest : kubeApiRequest;\n (async () => reqHandler({ req, socket, head, cluster }))()\n .catch(error => _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(\"[LENS-PROXY]: failed to handle proxy upgrade\", error));\n });\n }\n /**\n * Starts the lens proxy.\n * @resolves After the server is listening\n * @rejects if there is an error before that happens\n */\n listen() {\n return new Promise((resolve, reject) => {\n this.proxyServer.listen(0, \"127.0.0.1\");\n this.proxyServer\n .once(\"listening\", () => {\n this.proxyServer.removeAllListeners(\"error\"); // don't reject the promise\n const { address, port } = this.proxyServer.address();\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`[LENS-PROXY]: Proxy server has started at ${address}:${port}`);\n this.proxyServer.on(\"error\", (error) => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`[LENS-PROXY]: Subsequent error: ${error}`);\n });\n this.port = port;\n _common_event_bus__WEBPACK_IMPORTED_MODULE_5__[\"appEventBus\"].emit({ name: \"lens-proxy\", action: \"listen\", params: { port } });\n resolve();\n })\n .once(\"error\", (error) => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`[LENS-PROXY]: Proxy server failed to start: ${error}`);\n reject(error);\n });\n });\n }\n close() {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(\"Closing proxy server\");\n this.proxyServer.close();\n this.closed = true;\n }\n createProxy() {\n const proxy = http_proxy__WEBPACK_IMPORTED_MODULE_1___default.a.createProxyServer();\n proxy.on(\"proxyRes\", (proxyRes, req, res) => {\n const retryCounterId = this.getRequestId(req);\n if (this.retryCounters.has(retryCounterId)) {\n this.retryCounters.delete(retryCounterId);\n }\n if (!res.headersSent && req.url) {\n const url = new URL(req.url, \"http://localhost\");\n if (url.searchParams.has(\"watch\")) {\n res.statusCode = proxyRes.statusCode;\n res.flushHeaders();\n }\n }\n proxyRes.on(\"aborted\", () => {\n res.end();\n });\n });\n proxy.on(\"error\", (error, req, res, target) => {\n if (this.closed) {\n return;\n }\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`[LENS-PROXY]: http proxy errored for cluster: ${error}`, { url: req.url });\n if (target) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Failed proxy to target: ${JSON.stringify(target, null, 2)}`);\n if (req.method === \"GET\" && (!res.statusCode || res.statusCode >= 500)) {\n const reqId = this.getRequestId(req);\n const retryCount = this.retryCounters.get(reqId) || 0;\n const timeoutMs = retryCount * 250;\n if (retryCount < 20) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Retrying proxy request to url: ${reqId}`);\n setTimeout(() => {\n this.retryCounters.set(reqId, retryCount + 1);\n this.handleRequest(req, res)\n .catch(error => _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`[LENS-PROXY]: failed to handle request on proxy error: ${error}`));\n }, timeoutMs);\n }\n }\n }\n try {\n res.writeHead(500).end(`Oops, something went wrong.\\n${error}`);\n }\n catch (e) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`[LENS-PROXY]: Failed to write headers: `, e);\n }\n });\n return proxy;\n }\n async getProxyTarget(req, contextHandler) {\n if (req.url.startsWith(_common_vars__WEBPACK_IMPORTED_MODULE_2__[\"apiKubePrefix\"])) {\n delete req.headers.authorization;\n req.url = req.url.replace(_common_vars__WEBPACK_IMPORTED_MODULE_2__[\"apiKubePrefix\"], \"\");\n return contextHandler.getApiTarget(isLongRunningRequest(req.url));\n }\n }\n getRequestId(req) {\n return req.headers.host + req.url;\n }\n async handleRequest(req, res) {\n const cluster = this.getClusterForRequest(req);\n if (cluster) {\n const proxyTarget = await this.getProxyTarget(req, cluster.contextHandler);\n if (proxyTarget) {\n return this.proxy.web(req, res, proxyTarget);\n }\n }\n this.router.route(cluster, req, res);\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/lens-proxy.ts?");
40947
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isLongRunningRequest\", function() { return isLongRunningRequest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LensProxy\", function() { return LensProxy; });\n/* harmony import */ var spdy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! spdy */ \"./node_modules/spdy/lib/spdy.js\");\n/* harmony import */ var spdy__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(spdy__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var http_proxy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! http-proxy */ \"./node_modules/http-proxy/index.js\");\n/* harmony import */ var http_proxy__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(http_proxy__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _common_event_bus__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/event-bus */ \"./src/common/event-bus.ts\");\n/* harmony import */ var _utils_parse_query__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/parse-query */ \"./src/main/utils/parse-query.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n\n\n\n\n\nconst watchParam = \"watch\";\nconst followParam = \"follow\";\nfunction isLongRunningRequest(reqUrl) {\n const url = new URL(reqUrl, \"http://localhost\");\n return Object(_utils_parse_query__WEBPACK_IMPORTED_MODULE_6__[\"getBoolean\"])(url.searchParams, watchParam) || Object(_utils_parse_query__WEBPACK_IMPORTED_MODULE_6__[\"getBoolean\"])(url.searchParams, followParam);\n}\n/**\n * This is the list of ports that chrome considers unsafe to allow HTTP\n * conntections to. Because they are the standard ports for processes that are\n * too forgiving in the connection types they accept.\n *\n * If we get one of these ports, the easiest thing to do is to just try again.\n *\n * Source: https://chromium.googlesource.com/chromium/src.git/+/refs/heads/main/net/base/port_util.cc\n */\nconst disallowedPorts = new Set([\n 1, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 25, 37, 42, 43, 53, 69, 77, 79,\n 87, 95, 101, 102, 103, 104, 109, 110, 111, 113, 115, 117, 119, 123, 135, 137,\n 139, 143, 161, 179, 389, 427, 465, 512, 513, 514, 515, 526, 530, 531, 532,\n 540, 548, 554, 556, 563, 587, 601, 636, 989, 990, 993, 995, 1719, 1720, 1723,\n 2049, 3659, 4045, 5060, 5061, 6000, 6566, 6665, 6666, 6667, 6668, 6669, 6697,\n 10080,\n]);\nclass LensProxy extends _common_utils__WEBPACK_IMPORTED_MODULE_4__[\"Singleton\"] {\n constructor(router, { shellApiRequest, kubeApiRequest, getClusterForRequest }) {\n super();\n Object.defineProperty(this, \"router\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: router\n });\n Object.defineProperty(this, \"origin\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"proxyServer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"closed\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"retryCounters\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Map()\n });\n Object.defineProperty(this, \"proxy\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: this.createProxy()\n });\n Object.defineProperty(this, \"getClusterForRequest\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"port\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.getClusterForRequest = getClusterForRequest;\n this.proxyServer = spdy__WEBPACK_IMPORTED_MODULE_0___default.a.createServer({\n spdy: {\n plain: true,\n protocols: [\"http/1.1\", \"spdy/3.1\"],\n },\n }, (req, res) => {\n this.handleRequest(req, res);\n });\n this.proxyServer\n .on(\"upgrade\", (req, socket, head) => {\n const isInternal = req.url.startsWith(`${_common_vars__WEBPACK_IMPORTED_MODULE_2__[\"apiPrefix\"]}?`);\n const cluster = getClusterForRequest(req);\n if (!cluster) {\n return void _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`[LENS-PROXY]: Could not find cluster for upgrade request from url=${req.url}`);\n }\n const reqHandler = isInternal ? shellApiRequest : kubeApiRequest;\n (async () => reqHandler({ req, socket, head, cluster }))()\n .catch(error => _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(\"[LENS-PROXY]: failed to handle proxy upgrade\", error));\n });\n }\n /**\n * Starts to listen on an OS provided port. Will reject if the server throws\n * an error.\n *\n * Resolves with the port number that was picked\n */\n attemptToListen() {\n return new Promise((resolve, reject) => {\n this.proxyServer.listen(0, \"127.0.0.1\");\n this.proxyServer\n .once(\"listening\", () => {\n this.proxyServer.removeAllListeners(\"error\"); // don't reject the promise\n const { address, port } = this.proxyServer.address();\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`[LENS-PROXY]: Proxy server has started at ${address}:${port}`);\n this.proxyServer.on(\"error\", (error) => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`[LENS-PROXY]: Subsequent error: ${error}`);\n });\n this.port = port;\n _common_event_bus__WEBPACK_IMPORTED_MODULE_5__[\"appEventBus\"].emit({ name: \"lens-proxy\", action: \"listen\", params: { port } });\n resolve(port);\n })\n .once(\"error\", (error) => {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`[LENS-PROXY]: Proxy server failed to start: ${error}`);\n reject(error);\n });\n });\n }\n /**\n * Starts the lens proxy.\n * @resolves After the server is listening on a good port\n * @rejects if there is an error before that happens\n */\n async listen() {\n var _a;\n const seenPorts = new Set();\n while (true) {\n (_a = this.proxyServer) === null || _a === void 0 ? void 0 : _a.close();\n const port = await this.attemptToListen();\n if (!disallowedPorts.has(port)) {\n // We didn't get a port that would result in an ERR_UNSAFE_PORT error, use it\n return;\n }\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].warn(`[LENS-PROXY]: Proxy server has with port known to be considered unsafe to connect to by chrome, restarting...`);\n if (seenPorts.has(port)) {\n /**\n * Assume that if we have seen the port before, then the OS has looped\n * through all the ports possible and we will not be able to get a safe\n * port.\n */\n throw new Error(\"Failed to start LensProxy due to seeing too many unsafe ports. Please restart Lens.\");\n }\n else {\n seenPorts.add(port);\n }\n }\n }\n close() {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(\"[LENS-PROXY]: Closing server\");\n this.proxyServer.close();\n this.closed = true;\n }\n createProxy() {\n const proxy = http_proxy__WEBPACK_IMPORTED_MODULE_1___default.a.createProxyServer();\n proxy.on(\"proxyRes\", (proxyRes, req, res) => {\n const retryCounterId = this.getRequestId(req);\n if (this.retryCounters.has(retryCounterId)) {\n this.retryCounters.delete(retryCounterId);\n }\n if (!res.headersSent && req.url) {\n const url = new URL(req.url, \"http://localhost\");\n if (url.searchParams.has(\"watch\")) {\n res.statusCode = proxyRes.statusCode;\n res.flushHeaders();\n }\n }\n proxyRes.on(\"aborted\", () => {\n res.end();\n });\n });\n proxy.on(\"error\", (error, req, res, target) => {\n if (this.closed) {\n return;\n }\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`[LENS-PROXY]: http proxy errored for cluster: ${error}`, { url: req.url });\n if (target) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Failed proxy to target: ${JSON.stringify(target, null, 2)}`);\n if (req.method === \"GET\" && (!res.statusCode || res.statusCode >= 500)) {\n const reqId = this.getRequestId(req);\n const retryCount = this.retryCounters.get(reqId) || 0;\n const timeoutMs = retryCount * 250;\n if (retryCount < 20) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].debug(`Retrying proxy request to url: ${reqId}`);\n setTimeout(() => {\n this.retryCounters.set(reqId, retryCount + 1);\n this.handleRequest(req, res)\n .catch(error => _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`[LENS-PROXY]: failed to handle request on proxy error: ${error}`));\n }, timeoutMs);\n }\n }\n }\n try {\n res.writeHead(500).end(`Oops, something went wrong.\\n${error}`);\n }\n catch (e) {\n _logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].error(`[LENS-PROXY]: Failed to write headers: `, e);\n }\n });\n return proxy;\n }\n async getProxyTarget(req, contextHandler) {\n if (req.url.startsWith(_common_vars__WEBPACK_IMPORTED_MODULE_2__[\"apiKubePrefix\"])) {\n delete req.headers.authorization;\n req.url = req.url.replace(_common_vars__WEBPACK_IMPORTED_MODULE_2__[\"apiKubePrefix\"], \"\");\n return contextHandler.getApiTarget(isLongRunningRequest(req.url));\n }\n }\n getRequestId(req) {\n return req.headers.host + req.url;\n }\n async handleRequest(req, res) {\n const cluster = this.getClusterForRequest(req);\n if (cluster) {\n const proxyTarget = await this.getProxyTarget(req, cluster.contextHandler);\n if (proxyTarget) {\n return this.proxy.web(req, res, proxyTarget);\n }\n }\n this.router.route(cluster, req, res);\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/lens-proxy.ts?");
40948
40948
 
40949
40949
  /***/ }),
40950
40950
 
@@ -41316,7 +41316,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ext
41316
41316
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
41317
41317
 
41318
41318
  "use strict";
41319
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TerminalChannels\", function() { return TerminalChannels; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TerminalApi\", function() { return TerminalApi; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _websocket_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./websocket-api */ \"./src/renderer/api/websocket-api.ts\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/isEqual */ \"./node_modules/lodash/isEqual.js\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! url */ \"url\");\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(url__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _common_logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/logger */ \"./src/common/logger.ts\");\n/* harmony import */ var v8__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! v8 */ \"v8\");\n/* harmony import */ var v8__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(v8__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_8__);\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\nvar TerminalChannels;\n(function (TerminalChannels) {\n TerminalChannels[\"STDIN\"] = \"stdin\";\n TerminalChannels[\"STDOUT\"] = \"stdout\";\n TerminalChannels[\"CONNECTED\"] = \"connected\";\n TerminalChannels[\"RESIZE\"] = \"resize\";\n})(TerminalChannels || (TerminalChannels = {}));\nvar TerminalColor;\n(function (TerminalColor) {\n TerminalColor[\"RED\"] = \"\\u001B[31m\";\n TerminalColor[\"GREEN\"] = \"\\u001B[32m\";\n TerminalColor[\"YELLOW\"] = \"\\u001B[33m\";\n TerminalColor[\"BLUE\"] = \"\\u001B[34m\";\n TerminalColor[\"MAGENTA\"] = \"\\u001B[35m\";\n TerminalColor[\"CYAN\"] = \"\\u001B[36m\";\n TerminalColor[\"GRAY\"] = \"\\u001B[90m\";\n TerminalColor[\"LIGHT_GRAY\"] = \"\\u001B[37m\";\n TerminalColor[\"NO_COLOR\"] = \"\\u001B[0m\";\n})(TerminalColor || (TerminalColor = {}));\nclass TerminalApi extends _websocket_api__WEBPACK_IMPORTED_MODULE_1__[\"WebSocketApi\"] {\n constructor(query) {\n super({\n flushOnOpen: false,\n pingInterval: 30,\n });\n Object.defineProperty(this, \"query\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: query\n });\n Object.defineProperty(this, \"size\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"isReady\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_4__[\"makeObservable\"])(this);\n if (query.node) {\n query.type || (query.type = \"node\");\n }\n }\n async connect() {\n if (!this.socket) {\n /**\n * Only emit this message if we are not \"reconnecting\", so as to keep the\n * output display clean when the computer wakes from sleep\n */\n this.emitStatus(\"Connecting ...\");\n }\n const authTokenArray = await electron__WEBPACK_IMPORTED_MODULE_5__[\"ipcRenderer\"].invoke(\"cluster:shell-api\", Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"getHostedClusterId\"])(), this.query.id);\n if (!(authTokenArray instanceof Uint8Array)) {\n throw new TypeError(\"ShellApi token is not a Uint8Array\");\n }\n const { hostname, protocol, port } = location;\n const socketUrl = url__WEBPACK_IMPORTED_MODULE_3___default.a.format({\n protocol: protocol.includes(\"https\") ? \"wss\" : \"ws\",\n hostname,\n port,\n pathname: \"/api\",\n query: Object.assign(Object.assign({}, this.query), { shellToken: Buffer.from(authTokenArray).toString(\"base64\") }),\n slashes: true,\n });\n const onReady = Object(lodash__WEBPACK_IMPORTED_MODULE_8__[\"once\"])((data) => {\n this.isReady = true;\n this.emit(\"ready\");\n this.removeListener(\"data\", onReady);\n this.removeListener(\"connected\", onReady);\n this.flush();\n // data is undefined if the event that was handled is \"connected\"\n if (data === undefined) {\n /**\n * Output the last line, the makes sure that the terminal isn't completely\n * empty when the user refreshes.\n */\n this.emit(\"data\", window.localStorage.getItem(`${this.query.id}:last-data`));\n }\n });\n this.prependListener(\"data\", onReady);\n this.prependListener(\"connected\", onReady);\n super.connect(socketUrl);\n this.socket.binaryType = \"arraybuffer\";\n }\n destroy() {\n if (!this.socket)\n return;\n const controlCode = String.fromCharCode(4); // ctrl+d\n this.sendMessage({ type: TerminalChannels.STDIN, data: controlCode });\n setTimeout(() => super.destroy(), 2000);\n }\n reconnect() {\n super.reconnect();\n }\n sendMessage(message) {\n return this.send(Object(v8__WEBPACK_IMPORTED_MODULE_7__[\"serialize\"])(message));\n }\n sendTerminalSize(cols, rows) {\n const newSize = { width: cols, height: rows };\n if (!lodash_isEqual__WEBPACK_IMPORTED_MODULE_2___default()(this.size, newSize)) {\n this.sendMessage({\n type: TerminalChannels.RESIZE,\n data: newSize,\n });\n this.size = newSize;\n }\n }\n _onMessage(_a) {\n var { data } = _a, evt = __rest(_a, [\"data\"]);\n try {\n const message = Object(v8__WEBPACK_IMPORTED_MODULE_7__[\"deserialize\"])(new Uint8Array(data));\n switch (message.type) {\n case TerminalChannels.STDOUT:\n /**\n * save the last data for reconnections. User localStorage because we\n * don't want this data to survive if the app is closed\n */\n window.localStorage.setItem(`${this.query.id}:last-data`, message.data);\n super._onMessage(Object.assign({ data: message.data }, evt));\n break;\n case TerminalChannels.CONNECTED:\n this.emit(\"connected\");\n break;\n default:\n _common_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].warn(`[TERMINAL-API]: unknown or unhandleable message type`, message);\n break;\n }\n }\n catch (error) {\n _common_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`[TERMINAL-API]: failed to handle message`, error);\n }\n }\n _onOpen(evt) {\n // Client should send terminal size in special channel 4,\n // But this size will be changed by terminal.fit()\n this.sendTerminalSize(120, 80);\n super._onOpen(evt);\n }\n _onClose(evt) {\n super._onClose(evt);\n this.isReady = false;\n }\n emitStatus(data, options = {}) {\n const { color, showTime } = options;\n const time = showTime ? `${(new Date()).toLocaleString()} ` : \"\";\n if (color) {\n data = `${color}${data}${TerminalColor.NO_COLOR}`;\n }\n this.emit(\"data\", `${time}${data}\\r\\n`);\n }\n emitError(error) {\n this.emitStatus(error, {\n color: TerminalColor.RED,\n });\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_4__[\"observable\"],\n __metadata(\"design:type\", Object)\n], TerminalApi.prototype, \"isReady\", void 0);\n\n\n//# sourceURL=webpack:///./src/renderer/api/terminal-api.ts?");
41319
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TerminalChannels\", function() { return TerminalChannels; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TerminalApi\", function() { return TerminalApi; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _websocket_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./websocket-api */ \"./src/renderer/api/websocket-api.ts\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/isEqual */ \"./node_modules/lodash/isEqual.js\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! url */ \"url\");\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(url__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _common_logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/logger */ \"./src/common/logger.ts\");\n/* harmony import */ var v8__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! v8 */ \"v8\");\n/* harmony import */ var v8__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(v8__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_8__);\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\nvar TerminalChannels;\n(function (TerminalChannels) {\n TerminalChannels[\"STDIN\"] = \"stdin\";\n TerminalChannels[\"STDOUT\"] = \"stdout\";\n TerminalChannels[\"CONNECTED\"] = \"connected\";\n TerminalChannels[\"RESIZE\"] = \"resize\";\n})(TerminalChannels || (TerminalChannels = {}));\nvar TerminalColor;\n(function (TerminalColor) {\n TerminalColor[\"RED\"] = \"\\u001B[31m\";\n TerminalColor[\"GREEN\"] = \"\\u001B[32m\";\n TerminalColor[\"YELLOW\"] = \"\\u001B[33m\";\n TerminalColor[\"BLUE\"] = \"\\u001B[34m\";\n TerminalColor[\"MAGENTA\"] = \"\\u001B[35m\";\n TerminalColor[\"CYAN\"] = \"\\u001B[36m\";\n TerminalColor[\"GRAY\"] = \"\\u001B[90m\";\n TerminalColor[\"LIGHT_GRAY\"] = \"\\u001B[37m\";\n TerminalColor[\"NO_COLOR\"] = \"\\u001B[0m\";\n})(TerminalColor || (TerminalColor = {}));\nclass TerminalApi extends _websocket_api__WEBPACK_IMPORTED_MODULE_1__[\"WebSocketApi\"] {\n constructor(query) {\n super({\n flushOnOpen: false,\n pingInterval: 30,\n });\n Object.defineProperty(this, \"query\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: query\n });\n Object.defineProperty(this, \"size\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"isReady\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object(mobx__WEBPACK_IMPORTED_MODULE_4__[\"makeObservable\"])(this);\n if (query.node) {\n query.type || (query.type = \"node\");\n }\n }\n async connect() {\n if (!this.socket) {\n /**\n * Only emit this message if we are not \"reconnecting\", so as to keep the\n * output display clean when the computer wakes from sleep\n */\n this.emitStatus(\"Connecting ...\");\n }\n const authTokenArray = await electron__WEBPACK_IMPORTED_MODULE_5__[\"ipcRenderer\"].invoke(\"cluster:shell-api\", Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"getHostedClusterId\"])(), this.query.id);\n if (!(authTokenArray instanceof Uint8Array)) {\n throw new TypeError(\"ShellApi token is not a Uint8Array\");\n }\n const { hostname, protocol, port } = location;\n const socketUrl = url__WEBPACK_IMPORTED_MODULE_3___default.a.format({\n protocol: protocol.includes(\"https\") ? \"wss\" : \"ws\",\n hostname,\n port,\n pathname: \"/api\",\n query: Object.assign(Object.assign({}, this.query), { shellToken: Buffer.from(authTokenArray).toString(\"base64\") }),\n slashes: true,\n });\n const onReady = Object(lodash__WEBPACK_IMPORTED_MODULE_8__[\"once\"])((data) => {\n this.isReady = true;\n this.emit(\"ready\");\n this.removeListener(\"data\", onReady);\n this.removeListener(\"connected\", onReady);\n this.flush();\n // data is undefined if the event that was handled is \"connected\"\n if (data === undefined) {\n /**\n * Output the last line, the makes sure that the terminal isn't completely\n * empty when the user refreshes.\n */\n this.emit(\"data\", window.localStorage.getItem(`${this.query.id}:last-data`));\n }\n });\n this.prependListener(\"data\", onReady);\n this.prependListener(\"connected\", onReady);\n super.connect(socketUrl);\n this.socket.binaryType = \"arraybuffer\";\n }\n sendMessage(message) {\n return this.send(Object(v8__WEBPACK_IMPORTED_MODULE_7__[\"serialize\"])(message));\n }\n sendTerminalSize(cols, rows) {\n const newSize = { width: cols, height: rows };\n if (!lodash_isEqual__WEBPACK_IMPORTED_MODULE_2___default()(this.size, newSize)) {\n this.sendMessage({\n type: TerminalChannels.RESIZE,\n data: newSize,\n });\n this.size = newSize;\n }\n }\n _onMessage(_a) {\n var { data } = _a, evt = __rest(_a, [\"data\"]);\n try {\n const message = Object(v8__WEBPACK_IMPORTED_MODULE_7__[\"deserialize\"])(new Uint8Array(data));\n switch (message.type) {\n case TerminalChannels.STDOUT:\n /**\n * save the last data for reconnections. User localStorage because we\n * don't want this data to survive if the app is closed\n */\n window.localStorage.setItem(`${this.query.id}:last-data`, message.data);\n super._onMessage(Object.assign({ data: message.data }, evt));\n break;\n case TerminalChannels.CONNECTED:\n this.emit(\"connected\");\n break;\n default:\n _common_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].warn(`[TERMINAL-API]: unknown or unhandleable message type`, message);\n break;\n }\n }\n catch (error) {\n _common_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`[TERMINAL-API]: failed to handle message`, error);\n }\n }\n _onOpen(evt) {\n // Client should send terminal size in special channel 4,\n // But this size will be changed by terminal.fit()\n this.sendTerminalSize(120, 80);\n super._onOpen(evt);\n }\n _onClose(evt) {\n super._onClose(evt);\n this.isReady = false;\n }\n emitStatus(data, options = {}) {\n const { color, showTime } = options;\n const time = showTime ? `${(new Date()).toLocaleString()} ` : \"\";\n if (color) {\n data = `${color}${data}${TerminalColor.NO_COLOR}`;\n }\n this.emit(\"data\", `${time}${data}\\r\\n`);\n }\n emitError(error) {\n this.emitStatus(error, {\n color: TerminalColor.RED,\n });\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_4__[\"observable\"],\n __metadata(\"design:type\", Object)\n], TerminalApi.prototype, \"isReady\", void 0);\n\n\n//# sourceURL=webpack:///./src/renderer/api/terminal-api.ts?");
41320
41320
 
41321
41321
  /***/ }),
41322
41322
 
@@ -42815,7 +42815,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
42815
42815
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
42816
42816
 
42817
42817
  "use strict";
42818
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SettingLayout\", function() { return SettingLayout; });\n/* harmony import */ var _setting_layout_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setting-layout.scss */ \"./src/renderer/components/layout/setting-layout.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _navigation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../navigation */ \"./src/renderer/navigation/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\nconst defaultProps = {\n provideBackButtonNavigation: true,\n contentGaps: true,\n back: () => _navigation__WEBPACK_IMPORTED_MODULE_4__[\"navigation\"].goBack(),\n};\n/**\n * Layout for settings like pages with navigation\n */\nlet SettingLayout = class SettingLayout extends react__WEBPACK_IMPORTED_MODULE_1___default.a.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"onEscapeKey\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (evt) => {\n if (!this.props.provideBackButtonNavigation) {\n return;\n }\n if (evt.code === \"Escape\") {\n evt.stopPropagation();\n this.props.back(evt);\n }\n }\n });\n }\n async componentDidMount() {\n var _a;\n const { hash } = window.location;\n if (hash) {\n (_a = document.querySelector(hash)) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n }\n window.addEventListener(\"keydown\", this.onEscapeKey);\n }\n componentWillUnmount() {\n window.removeEventListener(\"keydown\", this.onEscapeKey);\n }\n render() {\n const _a = this.props, { contentClass, provideBackButtonNavigation, contentGaps, navigation, children, back } = _a, elemProps = __rest(_a, [\"contentClass\", \"provideBackButtonNavigation\", \"contentGaps\", \"navigation\", \"children\", \"back\"]);\n const className = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"cssNames\"])(\"SettingLayout\", { showNavigation: navigation }, this.props.className);\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", Object.assign({}, elemProps, { className: className }),\n navigation && (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"nav\", { className: \"sidebarRegion\" },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"sidebar\" }, navigation))),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"contentRegion\", id: \"ScrollSpyRoot\" },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"cssNames\"])(\"content\", contentClass, contentGaps && \"flex column gaps\") }, children),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"toolsRegion\" }, this.props.provideBackButtonNavigation && (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"fixedTools\" },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"closeBtn\", role: \"button\", \"aria-label\": \"Close\", onClick: back },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_icon__WEBPACK_IMPORTED_MODULE_5__[\"Icon\"], { material: \"close\" })),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"esc\", \"aria-hidden\": \"true\" }, \"ESC\")))))));\n }\n};\nObject.defineProperty(SettingLayout, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\nSettingLayout = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_2__[\"observer\"]\n], SettingLayout);\n\n\n\n//# sourceURL=webpack:///./src/renderer/components/layout/setting-layout.tsx?");
42818
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SettingLayout\", function() { return SettingLayout; });\n/* harmony import */ var _setting_layout_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setting-layout.scss */ \"./src/renderer/components/layout/setting-layout.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _navigation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../navigation */ \"./src/renderer/navigation/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _common_routes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/routes */ \"./src/common/routes/index.ts\");\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\nconst defaultProps = {\n provideBackButtonNavigation: true,\n contentGaps: true,\n back: () => {\n if (_navigation__WEBPACK_IMPORTED_MODULE_4__[\"navigation\"].length <= 1) {\n _navigation__WEBPACK_IMPORTED_MODULE_4__[\"navigation\"].push(Object(_common_routes__WEBPACK_IMPORTED_MODULE_6__[\"catalogURL\"])());\n }\n else {\n _navigation__WEBPACK_IMPORTED_MODULE_4__[\"navigation\"].goBack();\n }\n },\n};\n/**\n * Layout for settings like pages with navigation\n */\nlet SettingLayout = class SettingLayout extends react__WEBPACK_IMPORTED_MODULE_1___default.a.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"onEscapeKey\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (evt) => {\n if (!this.props.provideBackButtonNavigation) {\n return;\n }\n if (evt.code === \"Escape\") {\n evt.stopPropagation();\n this.props.back(evt);\n }\n }\n });\n }\n async componentDidMount() {\n var _a;\n const { hash } = window.location;\n if (hash) {\n (_a = document.querySelector(hash)) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n }\n window.addEventListener(\"keydown\", this.onEscapeKey);\n }\n componentWillUnmount() {\n window.removeEventListener(\"keydown\", this.onEscapeKey);\n }\n render() {\n const _a = this.props, { contentClass, provideBackButtonNavigation, contentGaps, navigation, children, back } = _a, elemProps = __rest(_a, [\"contentClass\", \"provideBackButtonNavigation\", \"contentGaps\", \"navigation\", \"children\", \"back\"]);\n const className = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"cssNames\"])(\"SettingLayout\", { showNavigation: navigation }, this.props.className);\n return (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", Object.assign({}, elemProps, { className: className }),\n navigation && (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"nav\", { className: \"sidebarRegion\" },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"sidebar\" }, navigation))),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"contentRegion\", id: \"ScrollSpyRoot\" },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"cssNames\"])(\"content\", contentClass, contentGaps && \"flex column gaps\") }, children),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"toolsRegion\" }, this.props.provideBackButtonNavigation && (react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"fixedTools\" },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"closeBtn\", role: \"button\", \"aria-label\": \"Close\", onClick: back },\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_icon__WEBPACK_IMPORTED_MODULE_5__[\"Icon\"], { material: \"close\" })),\n react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", { className: \"esc\", \"aria-hidden\": \"true\" }, \"ESC\")))))));\n }\n};\nObject.defineProperty(SettingLayout, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\nSettingLayout = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_2__[\"observer\"]\n], SettingLayout);\n\n\n\n//# sourceURL=webpack:///./src/renderer/components/layout/setting-layout.tsx?");
42819
42819
 
42820
42820
  /***/ }),
42821
42821
 
@@ -43871,18 +43871,6 @@ eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"Light (Lens)\\\",\\\"type\
43871
43871
 
43872
43872
  /***/ }),
43873
43873
 
43874
- /***/ "./src/renderer/utils/copyToClipboard.ts":
43875
- /*!***********************************************!*\
43876
- !*** ./src/renderer/utils/copyToClipboard.ts ***!
43877
- \***********************************************/
43878
- /*! exports provided: copyToClipboard */
43879
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
43880
-
43881
- "use strict";
43882
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copyToClipboard\", function() { return copyToClipboard; });\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// Helper for selecting element's text content and copy in clipboard\nfunction copyToClipboard(elem, { resetSelection = true } = {}) {\n let clearSelection;\n if (isSelectable(elem)) {\n elem.select();\n clearSelection = () => elem.setSelectionRange(0, 0);\n }\n else {\n const selection = window.getSelection();\n selection.selectAllChildren(elem);\n clearSelection = () => selection.removeAllRanges();\n }\n const selectedText = document.getSelection().toString();\n const isCopied = document.execCommand(\"copy\");\n if (resetSelection) {\n clearSelection();\n }\n return {\n copied: isCopied,\n copiedText: selectedText,\n clearSelection,\n };\n}\nfunction isSelectable(elem) {\n return !!elem.select;\n}\n\n\n//# sourceURL=webpack:///./src/renderer/utils/copyToClipboard.ts?");
43883
-
43884
- /***/ }),
43885
-
43886
43874
  /***/ "./src/renderer/utils/createStorage.ts":
43887
43875
  /*!*********************************************!*\
43888
43876
  !*** ./src/renderer/utils/createStorage.ts ***!
@@ -43935,11 +43923,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
43935
43923
  /*!*************************************!*\
43936
43924
  !*** ./src/renderer/utils/index.ts ***!
43937
43925
  \*************************************/
43938
- /*! exports provided: noop, getAppVersion, getBundledKubectlVersion, getAppVersionFromProxyServer, autoBind, boundClass, boundMethod, toCamelCase, cloneJsonObject, getClusterIdFromHost, getClusterFrameUrl, getHostedClusterId, isClusterPageContext, cpuUnitsToNumber, unitsToBytes, bytesToUnits, debouncePromise, defineGlobal, delay, disposer, downloadFile, downloadJson, escapeRegExp, multiSet, ExtendedMap, ExtendedObservableMap, formatDuration, getRandId, makeIterableIterator, HashSet, ObservableHashSet, storedKubeConfigFolder, getCustomKubeConfigPath, nFircate, fromEntries, openExternal, resolveTilde, resolvePath, isLogicalChildPath, rejectPromiseBy, Singleton, Ordering, rectifyOrdering, sortCompare, sortCompareChartVersions, sortCharts, splitArray, bifurcateArray, readFileFromTar, listTarEntries, extractTar, ToggleSet, ObservableToggleSet, toJS, hasOwnProperty, hasOwnProperties, hasTypedProperty, hasOptionalProperty, isRecord, isTypedArray, isString, isObject, bindPredicate, iter, array, tuple, base64, EventEmitter, copyToClipboard, createStorage, cssNames, cssVar, displayBooleans, interval, isMiddleClick, isReactNode, metricUnitsToNumber, getConvertedParts, prevDefault, stopPropagation, saveFileDialog, StorageHelper */
43926
+ /*! exports provided: noop, getAppVersion, getBundledKubectlVersion, getAppVersionFromProxyServer, autoBind, boundClass, boundMethod, toCamelCase, cloneJsonObject, getClusterIdFromHost, getClusterFrameUrl, getHostedClusterId, isClusterPageContext, cpuUnitsToNumber, unitsToBytes, bytesToUnits, debouncePromise, defineGlobal, delay, disposer, downloadFile, downloadJson, escapeRegExp, multiSet, ExtendedMap, ExtendedObservableMap, formatDuration, getRandId, makeIterableIterator, HashSet, ObservableHashSet, storedKubeConfigFolder, getCustomKubeConfigPath, nFircate, fromEntries, openExternal, resolveTilde, resolvePath, isLogicalChildPath, rejectPromiseBy, Singleton, Ordering, rectifyOrdering, sortCompare, sortCompareChartVersions, sortCharts, splitArray, bifurcateArray, readFileFromTar, listTarEntries, extractTar, ToggleSet, ObservableToggleSet, toJS, hasOwnProperty, hasOwnProperties, hasTypedProperty, hasOptionalProperty, isRecord, isTypedArray, isString, isObject, bindPredicate, iter, array, tuple, base64, EventEmitter, createStorage, cssNames, cssVar, displayBooleans, interval, isMiddleClick, isReactNode, metricUnitsToNumber, getConvertedParts, prevDefault, stopPropagation, saveFileDialog, StorageHelper */
43939
43927
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
43940
43928
 
43941
43929
  "use strict";
43942
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"noop\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"noop\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getAppVersion\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getAppVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getBundledKubectlVersion\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getBundledKubectlVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getAppVersionFromProxyServer\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getAppVersionFromProxyServer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"autoBind\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"autoBind\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"boundClass\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"boundClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"boundMethod\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"boundMethod\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCamelCase\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"toCamelCase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneJsonObject\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"cloneJsonObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getClusterIdFromHost\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getClusterIdFromHost\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getClusterFrameUrl\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getClusterFrameUrl\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getHostedClusterId\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getHostedClusterId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isClusterPageContext\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isClusterPageContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cpuUnitsToNumber\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"cpuUnitsToNumber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unitsToBytes\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"unitsToBytes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bytesToUnits\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"bytesToUnits\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"debouncePromise\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"debouncePromise\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defineGlobal\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"defineGlobal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"delay\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"delay\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"disposer\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"disposer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"downloadFile\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"downloadFile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"downloadJson\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"downloadJson\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"escapeRegExp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"multiSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"multiSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExtendedMap\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ExtendedMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExtendedObservableMap\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ExtendedObservableMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatDuration\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"formatDuration\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getRandId\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getRandId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"makeIterableIterator\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"makeIterableIterator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HashSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"HashSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ObservableHashSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ObservableHashSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"storedKubeConfigFolder\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"storedKubeConfigFolder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getCustomKubeConfigPath\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getCustomKubeConfigPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nFircate\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"nFircate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fromEntries\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"fromEntries\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"openExternal\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"openExternal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resolveTilde\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"resolveTilde\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resolvePath\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"resolvePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isLogicalChildPath\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isLogicalChildPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rejectPromiseBy\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"rejectPromiseBy\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Singleton\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"Singleton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ordering\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"Ordering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectifyOrdering\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"rectifyOrdering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCompare\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"sortCompare\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCompareChartVersions\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"sortCompareChartVersions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCharts\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"sortCharts\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"splitArray\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"splitArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bifurcateArray\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"bifurcateArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"readFileFromTar\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"readFileFromTar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"listTarEntries\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"listTarEntries\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extractTar\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"extractTar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ToggleSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ToggleSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ObservableToggleSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ObservableToggleSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toJS\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"toJS\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOwnProperty\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasOwnProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOwnProperties\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasOwnProperties\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasTypedProperty\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasTypedProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOptionalProperty\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasOptionalProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isRecord\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isRecord\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isTypedArray\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isTypedArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bindPredicate\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"bindPredicate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"iter\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"iter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"array\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"array\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tuple\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"tuple\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"base64\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"base64\"]; });\n\n/* harmony import */ var _common_event_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/event-emitter */ \"./src/common/event-emitter.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EventEmitter\", function() { return _common_event_emitter__WEBPACK_IMPORTED_MODULE_1__[\"EventEmitter\"]; });\n\n/* harmony import */ var _copyToClipboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./copyToClipboard */ \"./src/renderer/utils/copyToClipboard.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"copyToClipboard\", function() { return _copyToClipboard__WEBPACK_IMPORTED_MODULE_2__[\"copyToClipboard\"]; });\n\n/* harmony import */ var _createStorage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createStorage */ \"./src/renderer/utils/createStorage.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createStorage\", function() { return _createStorage__WEBPACK_IMPORTED_MODULE_3__[\"createStorage\"]; });\n\n/* harmony import */ var _cssNames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cssNames */ \"./src/renderer/utils/cssNames.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cssNames\", function() { return _cssNames__WEBPACK_IMPORTED_MODULE_4__[\"cssNames\"]; });\n\n/* harmony import */ var _cssVar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cssVar */ \"./src/renderer/utils/cssVar.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cssVar\", function() { return _cssVar__WEBPACK_IMPORTED_MODULE_5__[\"cssVar\"]; });\n\n/* harmony import */ var _display_booleans__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./display-booleans */ \"./src/renderer/utils/display-booleans.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"displayBooleans\", function() { return _display_booleans__WEBPACK_IMPORTED_MODULE_6__[\"displayBooleans\"]; });\n\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./interval */ \"./src/renderer/utils/interval.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interval\", function() { return _interval__WEBPACK_IMPORTED_MODULE_7__[\"interval\"]; });\n\n/* harmony import */ var _isMiddleClick__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./isMiddleClick */ \"./src/renderer/utils/isMiddleClick.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMiddleClick\", function() { return _isMiddleClick__WEBPACK_IMPORTED_MODULE_8__[\"isMiddleClick\"]; });\n\n/* harmony import */ var _isReactNode__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./isReactNode */ \"./src/renderer/utils/isReactNode.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isReactNode\", function() { return _isReactNode__WEBPACK_IMPORTED_MODULE_9__[\"isReactNode\"]; });\n\n/* harmony import */ var _metricUnitsToNumber__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./metricUnitsToNumber */ \"./src/renderer/utils/metricUnitsToNumber.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"metricUnitsToNumber\", function() { return _metricUnitsToNumber__WEBPACK_IMPORTED_MODULE_10__[\"metricUnitsToNumber\"]; });\n\n/* harmony import */ var _name_parts__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./name-parts */ \"./src/renderer/utils/name-parts.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getConvertedParts\", function() { return _name_parts__WEBPACK_IMPORTED_MODULE_11__[\"getConvertedParts\"]; });\n\n/* harmony import */ var _prevDefault__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./prevDefault */ \"./src/renderer/utils/prevDefault.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"prevDefault\", function() { return _prevDefault__WEBPACK_IMPORTED_MODULE_12__[\"prevDefault\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stopPropagation\", function() { return _prevDefault__WEBPACK_IMPORTED_MODULE_12__[\"stopPropagation\"]; });\n\n/* harmony import */ var _saveFile__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./saveFile */ \"./src/renderer/utils/saveFile.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"saveFileDialog\", function() { return _saveFile__WEBPACK_IMPORTED_MODULE_13__[\"saveFileDialog\"]; });\n\n/* harmony import */ var _storageHelper__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./storageHelper */ \"./src/renderer/utils/storageHelper.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StorageHelper\", function() { return _storageHelper__WEBPACK_IMPORTED_MODULE_14__[\"StorageHelper\"]; });\n\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// Common usage utils & helpers\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/renderer/utils/index.ts?");
43930
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"noop\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"noop\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getAppVersion\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getAppVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getBundledKubectlVersion\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getBundledKubectlVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getAppVersionFromProxyServer\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getAppVersionFromProxyServer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"autoBind\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"autoBind\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"boundClass\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"boundClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"boundMethod\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"boundMethod\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCamelCase\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"toCamelCase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cloneJsonObject\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"cloneJsonObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getClusterIdFromHost\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getClusterIdFromHost\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getClusterFrameUrl\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getClusterFrameUrl\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getHostedClusterId\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getHostedClusterId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isClusterPageContext\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isClusterPageContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cpuUnitsToNumber\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"cpuUnitsToNumber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unitsToBytes\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"unitsToBytes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bytesToUnits\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"bytesToUnits\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"debouncePromise\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"debouncePromise\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defineGlobal\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"defineGlobal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"delay\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"delay\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"disposer\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"disposer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"downloadFile\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"downloadFile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"downloadJson\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"downloadJson\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"escapeRegExp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"multiSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"multiSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExtendedMap\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ExtendedMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExtendedObservableMap\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ExtendedObservableMap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatDuration\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"formatDuration\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getRandId\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getRandId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"makeIterableIterator\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"makeIterableIterator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HashSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"HashSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ObservableHashSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ObservableHashSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"storedKubeConfigFolder\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"storedKubeConfigFolder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getCustomKubeConfigPath\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"getCustomKubeConfigPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nFircate\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"nFircate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fromEntries\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"fromEntries\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"openExternal\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"openExternal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resolveTilde\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"resolveTilde\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"resolvePath\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"resolvePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isLogicalChildPath\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isLogicalChildPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rejectPromiseBy\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"rejectPromiseBy\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Singleton\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"Singleton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Ordering\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"Ordering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectifyOrdering\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"rectifyOrdering\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCompare\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"sortCompare\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCompareChartVersions\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"sortCompareChartVersions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortCharts\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"sortCharts\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"splitArray\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"splitArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bifurcateArray\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"bifurcateArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"readFileFromTar\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"readFileFromTar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"listTarEntries\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"listTarEntries\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extractTar\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"extractTar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ToggleSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ToggleSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ObservableToggleSet\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"ObservableToggleSet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toJS\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"toJS\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOwnProperty\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasOwnProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOwnProperties\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasOwnProperties\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasTypedProperty\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasTypedProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasOptionalProperty\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"hasOptionalProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isRecord\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isRecord\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isTypedArray\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isTypedArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bindPredicate\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"bindPredicate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"iter\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"iter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"array\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"array\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tuple\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"tuple\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"base64\", function() { return _common_utils__WEBPACK_IMPORTED_MODULE_0__[\"base64\"]; });\n\n/* harmony import */ var _common_event_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/event-emitter */ \"./src/common/event-emitter.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EventEmitter\", function() { return _common_event_emitter__WEBPACK_IMPORTED_MODULE_1__[\"EventEmitter\"]; });\n\n/* harmony import */ var _createStorage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createStorage */ \"./src/renderer/utils/createStorage.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createStorage\", function() { return _createStorage__WEBPACK_IMPORTED_MODULE_2__[\"createStorage\"]; });\n\n/* harmony import */ var _cssNames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cssNames */ \"./src/renderer/utils/cssNames.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cssNames\", function() { return _cssNames__WEBPACK_IMPORTED_MODULE_3__[\"cssNames\"]; });\n\n/* harmony import */ var _cssVar__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cssVar */ \"./src/renderer/utils/cssVar.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cssVar\", function() { return _cssVar__WEBPACK_IMPORTED_MODULE_4__[\"cssVar\"]; });\n\n/* harmony import */ var _display_booleans__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./display-booleans */ \"./src/renderer/utils/display-booleans.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"displayBooleans\", function() { return _display_booleans__WEBPACK_IMPORTED_MODULE_5__[\"displayBooleans\"]; });\n\n/* harmony import */ var _interval__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./interval */ \"./src/renderer/utils/interval.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"interval\", function() { return _interval__WEBPACK_IMPORTED_MODULE_6__[\"interval\"]; });\n\n/* harmony import */ var _isMiddleClick__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isMiddleClick */ \"./src/renderer/utils/isMiddleClick.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMiddleClick\", function() { return _isMiddleClick__WEBPACK_IMPORTED_MODULE_7__[\"isMiddleClick\"]; });\n\n/* harmony import */ var _isReactNode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./isReactNode */ \"./src/renderer/utils/isReactNode.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isReactNode\", function() { return _isReactNode__WEBPACK_IMPORTED_MODULE_8__[\"isReactNode\"]; });\n\n/* harmony import */ var _metricUnitsToNumber__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./metricUnitsToNumber */ \"./src/renderer/utils/metricUnitsToNumber.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"metricUnitsToNumber\", function() { return _metricUnitsToNumber__WEBPACK_IMPORTED_MODULE_9__[\"metricUnitsToNumber\"]; });\n\n/* harmony import */ var _name_parts__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./name-parts */ \"./src/renderer/utils/name-parts.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getConvertedParts\", function() { return _name_parts__WEBPACK_IMPORTED_MODULE_10__[\"getConvertedParts\"]; });\n\n/* harmony import */ var _prevDefault__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./prevDefault */ \"./src/renderer/utils/prevDefault.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"prevDefault\", function() { return _prevDefault__WEBPACK_IMPORTED_MODULE_11__[\"prevDefault\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stopPropagation\", function() { return _prevDefault__WEBPACK_IMPORTED_MODULE_11__[\"stopPropagation\"]; });\n\n/* harmony import */ var _saveFile__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./saveFile */ \"./src/renderer/utils/saveFile.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"saveFileDialog\", function() { return _saveFile__WEBPACK_IMPORTED_MODULE_12__[\"saveFileDialog\"]; });\n\n/* harmony import */ var _storageHelper__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./storageHelper */ \"./src/renderer/utils/storageHelper.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StorageHelper\", function() { return _storageHelper__WEBPACK_IMPORTED_MODULE_13__[\"StorageHelper\"]; });\n\n/**\n * Copyright (c) 2021 OpenLens Authors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// Common usage utils & helpers\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/renderer/utils/index.ts?");
43943
43931
 
43944
43932
  /***/ }),
43945
43933
 
@@ -43,9 +43,16 @@ export declare class LensProxy extends Singleton {
43
43
  protected getClusterForRequest: GetClusterForRequest;
44
44
  port: number;
45
45
  constructor(router: Router, { shellApiRequest, kubeApiRequest, getClusterForRequest }: LensProxyFunctions);
46
+ /**
47
+ * Starts to listen on an OS provided port. Will reject if the server throws
48
+ * an error.
49
+ *
50
+ * Resolves with the port number that was picked
51
+ */
52
+ private attemptToListen;
46
53
  /**
47
54
  * Starts the lens proxy.
48
- * @resolves After the server is listening
55
+ * @resolves After the server is listening on a good port
49
56
  * @rejects if there is an error before that happens
50
57
  */
51
58
  listen(): Promise<void>;
@@ -69,8 +69,6 @@ export declare class TerminalApi extends WebSocketApi<TerminalEvents> {
69
69
  isReady: boolean;
70
70
  constructor(query: TerminalApiQuery);
71
71
  connect(): Promise<void>;
72
- destroy(): void;
73
- reconnect(): void;
74
72
  sendMessage(message: TerminalMessage): void;
75
73
  sendTerminalSize(cols: number, rows: number): void;
76
74
  protected _onMessage({ data, ...evt }: MessageEvent<ArrayBuffer>): void;
@@ -28,7 +28,6 @@ interface IKubeconfigDialogData {
28
28
  interface Props extends Partial<DialogProps> {
29
29
  }
30
30
  export declare class KubeConfigDialog extends React.Component<Props> {
31
- configTextArea: HTMLTextAreaElement;
32
31
  config: string;
33
32
  constructor(props: Props);
34
33
  static open(data: IKubeconfigDialogData): void;
@@ -20,7 +20,6 @@
20
20
  */
21
21
  export * from "../../common/utils";
22
22
  export * from "../../common/event-emitter";
23
- export * from "./copyToClipboard";
24
23
  export * from "./createStorage";
25
24
  export * from "./cssNames";
26
25
  export * from "./cssVar";
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@k8slens/extensions",
3
3
  "productName": "OpenLens extensions",
4
4
  "description": "OpenLens - Open Source Kubernetes IDE: extensions",
5
- "version": "5.3.1-git.541c00cf24.0",
5
+ "version": "5.3.1-git.56e72b3a74.0",
6
6
  "copyright": "© 2021 OpenLens Authors",
7
7
  "license": "MIT",
8
8
  "main": "dist/src/extensions/extension-api.js",
@@ -1,37 +0,0 @@
1
- /**
2
- * Copyright (c) 2021 OpenLens Authors
3
- *
4
- * Permission is hereby granted, free of charge, to any person obtaining a copy of
5
- * this software and associated documentation files (the "Software"), to deal in
6
- * the Software without restriction, including without limitation the rights to
7
- * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
- * the Software, and to permit persons to whom the Software is furnished to do so,
9
- * subject to the following conditions:
10
- *
11
- * The above copyright notice and this permission notice shall be included in all
12
- * copies or substantial portions of the Software.
13
- *
14
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
- * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
- * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
- */
21
- import "./clipboard.scss";
22
- import React from "react";
23
- export interface CopyToClipboardProps {
24
- resetSelection?: boolean;
25
- showNotification?: boolean;
26
- cssSelectorLimit?: string;
27
- getNotificationMessage?(copiedText: string): React.ReactNode;
28
- }
29
- export declare const defaultProps: Partial<CopyToClipboardProps>;
30
- export declare class Clipboard extends React.Component<CopyToClipboardProps> {
31
- static displayName: string;
32
- static defaultProps: object;
33
- get rootElem(): HTMLElement;
34
- get rootReactElem(): React.ReactElement<React.HTMLProps<any>>;
35
- onClick(evt: React.MouseEvent): void;
36
- render(): React.ReactElement<React.HTMLProps<any>, string | React.JSXElementConstructor<any>>;
37
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * Copyright (c) 2021 OpenLens Authors
3
- *
4
- * Permission is hereby granted, free of charge, to any person obtaining a copy of
5
- * this software and associated documentation files (the "Software"), to deal in
6
- * the Software without restriction, including without limitation the rights to
7
- * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
- * the Software, and to permit persons to whom the Software is furnished to do so,
9
- * subject to the following conditions:
10
- *
11
- * The above copyright notice and this permission notice shall be included in all
12
- * copies or substantial portions of the Software.
13
- *
14
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
- * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
- * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
- */
21
- export * from "./clipboard";
@@ -1,27 +0,0 @@
1
- /**
2
- * Copyright (c) 2021 OpenLens Authors
3
- *
4
- * Permission is hereby granted, free of charge, to any person obtaining a copy of
5
- * this software and associated documentation files (the "Software"), to deal in
6
- * the Software without restriction, including without limitation the rights to
7
- * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8
- * the Software, and to permit persons to whom the Software is furnished to do so,
9
- * subject to the following conditions:
10
- *
11
- * The above copyright notice and this permission notice shall be included in all
12
- * copies or substantial portions of the Software.
13
- *
14
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16
- * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17
- * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
- */
21
- export declare function copyToClipboard(elem: HTMLElement, { resetSelection }?: {
22
- resetSelection?: boolean;
23
- }): {
24
- copied: boolean;
25
- copiedText: string;
26
- clearSelection: () => void;
27
- };