/*
 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
 * This devtool is neither made for production nor for readable output files.
 * It uses "eval()" calls to create a separate source file in the browser devtools.
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 * or disable the default devtool with "devtool: false".
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 */
(self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] = self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] || []).push([["vendors-node_modules_jupyterlab_apputils-extension_lib_index_js"],{

/***/ "../node_modules/@jupyterlab/apputils-extension/lib/index.js":
/*!*******************************************************************!*\
  !*** ../node_modules/@jupyterlab/apputils-extension/lib/index.js ***!
  \*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"toggleHeader\": () => (/* binding */ toggleHeader),\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/application */ \"webpack/sharing/consume/default/@jupyterlab/application/@jupyterlab/application\");\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/settingregistry */ \"webpack/sharing/consume/default/@jupyterlab/settingregistry/@jupyterlab/settingregistry\");\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/statedb */ \"webpack/sharing/consume/default/@jupyterlab/statedb/@jupyterlab/statedb\");\n/* harmony import */ var _jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _lumino_disposable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @lumino/disposable */ \"webpack/sharing/consume/default/@lumino/disposable/@lumino/disposable\");\n/* harmony import */ var _lumino_disposable__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_lumino_disposable__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _lumino_polling__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @lumino/polling */ \"webpack/sharing/consume/default/@lumino/polling/@lumino/polling\");\n/* harmony import */ var _lumino_polling__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_lumino_polling__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./palette */ \"../node_modules/@jupyterlab/apputils-extension/lib/palette.js\");\n/* harmony import */ var _settingsplugin__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./settingsplugin */ \"../node_modules/@jupyterlab/apputils-extension/lib/settingsplugin.js\");\n/* harmony import */ var _themesplugins__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./themesplugins */ \"../node_modules/@jupyterlab/apputils-extension/lib/themesplugins.js\");\n/* harmony import */ var _workspacesplugin__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./workspacesplugin */ \"../node_modules/@jupyterlab/apputils-extension/lib/workspacesplugin.js\");\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n/**\n * @packageDocumentation\n * @module apputils-extension\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The interval in milliseconds before recover options appear during splash.\n */\nconst SPLASH_RECOVER_TIMEOUT = 12000;\n/**\n * The command IDs used by the apputils plugin.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n    CommandIDs.loadState = 'apputils:load-statedb';\n    CommandIDs.print = 'apputils:print';\n    CommandIDs.reset = 'apputils:reset';\n    CommandIDs.resetOnLoad = 'apputils:reset-on-load';\n    CommandIDs.runFirstEnabled = 'apputils:run-first-enabled';\n    CommandIDs.runAllEnabled = 'apputils:run-all-enabled';\n    CommandIDs.toggleHeader = 'apputils:toggle-header';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * The default command palette extension.\n */\nconst palette = {\n    id: '@jupyterlab/apputils-extension:palette',\n    autoStart: true,\n    requires: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__.ITranslator],\n    provides: _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ICommandPalette,\n    optional: [_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3__.ISettingRegistry],\n    activate: (app, translator, settingRegistry) => {\n        return _palette__WEBPACK_IMPORTED_MODULE_10__.Palette.activate(app, translator, settingRegistry);\n    }\n};\n/**\n * The default command palette's restoration extension.\n *\n * #### Notes\n * The command palette's restoration logic is handled separately from the\n * command palette provider extension because the layout restorer dependency\n * causes the command palette to be unavailable to other extensions earlier\n * in the application load cycle.\n */\nconst paletteRestorer = {\n    id: '@jupyterlab/apputils-extension:palette-restorer',\n    autoStart: true,\n    requires: [_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILayoutRestorer, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__.ITranslator],\n    activate: (app, restorer, translator) => {\n        _palette__WEBPACK_IMPORTED_MODULE_10__.Palette.restore(app, restorer, translator);\n    }\n};\n/**\n * The default window name resolver provider.\n */\nconst resolver = {\n    id: '@jupyterlab/apputils-extension:resolver',\n    autoStart: true,\n    provides: _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.IWindowResolver,\n    requires: [_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.JupyterFrontEnd.IPaths, _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.IRouter],\n    activate: async (app, paths, router) => {\n        const { hash, search } = router.current;\n        const query = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.queryStringToObject(search || '');\n        const solver = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.WindowResolver();\n        const workspace = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.PageConfig.getOption('workspace');\n        const treePath = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.PageConfig.getOption('treePath');\n        const mode = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.PageConfig.getOption('mode') === 'multiple-document' ? 'lab' : 'doc';\n        // This is used as a key in local storage to refer to workspaces, either the name\n        // of the workspace or the string PageConfig.defaultWorkspace. Both lab and doc modes share the same workspace.\n        const candidate = workspace ? workspace : _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.PageConfig.defaultWorkspace;\n        const rest = treePath ? _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.join('tree', treePath) : '';\n        try {\n            await solver.resolve(candidate);\n            return solver;\n        }\n        catch (error) {\n            // Window resolution has failed so the URL must change. Return a promise\n            // that never resolves to prevent the application from loading plugins\n            // that rely on `IWindowResolver`.\n            return new Promise(() => {\n                const { base } = paths.urls;\n                const pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\n                const random = pool[Math.floor(Math.random() * pool.length)];\n                let path = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.join(base, mode, 'workspaces', `auto-${random}`);\n                path = rest ? _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.join(path, _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.encodeParts(rest)) : path;\n                // Reset the workspace on load.\n                query['reset'] = '';\n                const url = path + _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.objectToQueryString(query) + (hash || '');\n                router.navigate(url, { hard: true });\n            });\n        }\n    }\n};\n/**\n * The default splash screen provider.\n */\nconst splash = {\n    id: '@jupyterlab/apputils-extension:splash',\n    autoStart: true,\n    requires: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__.ITranslator],\n    provides: _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ISplashScreen,\n    activate: (app, translator) => {\n        const trans = translator.load('jupyterlab');\n        const { commands, restored } = app;\n        // Create splash element and populate it.\n        const splash = document.createElement('div');\n        const galaxy = document.createElement('div');\n        const logo = document.createElement('div');\n        splash.id = 'jupyterlab-splash';\n        galaxy.id = 'galaxy';\n        logo.id = 'main-logo';\n        _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_6__.jupyterFaviconIcon.element({\n            container: logo,\n            stylesheet: 'splash'\n        });\n        galaxy.appendChild(logo);\n        ['1', '2', '3'].forEach(id => {\n            const moon = document.createElement('div');\n            const planet = document.createElement('div');\n            moon.id = `moon${id}`;\n            moon.className = 'moon orbit';\n            planet.id = `planet${id}`;\n            planet.className = 'planet';\n            moon.appendChild(planet);\n            galaxy.appendChild(moon);\n        });\n        splash.appendChild(galaxy);\n        // Create debounced recovery dialog function.\n        let dialog;\n        const recovery = new _lumino_polling__WEBPACK_IMPORTED_MODULE_9__.Throttler(async () => {\n            if (dialog) {\n                return;\n            }\n            dialog = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog({\n                title: trans.__('Loading…'),\n                body: trans.__(`The loading screen is taking a long time.\nWould you like to clear the workspace or keep waiting?`),\n                buttons: [\n                    _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.cancelButton({ label: trans.__('Keep Waiting') }),\n                    _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.warnButton({ label: trans.__('Clear Workspace') })\n                ]\n            });\n            try {\n                const result = await dialog.launch();\n                dialog.dispose();\n                dialog = null;\n                if (result.button.accept && commands.hasCommand(CommandIDs.reset)) {\n                    return commands.execute(CommandIDs.reset);\n                }\n                // Re-invoke the recovery timer in the next frame.\n                requestAnimationFrame(() => {\n                    // Because recovery can be stopped, handle invocation rejection.\n                    void recovery.invoke().catch(_ => undefined);\n                });\n            }\n            catch (error) {\n                /* no-op */\n            }\n        }, { limit: SPLASH_RECOVER_TIMEOUT, edge: 'trailing' });\n        // Return ISplashScreen.\n        let splashCount = 0;\n        return {\n            show: (light = true) => {\n                splash.classList.remove('splash-fade');\n                splash.classList.toggle('light', light);\n                splash.classList.toggle('dark', !light);\n                splashCount++;\n                document.body.appendChild(splash);\n                // Because recovery can be stopped, handle invocation rejection.\n                void recovery.invoke().catch(_ => undefined);\n                return new _lumino_disposable__WEBPACK_IMPORTED_MODULE_8__.DisposableDelegate(async () => {\n                    await restored;\n                    if (--splashCount === 0) {\n                        void recovery.stop();\n                        if (dialog) {\n                            dialog.dispose();\n                            dialog = null;\n                        }\n                        splash.classList.add('splash-fade');\n                        window.setTimeout(() => {\n                            document.body.removeChild(splash);\n                        }, 200);\n                    }\n                });\n            }\n        };\n    }\n};\nconst print = {\n    id: '@jupyterlab/apputils-extension:print',\n    autoStart: true,\n    requires: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__.ITranslator],\n    activate: (app, translator) => {\n        const trans = translator.load('jupyterlab');\n        app.commands.addCommand(CommandIDs.print, {\n            label: trans.__('Print…'),\n            isEnabled: () => {\n                const widget = app.shell.currentWidget;\n                return _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Printing.getPrintFunction(widget) !== null;\n            },\n            execute: async () => {\n                const widget = app.shell.currentWidget;\n                const printFunction = _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Printing.getPrintFunction(widget);\n                if (printFunction) {\n                    await printFunction();\n                }\n            }\n        });\n    }\n};\nconst toggleHeader = {\n    id: '@jupyterlab/apputils-extension:toggle-header',\n    autoStart: true,\n    requires: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__.ITranslator],\n    optional: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ICommandPalette],\n    activate: (app, translator, palette) => {\n        const trans = translator.load('jupyterlab');\n        const category = trans.__('Main Area');\n        app.commands.addCommand(CommandIDs.toggleHeader, {\n            label: trans.__('Show Header Above Content'),\n            isEnabled: () => app.shell.currentWidget instanceof _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.MainAreaWidget &&\n                app.shell.currentWidget.contentHeader.widgets.length > 0,\n            isToggled: () => {\n                const widget = app.shell.currentWidget;\n                return widget instanceof _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.MainAreaWidget\n                    ? !widget.contentHeader.isHidden\n                    : false;\n            },\n            execute: async () => {\n                const widget = app.shell.currentWidget;\n                if (widget instanceof _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.MainAreaWidget) {\n                    widget.contentHeader.setHidden(!widget.contentHeader.isHidden);\n                }\n            }\n        });\n        if (palette) {\n            palette.addItem({ command: CommandIDs.toggleHeader, category });\n        }\n    }\n};\n/**\n * Update the browser title based on the workspace and the current\n * active item.\n */\nasync function updateTabTitle(workspace, db, name) {\n    var _a, _b;\n    const data = await db.toJSON();\n    let current = (_b = (_a = data['layout-restorer:data']) === null || _a === void 0 ? void 0 : _a.main) === null || _b === void 0 ? void 0 : _b.current;\n    if (current === undefined) {\n        document.title = `${_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.PageConfig.getOption('appName') || 'JupyterLab'}${workspace.startsWith('auto-') ? ` (${workspace})` : ``}`;\n    }\n    else {\n        // First 15 characters of current document name\n        current = current.split(':')[1].slice(0, 15);\n        // Number of restorable items that are either notebooks or editors\n        const count = Object.keys(data).filter(item => item.startsWith('notebook') || item.startsWith('editor')).length;\n        if (workspace.startsWith('auto-')) {\n            document.title = `${current} (${workspace}${count > 1 ? ` : ${count}` : ``}) - ${name}`;\n        }\n        else {\n            document.title = `${current}${count > 1 ? ` (${count})` : ``} - ${name}`;\n        }\n    }\n}\n/**\n * The default state database for storing application state.\n *\n * #### Notes\n * If this extension is loaded with a window resolver, it will automatically add\n * state management commands, URL support for `clone` and `reset`, and workspace\n * auto-saving. Otherwise, it will return a simple in-memory state database.\n */\nconst state = {\n    id: '@jupyterlab/apputils-extension:state',\n    autoStart: true,\n    provides: _jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_4__.IStateDB,\n    requires: [_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.JupyterFrontEnd.IPaths, _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.IRouter, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__.ITranslator],\n    optional: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.IWindowResolver],\n    activate: (app, paths, router, translator, resolver) => {\n        const trans = translator.load('jupyterlab');\n        if (resolver === null) {\n            return new _jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_4__.StateDB();\n        }\n        let resolved = false;\n        const { commands, name, serviceManager } = app;\n        const { workspaces } = serviceManager;\n        const workspace = resolver.name;\n        const transform = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_7__.PromiseDelegate();\n        const db = new _jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_4__.StateDB({ transform: transform.promise });\n        const save = new _lumino_polling__WEBPACK_IMPORTED_MODULE_9__.Debouncer(async () => {\n            const id = workspace;\n            const metadata = { id };\n            const data = await db.toJSON();\n            await workspaces.save(id, { data, metadata });\n        });\n        // Any time the local state database changes, save the workspace.\n        db.changed.connect(() => void save.invoke(), db);\n        db.changed.connect(() => updateTabTitle(workspace, db, name));\n        commands.addCommand(CommandIDs.loadState, {\n            execute: async (args) => {\n                // Since the command can be executed an arbitrary number of times, make\n                // sure it is safe to call multiple times.\n                if (resolved) {\n                    return;\n                }\n                const { hash, path, search } = args;\n                const { urls } = paths;\n                const query = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.queryStringToObject(search || '');\n                const clone = typeof query['clone'] === 'string'\n                    ? query['clone'] === ''\n                        ? _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.join(urls.base, urls.app)\n                        : _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.join(urls.base, urls.app, 'workspaces', query['clone'])\n                    : null;\n                const source = clone || workspace || null;\n                if (source === null) {\n                    console.error(`${CommandIDs.loadState} cannot load null workspace.`);\n                    return;\n                }\n                try {\n                    const saved = await workspaces.fetch(source);\n                    // If this command is called after a reset, the state database\n                    // will already be resolved.\n                    if (!resolved) {\n                        resolved = true;\n                        transform.resolve({ type: 'overwrite', contents: saved.data });\n                    }\n                }\n                catch ({ message }) {\n                    console.warn(`Fetching workspace \"${workspace}\" failed.`, message);\n                    // If the workspace does not exist, cancel the data transformation\n                    // and save a workspace with the current user state data.\n                    if (!resolved) {\n                        resolved = true;\n                        transform.resolve({ type: 'cancel', contents: null });\n                    }\n                }\n                if (source === clone) {\n                    // Maintain the query string parameters but remove `clone`.\n                    delete query['clone'];\n                    const url = path + _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.objectToQueryString(query) + hash;\n                    const cloned = save.invoke().then(() => router.stop);\n                    // After the state has been cloned, navigate to the URL.\n                    void cloned.then(() => {\n                        router.navigate(url);\n                    });\n                    return cloned;\n                }\n                // After the state database has finished loading, save it.\n                await save.invoke();\n            }\n        });\n        commands.addCommand(CommandIDs.reset, {\n            label: trans.__('Reset Application State'),\n            execute: async ({ reload }) => {\n                await db.clear();\n                await save.invoke();\n                if (reload) {\n                    router.reload();\n                }\n            }\n        });\n        commands.addCommand(CommandIDs.resetOnLoad, {\n            execute: (args) => {\n                const { hash, path, search } = args;\n                const query = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.queryStringToObject(search || '');\n                const reset = 'reset' in query;\n                const clone = 'clone' in query;\n                if (!reset) {\n                    return;\n                }\n                // If the state database has already been resolved, resetting is\n                // impossible without reloading.\n                if (resolved) {\n                    return router.reload();\n                }\n                // Empty the state database.\n                resolved = true;\n                transform.resolve({ type: 'clear', contents: null });\n                // Maintain the query string parameters but remove `reset`.\n                delete query['reset'];\n                const url = path + _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.objectToQueryString(query) + hash;\n                const cleared = db.clear().then(() => save.invoke());\n                // After the state has been reset, navigate to the URL.\n                if (clone) {\n                    void cleared.then(() => {\n                        router.navigate(url, { hard: true });\n                    });\n                }\n                else {\n                    void cleared.then(() => {\n                        router.navigate(url);\n                    });\n                }\n                return cleared;\n            }\n        });\n        router.register({\n            command: CommandIDs.loadState,\n            pattern: /.?/,\n            rank: 30 // High priority: 30:100.\n        });\n        router.register({\n            command: CommandIDs.resetOnLoad,\n            pattern: /(\\?reset|\\&reset)($|&)/,\n            rank: 20 // High priority: 20:100.\n        });\n        return db;\n    }\n};\n/**\n * The default session context dialogs extension.\n */\nconst sessionDialogs = {\n    id: '@jupyterlab/apputils-extension:sessionDialogs',\n    provides: _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ISessionContextDialogs,\n    autoStart: true,\n    activate: () => {\n        return _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.sessionContextDialogs;\n    }\n};\n/**\n * Utility commands\n */\nconst utilityCommands = {\n    id: '@jupyterlab/apputils-extension:utilityCommands',\n    requires: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__.ITranslator],\n    autoStart: true,\n    activate: (app, translator) => {\n        const trans = translator.load('jupyterlab');\n        const { commands } = app;\n        commands.addCommand(CommandIDs.runFirstEnabled, {\n            label: trans.__('Run First Enabled Command'),\n            execute: args => {\n                const commands = args.commands;\n                const commandArgs = args.args;\n                const argList = Array.isArray(args);\n                for (let i = 0; i < commands.length; i++) {\n                    const cmd = commands[i];\n                    const arg = argList ? commandArgs[i] : commandArgs;\n                    if (app.commands.isEnabled(cmd, arg)) {\n                        return app.commands.execute(cmd, arg);\n                    }\n                }\n            }\n        });\n        commands.addCommand(CommandIDs.runAllEnabled, {\n            label: trans.__('Run All Enabled Commands Passed as Args'),\n            execute: async (args) => {\n                const commands = args.commands;\n                const commandArgs = args.args;\n                const argList = Array.isArray(args);\n                const errorIfNotEnabled = args.errorIfNotEnabled;\n                for (let i = 0; i < commands.length; i++) {\n                    const cmd = commands[i];\n                    const arg = argList ? commandArgs[i] : commandArgs;\n                    if (app.commands.isEnabled(cmd, arg)) {\n                        await app.commands.execute(cmd, arg);\n                    }\n                    else {\n                        if (errorIfNotEnabled) {\n                            console.error(`${cmd} is not enabled.`);\n                        }\n                    }\n                }\n            }\n        });\n    }\n};\n/**\n * The default HTML sanitizer.\n */\nconst sanitizer = {\n    id: '@jupyter/apputils-extension:sanitizer',\n    autoStart: true,\n    provides: _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ISanitizer,\n    activate: () => {\n        return _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.defaultSanitizer;\n    }\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [\n    palette,\n    paletteRestorer,\n    print,\n    resolver,\n    sanitizer,\n    _settingsplugin__WEBPACK_IMPORTED_MODULE_11__.settingsPlugin,\n    state,\n    splash,\n    sessionDialogs,\n    _themesplugins__WEBPACK_IMPORTED_MODULE_12__.themesPlugin,\n    _themesplugins__WEBPACK_IMPORTED_MODULE_12__.themesPaletteMenuPlugin,\n    toggleHeader,\n    utilityCommands,\n    _workspacesplugin__WEBPACK_IMPORTED_MODULE_13__.workspacesPlugin\n];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugins);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/apputils-extension/lib/index.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/apputils-extension/lib/palette.js":
/*!*********************************************************************!*\
  !*** ../node_modules/@jupyterlab/apputils-extension/lib/palette.js ***!
  \*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"Palette\": () => (/* binding */ Palette)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/algorithm */ \"webpack/sharing/consume/default/@lumino/algorithm/@lumino/algorithm\");\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_commands__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/commands */ \"webpack/sharing/consume/default/@lumino/commands/@lumino/commands\");\n/* harmony import */ var _lumino_commands__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_commands__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _lumino_disposable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/disposable */ \"webpack/sharing/consume/default/@lumino/disposable/@lumino/disposable\");\n/* harmony import */ var _lumino_disposable__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_disposable__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_6__);\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n/**\n * The command IDs used by the apputils extension.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n    CommandIDs.activate = 'apputils:activate-command-palette';\n})(CommandIDs || (CommandIDs = {}));\nconst PALETTE_PLUGIN_ID = '@jupyterlab/apputils-extension:palette';\n/**\n * A thin wrapper around the `CommandPalette` class to conform with the\n * JupyterLab interface for the application-wide command palette.\n */\nclass Palette {\n    /**\n     * Create a palette instance.\n     */\n    constructor(palette, translator) {\n        this.translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator;\n        const trans = this.translator.load('jupyterlab');\n        this._palette = palette;\n        this._palette.title.label = '';\n        this._palette.title.caption = trans.__('Command Palette');\n    }\n    /**\n     * The placeholder text of the command palette's search input.\n     */\n    set placeholder(placeholder) {\n        this._palette.inputNode.placeholder = placeholder;\n    }\n    get placeholder() {\n        return this._palette.inputNode.placeholder;\n    }\n    /**\n     * Activate the command palette for user input.\n     */\n    activate() {\n        this._palette.activate();\n    }\n    /**\n     * Add a command item to the command palette.\n     *\n     * @param options - The options for creating the command item.\n     *\n     * @returns A disposable that will remove the item from the palette.\n     */\n    addItem(options) {\n        const item = this._palette.addItem(options);\n        return new _lumino_disposable__WEBPACK_IMPORTED_MODULE_5__.DisposableDelegate(() => {\n            this._palette.removeItem(item);\n        });\n    }\n}\n/**\n * A namespace for `Palette` statics.\n */\n(function (Palette) {\n    /**\n     * Activate the command palette.\n     */\n    function activate(app, translator, settingRegistry) {\n        const { commands, shell } = app;\n        const trans = translator.load('jupyterlab');\n        const palette = Private.createPalette(app, translator);\n        const modalPalette = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.ModalCommandPalette({ commandPalette: palette });\n        let modal = false;\n        palette.node.setAttribute('role', 'region');\n        palette.node.setAttribute('aria-label', trans.__('Command Palette Section'));\n        shell.add(palette, 'left', { rank: 300 });\n        if (settingRegistry) {\n            const loadSettings = settingRegistry.load(PALETTE_PLUGIN_ID);\n            const updateSettings = (settings) => {\n                const newModal = settings.get('modal').composite;\n                if (modal && !newModal) {\n                    palette.parent = null;\n                    modalPalette.detach();\n                    shell.add(palette, 'left', { rank: 300 });\n                }\n                else if (!modal && newModal) {\n                    palette.parent = null;\n                    modalPalette.palette = palette;\n                    palette.show();\n                    modalPalette.attach();\n                }\n                modal = newModal;\n            };\n            Promise.all([loadSettings, app.restored])\n                .then(([settings]) => {\n                updateSettings(settings);\n                settings.changed.connect(settings => {\n                    updateSettings(settings);\n                });\n            })\n                .catch((reason) => {\n                console.error(reason.message);\n            });\n        }\n        // Show the current palette shortcut in its title.\n        const updatePaletteTitle = () => {\n            const binding = (0,_lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.find)(app.commands.keyBindings, b => b.command === CommandIDs.activate);\n            if (binding) {\n                const ks = _lumino_commands__WEBPACK_IMPORTED_MODULE_4__.CommandRegistry.formatKeystroke(binding.keys.join(' '));\n                palette.title.caption = trans.__('Commands (%1)', ks);\n            }\n            else {\n                palette.title.caption = trans.__('Commands');\n            }\n        };\n        updatePaletteTitle();\n        app.commands.keyBindingChanged.connect(() => {\n            updatePaletteTitle();\n        });\n        commands.addCommand(CommandIDs.activate, {\n            execute: () => {\n                if (modal) {\n                    modalPalette.activate();\n                }\n                else {\n                    shell.activateById(palette.id);\n                }\n            },\n            label: trans.__('Activate Command Palette')\n        });\n        palette.inputNode.placeholder = trans.__('SEARCH');\n        return new Palette(palette, translator);\n    }\n    Palette.activate = activate;\n    /**\n     * Restore the command palette.\n     */\n    function restore(app, restorer, translator) {\n        const palette = Private.createPalette(app, translator);\n        // Let the application restorer track the command palette for restoration of\n        // application state (e.g. setting the command palette as the current side bar\n        // widget).\n        restorer.add(palette, 'command-palette');\n    }\n    Palette.restore = restore;\n})(Palette || (Palette = {}));\n/**\n * The namespace for module private data.\n */\nvar Private;\n(function (Private) {\n    /**\n     * The private command palette instance.\n     */\n    let palette;\n    /**\n     * Create the application-wide command palette.\n     */\n    function createPalette(app, translator) {\n        if (!palette) {\n            // use a renderer tweaked to use inline svg icons\n            palette = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_6__.CommandPalette({\n                commands: app.commands,\n                renderer: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.CommandPaletteSvg.defaultRenderer\n            });\n            palette.id = 'command-palette';\n            palette.title.icon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.paletteIcon;\n            const trans = translator.load('jupyterlab');\n            palette.title.label = trans.__('Commands');\n        }\n        return palette;\n    }\n    Private.createPalette = createPalette;\n})(Private || (Private = {}));\n//# sourceMappingURL=palette.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/apputils-extension/lib/palette.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/apputils-extension/lib/settingconnector.js":
/*!******************************************************************************!*\
  !*** ../node_modules/@jupyterlab/apputils-extension/lib/settingconnector.js ***!
  \******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"SettingConnector\": () => (/* binding */ SettingConnector)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/statedb */ \"webpack/sharing/consume/default/@jupyterlab/statedb/@jupyterlab/statedb\");\n/* harmony import */ var _jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_polling__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/polling */ \"webpack/sharing/consume/default/@lumino/polling/@lumino/polling\");\n/* harmony import */ var _lumino_polling__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_polling__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n/**\n * A data connector for fetching settings.\n *\n * #### Notes\n * This connector adds a query parameter to the base services setting manager.\n */\nclass SettingConnector extends _jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_1__.DataConnector {\n    constructor(connector) {\n        super();\n        this._throttlers = Object.create(null);\n        this._connector = connector;\n    }\n    /**\n     * Fetch settings for a plugin.\n     * @param id - The plugin ID\n     *\n     * #### Notes\n     * The REST API requests are throttled at one request per plugin per 100ms.\n     */\n    fetch(id) {\n        const throttlers = this._throttlers;\n        if (!(id in throttlers)) {\n            throttlers[id] = new _lumino_polling__WEBPACK_IMPORTED_MODULE_2__.Throttler(() => this._connector.fetch(id), 100);\n        }\n        return throttlers[id].invoke();\n    }\n    async list(query = 'all') {\n        const { isDeferred, isDisabled } = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PageConfig.Extension;\n        const { ids, values } = await this._connector.list();\n        if (query === 'all') {\n            return { ids, values };\n        }\n        return {\n            ids: ids.filter(id => !isDeferred(id) && !isDisabled(id)),\n            values: values.filter(({ id }) => !isDeferred(id) && !isDisabled(id))\n        };\n    }\n    async save(id, raw) {\n        await this._connector.save(id, raw);\n    }\n}\n//# sourceMappingURL=settingconnector.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/apputils-extension/lib/settingconnector.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/apputils-extension/lib/settingsplugin.js":
/*!****************************************************************************!*\
  !*** ../node_modules/@jupyterlab/apputils-extension/lib/settingsplugin.js ***!
  \****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"settingsPlugin\": () => (/* binding */ settingsPlugin)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/settingregistry */ \"webpack/sharing/consume/default/@jupyterlab/settingregistry/@jupyterlab/settingregistry\");\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _settingconnector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./settingconnector */ \"../node_modules/@jupyterlab/apputils-extension/lib/settingconnector.js\");\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n\n\n/**\n * The default setting registry provider.\n */\nconst settingsPlugin = {\n    id: '@jupyterlab/apputils-extension:settings',\n    activate: async (app) => {\n        const { isDisabled } = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PageConfig.Extension;\n        const connector = new _settingconnector__WEBPACK_IMPORTED_MODULE_2__.SettingConnector(app.serviceManager.settings);\n        const registry = new _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_1__.SettingRegistry({\n            connector,\n            plugins: (await connector.list('active')).values\n        });\n        // If there are plugins that have schemas that are not in the setting\n        // registry after the application has restored, try to load them manually\n        // because otherwise, its settings will never become available in the\n        // setting registry.\n        void app.restored.then(async () => {\n            const plugins = await connector.list('all');\n            plugins.ids.forEach(async (id, index) => {\n                if (isDisabled(id) || id in registry.plugins) {\n                    return;\n                }\n                try {\n                    await registry.load(id);\n                }\n                catch (error) {\n                    console.warn(`Settings failed to load for (${id})`, error);\n                    if (plugins.values[index].schema['jupyter.lab.transform']) {\n                        console.warn(`This may happen if {autoStart: false} in (${id}) ` +\n                            `or if it is one of the deferredExtensions in page config.`);\n                    }\n                }\n            });\n        });\n        return registry;\n    },\n    autoStart: true,\n    provides: _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_1__.ISettingRegistry\n};\n//# sourceMappingURL=settingsplugin.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/apputils-extension/lib/settingsplugin.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/apputils-extension/lib/themesplugins.js":
/*!***************************************************************************!*\
  !*** ../node_modules/@jupyterlab/apputils-extension/lib/themesplugins.js ***!
  \***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"themesPlugin\": () => (/* binding */ themesPlugin),\n/* harmony export */   \"themesPaletteMenuPlugin\": () => (/* binding */ themesPaletteMenuPlugin)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/application */ \"webpack/sharing/consume/default/@jupyterlab/application/@jupyterlab/application\");\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/mainmenu */ \"webpack/sharing/consume/default/@jupyterlab/mainmenu/@jupyterlab/mainmenu\");\n/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/settingregistry */ \"webpack/sharing/consume/default/@jupyterlab/settingregistry/@jupyterlab/settingregistry\");\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__);\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n\n\n\n\n\nvar CommandIDs;\n(function (CommandIDs) {\n    CommandIDs.changeTheme = 'apputils:change-theme';\n    CommandIDs.themeScrollbars = 'apputils:theme-scrollbars';\n    CommandIDs.changeFont = 'apputils:change-font';\n    CommandIDs.incrFontSize = 'apputils:incr-font-size';\n    CommandIDs.decrFontSize = 'apputils:decr-font-size';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * The default theme manager provider.\n */\nconst themesPlugin = {\n    id: '@jupyterlab/apputils-extension:themes',\n    requires: [_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_4__.ISettingRegistry, _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.JupyterFrontEnd.IPaths, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__.ITranslator],\n    optional: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ISplashScreen],\n    activate: (app, settings, paths, translator, splash) => {\n        const trans = translator.load('jupyterlab');\n        const host = app.shell;\n        const commands = app.commands;\n        const url = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.join(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.PageConfig.getBaseUrl(), paths.urls.themes);\n        const key = themesPlugin.id;\n        const manager = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ThemeManager({\n            key,\n            host,\n            settings,\n            splash: splash !== null && splash !== void 0 ? splash : undefined,\n            url\n        });\n        // Keep a synchronously set reference to the current theme,\n        // since the asynchronous setting of the theme in `changeTheme`\n        // can lead to an incorrect toggle on the currently used theme.\n        let currentTheme;\n        manager.themeChanged.connect((sender, args) => {\n            // Set data attributes on the application shell for the current theme.\n            currentTheme = args.newValue;\n            document.body.dataset.jpThemeLight = String(manager.isLight(currentTheme));\n            document.body.dataset.jpThemeName = currentTheme;\n            if (document.body.dataset.jpThemeScrollbars !==\n                String(manager.themeScrollbars(currentTheme))) {\n                document.body.dataset.jpThemeScrollbars = String(manager.themeScrollbars(currentTheme));\n            }\n            commands.notifyCommandChanged(CommandIDs.changeTheme);\n        });\n        commands.addCommand(CommandIDs.changeTheme, {\n            label: args => {\n                const theme = args['theme'];\n                const displayName = manager.getDisplayName(theme);\n                return args['isPalette']\n                    ? trans.__('Use Theme: %1', displayName)\n                    : displayName;\n            },\n            isToggled: args => args['theme'] === currentTheme,\n            execute: args => {\n                const theme = args['theme'];\n                if (theme === manager.theme) {\n                    return;\n                }\n                return manager.setTheme(theme);\n            }\n        });\n        commands.addCommand(CommandIDs.themeScrollbars, {\n            label: trans.__('Theme Scrollbars'),\n            isToggled: () => manager.isToggledThemeScrollbars(),\n            execute: () => manager.toggleThemeScrollbars()\n        });\n        commands.addCommand(CommandIDs.changeFont, {\n            label: args => args['enabled'] ? `${args['font']}` : trans.__('waiting for fonts'),\n            isEnabled: args => args['enabled'],\n            isToggled: args => manager.getCSS(args['key']) === args['font'],\n            execute: args => manager.setCSSOverride(args['key'], args['font'])\n        });\n        commands.addCommand(CommandIDs.incrFontSize, {\n            label: args => {\n                switch (args.key) {\n                    case 'code-font-size':\n                        return trans.__('Increase Code Font Size');\n                    case 'content-font-size1':\n                        return trans.__('Increase Content Font Size');\n                    case 'ui-font-size1':\n                        return trans.__('Increase UI Font Size');\n                    default:\n                        return trans.__('Increase Font Size');\n                }\n            },\n            execute: args => manager.incrFontSize(args['key'])\n        });\n        commands.addCommand(CommandIDs.decrFontSize, {\n            label: args => {\n                switch (args.key) {\n                    case 'code-font-size':\n                        return trans.__('Decrease Code Font Size');\n                    case 'content-font-size1':\n                        return trans.__('Decrease Content Font Size');\n                    case 'ui-font-size1':\n                        return trans.__('Decrease UI Font Size');\n                    default:\n                        return trans.__('Decrease Font Size');\n                }\n            },\n            execute: args => manager.decrFontSize(args['key'])\n        });\n        return manager;\n    },\n    autoStart: true,\n    provides: _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.IThemeManager\n};\n/**\n * The default theme manager's UI command palette and main menu functionality.\n *\n * #### Notes\n * This plugin loads separately from the theme manager plugin in order to\n * prevent blocking of the theme manager while it waits for the command palette\n * and main menu to become available.\n */\nconst themesPaletteMenuPlugin = {\n    id: '@jupyterlab/apputils-extension:themes-palette-menu',\n    requires: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.IThemeManager, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__.ITranslator],\n    optional: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ICommandPalette, _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__.IMainMenu],\n    activate: (app, manager, translator, palette, mainMenu) => {\n        const trans = translator.load('jupyterlab');\n        // If we have a main menu, add the theme manager to the settings menu.\n        if (mainMenu) {\n            void app.restored.then(() => {\n                var _a;\n                const isPalette = false;\n                const themeMenu = (_a = mainMenu.settingsMenu.items.find(item => {\n                    var _a;\n                    return item.type === 'submenu' &&\n                        ((_a = item.submenu) === null || _a === void 0 ? void 0 : _a.id) === 'jp-mainmenu-settings-apputilstheme';\n                })) === null || _a === void 0 ? void 0 : _a.submenu;\n                // choose a theme\n                if (themeMenu) {\n                    manager.themes.forEach((theme, index) => {\n                        themeMenu.insertItem(index, {\n                            command: CommandIDs.changeTheme,\n                            args: { isPalette, theme }\n                        });\n                    });\n                }\n            });\n        }\n        // If we have a command palette, add theme switching options to it.\n        if (palette) {\n            void app.restored.then(() => {\n                const category = trans.__('Theme');\n                const command = CommandIDs.changeTheme;\n                const isPalette = true;\n                // choose a theme\n                manager.themes.forEach(theme => {\n                    palette.addItem({ command, args: { isPalette, theme }, category });\n                });\n                // toggle scrollbar theming\n                palette.addItem({ command: CommandIDs.themeScrollbars, category });\n                // increase/decrease code font size\n                palette.addItem({\n                    command: CommandIDs.incrFontSize,\n                    args: {\n                        key: 'code-font-size'\n                    },\n                    category\n                });\n                palette.addItem({\n                    command: CommandIDs.decrFontSize,\n                    args: {\n                        key: 'code-font-size'\n                    },\n                    category\n                });\n                // increase/decrease content font size\n                palette.addItem({\n                    command: CommandIDs.incrFontSize,\n                    args: {\n                        key: 'content-font-size1'\n                    },\n                    category\n                });\n                palette.addItem({\n                    command: CommandIDs.decrFontSize,\n                    args: {\n                        key: 'content-font-size1'\n                    },\n                    category\n                });\n                // increase/decrease ui font size\n                palette.addItem({\n                    command: CommandIDs.incrFontSize,\n                    args: {\n                        key: 'ui-font-size1'\n                    },\n                    category\n                });\n                palette.addItem({\n                    command: CommandIDs.decrFontSize,\n                    args: {\n                        key: 'ui-font-size1'\n                    },\n                    category\n                });\n            });\n        }\n    },\n    autoStart: true\n};\n//# sourceMappingURL=themesplugins.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/apputils-extension/lib/themesplugins.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/apputils-extension/lib/workspacesplugin.js":
/*!******************************************************************************!*\
  !*** ../node_modules/@jupyterlab/apputils-extension/lib/workspacesplugin.js ***!
  \******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"workspacesPlugin\": () => (/* binding */ workspacesPlugin)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/application */ \"webpack/sharing/consume/default/@jupyterlab/application/@jupyterlab/application\");\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/docregistry */ \"webpack/sharing/consume/default/@jupyterlab/docregistry/@jupyterlab/docregistry\");\n/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_filebrowser__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/filebrowser */ \"webpack/sharing/consume/default/@jupyterlab/filebrowser/@jupyterlab/filebrowser\");\n/* harmony import */ var _jupyterlab_filebrowser__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_filebrowser__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/statedb */ \"webpack/sharing/consume/default/@jupyterlab/statedb/@jupyterlab/statedb\");\n/* harmony import */ var _jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_7__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n\nvar CommandIDs;\n(function (CommandIDs) {\n    CommandIDs.saveWorkspace = 'workspace-ui:save';\n    CommandIDs.saveWorkspaceAs = 'workspace-ui:save-as';\n})(CommandIDs || (CommandIDs = {}));\nconst WORKSPACE_NAME = 'jupyterlab-workspace';\nconst WORKSPACE_EXT = '.' + WORKSPACE_NAME;\nconst LAST_SAVE_ID = 'workspace-ui:lastSave';\nconst ICON_NAME = 'jp-JupyterIcon';\n/**\n * The workspace MIME renderer and save plugin.\n */\nconst workspacesPlugin = {\n    id: '@jupyterlab/apputils-extension:workspaces',\n    autoStart: true,\n    requires: [\n        _jupyterlab_filebrowser__WEBPACK_IMPORTED_MODULE_4__.IFileBrowserFactory,\n        _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.IWindowResolver,\n        _jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_5__.IStateDB,\n        _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.ITranslator,\n        _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.JupyterFrontEnd.IPaths\n    ],\n    optional: [_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.IRouter],\n    activate: (app, fbf, resolver, state, translator, paths, router) => {\n        // The workspace factory creates dummy widgets to load a new workspace.\n        const factory = new Private.WorkspaceFactory({\n            workspaces: app.serviceManager.workspaces,\n            router,\n            state,\n            translator,\n            paths\n        });\n        const trans = translator.load('jupyterlab');\n        app.docRegistry.addFileType({\n            name: WORKSPACE_NAME,\n            contentType: 'file',\n            fileFormat: 'text',\n            displayName: trans.__('JupyterLab workspace File'),\n            extensions: [WORKSPACE_EXT],\n            mimeTypes: ['text/json'],\n            iconClass: ICON_NAME\n        });\n        app.docRegistry.addWidgetFactory(factory);\n        app.commands.addCommand(CommandIDs.saveWorkspaceAs, {\n            label: trans.__('Save Current Workspace As…'),\n            execute: async () => {\n                const data = app.serviceManager.workspaces.fetch(resolver.name);\n                await Private.saveAs(fbf.defaultBrowser, app.serviceManager.contents, data, state, translator);\n            }\n        });\n        app.commands.addCommand(CommandIDs.saveWorkspace, {\n            label: trans.__('Save Current Workspace'),\n            execute: async () => {\n                const { contents } = app.serviceManager;\n                const data = app.serviceManager.workspaces.fetch(resolver.name);\n                const lastSave = (await state.fetch(LAST_SAVE_ID));\n                if (lastSave === undefined) {\n                    await Private.saveAs(fbf.defaultBrowser, contents, data, state, translator);\n                }\n                else {\n                    await Private.save(lastSave, contents, data, state);\n                }\n            }\n        });\n    }\n};\nvar Private;\n(function (Private) {\n    /**\n     * Save workspace to a user provided location\n     */\n    async function save(userPath, contents, data, state) {\n        let name = userPath.split('/').pop();\n        // Add extension if not provided or remove extension from name if it was.\n        if (name !== undefined && name.includes('.')) {\n            name = name.split('.')[0];\n        }\n        else {\n            userPath = userPath + WORKSPACE_EXT;\n        }\n        // Save last save location, for save button to work\n        await state.save(LAST_SAVE_ID, userPath);\n        const resolvedData = await data;\n        resolvedData.metadata.id = `${name}`;\n        await contents.save(userPath, {\n            type: 'file',\n            format: 'text',\n            content: JSON.stringify(resolvedData)\n        });\n    }\n    Private.save = save;\n    /**\n     * Ask user for location, and save workspace.\n     * Default location is the current directory in the file browser\n     */\n    async function saveAs(browser, contents, data, state, translator) {\n        var _a;\n        translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.nullTranslator;\n        const lastSave = await state.fetch(LAST_SAVE_ID);\n        let defaultName;\n        if (lastSave === undefined) {\n            defaultName = 'new-workspace';\n        }\n        else {\n            defaultName = (_a = lastSave.split('/').pop()) === null || _a === void 0 ? void 0 : _a.split('.')[0];\n        }\n        const defaultPath = browser.model.path + '/' + defaultName + WORKSPACE_EXT;\n        const userPath = await getSavePath(defaultPath, translator);\n        if (userPath) {\n            await save(userPath, contents, data, state);\n        }\n    }\n    Private.saveAs = saveAs;\n    /**\n     * This widget factory is used to handle double click on workspace\n     */\n    class WorkspaceFactory extends _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_3__.ABCWidgetFactory {\n        /**\n         * Construct a widget factory that uploads a workspace and navigates to it.\n         *\n         * @param options - The instantiation options for a `WorkspaceFactory`.\n         */\n        constructor(options) {\n            const trans = (options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.nullTranslator).load('jupyterlab');\n            super({\n                name: trans.__('Workspace loader'),\n                fileTypes: [WORKSPACE_NAME],\n                defaultFor: [WORKSPACE_NAME],\n                readOnly: true\n            });\n            this._application = options.paths.urls.app;\n            this._router = options.router;\n            this._state = options.state;\n            this._workspaces = options.workspaces;\n        }\n        /**\n         * Loads the workspace into load, and jump to it\n         * @param context This is used queried to query the workspace content\n         */\n        createNewWidget(context) {\n            // Save a file's contents as a workspace and navigate to that workspace.\n            void context.ready.then(async () => {\n                const file = context.model;\n                const workspace = file.toJSON();\n                const path = context.path;\n                const id = workspace.metadata.id;\n                // Save the file contents as a workspace.\n                await this._workspaces.save(id, workspace);\n                // Save last save location for the save command.\n                await this._state.save(LAST_SAVE_ID, path);\n                // Navigate to new workspace.\n                const url = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.URLExt.join(this._application, 'workspaces', id);\n                if (this._router) {\n                    this._router.navigate(url, { hard: true });\n                }\n                else {\n                    document.location.href = url;\n                }\n            });\n            return dummyWidget(context);\n        }\n    }\n    Private.WorkspaceFactory = WorkspaceFactory;\n    /**\n     * Returns a dummy widget with disposed content that doesn't render in the UI.\n     *\n     * @param context - The file context.\n     */\n    function dummyWidget(context) {\n        const widget = new _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_3__.DocumentWidget({ content: new _lumino_widgets__WEBPACK_IMPORTED_MODULE_7__.Widget(), context });\n        widget.content.dispose();\n        return widget;\n    }\n    /**\n     * Ask user for a path to save to.\n     * @param defaultPath Path already present when the dialog is shown\n     */\n    async function getSavePath(defaultPath, translator) {\n        translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.nullTranslator;\n        const trans = translator.load('jupyterlab');\n        const saveBtn = _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.okButton({ label: trans.__('Save') });\n        const result = await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({\n            title: trans.__('Save Current Workspace As…'),\n            body: new SaveWidget(defaultPath),\n            buttons: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.cancelButton({ label: trans.__('Cancel') }), saveBtn]\n        });\n        if (result.button.label === trans.__('Save')) {\n            return result.value;\n        }\n        else {\n            return null;\n        }\n    }\n    /**\n     * A widget that gets a file path from a user.\n     */\n    class SaveWidget extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_7__.Widget {\n        /**\n         * Gets a modal node for getting save location. Will have a default to the current opened directory\n         * @param path Default location\n         */\n        constructor(path) {\n            super({ node: createSaveNode(path) });\n        }\n        /**\n         * Gets the save path entered by the user\n         */\n        getValue() {\n            return this.node.value;\n        }\n    }\n    /**\n     * Create the node for a save widget.\n     */\n    function createSaveNode(path) {\n        const input = document.createElement('input');\n        input.value = path;\n        return input;\n    }\n})(Private || (Private = {}));\n//# sourceMappingURL=workspacesplugin.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/apputils-extension/lib/workspacesplugin.js?");

/***/ })

}]);