"use strict";
/*
 * 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_fileeditor_lib_index_js"],{

/***/ "../node_modules/@jupyterlab/fileeditor/lib/fileeditorlspadapter.js":
/*!**************************************************************************!*\
  !*** ../node_modules/@jupyterlab/fileeditor/lib/fileeditorlspadapter.js ***!
  \**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"FileEditorAdapter\": () => (/* binding */ FileEditorAdapter)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_lsp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/lsp */ \"webpack/sharing/consume/default/@jupyterlab/lsp/@jupyterlab/lsp\");\n/* harmony import */ var _jupyterlab_lsp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_lsp__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\nclass FileEditorAdapter extends _jupyterlab_lsp__WEBPACK_IMPORTED_MODULE_0__.WidgetLSPAdapter {\n    constructor(editorWidget, options) {\n        const { docRegistry, ...others } = options;\n        super(editorWidget, others);\n        this._readyDelegate = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__.PromiseDelegate();\n        this.editor = editorWidget.content;\n        this._docRegistry = docRegistry;\n        // Ensure editor uniqueness\n        this._virtualEditor = Object.freeze({\n            getEditor: () => this.editor.editor,\n            ready: () => Promise.resolve(this.editor.editor),\n            reveal: () => Promise.resolve(this.editor.editor)\n        });\n        Promise.all([this.editor.context.ready, this.connectionManager.ready])\n            .then(async () => {\n            await this.initOnceReady();\n            this._readyDelegate.resolve();\n        })\n            .catch(console.error);\n    }\n    /**\n     * Promise that resolves once the adapter is initialized\n     */\n    get ready() {\n        return this._readyDelegate.promise;\n    }\n    /**\n     * Get current path of the document.\n     */\n    get documentPath() {\n        return this.widget.context.path;\n    }\n    /**\n     * Get the mime type of the document.\n     */\n    get mimeType() {\n        var _a;\n        const mimeTypeFromModel = this.editor.model.mimeType;\n        const codeMirrorMimeType = Array.isArray(mimeTypeFromModel)\n            ? (_a = mimeTypeFromModel[0]) !== null && _a !== void 0 ? _a : 'text/plain'\n            : mimeTypeFromModel;\n        const contentsModel = this.editor.context.contentsModel;\n        // when MIME type is not known it defaults to 'text/plain',\n        // so if it is different we can accept it as it is\n        if (codeMirrorMimeType != 'text/plain') {\n            return codeMirrorMimeType;\n        }\n        else if (contentsModel) {\n            // a script that does not have a MIME type known by the editor\n            // (no syntax highlight mode), can still be known by the document\n            // registry (and this is arguably easier to extend).\n            let fileType = this._docRegistry.getFileTypeForModel(contentsModel);\n            return fileType.mimeTypes[0];\n        }\n        else {\n            // \"text/plain\" this is\n            return codeMirrorMimeType;\n        }\n    }\n    /**\n     * Get the file extension of the document.\n     */\n    get languageFileExtension() {\n        let parts = this.documentPath.split('.');\n        return parts[parts.length - 1];\n    }\n    /**\n     * Get the CM editor\n     */\n    get ceEditor() {\n        return this.editor.editor;\n    }\n    /**\n     * Get the activated CM editor.\n     */\n    get activeEditor() {\n        return this._virtualEditor;\n    }\n    /**\n     * Get the inner HTMLElement of the document widget.\n     */\n    get wrapperElement() {\n        return this.widget.node;\n    }\n    /**\n     * Get current path of the document.\n     */\n    get path() {\n        return this.widget.context.path;\n    }\n    /**\n     *  Get the list of CM editors in the document, there is only one editor\n     * in the case of file editor.\n     */\n    get editors() {\n        var _a, _b;\n        return [\n            {\n                ceEditor: this._virtualEditor,\n                type: 'code',\n                value: (_b = (_a = this.editor) === null || _a === void 0 ? void 0 : _a.model.sharedModel.getSource()) !== null && _b !== void 0 ? _b : ''\n            }\n        ];\n    }\n    /**\n     * Dispose the widget.\n     */\n    dispose() {\n        if (this.isDisposed) {\n            return;\n        }\n        this.editor.model.mimeTypeChanged.disconnect(this.reloadConnection);\n        super.dispose();\n    }\n    /**\n     * Generate the virtual document associated with the document.\n     */\n    createVirtualDocument() {\n        return new _jupyterlab_lsp__WEBPACK_IMPORTED_MODULE_0__.VirtualDocument({\n            language: this.language,\n            foreignCodeExtractors: this.options.foreignCodeExtractorsManager,\n            path: this.documentPath,\n            fileExtension: this.languageFileExtension,\n            // notebooks are continuous, each cell is dependent on the previous one\n            standalone: true,\n            // notebooks are not supported by LSP servers\n            hasLspSupportedFile: true\n        });\n    }\n    /**\n     * Get the index of editor from the cursor position in the virtual\n     * document. Since there is only one editor, this method always return\n     * 0\n     *\n     * @param position - the position of cursor in the virtual document.\n     * @return  {number} - index of the virtual editor\n     */\n    getEditorIndexAt(position) {\n        return 0;\n    }\n    /**\n     * Get the index of input editor\n     *\n     * @param ceEditor - instance of the code editor\n     */\n    getEditorIndex(ceEditor) {\n        return 0;\n    }\n    /**\n     * Get the wrapper of input editor.\n     *\n     * @param ceEditor\n     * @return  {HTMLElement}\n     */\n    getEditorWrapper(ceEditor) {\n        return this.wrapperElement;\n    }\n    /**\n     * Initialization function called once the editor and the LSP connection\n     * manager is ready. This function will create the virtual document and\n     * connect various signals.\n     */\n    async initOnceReady() {\n        this.initVirtual();\n        // connect the document, but do not open it as the adapter will handle this\n        // after registering all features\n        await this.connectDocument(this.virtualDocument, false);\n        this.editor.model.mimeTypeChanged.connect(this.reloadConnection, this);\n    }\n}\n//# sourceMappingURL=fileeditorlspadapter.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/fileeditor/lib/fileeditorlspadapter.js?");

/***/ }),

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

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"EditorSyntaxStatus\": () => (/* reexport safe */ _syntaxstatus__WEBPACK_IMPORTED_MODULE_2__.EditorSyntaxStatus),\n/* harmony export */   \"EditorTableOfContentsFactory\": () => (/* reexport safe */ _toc__WEBPACK_IMPORTED_MODULE_4__.EditorTableOfContentsFactory),\n/* harmony export */   \"FileEditor\": () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_6__.FileEditor),\n/* harmony export */   \"FileEditorAdapter\": () => (/* reexport safe */ _fileeditorlspadapter__WEBPACK_IMPORTED_MODULE_0__.FileEditorAdapter),\n/* harmony export */   \"FileEditorFactory\": () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_6__.FileEditorFactory),\n/* harmony export */   \"FileEditorSearchProvider\": () => (/* reexport safe */ _searchprovider__WEBPACK_IMPORTED_MODULE_1__.FileEditorSearchProvider),\n/* harmony export */   \"IEditorTracker\": () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_5__.IEditorTracker),\n/* harmony export */   \"LaTeXTableOfContentsFactory\": () => (/* reexport safe */ _toc__WEBPACK_IMPORTED_MODULE_4__.LaTeXTableOfContentsFactory),\n/* harmony export */   \"LaTeXTableOfContentsModel\": () => (/* reexport safe */ _toc__WEBPACK_IMPORTED_MODULE_4__.LaTeXTableOfContentsModel),\n/* harmony export */   \"MarkdownTableOfContentsFactory\": () => (/* reexport safe */ _toc__WEBPACK_IMPORTED_MODULE_4__.MarkdownTableOfContentsFactory),\n/* harmony export */   \"MarkdownTableOfContentsModel\": () => (/* reexport safe */ _toc__WEBPACK_IMPORTED_MODULE_4__.MarkdownTableOfContentsModel),\n/* harmony export */   \"PythonTableOfContentsFactory\": () => (/* reexport safe */ _toc__WEBPACK_IMPORTED_MODULE_4__.PythonTableOfContentsFactory),\n/* harmony export */   \"PythonTableOfContentsModel\": () => (/* reexport safe */ _toc__WEBPACK_IMPORTED_MODULE_4__.PythonTableOfContentsModel),\n/* harmony export */   \"TabSpaceStatus\": () => (/* reexport safe */ _tabspacestatus__WEBPACK_IMPORTED_MODULE_3__.TabSpaceStatus)\n/* harmony export */ });\n/* harmony import */ var _fileeditorlspadapter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fileeditorlspadapter */ \"../node_modules/@jupyterlab/fileeditor/lib/fileeditorlspadapter.js\");\n/* harmony import */ var _searchprovider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./searchprovider */ \"../node_modules/@jupyterlab/fileeditor/lib/searchprovider.js\");\n/* harmony import */ var _syntaxstatus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./syntaxstatus */ \"../node_modules/@jupyterlab/fileeditor/lib/syntaxstatus.js\");\n/* harmony import */ var _tabspacestatus__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tabspacestatus */ \"../node_modules/@jupyterlab/fileeditor/lib/tabspacestatus.js\");\n/* harmony import */ var _toc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./toc */ \"../node_modules/@jupyterlab/fileeditor/lib/toc/index.js\");\n/* harmony import */ var _tokens__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./tokens */ \"../node_modules/@jupyterlab/fileeditor/lib/tokens.js\");\n/* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./widget */ \"../node_modules/@jupyterlab/fileeditor/lib/widget.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module fileeditor\n */\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/fileeditor/lib/index.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/fileeditor/lib/searchprovider.js":
/*!********************************************************************!*\
  !*** ../node_modules/@jupyterlab/fileeditor/lib/searchprovider.js ***!
  \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"FileEditorSearchProvider\": () => (/* binding */ FileEditorSearchProvider)\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_codemirror__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/codemirror */ \"webpack/sharing/consume/default/@jupyterlab/codemirror/@jupyterlab/codemirror\");\n/* harmony import */ var _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./widget */ \"../node_modules/@jupyterlab/fileeditor/lib/widget.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n/**\n * File editor search provider\n */\nclass FileEditorSearchProvider extends _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_1__.EditorSearchProvider {\n    /**\n     * Constructor\n     * @param widget File editor panel\n     */\n    constructor(widget) {\n        super();\n        this.widget = widget;\n    }\n    get isReadOnly() {\n        return this.editor.getOption('readOnly');\n    }\n    /**\n     * Support for options adjusting replacement behavior.\n     */\n    get replaceOptionsSupport() {\n        return {\n            preserveCase: true\n        };\n    }\n    /**\n     * Text editor\n     */\n    get editor() {\n        return this.widget.content.editor;\n    }\n    /**\n     * Editor content model\n     */\n    get model() {\n        return this.widget.content.model;\n    }\n    async startQuery(query, filters) {\n        await super.startQuery(query, filters);\n        await this.highlightNext(true, {\n            from: 'selection-start',\n            scroll: false,\n            select: false\n        });\n    }\n    /**\n     * Instantiate a search provider for the widget.\n     *\n     * #### Notes\n     * The widget provided is always checked using `isApplicable` before calling\n     * this factory.\n     *\n     * @param widget The widget to search on\n     * @param translator [optional] The translator object\n     *\n     * @returns The search provider on the widget\n     */\n    static createNew(widget, translator) {\n        return new FileEditorSearchProvider(widget);\n    }\n    /**\n     * Report whether or not this provider has the ability to search on the given object\n     */\n    static isApplicable(domain) {\n        return (domain instanceof _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.MainAreaWidget &&\n            domain.content instanceof _widget__WEBPACK_IMPORTED_MODULE_2__.FileEditor &&\n            domain.content.editor instanceof _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_1__.CodeMirrorEditor);\n    }\n    /**\n     * Get an initial query value if applicable so that it can be entered\n     * into the search box as an initial query\n     *\n     * @returns Initial value used to populate the search box.\n     */\n    getInitialQuery() {\n        const cm = this.editor;\n        const selection = cm.state.sliceDoc(cm.state.selection.main.from, cm.state.selection.main.to);\n        return selection;\n    }\n}\n//# sourceMappingURL=searchprovider.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/fileeditor/lib/searchprovider.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/fileeditor/lib/syntaxstatus.js":
/*!******************************************************************!*\
  !*** ../node_modules/@jupyterlab/fileeditor/lib/syntaxstatus.js ***!
  \******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"EditorSyntaxStatus\": () => (/* binding */ EditorSyntaxStatus)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/statusbar */ \"webpack/sharing/consume/default/@jupyterlab/statusbar/@jupyterlab/statusbar\");\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_3__ = __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_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__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\n/**\n * A pure function that returns a tsx component for an editor syntax item.\n *\n * @param props: the props for the component.\n *\n * @returns an editor syntax component.\n */\nfunction EditorSyntaxComponent(props) {\n    return react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_1__.TextItem, { source: props.language, onClick: props.handleClick });\n}\n/**\n * StatusBar item to change the language syntax highlighting of the file editor.\n */\nclass EditorSyntaxStatus extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_3__.VDomRenderer {\n    /**\n     * Construct a new VDomRenderer for the status item.\n     */\n    constructor(options) {\n        var _a;\n        super(new EditorSyntaxStatus.Model(options.languages));\n        /**\n         * Create a menu for selecting the language of the editor.\n         */\n        this._handleClick = () => {\n            const languageMenu = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_4__.Menu({ commands: this._commands });\n            const command = 'fileeditor:change-language';\n            if (this._popup) {\n                this._popup.dispose();\n            }\n            this.model.languages\n                .getLanguages()\n                .sort((a, b) => {\n                var _a, _b;\n                const aName = (_a = a.displayName) !== null && _a !== void 0 ? _a : a.name;\n                const bName = (_b = b.displayName) !== null && _b !== void 0 ? _b : b.name;\n                return aName.localeCompare(bName);\n            })\n                .forEach(spec => {\n                var _a;\n                if (spec.name.toLowerCase().indexOf('brainf') === 0) {\n                    return;\n                }\n                const args = {\n                    name: spec.name,\n                    displayName: (_a = spec.displayName) !== null && _a !== void 0 ? _a : spec.name\n                };\n                languageMenu.addItem({\n                    command,\n                    args\n                });\n            });\n            this._popup = (0,_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_1__.showPopup)({\n                body: languageMenu,\n                anchor: this,\n                align: 'left'\n            });\n        };\n        this._popup = null;\n        this._commands = options.commands;\n        this.translator = (_a = options.translator) !== null && _a !== void 0 ? _a : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__.nullTranslator;\n        const trans = this.translator.load('jupyterlab');\n        this.addClass('jp-mod-highlighted');\n        this.title.caption = trans.__('Change text editor syntax highlighting');\n    }\n    /**\n     * Render the status item.\n     */\n    render() {\n        if (!this.model) {\n            return null;\n        }\n        return (react__WEBPACK_IMPORTED_MODULE_5___default().createElement(EditorSyntaxComponent, { language: this.model.language, handleClick: this._handleClick }));\n    }\n}\n/**\n * A namespace for EditorSyntax statics.\n */\n(function (EditorSyntaxStatus) {\n    /**\n     * A VDomModel for the current editor/mode combination.\n     */\n    class Model extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_3__.VDomModel {\n        constructor(languages) {\n            super();\n            this.languages = languages;\n            /**\n             * If the editor mode changes, update the model.\n             */\n            this._onMIMETypeChange = (mode, change) => {\n                var _a;\n                const oldLanguage = this._language;\n                const spec = this.languages.findByMIME(change.newValue);\n                this._language = (_a = spec === null || spec === void 0 ? void 0 : spec.name) !== null && _a !== void 0 ? _a : _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.IEditorMimeTypeService.defaultMimeType;\n                this._triggerChange(oldLanguage, this._language);\n            };\n            this._language = '';\n            this._editor = null;\n        }\n        /**\n         * The current editor language. If no editor is present,\n         * returns the empty string.\n         */\n        get language() {\n            return this._language;\n        }\n        /**\n         * The current editor for the application editor tracker.\n         */\n        get editor() {\n            return this._editor;\n        }\n        set editor(editor) {\n            var _a;\n            const oldEditor = this._editor;\n            if (oldEditor !== null) {\n                oldEditor.model.mimeTypeChanged.disconnect(this._onMIMETypeChange);\n            }\n            const oldLanguage = this._language;\n            this._editor = editor;\n            if (this._editor === null) {\n                this._language = '';\n            }\n            else {\n                const spec = this.languages.findByMIME(this._editor.model.mimeType);\n                this._language = (_a = spec === null || spec === void 0 ? void 0 : spec.name) !== null && _a !== void 0 ? _a : _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.IEditorMimeTypeService.defaultMimeType;\n                this._editor.model.mimeTypeChanged.connect(this._onMIMETypeChange);\n            }\n            this._triggerChange(oldLanguage, this._language);\n        }\n        /**\n         * Trigger a rerender of the model.\n         */\n        _triggerChange(oldState, newState) {\n            if (oldState !== newState) {\n                this.stateChanged.emit(void 0);\n            }\n        }\n    }\n    EditorSyntaxStatus.Model = Model;\n})(EditorSyntaxStatus || (EditorSyntaxStatus = {}));\n//# sourceMappingURL=syntaxstatus.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/fileeditor/lib/syntaxstatus.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/fileeditor/lib/tabspacestatus.js":
/*!********************************************************************!*\
  !*** ../node_modules/@jupyterlab/fileeditor/lib/tabspacestatus.js ***!
  \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"TabSpaceStatus\": () => (/* binding */ TabSpaceStatus)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/statusbar */ \"webpack/sharing/consume/default/@jupyterlab/statusbar/@jupyterlab/statusbar\");\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_statusbar__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 react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n/**\n * A pure functional component for rendering the TabSpace status.\n */\nfunction TabSpaceComponent(props) {\n    const translator = props.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator;\n    const trans = translator.load('jupyterlab');\n    const description = typeof props.tabSpace === 'number'\n        ? trans.__('Spaces')\n        : trans.__('Tab Indent');\n    return (react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_0__.TextItem, { onClick: props.handleClick, source: typeof props.tabSpace === 'number'\n            ? `${description}: ${props.tabSpace}`\n            : description, title: trans.__('Change the indentation…') }));\n}\n/**\n * A VDomRenderer for a tabs vs. spaces status item.\n */\nclass TabSpaceStatus extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.VDomRenderer {\n    /**\n     * Create a new tab/space status item.\n     */\n    constructor(options) {\n        super(new TabSpaceStatus.Model());\n        this._popup = null;\n        this._menu = options.menu;\n        this.translator = options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator;\n        this.addClass('jp-mod-highlighted');\n    }\n    /**\n     * Render the TabSpace status item.\n     */\n    render() {\n        var _a;\n        if (!((_a = this.model) === null || _a === void 0 ? void 0 : _a.indentUnit)) {\n            return null;\n        }\n        else {\n            const tabSpace = this.model.indentUnit === 'Tab'\n                ? null\n                : parseInt(this.model.indentUnit, 10);\n            return (react__WEBPACK_IMPORTED_MODULE_3___default().createElement(TabSpaceComponent, { tabSpace: tabSpace, handleClick: () => this._handleClick(), translator: this.translator }));\n        }\n    }\n    /**\n     * Handle a click on the status item.\n     */\n    _handleClick() {\n        const menu = this._menu;\n        if (this._popup) {\n            this._popup.dispose();\n        }\n        menu.aboutToClose.connect(this._menuClosed, this);\n        this._popup = (0,_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_0__.showPopup)({\n            body: menu,\n            anchor: this,\n            align: 'right'\n        });\n        // Update the menu items\n        menu.update();\n    }\n    _menuClosed() {\n        this.removeClass('jp-mod-clicked');\n    }\n}\n/**\n * A namespace for TabSpace statics.\n */\n(function (TabSpaceStatus) {\n    /**\n     * A VDomModel for the TabSpace status item.\n     */\n    class Model extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.VDomModel {\n        /**\n         * Code editor indentation unit\n         */\n        get indentUnit() {\n            return this._indentUnit;\n        }\n        set indentUnit(v) {\n            if (v !== this._indentUnit) {\n                this._indentUnit = v;\n                this.stateChanged.emit();\n            }\n        }\n    }\n    TabSpaceStatus.Model = Model;\n})(TabSpaceStatus || (TabSpaceStatus = {}));\n//# sourceMappingURL=tabspacestatus.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/fileeditor/lib/tabspacestatus.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/fileeditor/lib/toc/factory.js":
/*!*****************************************************************!*\
  !*** ../node_modules/@jupyterlab/fileeditor/lib/toc/factory.js ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"EditorTableOfContentsFactory\": () => (/* binding */ EditorTableOfContentsFactory)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/toc */ \"webpack/sharing/consume/default/@jupyterlab/toc/@jupyterlab/toc\");\n/* harmony import */ var _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * Base table of contents model factory for file editor\n */\nclass EditorTableOfContentsFactory extends _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__.TableOfContentsFactory {\n    /**\n     * Create a new table of contents model for the widget\n     *\n     * @param widget - widget\n     * @param configuration - Table of contents configuration\n     * @returns The table of contents model\n     */\n    createNew(widget, configuration) {\n        const model = super.createNew(widget, configuration);\n        const onActiveHeadingChanged = (model, heading) => {\n            if (heading) {\n                widget.content.editor.setCursorPosition({\n                    line: heading.line,\n                    column: 0\n                });\n            }\n        };\n        model.activeHeadingChanged.connect(onActiveHeadingChanged);\n        widget.disposed.connect(() => {\n            model.activeHeadingChanged.disconnect(onActiveHeadingChanged);\n        });\n        return model;\n    }\n}\n//# sourceMappingURL=factory.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/fileeditor/lib/toc/factory.js?");

/***/ }),

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

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"EditorTableOfContentsFactory\": () => (/* reexport safe */ _factory__WEBPACK_IMPORTED_MODULE_0__.EditorTableOfContentsFactory),\n/* harmony export */   \"LaTeXTableOfContentsFactory\": () => (/* reexport safe */ _latex__WEBPACK_IMPORTED_MODULE_1__.LaTeXTableOfContentsFactory),\n/* harmony export */   \"LaTeXTableOfContentsModel\": () => (/* reexport safe */ _latex__WEBPACK_IMPORTED_MODULE_1__.LaTeXTableOfContentsModel),\n/* harmony export */   \"MarkdownTableOfContentsFactory\": () => (/* reexport safe */ _markdown__WEBPACK_IMPORTED_MODULE_2__.MarkdownTableOfContentsFactory),\n/* harmony export */   \"MarkdownTableOfContentsModel\": () => (/* reexport safe */ _markdown__WEBPACK_IMPORTED_MODULE_2__.MarkdownTableOfContentsModel),\n/* harmony export */   \"PythonTableOfContentsFactory\": () => (/* reexport safe */ _python__WEBPACK_IMPORTED_MODULE_3__.PythonTableOfContentsFactory),\n/* harmony export */   \"PythonTableOfContentsModel\": () => (/* reexport safe */ _python__WEBPACK_IMPORTED_MODULE_3__.PythonTableOfContentsModel)\n/* harmony export */ });\n/* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./factory */ \"../node_modules/@jupyterlab/fileeditor/lib/toc/factory.js\");\n/* harmony import */ var _latex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./latex */ \"../node_modules/@jupyterlab/fileeditor/lib/toc/latex.js\");\n/* harmony import */ var _markdown__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./markdown */ \"../node_modules/@jupyterlab/fileeditor/lib/toc/markdown.js\");\n/* harmony import */ var _python__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./python */ \"../node_modules/@jupyterlab/fileeditor/lib/toc/python.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/fileeditor/lib/toc/index.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/fileeditor/lib/toc/latex.js":
/*!***************************************************************!*\
  !*** ../node_modules/@jupyterlab/fileeditor/lib/toc/latex.js ***!
  \***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"LaTeXTableOfContentsFactory\": () => (/* binding */ LaTeXTableOfContentsFactory),\n/* harmony export */   \"LaTeXTableOfContentsModel\": () => (/* binding */ LaTeXTableOfContentsModel)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/toc */ \"webpack/sharing/consume/default/@jupyterlab/toc/@jupyterlab/toc\");\n/* harmony import */ var _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./factory */ \"../node_modules/@jupyterlab/fileeditor/lib/toc/factory.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n/**\n * Maps LaTeX section headings to HTML header levels.\n *\n * ## Notes\n *\n * -   As `part` and `chapter` section headings appear to be less common, assign them to heading level 1.\n *\n * @private\n */\nconst LATEX_LEVELS = {\n    part: 1,\n    chapter: 1,\n    section: 1,\n    subsection: 2,\n    subsubsection: 3,\n    paragraph: 4,\n    subparagraph: 5\n};\n/**\n * Regular expression to create the outline\n */\nconst SECTIONS = /^\\s*\\\\(section|subsection|subsubsection){(.+)}/;\n/**\n * Table of content model for LaTeX files.\n */\nclass LaTeXTableOfContentsModel extends _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__.TableOfContentsModel {\n    /**\n     * Type of document supported by the model.\n     *\n     * #### Notes\n     * A `data-document-type` attribute with this value will be set\n     * on the tree view `.jp-TableOfContents-content[data-document-type=\"...\"]`\n     */\n    get documentType() {\n        return 'latex';\n    }\n    /**\n     * List of configuration options supported by the model.\n     */\n    get supportedOptions() {\n        return ['maximalDepth', 'numberHeaders'];\n    }\n    /**\n     * Produce the headings for a document.\n     *\n     * @returns The list of new headings or `null` if nothing needs to be updated.\n     */\n    getHeadings() {\n        if (!this.isActive) {\n            return Promise.resolve(null);\n        }\n        // Split the text into lines:\n        const lines = this.widget.content.model.sharedModel\n            .getSource()\n            .split('\\n');\n        const levels = new Array();\n        let previousLevel = levels.length;\n        const headings = new Array();\n        for (let i = 0; i < lines.length; i++) {\n            const match = lines[i].match(SECTIONS);\n            if (match) {\n                const level = LATEX_LEVELS[match[1]];\n                if (level <= this.configuration.maximalDepth) {\n                    const prefix = _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__.TableOfContentsUtils.getPrefix(level, previousLevel, levels, {\n                        ...this.configuration,\n                        // Force base numbering and numbering first level\n                        baseNumbering: 1,\n                        numberingH1: true\n                    });\n                    previousLevel = level;\n                    headings.push({\n                        text: match[2],\n                        prefix: prefix,\n                        level,\n                        line: i\n                    });\n                }\n            }\n        }\n        return Promise.resolve(headings);\n    }\n}\n/**\n * Table of content model factory for LaTeX files.\n */\nclass LaTeXTableOfContentsFactory extends _factory__WEBPACK_IMPORTED_MODULE_1__.EditorTableOfContentsFactory {\n    /**\n     * Whether the factory can handle the widget or not.\n     *\n     * @param widget - widget\n     * @returns boolean indicating a ToC can be generated\n     */\n    isApplicable(widget) {\n        var _a, _b;\n        const isApplicable = super.isApplicable(widget);\n        if (isApplicable) {\n            let mime = (_b = (_a = widget.content) === null || _a === void 0 ? void 0 : _a.model) === null || _b === void 0 ? void 0 : _b.mimeType;\n            return mime && (mime === 'text/x-latex' || mime === 'text/x-stex');\n        }\n        return false;\n    }\n    /**\n     * Create a new table of contents model for the widget\n     *\n     * @param widget - widget\n     * @param configuration - Table of contents configuration\n     * @returns The table of contents model\n     */\n    _createNew(widget, configuration) {\n        return new LaTeXTableOfContentsModel(widget, configuration);\n    }\n}\n//# sourceMappingURL=latex.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/fileeditor/lib/toc/latex.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/fileeditor/lib/toc/markdown.js":
/*!******************************************************************!*\
  !*** ../node_modules/@jupyterlab/fileeditor/lib/toc/markdown.js ***!
  \******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"MarkdownTableOfContentsFactory\": () => (/* binding */ MarkdownTableOfContentsFactory),\n/* harmony export */   \"MarkdownTableOfContentsModel\": () => (/* binding */ MarkdownTableOfContentsModel)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/toc */ \"webpack/sharing/consume/default/@jupyterlab/toc/@jupyterlab/toc\");\n/* harmony import */ var _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./factory */ \"../node_modules/@jupyterlab/fileeditor/lib/toc/factory.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n/**\n * Table of content model for Markdown files.\n */\nclass MarkdownTableOfContentsModel extends _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__.TableOfContentsModel {\n    /**\n     * Type of document supported by the model.\n     *\n     * #### Notes\n     * A `data-document-type` attribute with this value will be set\n     * on the tree view `.jp-TableOfContents-content[data-document-type=\"...\"]`\n     */\n    get documentType() {\n        return 'markdown';\n    }\n    /**\n     * Produce the headings for a document.\n     *\n     * @returns The list of new headings or `null` if nothing needs to be updated.\n     */\n    getHeadings() {\n        if (!this.isActive) {\n            return Promise.resolve(null);\n        }\n        const content = this.widget.content.model.sharedModel.getSource();\n        const headings = _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__.TableOfContentsUtils.filterHeadings(_jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__.TableOfContentsUtils.Markdown.getHeadings(content), {\n            ...this.configuration,\n            // Force removing numbering as they cannot be displayed\n            // in the document\n            numberHeaders: false\n        });\n        return Promise.resolve(headings);\n    }\n}\n/**\n * Table of content model factory for Markdown files.\n */\nclass MarkdownTableOfContentsFactory extends _factory__WEBPACK_IMPORTED_MODULE_1__.EditorTableOfContentsFactory {\n    /**\n     * Whether the factory can handle the widget or not.\n     *\n     * @param widget - widget\n     * @returns boolean indicating a ToC can be generated\n     */\n    isApplicable(widget) {\n        var _a, _b;\n        const isApplicable = super.isApplicable(widget);\n        if (isApplicable) {\n            let mime = (_b = (_a = widget.content) === null || _a === void 0 ? void 0 : _a.model) === null || _b === void 0 ? void 0 : _b.mimeType;\n            return mime && _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__.TableOfContentsUtils.Markdown.isMarkdown(mime);\n        }\n        return false;\n    }\n    /**\n     * Create a new table of contents model for the widget\n     *\n     * @param widget - widget\n     * @param configuration - Table of contents configuration\n     * @returns The table of contents model\n     */\n    _createNew(widget, configuration) {\n        return new MarkdownTableOfContentsModel(widget, configuration);\n    }\n}\n//# sourceMappingURL=markdown.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/fileeditor/lib/toc/markdown.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/fileeditor/lib/toc/python.js":
/*!****************************************************************!*\
  !*** ../node_modules/@jupyterlab/fileeditor/lib/toc/python.js ***!
  \****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"PythonTableOfContentsFactory\": () => (/* binding */ PythonTableOfContentsFactory),\n/* harmony export */   \"PythonTableOfContentsModel\": () => (/* binding */ PythonTableOfContentsModel)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/toc */ \"webpack/sharing/consume/default/@jupyterlab/toc/@jupyterlab/toc\");\n/* harmony import */ var _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./factory */ \"../node_modules/@jupyterlab/fileeditor/lib/toc/factory.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n/**\n * Regular expression to create the outline\n */\nlet KEYWORDS;\ntry {\n    // https://github.com/tc39/proposal-regexp-match-indices was accepted\n    // in May 2021 (https://github.com/tc39/proposals/blob/main/finished-proposals.md)\n    // So we will fallback to the polyfill regexp-match-indices if not available\n    KEYWORDS = new RegExp('^\\\\s*(class |def |from |import )', 'd');\n}\ncatch (_a) {\n    KEYWORDS = new RegExp('^\\\\s*(class |def |from |import )');\n}\n/**\n * Table of content model for Python files.\n */\nclass PythonTableOfContentsModel extends _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_0__.TableOfContentsModel {\n    /**\n     * Type of document supported by the model.\n     *\n     * #### Notes\n     * A `data-document-type` attribute with this value will be set\n     * on the tree view `.jp-TableOfContents-content[data-document-type=\"...\"]`\n     */\n    get documentType() {\n        return 'python';\n    }\n    /**\n     * Produce the headings for a document.\n     *\n     * @returns The list of new headings or `null` if nothing needs to be updated.\n     */\n    async getHeadings() {\n        if (!this.isActive) {\n            return Promise.resolve(null);\n        }\n        // Split the text into lines:\n        const lines = this.widget.content.model.sharedModel\n            .getSource()\n            .split('\\n');\n        // Iterate over the lines to get the heading level and text for each line:\n        let headings = new Array();\n        let processingImports = false;\n        let indent = 1;\n        let lineIdx = -1;\n        for (const line of lines) {\n            lineIdx++;\n            let hasKeyword;\n            if (KEYWORDS.flags.includes('d')) {\n                hasKeyword = KEYWORDS.exec(line);\n            }\n            else {\n                const { default: execWithIndices } = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_regexp-match-indices_index_js\").then(__webpack_require__.t.bind(__webpack_require__, /*! regexp-match-indices */ \"../node_modules/regexp-match-indices/index.js\", 23));\n                hasKeyword = execWithIndices(KEYWORDS, line);\n            }\n            if (hasKeyword) {\n                // Index 0 contains the spaces, index 1 is the keyword group\n                const [start] = hasKeyword.indices[1];\n                if (indent === 1 && start > 0) {\n                    indent = start;\n                }\n                const isImport = ['from ', 'import '].includes(hasKeyword[1]);\n                if (isImport && processingImports) {\n                    continue;\n                }\n                processingImports = isImport;\n                const level = 1 + start / indent;\n                if (level > this.configuration.maximalDepth) {\n                    continue;\n                }\n                headings.push({\n                    text: line.slice(start),\n                    level,\n                    line: lineIdx\n                });\n            }\n        }\n        return Promise.resolve(headings);\n    }\n}\n/**\n * Table of content model factory for Python files.\n */\nclass PythonTableOfContentsFactory extends _factory__WEBPACK_IMPORTED_MODULE_1__.EditorTableOfContentsFactory {\n    /**\n     * Whether the factory can handle the widget or not.\n     *\n     * @param widget - widget\n     * @returns boolean indicating a ToC can be generated\n     */\n    isApplicable(widget) {\n        var _a, _b;\n        const isApplicable = super.isApplicable(widget);\n        if (isApplicable) {\n            let mime = (_b = (_a = widget.content) === null || _a === void 0 ? void 0 : _a.model) === null || _b === void 0 ? void 0 : _b.mimeType;\n            return (mime &&\n                (mime === 'application/x-python-code' || mime === 'text/x-python'));\n        }\n        return false;\n    }\n    /**\n     * Create a new table of contents model for the widget\n     *\n     * @param widget - widget\n     * @param configuration - Table of contents configuration\n     * @returns The table of contents model\n     */\n    _createNew(widget, configuration) {\n        return new PythonTableOfContentsModel(widget, configuration);\n    }\n}\n//# sourceMappingURL=python.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/fileeditor/lib/toc/python.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/fileeditor/lib/tokens.js":
/*!************************************************************!*\
  !*** ../node_modules/@jupyterlab/fileeditor/lib/tokens.js ***!
  \************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"IEditorTracker\": () => (/* binding */ IEditorTracker)\n/* harmony export */ });\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * The editor tracker token.\n */\nconst IEditorTracker = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/fileeditor:IEditorTracker', `A widget tracker for file editors.\n  Use this if you want to be able to iterate over and interact with file editors\n  created by the application.`);\n//# sourceMappingURL=tokens.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/fileeditor/lib/tokens.js?");

/***/ }),

/***/ "../node_modules/@jupyterlab/fileeditor/lib/widget.js":
/*!************************************************************!*\
  !*** ../node_modules/@jupyterlab/fileeditor/lib/widget.js ***!
  \************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"FileEditor\": () => (/* binding */ FileEditor),\n/* harmony export */   \"FileEditorFactory\": () => (/* binding */ FileEditorFactory)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/docregistry */ \"webpack/sharing/consume/default/@jupyterlab/docregistry/@jupyterlab/docregistry\");\n/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_docregistry__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_coreutils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_4__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n/**\n * The data attribute added to a widget that can run code.\n */\nconst CODE_RUNNER = 'jpCodeRunner';\n/**\n * The data attribute added to a widget that can undo.\n */\nconst UNDOER = 'jpUndoer';\n/**\n * A widget for editors.\n */\nclass FileEditor extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_4__.Widget {\n    /**\n     * Construct a new editor widget.\n     */\n    constructor(options) {\n        super();\n        this._ready = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_3__.PromiseDelegate();\n        this.addClass('jp-FileEditor');\n        const context = (this._context = options.context);\n        this._mimeTypeService = options.mimeTypeService;\n        const editorWidget = (this._editorWidget = new _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.CodeEditorWrapper({\n            factory: options.factory,\n            model: context.model,\n            editorOptions: {\n                config: FileEditor.defaultEditorConfig\n            }\n        }));\n        this._editorWidget.addClass('jp-FileEditorCodeWrapper');\n        this._editorWidget.node.dataset[CODE_RUNNER] = 'true';\n        this._editorWidget.node.dataset[UNDOER] = 'true';\n        this.editor = editorWidget.editor;\n        this.model = editorWidget.model;\n        void context.ready.then(() => {\n            this._onContextReady();\n        });\n        // Listen for changes to the path.\n        this._onPathChanged();\n        context.pathChanged.connect(this._onPathChanged, this);\n        const layout = (this.layout = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_4__.StackedLayout());\n        layout.addWidget(editorWidget);\n    }\n    /**\n     * Get the context for the editor widget.\n     */\n    get context() {\n        return this._context;\n    }\n    /**\n     * A promise that resolves when the file editor is ready.\n     */\n    get ready() {\n        return this._ready.promise;\n    }\n    /**\n     * Handle the DOM events for the widget.\n     *\n     * @param event - The DOM event sent to the widget.\n     *\n     * #### Notes\n     * This method implements the DOM `EventListener` interface and is\n     * called in response to events on the widget's node. It should\n     * not be called directly by user code.\n     */\n    handleEvent(event) {\n        if (!this.model) {\n            return;\n        }\n        switch (event.type) {\n            case 'mousedown':\n                this._ensureFocus();\n                break;\n            default:\n                break;\n        }\n    }\n    /**\n     * Handle `after-attach` messages for the widget.\n     */\n    onAfterAttach(msg) {\n        super.onAfterAttach(msg);\n        const node = this.node;\n        node.addEventListener('mousedown', this);\n    }\n    /**\n     * Handle `before-detach` messages for the widget.\n     */\n    onBeforeDetach(msg) {\n        const node = this.node;\n        node.removeEventListener('mousedown', this);\n    }\n    /**\n     * Handle `'activate-request'` messages.\n     */\n    onActivateRequest(msg) {\n        this._ensureFocus();\n    }\n    /**\n     * Ensure that the widget has focus.\n     */\n    _ensureFocus() {\n        if (!this.editor.hasFocus()) {\n            this.editor.focus();\n        }\n    }\n    /**\n     * Handle actions that should be taken when the context is ready.\n     */\n    _onContextReady() {\n        if (this.isDisposed) {\n            return;\n        }\n        // Prevent the initial loading from disk from being in the editor history.\n        this.editor.clearHistory();\n        // Resolve the ready promise.\n        this._ready.resolve(undefined);\n    }\n    /**\n     * Handle a change to the path.\n     */\n    _onPathChanged() {\n        const editor = this.editor;\n        const localPath = this._context.localPath;\n        editor.model.mimeType =\n            this._mimeTypeService.getMimeTypeByFilePath(localPath);\n    }\n}\n/**\n * The namespace for editor widget statics.\n */\n(function (FileEditor) {\n    /**\n     * File editor default configuration.\n     */\n    FileEditor.defaultEditorConfig = {\n        lineNumbers: true,\n        scrollPastEnd: true\n    };\n})(FileEditor || (FileEditor = {}));\n/**\n * A widget factory for editors.\n */\nclass FileEditorFactory extends _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_1__.ABCWidgetFactory {\n    /**\n     * Construct a new editor widget factory.\n     */\n    constructor(options) {\n        super(options.factoryOptions);\n        this._services = options.editorServices;\n    }\n    /**\n     * Create a new widget given a context.\n     */\n    createNewWidget(context) {\n        const func = this._services.factoryService.newDocumentEditor;\n        const factory = options => {\n            // Use same id as document factory\n            return func(options);\n        };\n        const content = new FileEditor({\n            factory,\n            context,\n            mimeTypeService: this._services.mimeTypeService\n        });\n        content.title.icon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.textEditorIcon;\n        const widget = new _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_1__.DocumentWidget({ content, context });\n        return widget;\n    }\n}\n//# sourceMappingURL=widget.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/fileeditor/lib/widget.js?");

/***/ })

}]);