{"version":3,"sources":["out-editor/vs/loader.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.34.1(0316a754aa4c25208bef91937efbce2ab1e3ce37)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------------------------\n *  Copyright (c) Microsoft Corporation. All rights reserved.\n *  Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\n/*---------------------------------------------------------------------------------------------\n *  Copyright (c) Microsoft Corporation. All rights reserved.\n *  Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n * Please make sure to make edits in the .ts file at https://github.com/microsoft/vscode-loader/\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *--------------------------------------------------------------------------------------------*/\nvar _amdLoaderGlobal = this;\nvar _commonjsGlobal = typeof global === 'object' ? global : {};\nvar AMDLoader;\n(function (AMDLoader) {\n    AMDLoader.global = _amdLoaderGlobal;\n    var Environment = /** @class */ (function () {\n        function Environment() {\n            this._detected = false;\n            this._isWindows = false;\n            this._isNode = false;\n            this._isElectronRenderer = false;\n            this._isWebWorker = false;\n            this._isElectronNodeIntegrationWebWorker = false;\n        }\n        Object.defineProperty(Environment.prototype, \"isWindows\", {\n            get: function () {\n                this._detect();\n                return this._isWindows;\n            },\n            enumerable: false,\n            configurable: true\n        });\n        Object.defineProperty(Environment.prototype, \"isNode\", {\n            get: function () {\n                this._detect();\n                return this._isNode;\n            },\n            enumerable: false,\n            configurable: true\n        });\n        Object.defineProperty(Environment.prototype, \"isElectronRenderer\", {\n            get: function () {\n                this._detect();\n                return this._isElectronRenderer;\n            },\n            enumerable: false,\n            configurable: true\n        });\n        Object.defineProperty(Environment.prototype, \"isWebWorker\", {\n            get: function () {\n                this._detect();\n                return this._isWebWorker;\n            },\n            enumerable: false,\n            configurable: true\n        });\n        Object.defineProperty(Environment.prototype, \"isElectronNodeIntegrationWebWorker\", {\n            get: function () {\n                this._detect();\n                return this._isElectronNodeIntegrationWebWorker;\n            },\n            enumerable: false,\n            configurable: true\n        });\n        Environment.prototype._detect = function () {\n            if (this._detected) {\n                return;\n            }\n            this._detected = true;\n            this._isWindows = Environment._isWindows();\n            this._isNode = (typeof module !== 'undefined' && !!module.exports);\n            this._isElectronRenderer = (typeof process !== 'undefined' && typeof process.versions !== 'undefined' && typeof process.versions.electron !== 'undefined' && process.type === 'renderer');\n            this._isWebWorker = (typeof AMDLoader.global.importScripts === 'function');\n            this._isElectronNodeIntegrationWebWorker = this._isWebWorker && (typeof process !== 'undefined' && typeof process.versions !== 'undefined' && typeof process.versions.electron !== 'undefined' && process.type === 'worker');\n        };\n        Environment._isWindows = function () {\n            if (typeof navigator !== 'undefined') {\n                if (navigator.userAgent && navigator.userAgent.indexOf('Windows') >= 0) {\n                    return true;\n                }\n            }\n            if (typeof process !== 'undefined') {\n                return (process.platform === 'win32');\n            }\n            return false;\n        };\n        return Environment;\n    }());\n    AMDLoader.Environment = Environment;\n})(AMDLoader || (AMDLoader = {}));\n/*---------------------------------------------------------------------------------------------\n *  Copyright (c) Microsoft Corporation. All rights reserved.\n *  Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar AMDLoader;\n(function (AMDLoader) {\n    var LoaderEvent = /** @class */ (function () {\n        function LoaderEvent(type, detail, timestamp) {\n            this.type = type;\n            this.detail = detail;\n            this.timestamp = timestamp;\n        }\n        return LoaderEvent;\n    }());\n    AMDLoader.LoaderEvent = LoaderEvent;\n    var LoaderEventRecorder = /** @class */ (function () {\n        function LoaderEventRecorder(loaderAvailableTimestamp) {\n            this._events = [new LoaderEvent(1 /* LoaderAvailable */, '', loaderAvailableTimestamp)];\n        }\n        LoaderEventRecorder.prototype.record = function (type, detail) {\n            this._events.push(new LoaderEvent(type, detail, AMDLoader.Utilities.getHighPerformanceTimestamp()));\n        };\n        LoaderEventRecorder.prototype.getEvents = function () {\n            return this._events;\n        };\n        return LoaderEventRecorder;\n    }());\n    AMDLoader.LoaderEventRecorder = LoaderEventRecorder;\n    var NullLoaderEventRecorder = /** @class */ (function () {\n        function NullLoaderEventRecorder() {\n        }\n        NullLoaderEventRecorder.prototype.record = function (type, detail) {\n            // Nothing to do\n        };\n        NullLoaderEventRecorder.prototype.getEvents = function () {\n            return [];\n        };\n        NullLoaderEventRecorder.INSTANCE = new NullLoaderEventRecorder();\n        return NullLoaderEventRecorder;\n    }());\n    AMDLoader.NullLoaderEventRecorder = NullLoaderEventRecorder;\n})(AMDLoader || (AMDLoader = {}));\n/*---------------------------------------------------------------------------------------------\n *  Copyright (c) Microsoft Corporation. All rights reserved.\n *  Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar AMDLoader;\n(function (AMDLoader) {\n    var Utilities = /** @class */ (function () {\n        function Utilities() {\n        }\n        /**\n         * This method does not take care of / vs \\\n         */\n        Utilities.fileUriToFilePath = function (isWindows, uri) {\n            uri = decodeURI(uri).replace(/%23/g, '#');\n            if (isWindows) {\n                if (/^file:\\/\\/\\//.test(uri)) {\n                    // This is a URI without a hostname => return only the path segment\n                    return uri.substr(8);\n                }\n                if (/^file:\\/\\//.test(uri)) {\n                    return uri.substr(5);\n                }\n            }\n            else {\n                if (/^file:\\/\\//.test(uri)) {\n                    return uri.substr(7);\n                }\n            }\n            // Not sure...\n            return uri;\n        };\n        Utilities.startsWith = function (haystack, needle) {\n            return haystack.length >= needle.length && haystack.substr(0, needle.length) === needle;\n        };\n        Utilities.endsWith = function (haystack, needle) {\n            return haystack.length >= needle.length && haystack.substr(haystack.length - needle.length) === needle;\n        };\n        // only check for \"?\" before \"#\" to ensure that there is a real Query-String\n        Utilities.containsQueryString = function (url) {\n            return /^[^\\#]*\\?/gi.test(url);\n        };\n        /**\n         * Does `url` start with http:// or https:// or file:// or / ?\n         */\n        Utilities.isAbsolutePath = function (url) {\n            return /^((http:\\/\\/)|(https:\\/\\/)|(file:\\/\\/)|(\\/))/.test(url);\n        };\n        Utilities.forEachProperty = function (obj, callback) {\n            if (obj) {\n                var key = void 0;\n                for (key in obj) {\n                    if (obj.hasOwnProperty(key)) {\n                        callback(key, obj[key]);\n                    }\n                }\n            }\n        };\n        Utilities.isEmpty = function (obj) {\n            var isEmpty = true;\n            Utilities.forEachProperty(obj, function () {\n                isEmpty = false;\n            });\n            return isEmpty;\n        };\n        Utilities.recursiveClone = function (obj) {\n            if (!obj || typeof obj !== 'object' || obj instanceof RegExp) {\n                return obj;\n            }\n            if (!Array.isArray(obj) && Object.getPrototypeOf(obj) !== Object.prototype) {\n                // only clone \"simple\" objects\n                return obj;\n            }\n            var result = Array.isArray(obj) ? [] : {};\n            Utilities.forEachProperty(obj, function (key, value) {\n                if (value && typeof value === 'object') {\n                    result[key] = Utilities.recursiveClone(value);\n                }\n                else {\n                    result[key] = value;\n                }\n            });\n            return result;\n        };\n        Utilities.generateAnonymousModule = function () {\n            return '===anonymous' + (Utilities.NEXT_ANONYMOUS_ID++) + '===';\n        };\n        Utilities.isAnonymousModule = function (id) {\n            return Utilities.startsWith(id, '===anonymous');\n        };\n        Utilities.getHighPerformanceTimestamp = function () {\n            if (!this.PERFORMANCE_NOW_PROBED) {\n                this.PERFORMANCE_NOW_PROBED = true;\n                this.HAS_PERFORMANCE_NOW = (AMDLoader.global.performance && typeof AMDLoader.global.performance.now === 'function');\n            }\n            return (this.HAS_PERFORMANCE_NOW ? AMDLoader.global.performance.now() : Date.now());\n        };\n        Utilities.NEXT_ANONYMOUS_ID = 1;\n        Utilities.PERFORMANCE_NOW_PROBED = false;\n        Utilities.HAS_PERFORMANCE_NOW = false;\n        return Utilities;\n    }());\n    AMDLoader.Utilities = Utilities;\n})(AMDLoader || (AMDLoader = {}));\n/*---------------------------------------------------------------------------------------------\n *  Copyright (c) Microsoft Corporation. All rights reserved.\n *  Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar AMDLoader;\n(function (AMDLoader) {\n    function ensureError(err) {\n        if (err instanceof Error) {\n            return err;\n        }\n        var result = new Error(err.message || String(err) || 'Unknown Error');\n        if (err.stack) {\n            result.stack = err.stack;\n        }\n        return result;\n    }\n    AMDLoader.ensureError = ensureError;\n    ;\n    var ConfigurationOptionsUtil = /** @class */ (function () {\n        function ConfigurationOptionsUtil() {\n        }\n        /**\n         * Ensure configuration options make sense\n         */\n        ConfigurationOptionsUtil.validateConfigurationOptions = function (options) {\n            function defaultOnError(err) {\n                if (err.phase === 'loading') {\n                    console.error('Loading \"' + err.moduleId + '\" failed');\n                    console.error(err);\n                    console.error('Here are the modules that depend on it:');\n                    console.error(err.neededBy);\n                    return;\n                }\n                if (err.phase === 'factory') {\n                    console.error('The factory function of \"' + err.moduleId + '\" has thrown an exception');\n                    console.error(err);\n                    console.error('Here are the modules that depend on it:');\n                    console.error(err.neededBy);\n                    return;\n                }\n            }\n            options = options || {};\n            if (typeof options.baseUrl !== 'string') {\n                options.baseUrl = '';\n            }\n            if (typeof options.isBuild !== 'boolean') {\n                options.isBuild = false;\n            }\n            if (typeof options.buildForceInvokeFactory !== 'object') {\n                options.buildForceInvokeFactory = {};\n            }\n            if (typeof options.paths !== 'object') {\n                options.paths = {};\n            }\n            if (typeof options.config !== 'object') {\n                options.config = {};\n            }\n            if (typeof options.catchError === 'undefined') {\n                options.catchError = false;\n            }\n            if (typeof options.recordStats === 'undefined') {\n                options.recordStats = false;\n            }\n            if (typeof options.urlArgs !== 'string') {\n                options.urlArgs = '';\n            }\n            if (typeof options.onError !== 'function') {\n                options.onError = defaultOnError;\n            }\n            if (!Array.isArray(options.ignoreDuplicateModules)) {\n                options.ignoreDuplicateModules = [];\n            }\n            if (options.baseUrl.length > 0) {\n                if (!AMDLoader.Utilities.endsWith(options.baseUrl, '/')) {\n                    options.baseUrl += '/';\n                }\n            }\n            if (typeof options.cspNonce !== 'string') {\n                options.cspNonce = '';\n            }\n            if (typeof options.preferScriptTags === 'undefined') {\n                options.preferScriptTags = false;\n            }\n            if (!Array.isArray(options.nodeModules)) {\n                options.nodeModules = [];\n            }\n            if (options.nodeCachedData && typeof options.nodeCachedData === 'object') {\n                if (typeof options.nodeCachedData.seed !== 'string') {\n                    options.nodeCachedData.seed = 'seed';\n                }\n                if (typeof options.nodeCachedData.writeDelay !== 'number' || options.nodeCachedData.writeDelay < 0) {\n                    options.nodeCachedData.writeDelay = 1000 * 7;\n                }\n                if (!options.nodeCachedData.path || typeof options.nodeCachedData.path !== 'string') {\n                    var err = ensureError(new Error('INVALID cached data configuration, \\'path\\' MUST be set'));\n                    err.phase = 'configuration';\n                    options.onError(err);\n                    options.nodeCachedData = undefined;\n                }\n            }\n            return options;\n        };\n        ConfigurationOptionsUtil.mergeConfigurationOptions = function (overwrite, base) {\n            if (overwrite === void 0) { overwrite = null; }\n            if (base === void 0) { base = null; }\n            var result = AMDLoader.Utilities.recursiveClone(base || {});\n            // Merge known properties and overwrite the unknown ones\n            AMDLoader.Utilities.forEachProperty(overwrite, function (key, value) {\n                if (key === 'ignoreDuplicateModules' && typeof result.ignoreDuplicateModules !== 'undefined') {\n                    result.ignoreDuplicateModules = result.ignoreDuplicateModules.concat(value);\n                }\n                else if (key === 'paths' && typeof result.paths !== 'undefined') {\n                    AMDLoader.Utilities.forEachProperty(value, function (key2, value2) { return result.paths[key2] = value2; });\n                }\n                else if (key === 'config' && typeof result.config !== 'undefined') {\n                    AMDLoader.Utilities.forEachProperty(value, function (key2, value2) { return result.config[key2] = value2; });\n                }\n                else {\n                    result[key] = AMDLoader.Utilities.recursiveClone(value);\n                }\n            });\n            return ConfigurationOptionsUtil.validateConfigurationOptions(result);\n        };\n        return ConfigurationOptionsUtil;\n    }());\n    AMDLoader.ConfigurationOptionsUtil = ConfigurationOptionsUtil;\n    var Configuration = /** @class */ (function () {\n        function Configuration(env, options) {\n            this._env = env;\n            this.options = ConfigurationOptionsUtil.mergeConfigurationOptions(options);\n            this._createIgnoreDuplicateModulesMap();\n            this._createNodeModulesMap();\n            this._createSortedPathsRules();\n            if (this.options.baseUrl === '') {\n                if (this.options.nodeRequire && this.options.nodeRequire.main && this.options.nodeRequire.main.filename && this._env.isNode) {\n                    var nodeMain = this.options.nodeRequire.main.filename;\n                    var dirnameIndex = Math.max(nodeMain.lastIndexOf('/'), nodeMain.lastIndexOf('\\\\'));\n                    this.options.baseUrl = nodeMain.substring(0, dirnameIndex + 1);\n                }\n                if (this.options.nodeMain && this._env.isNode) {\n                    var nodeMain = this.options.nodeMain;\n                    var dirnameIndex = Math.max(nodeMain.lastIndexOf('/'), nodeMain.lastIndexOf('\\\\'));\n                    this.options.baseUrl = nodeMain.substring(0, dirnameIndex + 1);\n                }\n            }\n        }\n        Configuration.prototype._createIgnoreDuplicateModulesMap = function () {\n            // Build a map out of the ignoreDuplicateModules array\n            this.ignoreDuplicateModulesMap = {};\n            for (var i = 0; i < this.options.ignoreDuplicateModules.length; i++) {\n                this.ignoreDuplicateModulesMap[this.options.ignoreDuplicateModules[i]] = true;\n            }\n        };\n        Configuration.prototype._createNodeModulesMap = function () {\n            // Build a map out of nodeModules array\n            this.nodeModulesMap = Object.create(null);\n            for (var _i = 0, _a = this.options.nodeModules; _i < _a.length; _i++) {\n                var nodeModule = _a[_i];\n                this.nodeModulesMap[nodeModule] = true;\n            }\n        };\n        Configuration.prototype._createSortedPathsRules = function () {\n            var _this = this;\n            // Create an array our of the paths rules, sorted descending by length to\n            // result in a more specific -> less specific order\n            this.sortedPathsRules = [];\n            AMDLoader.Utilities.forEachProperty(this.options.paths, function (from, to) {\n                if (!Array.isArray(to)) {\n                    _this.sortedPathsRules.push({\n                        from: from,\n                        to: [to]\n                    });\n                }\n                else {\n                    _this.sortedPathsRules.push({\n                        from: from,\n                        to: to\n                    });\n                }\n            });\n            this.sortedPathsRules.sort(function (a, b) {\n                return b.from.length - a.from.length;\n            });\n        };\n        /**\n         * Clone current configuration and overwrite options selectively.\n         * @param options The selective options to overwrite with.\n         * @result A new configuration\n         */\n        Configuration.prototype.cloneAndMerge = function (options) {\n            return new Configuration(this._env, ConfigurationOptionsUtil.mergeConfigurationOptions(options, this.options));\n        };\n        /**\n         * Get current options bag. Useful for passing it forward to plugins.\n         */\n        Configuration.prototype.getOptionsLiteral = function () {\n            return this.options;\n        };\n        Configuration.prototype._applyPaths = function (moduleId) {\n            var pathRule;\n            for (var i = 0, len = this.sortedPathsRules.length; i < len; i++) {\n                pathRule = this.sortedPathsRules[i];\n                if (AMDLoader.Utilities.startsWith(moduleId, pathRule.from)) {\n                    var result = [];\n                    for (var j = 0, lenJ = pathRule.to.length; j < lenJ; j++) {\n                        result.push(pathRule.to[j] + moduleId.substr(pathRule.from.length));\n                    }\n                    return result;\n                }\n            }\n            return [moduleId];\n        };\n        Configuration.prototype._addUrlArgsToUrl = function (url) {\n            if (AMDLoader.Utilities.containsQueryString(url)) {\n                return url + '&' + this.options.urlArgs;\n            }\n            else {\n                return url + '?' + this.options.urlArgs;\n            }\n        };\n        Configuration.prototype._addUrlArgsIfNecessaryToUrl = function (url) {\n            if (this.options.urlArgs) {\n                return this._addUrlArgsToUrl(url);\n            }\n            return url;\n        };\n        Configuration.prototype._addUrlArgsIfNecessaryToUrls = function (urls) {\n            if (this.options.urlArgs) {\n                for (var i = 0, len = urls.length; i < len; i++) {\n                    urls[i] = this._addUrlArgsToUrl(urls[i]);\n                }\n            }\n            return urls;\n        };\n        /**\n         * Transform a module id to a location. Appends .js to module ids\n         */\n        Configuration.prototype.moduleIdToPaths = function (moduleId) {\n            if (this._env.isNode) {\n                var isNodeModule = ((this.nodeModulesMap[moduleId] === true)\n                    || (this.options.amdModulesPattern instanceof RegExp && !this.options.amdModulesPattern.test(moduleId)));\n                if (isNodeModule) {\n                    // This is a node module...\n                    if (this.isBuild()) {\n                        // ...and we are at build time, drop it\n                        return ['empty:'];\n                    }\n                    else {\n                        // ...and at runtime we create a `shortcut`-path\n                        return ['node|' + moduleId];\n                    }\n                }\n            }\n            var result = moduleId;\n            var results;\n            if (!AMDLoader.Utilities.endsWith(result, '.js') && !AMDLoader.Utilities.isAbsolutePath(result)) {\n                results = this._applyPaths(result);\n                for (var i = 0, len = results.length; i < len; i++) {\n                    if (this.isBuild() && results[i] === 'empty:') {\n                        continue;\n                    }\n                    if (!AMDLoader.Utilities.isAbsolutePath(results[i])) {\n                        results[i] = this.options.baseUrl + results[i];\n                    }\n                    if (!AMDLoader.Utilities.endsWith(results[i], '.js') && !AMDLoader.Utilities.containsQueryString(results[i])) {\n                        results[i] = results[i] + '.js';\n                    }\n                }\n            }\n            else {\n                if (!AMDLoader.Utilities.endsWith(result, '.js') && !AMDLoader.Utilities.containsQueryString(result)) {\n                    result = result + '.js';\n                }\n                results = [result];\n            }\n            return this._addUrlArgsIfNecessaryToUrls(results);\n        };\n        /**\n         * Transform a module id or url to a location.\n         */\n        Configuration.prototype.requireToUrl = function (url) {\n            var result = url;\n            if (!AMDLoader.Utilities.isAbsolutePath(result)) {\n                result = this._applyPaths(result)[0];\n                if (!AMDLoader.Utilities.isAbsolutePath(result)) {\n                    result = this.options.baseUrl + result;\n                }\n            }\n            return this._addUrlArgsIfNecessaryToUrl(result);\n        };\n        /**\n         * Flag to indicate if current execution is as part of a build.\n         */\n        Configuration.prototype.isBuild = function () {\n            return this.options.isBuild;\n        };\n        Configuration.prototype.shouldInvokeFactory = function (strModuleId) {\n            if (!this.options.isBuild) {\n                // outside of a build, all factories should be invoked\n                return true;\n            }\n            // during a build, only explicitly marked or anonymous modules get their factories invoked\n            return (this.options.buildForceInvokeFactory[strModuleId]\n                || AMDLoader.Utilities.isAnonymousModule(strModuleId));\n        };\n        /**\n         * Test if module `moduleId` is expected to be defined multiple times\n         */\n        Configuration.prototype.isDuplicateMessageIgnoredFor = function (moduleId) {\n            return this.ignoreDuplicateModulesMap.hasOwnProperty(moduleId);\n        };\n        /**\n         * Get the configuration settings for the provided module id\n         */\n        Configuration.prototype.getConfigForModule = function (moduleId) {\n            if (this.options.config) {\n                return this.options.config[moduleId];\n            }\n        };\n        /**\n         * Should errors be caught when executing module factories?\n         */\n        Configuration.prototype.shouldCatchError = function () {\n            return this.options.catchError;\n        };\n        /**\n         * Should statistics be recorded?\n         */\n        Configuration.prototype.shouldRecordStats = function () {\n            return this.options.recordStats;\n        };\n        /**\n         * Forward an error to the error handler.\n         */\n        Configuration.prototype.onError = function (err) {\n            this.options.onError(err);\n        };\n        return Configuration;\n    }());\n    AMDLoader.Configuration = Configuration;\n})(AMDLoader || (AMDLoader = {}));\n/*---------------------------------------------------------------------------------------------\n *  Copyright (c) Microsoft Corporation. All rights reserved.\n *  Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar AMDLoader;\n(function (AMDLoader) {\n    /**\n     * Load `scriptSrc` only once (avoid multiple <script> tags)\n     */\n    var OnlyOnceScriptLoader = /** @class */ (function () {\n        function OnlyOnceScriptLoader(env) {\n            this._env = env;\n            this._scriptLoader = null;\n            this._callbackMap = {};\n        }\n        OnlyOnceScriptLoader.prototype.load = function (moduleManager, scriptSrc, callback, errorback) {\n            var _this = this;\n            if (!this._scriptLoader) {\n                if (this._env.isWebWorker) {\n                    this._scriptLoader = new WorkerScriptLoader();\n                }\n                else if (this._env.isElectronRenderer) {\n                    var preferScriptTags = moduleManager.getConfig().getOptionsLiteral().preferScriptTags;\n                    if (preferScriptTags) {\n                        this._scriptLoader = new BrowserScriptLoader();\n                    }\n                    else {\n                        this._scriptLoader = new NodeScriptLoader(this._env);\n                    }\n                }\n                else if (this._env.isNode) {\n                    this._scriptLoader = new NodeScriptLoader(this._env);\n                }\n                else {\n                    this._scriptLoader = new BrowserScriptLoader();\n                }\n            }\n            var scriptCallbacks = {\n                callback: callback,\n                errorback: errorback\n            };\n            if (this._callbackMap.hasOwnProperty(scriptSrc)) {\n                this._callbackMap[scriptSrc].push(scriptCallbacks);\n                return;\n            }\n            this._callbackMap[scriptSrc] = [scriptCallbacks];\n            this._scriptLoader.load(moduleManager, scriptSrc, function () { return _this.triggerCallback(scriptSrc); }, function (err) { return _this.triggerErrorback(scriptSrc, err); });\n        };\n        OnlyOnceScriptLoader.prototype.triggerCallback = function (scriptSrc) {\n            var scriptCallbacks = this._callbackMap[scriptSrc];\n            delete this._callbackMap[scriptSrc];\n            for (var i = 0; i < scriptCallbacks.length; i++) {\n                scriptCallbacks[i].callback();\n            }\n        };\n        OnlyOnceScriptLoader.prototype.triggerErrorback = function (scriptSrc, err) {\n            var scriptCallbacks = this._callbackMap[scriptSrc];\n            delete this._callbackMap[scriptSrc];\n            for (var i = 0; i < scriptCallbacks.length; i++) {\n                scriptCallbacks[i].errorback(err);\n            }\n        };\n        return OnlyOnceScriptLoader;\n    }());\n    var BrowserScriptLoader = /** @class */ (function () {\n        function BrowserScriptLoader() {\n        }\n        /**\n         * Attach load / error listeners to a script element and remove them when either one has fired.\n         * Implemented for browsers supporting HTML5 standard 'load' and 'error' events.\n         */\n        BrowserScriptLoader.prototype.attachListeners = function (script, callback, errorback) {\n            var unbind = function () {\n                script.removeEventListener('load', loadEventListener);\n                script.removeEventListener('error', errorEventListener);\n            };\n            var loadEventListener = function (e) {\n                unbind();\n                callback();\n            };\n            var errorEventListener = function (e) {\n                unbind();\n                errorback(e);\n            };\n            script.addEventListener('load', loadEventListener);\n            script.addEventListener('error', errorEventListener);\n        };\n        BrowserScriptLoader.prototype.load = function (moduleManager, scriptSrc, callback, errorback) {\n            if (/^node\\|/.test(scriptSrc)) {\n                var opts = moduleManager.getConfig().getOptionsLiteral();\n                var nodeRequire = ensureRecordedNodeRequire(moduleManager.getRecorder(), (opts.nodeRequire || AMDLoader.global.nodeRequire));\n                var pieces = scriptSrc.split('|');\n                var moduleExports_1 = null;\n                try {\n                    moduleExports_1 = nodeRequire(pieces[1]);\n                }\n                catch (err) {\n                    errorback(err);\n                    return;\n                }\n                moduleManager.enqueueDefineAnonymousModule([], function () { return moduleExports_1; });\n                callback();\n            }\n            else {\n                var script = document.createElement('script');\n                script.setAttribute('async', 'async');\n                script.setAttribute('type', 'text/javascript');\n                this.attachListeners(script, callback, errorback);\n                var trustedTypesPolicy = moduleManager.getConfig().getOptionsLiteral().trustedTypesPolicy;\n                if (trustedTypesPolicy) {\n                    scriptSrc = trustedTypesPolicy.createScriptURL(scriptSrc);\n                }\n                script.setAttribute('src', scriptSrc);\n                // Propagate CSP nonce to dynamically created script tag.\n                var cspNonce = moduleManager.getConfig().getOptionsLiteral().cspNonce;\n                if (cspNonce) {\n                    script.setAttribute('nonce', cspNonce);\n                }\n                document.getElementsByTagName('head')[0].appendChild(script);\n            }\n        };\n        return BrowserScriptLoader;\n    }());\n    function canUseEval(moduleManager) {\n        var trustedTypesPolicy = moduleManager.getConfig().getOptionsLiteral().trustedTypesPolicy;\n        try {\n            var func = (trustedTypesPolicy\n                ? self.eval(trustedTypesPolicy.createScript('', 'true'))\n                : new Function('true'));\n            func.call(self);\n            return true;\n        }\n        catch (err) {\n            return false;\n        }\n    }\n    var WorkerScriptLoader = /** @class */ (function () {\n        function WorkerScriptLoader() {\n            this._cachedCanUseEval = null;\n        }\n        WorkerScriptLoader.prototype._canUseEval = function (moduleManager) {\n            if (this._cachedCanUseEval === null) {\n                this._cachedCanUseEval = canUseEval(moduleManager);\n            }\n            return this._cachedCanUseEval;\n        };\n        WorkerScriptLoader.prototype.load = function (moduleManager, scriptSrc, callback, errorback) {\n            if (/^node\\|/.test(scriptSrc)) {\n                var opts = moduleManager.getConfig().getOptionsLiteral();\n                var nodeRequire = ensureRecordedNodeRequire(moduleManager.getRecorder(), (opts.nodeRequire || AMDLoader.global.nodeRequire));\n                var pieces = scriptSrc.split('|');\n                var moduleExports_2 = null;\n                try {\n                    moduleExports_2 = nodeRequire(pieces[1]);\n                }\n                catch (err) {\n                    errorback(err);\n                    return;\n                }\n                moduleManager.enqueueDefineAnonymousModule([], function () { return moduleExports_2; });\n                callback();\n            }\n            else {\n                var trustedTypesPolicy_1 = moduleManager.getConfig().getOptionsLiteral().trustedTypesPolicy;\n                var isCrossOrigin = (/^((http:)|(https:)|(file:))/.test(scriptSrc) && scriptSrc.substring(0, self.origin.length) !== self.origin);\n                if (!isCrossOrigin && this._canUseEval(moduleManager)) {\n                    // use `fetch` if possible because `importScripts`\n                    // is synchronous and can lead to deadlocks on Safari\n                    fetch(scriptSrc).then(function (response) {\n                        if (response.status !== 200) {\n                            throw new Error(response.statusText);\n                        }\n                        return response.text();\n                    }).then(function (text) {\n                        text = text + \"\\n//# sourceURL=\" + scriptSrc;\n                        var func = (trustedTypesPolicy_1\n                            ? self.eval(trustedTypesPolicy_1.createScript('', text))\n                            : new Function(text));\n                        func.call(self);\n                        callback();\n                    }).then(undefined, errorback);\n                    return;\n                }\n                try {\n                    if (trustedTypesPolicy_1) {\n                        scriptSrc = trustedTypesPolicy_1.createScriptURL(scriptSrc);\n                    }\n                    importScripts(scriptSrc);\n                    callback();\n                }\n                catch (e) {\n                    errorback(e);\n                }\n            }\n        };\n        return WorkerScriptLoader;\n    }());\n    var NodeScriptLoader = /** @class */ (function () {\n        function NodeScriptLoader(env) {\n            this._env = env;\n            this._didInitialize = false;\n            this._didPatchNodeRequire = false;\n        }\n        NodeScriptLoader.prototype._init = function (nodeRequire) {\n            if (this._didInitialize) {\n                return;\n            }\n            this._didInitialize = true;\n            // capture node modules\n            this._fs = nodeRequire('fs');\n            this._vm = nodeRequire('vm');\n            this._path = nodeRequire('path');\n            this._crypto = nodeRequire('crypto');\n        };\n        // patch require-function of nodejs such that we can manually create a script\n        // from cached data. this is done by overriding the `Module._compile` function\n        NodeScriptLoader.prototype._initNodeRequire = function (nodeRequire, moduleManager) {\n            // It is important to check for `nodeCachedData` first and then set `_didPatchNodeRequire`.\n            // That's because `nodeCachedData` is set _after_ calling this for the first time...\n            var nodeCachedData = moduleManager.getConfig().getOptionsLiteral().nodeCachedData;\n            if (!nodeCachedData) {\n                return;\n            }\n            if (this._didPatchNodeRequire) {\n                return;\n            }\n            this._didPatchNodeRequire = true;\n            var that = this;\n            var Module = nodeRequire('module');\n            function makeRequireFunction(mod) {\n                var Module = mod.constructor;\n                var require = function require(path) {\n                    try {\n                        return mod.require(path);\n                    }\n                    finally {\n                        // nothing\n                    }\n                };\n                require.resolve = function resolve(request, options) {\n                    return Module._resolveFilename(request, mod, false, options);\n                };\n                require.resolve.paths = function paths(request) {\n                    return Module._resolveLookupPaths(request, mod);\n                };\n                require.main = process.mainModule;\n                require.extensions = Module._extensions;\n                require.cache = Module._cache;\n                return require;\n            }\n            Module.prototype._compile = function (content, filename) {\n                // remove shebang and create wrapper function\n                var scriptSource = Module.wrap(content.replace(/^#!.*/, ''));\n                // create script\n                var recorder = moduleManager.getRecorder();\n                var cachedDataPath = that._getCachedDataPath(nodeCachedData, filename);\n                var options = { filename: filename };\n                var hashData;\n                try {\n                    var data = that._fs.readFileSync(cachedDataPath);\n                    hashData = data.slice(0, 16);\n                    options.cachedData = data.slice(16);\n                    recorder.record(60 /* CachedDataFound */, cachedDataPath);\n                }\n                catch (_e) {\n                    recorder.record(61 /* CachedDataMissed */, cachedDataPath);\n                }\n                var script = new that._vm.Script(scriptSource, options);\n                var compileWrapper = script.runInThisContext(options);\n                // run script\n                var dirname = that._path.dirname(filename);\n                var require = makeRequireFunction(this);\n                var args = [this.exports, require, this, filename, dirname, process, _commonjsGlobal, Buffer];\n                var result = compileWrapper.apply(this.exports, args);\n                // cached data aftermath\n                that._handleCachedData(script, scriptSource, cachedDataPath, !options.cachedData, moduleManager);\n                that._verifyCachedData(script, scriptSource, cachedDataPath, hashData, moduleManager);\n                return result;\n            };\n        };\n        NodeScriptLoader.prototype.load = function (moduleManager, scriptSrc, callback, errorback) {\n            var _this = this;\n            var opts = moduleManager.getConfig().getOptionsLiteral();\n            var nodeRequire = ensureRecordedNodeRequire(moduleManager.getRecorder(), (opts.nodeRequire || AMDLoader.global.nodeRequire));\n            var nodeInstrumenter = (opts.nodeInstrumenter || function (c) { return c; });\n            this._init(nodeRequire);\n            this._initNodeRequire(nodeRequire, moduleManager);\n            var recorder = moduleManager.getRecorder();\n            if (/^node\\|/.test(scriptSrc)) {\n                var pieces = scriptSrc.split('|');\n                var moduleExports_3 = null;\n                try {\n                    moduleExports_3 = nodeRequire(pieces[1]);\n                }\n                catch (err) {\n                    errorback(err);\n                    return;\n                }\n                moduleManager.enqueueDefineAnonymousModule([], function () { return moduleExports_3; });\n                callback();\n            }\n            else {\n                scriptSrc = AMDLoader.Utilities.fileUriToFilePath(this._env.isWindows, scriptSrc);\n                var normalizedScriptSrc_1 = this._path.normalize(scriptSrc);\n                var vmScriptPathOrUri_1 = this._getElectronRendererScriptPathOrUri(normalizedScriptSrc_1);\n                var wantsCachedData_1 = Boolean(opts.nodeCachedData);\n                var cachedDataPath_1 = wantsCachedData_1 ? this._getCachedDataPath(opts.nodeCachedData, scriptSrc) : undefined;\n                this._readSourceAndCachedData(normalizedScriptSrc_1, cachedDataPath_1, recorder, function (err, data, cachedData, hashData) {\n                    if (err) {\n                        errorback(err);\n                        return;\n                    }\n                    var scriptSource;\n                    if (data.charCodeAt(0) === NodeScriptLoader._BOM) {\n                        scriptSource = NodeScriptLoader._PREFIX + data.substring(1) + NodeScriptLoader._SUFFIX;\n                    }\n                    else {\n                        scriptSource = NodeScriptLoader._PREFIX + data + NodeScriptLoader._SUFFIX;\n                    }\n                    scriptSource = nodeInstrumenter(scriptSource, normalizedScriptSrc_1);\n                    var scriptOpts = { filename: vmScriptPathOrUri_1, cachedData: cachedData };\n                    var script = _this._createAndEvalScript(moduleManager, scriptSource, scriptOpts, callback, errorback);\n                    _this._handleCachedData(script, scriptSource, cachedDataPath_1, wantsCachedData_1 && !cachedData, moduleManager);\n                    _this._verifyCachedData(script, scriptSource, cachedDataPath_1, hashData, moduleManager);\n                });\n            }\n        };\n        NodeScriptLoader.prototype._createAndEvalScript = function (moduleManager, contents, options, callback, errorback) {\n            var recorder = moduleManager.getRecorder();\n            recorder.record(31 /* NodeBeginEvaluatingScript */, options.filename);\n            var script = new this._vm.Script(contents, options);\n            var ret = script.runInThisContext(options);\n            var globalDefineFunc = moduleManager.getGlobalAMDDefineFunc();\n            var receivedDefineCall = false;\n            var localDefineFunc = function () {\n                receivedDefineCall = true;\n                return globalDefineFunc.apply(null, arguments);\n            };\n            localDefineFunc.amd = globalDefineFunc.amd;\n            ret.call(AMDLoader.global, moduleManager.getGlobalAMDRequireFunc(), localDefineFunc, options.filename, this._path.dirname(options.filename));\n            recorder.record(32 /* NodeEndEvaluatingScript */, options.filename);\n            if (receivedDefineCall) {\n                callback();\n            }\n            else {\n                errorback(new Error(\"Didn't receive define call in \" + options.filename + \"!\"));\n            }\n            return script;\n        };\n        NodeScriptLoader.prototype._getElectronRendererScriptPathOrUri = function (path) {\n            if (!this._env.isElectronRenderer) {\n                return path;\n            }\n            var driveLetterMatch = path.match(/^([a-z])\\:(.*)/i);\n            if (driveLetterMatch) {\n                // windows\n                return \"file:///\" + (driveLetterMatch[1].toUpperCase() + ':' + driveLetterMatch[2]).replace(/\\\\/g, '/');\n            }\n            else {\n                // nix\n                return \"file://\" + path;\n            }\n        };\n        NodeScriptLoader.prototype._getCachedDataPath = function (config, filename) {\n            var hash = this._crypto.createHash('md5').update(filename, 'utf8').update(config.seed, 'utf8').update(process.arch, '').digest('hex');\n            var basename = this._path.basename(filename).replace(/\\.js$/, '');\n            return this._path.join(config.path, basename + \"-\" + hash + \".code\");\n        };\n        NodeScriptLoader.prototype._handleCachedData = function (script, scriptSource, cachedDataPath, createCachedData, moduleManager) {\n            var _this = this;\n            if (script.cachedDataRejected) {\n                // cached data got rejected -> delete and re-create\n                this._fs.unlink(cachedDataPath, function (err) {\n                    moduleManager.getRecorder().record(62 /* CachedDataRejected */, cachedDataPath);\n                    _this._createAndWriteCachedData(script, scriptSource, cachedDataPath, moduleManager);\n                    if (err) {\n                        moduleManager.getConfig().onError(err);\n                    }\n                });\n            }\n            else if (createCachedData) {\n                // no cached data, but wanted\n                this._createAndWriteCachedData(script, scriptSource, cachedDataPath, moduleManager);\n            }\n        };\n        // Cached data format: | SOURCE_HASH | V8_CACHED_DATA |\n        // -SOURCE_HASH is the md5 hash of the JS source (always 16 bytes)\n        // -V8_CACHED_DATA is what v8 produces\n        NodeScriptLoader.prototype._createAndWriteCachedData = function (script, scriptSource, cachedDataPath, moduleManager) {\n            var _this = this;\n            var timeout = Math.ceil(moduleManager.getConfig().getOptionsLiteral().nodeCachedData.writeDelay * (1 + Math.random()));\n            var lastSize = -1;\n            var iteration = 0;\n            var hashData = undefined;\n            var createLoop = function () {\n                setTimeout(function () {\n                    if (!hashData) {\n                        hashData = _this._crypto.createHash('md5').update(scriptSource, 'utf8').digest();\n                    }\n                    var cachedData = script.createCachedData();\n                    if (cachedData.length === 0 || cachedData.length === lastSize || iteration >= 5) {\n                        // done\n                        return;\n                    }\n                    if (cachedData.length < lastSize) {\n                        // less data than before: skip, try again next round\n                        createLoop();\n                        return;\n                    }\n                    lastSize = cachedData.length;\n                    _this._fs.writeFile(cachedDataPath, Buffer.concat([hashData, cachedData]), function (err) {\n                        if (err) {\n                            moduleManager.getConfig().onError(err);\n                        }\n                        moduleManager.getRecorder().record(63 /* CachedDataCreated */, cachedDataPath);\n                        createLoop();\n                    });\n                }, timeout * (Math.pow(4, iteration++)));\n            };\n            // with some delay (`timeout`) create cached data\n            // and repeat that (with backoff delay) until the\n            // data seems to be not changing anymore\n            createLoop();\n        };\n        NodeScriptLoader.prototype._readSourceAndCachedData = function (sourcePath, cachedDataPath, recorder, callback) {\n            if (!cachedDataPath) {\n                // no cached data case\n                this._fs.readFile(sourcePath, { encoding: 'utf8' }, callback);\n            }\n            else {\n                // cached data case: read both files in parallel\n                var source_1 = undefined;\n                var cachedData_1 = undefined;\n                var hashData_1 = undefined;\n                var steps_1 = 2;\n                var step_1 = function (err) {\n                    if (err) {\n                        callback(err);\n                    }\n                    else if (--steps_1 === 0) {\n                        callback(undefined, source_1, cachedData_1, hashData_1);\n                    }\n                };\n                this._fs.readFile(sourcePath, { encoding: 'utf8' }, function (err, data) {\n                    source_1 = data;\n                    step_1(err);\n                });\n                this._fs.readFile(cachedDataPath, function (err, data) {\n                    if (!err && data && data.length > 0) {\n                        hashData_1 = data.slice(0, 16);\n                        cachedData_1 = data.slice(16);\n                        recorder.record(60 /* CachedDataFound */, cachedDataPath);\n                    }\n                    else {\n                        recorder.record(61 /* CachedDataMissed */, cachedDataPath);\n                    }\n                    step_1(); // ignored: cached data is optional\n                });\n            }\n        };\n        NodeScriptLoader.prototype._verifyCachedData = function (script, scriptSource, cachedDataPath, hashData, moduleManager) {\n            var _this = this;\n            if (!hashData) {\n                // nothing to do\n                return;\n            }\n            if (script.cachedDataRejected) {\n                // invalid anyways\n                return;\n            }\n            setTimeout(function () {\n                // check source hash - the contract is that file paths change when file content\n                // change (e.g use the commit or version id as cache path). this check is\n                // for violations of this contract.\n                var hashDataNow = _this._crypto.createHash('md5').update(scriptSource, 'utf8').digest();\n                if (!hashData.equals(hashDataNow)) {\n                    moduleManager.getConfig().onError(new Error(\"FAILED TO VERIFY CACHED DATA, deleting stale '\" + cachedDataPath + \"' now, but a RESTART IS REQUIRED\"));\n                    _this._fs.unlink(cachedDataPath, function (err) {\n                        if (err) {\n                            moduleManager.getConfig().onError(err);\n                        }\n                    });\n                }\n            }, Math.ceil(5000 * (1 + Math.random())));\n        };\n        NodeScriptLoader._BOM = 0xFEFF;\n        NodeScriptLoader._PREFIX = '(function (require, define, __filename, __dirname) { ';\n        NodeScriptLoader._SUFFIX = '\\n});';\n        return NodeScriptLoader;\n    }());\n    function ensureRecordedNodeRequire(recorder, _nodeRequire) {\n        if (_nodeRequire.__$__isRecorded) {\n            // it is already recorded\n            return _nodeRequire;\n        }\n        var nodeRequire = function nodeRequire(what) {\n            recorder.record(33 /* NodeBeginNativeRequire */, what);\n            try {\n                return _nodeRequire(what);\n            }\n            finally {\n                recorder.record(34 /* NodeEndNativeRequire */, what);\n            }\n        };\n        nodeRequire.__$__isRecorded = true;\n        return nodeRequire;\n    }\n    AMDLoader.ensureRecordedNodeRequire = ensureRecordedNodeRequire;\n    function createScriptLoader(env) {\n        return new OnlyOnceScriptLoader(env);\n    }\n    AMDLoader.createScriptLoader = createScriptLoader;\n})(AMDLoader || (AMDLoader = {}));\n/*---------------------------------------------------------------------------------------------\n *  Copyright (c) Microsoft Corporation. All rights reserved.\n *  Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar AMDLoader;\n(function (AMDLoader) {\n    // ------------------------------------------------------------------------\n    // ModuleIdResolver\n    var ModuleIdResolver = /** @class */ (function () {\n        function ModuleIdResolver(fromModuleId) {\n            var lastSlash = fromModuleId.lastIndexOf('/');\n            if (lastSlash !== -1) {\n                this.fromModulePath = fromModuleId.substr(0, lastSlash + 1);\n            }\n            else {\n                this.fromModulePath = '';\n            }\n        }\n        /**\n         * Normalize 'a/../name' to 'name', etc.\n         */\n        ModuleIdResolver._normalizeModuleId = function (moduleId) {\n            var r = moduleId, pattern;\n            // replace /./ => /\n            pattern = /\\/\\.\\//;\n            while (pattern.test(r)) {\n                r = r.replace(pattern, '/');\n            }\n            // replace ^./ => nothing\n            r = r.replace(/^\\.\\//g, '');\n            // replace /aa/../ => / (BUT IGNORE /../../)\n            pattern = /\\/(([^\\/])|([^\\/][^\\/\\.])|([^\\/\\.][^\\/])|([^\\/][^\\/][^\\/]+))\\/\\.\\.\\//;\n            while (pattern.test(r)) {\n                r = r.replace(pattern, '/');\n            }\n            // replace ^aa/../ => nothing (BUT IGNORE ../../)\n            r = r.replace(/^(([^\\/])|([^\\/][^\\/\\.])|([^\\/\\.][^\\/])|([^\\/][^\\/][^\\/]+))\\/\\.\\.\\//, '');\n            return r;\n        };\n        /**\n         * Resolve relative module ids\n         */\n        ModuleIdResolver.prototype.resolveModule = function (moduleId) {\n            var result = moduleId;\n            if (!AMDLoader.Utilities.isAbsolutePath(result)) {\n                if (AMDLoader.Utilities.startsWith(result, './') || AMDLoader.Utilities.startsWith(result, '../')) {\n                    result = ModuleIdResolver._normalizeModuleId(this.fromModulePath + result);\n                }\n            }\n            return result;\n        };\n        ModuleIdResolver.ROOT = new ModuleIdResolver('');\n        return ModuleIdResolver;\n    }());\n    AMDLoader.ModuleIdResolver = ModuleIdResolver;\n    // ------------------------------------------------------------------------\n    // Module\n    var Module = /** @class */ (function () {\n        function Module(id, strId, dependencies, callback, errorback, moduleIdResolver) {\n            this.id = id;\n            this.strId = strId;\n            this.dependencies = dependencies;\n            this._callback = callback;\n            this._errorback = errorback;\n            this.moduleIdResolver = moduleIdResolver;\n            this.exports = {};\n            this.error = null;\n            this.exportsPassedIn = false;\n            this.unresolvedDependenciesCount = this.dependencies.length;\n            this._isComplete = false;\n        }\n        Module._safeInvokeFunction = function (callback, args) {\n            try {\n                return {\n                    returnedValue: callback.apply(AMDLoader.global, args),\n                    producedError: null\n                };\n            }\n            catch (e) {\n                return {\n                    returnedValue: null,\n                    producedError: e\n                };\n            }\n        };\n        Module._invokeFactory = function (config, strModuleId, callback, dependenciesValues) {\n            if (!config.shouldInvokeFactory(strModuleId)) {\n                return {\n                    returnedValue: null,\n                    producedError: null\n                };\n            }\n            if (config.shouldCatchError()) {\n                return this._safeInvokeFunction(callback, dependenciesValues);\n            }\n            return {\n                returnedValue: callback.apply(AMDLoader.global, dependenciesValues),\n                producedError: null\n            };\n        };\n        Module.prototype.complete = function (recorder, config, dependenciesValues, inversedependenciesProvider) {\n            this._isComplete = true;\n            var producedError = null;\n            if (this._callback) {\n                if (typeof this._callback === 'function') {\n                    recorder.record(21 /* BeginInvokeFactory */, this.strId);\n                    var r = Module._invokeFactory(config, this.strId, this._callback, dependenciesValues);\n                    producedError = r.producedError;\n                    recorder.record(22 /* EndInvokeFactory */, this.strId);\n                    if (!producedError && typeof r.returnedValue !== 'undefined' && (!this.exportsPassedIn || AMDLoader.Utilities.isEmpty(this.exports))) {\n                        this.exports = r.returnedValue;\n                    }\n                }\n                else {\n                    this.exports = this._callback;\n                }\n            }\n            if (producedError) {\n                var err = AMDLoader.ensureError(producedError);\n                err.phase = 'factory';\n                err.moduleId = this.strId;\n                err.neededBy = inversedependenciesProvider(this.id);\n                this.error = err;\n                config.onError(err);\n            }\n            this.dependencies = null;\n            this._callback = null;\n            this._errorback = null;\n            this.moduleIdResolver = null;\n        };\n        /**\n         * One of the direct dependencies or a transitive dependency has failed to load.\n         */\n        Module.prototype.onDependencyError = function (err) {\n            this._isComplete = true;\n            this.error = err;\n            if (this._errorback) {\n                this._errorback(err);\n                return true;\n            }\n            return false;\n        };\n        /**\n         * Is the current module complete?\n         */\n        Module.prototype.isComplete = function () {\n            return this._isComplete;\n        };\n        return Module;\n    }());\n    AMDLoader.Module = Module;\n    var ModuleIdProvider = /** @class */ (function () {\n        function ModuleIdProvider() {\n            this._nextId = 0;\n            this._strModuleIdToIntModuleId = new Map();\n            this._intModuleIdToStrModuleId = [];\n            // Ensure values 0, 1, 2 are assigned accordingly with ModuleId\n            this.getModuleId('exports');\n            this.getModuleId('module');\n            this.getModuleId('require');\n        }\n        ModuleIdProvider.prototype.getMaxModuleId = function () {\n            return this._nextId;\n        };\n        ModuleIdProvider.prototype.getModuleId = function (strModuleId) {\n            var id = this._strModuleIdToIntModuleId.get(strModuleId);\n            if (typeof id === 'undefined') {\n                id = this._nextId++;\n                this._strModuleIdToIntModuleId.set(strModuleId, id);\n                this._intModuleIdToStrModuleId[id] = strModuleId;\n            }\n            return id;\n        };\n        ModuleIdProvider.prototype.getStrModuleId = function (moduleId) {\n            return this._intModuleIdToStrModuleId[moduleId];\n        };\n        return ModuleIdProvider;\n    }());\n    var RegularDependency = /** @class */ (function () {\n        function RegularDependency(id) {\n            this.id = id;\n        }\n        RegularDependency.EXPORTS = new RegularDependency(0 /* EXPORTS */);\n        RegularDependency.MODULE = new RegularDependency(1 /* MODULE */);\n        RegularDependency.REQUIRE = new RegularDependency(2 /* REQUIRE */);\n        return RegularDependency;\n    }());\n    AMDLoader.RegularDependency = RegularDependency;\n    var PluginDependency = /** @class */ (function () {\n        function PluginDependency(id, pluginId, pluginParam) {\n            this.id = id;\n            this.pluginId = pluginId;\n            this.pluginParam = pluginParam;\n        }\n        return PluginDependency;\n    }());\n    AMDLoader.PluginDependency = PluginDependency;\n    var ModuleManager = /** @class */ (function () {\n        function ModuleManager(env, scriptLoader, defineFunc, requireFunc, loaderAvailableTimestamp) {\n            if (loaderAvailableTimestamp === void 0) { loaderAvailableTimestamp = 0; }\n            this._env = env;\n            this._scriptLoader = scriptLoader;\n            this._loaderAvailableTimestamp = loaderAvailableTimestamp;\n            this._defineFunc = defineFunc;\n            this._requireFunc = requireFunc;\n            this._moduleIdProvider = new ModuleIdProvider();\n            this._config = new AMDLoader.Configuration(this._env);\n            this._hasDependencyCycle = false;\n            this._modules2 = [];\n            this._knownModules2 = [];\n            this._inverseDependencies2 = [];\n            this._inversePluginDependencies2 = new Map();\n            this._currentAnonymousDefineCall = null;\n            this._recorder = null;\n            this._buildInfoPath = [];\n            this._buildInfoDefineStack = [];\n            this._buildInfoDependencies = [];\n        }\n        ModuleManager.prototype.reset = function () {\n            return new ModuleManager(this._env, this._scriptLoader, this._defineFunc, this._requireFunc, this._loaderAvailableTimestamp);\n        };\n        ModuleManager.prototype.getGlobalAMDDefineFunc = function () {\n            return this._defineFunc;\n        };\n        ModuleManager.prototype.getGlobalAMDRequireFunc = function () {\n            return this._requireFunc;\n        };\n        ModuleManager._findRelevantLocationInStack = function (needle, stack) {\n            var normalize = function (str) { return str.replace(/\\\\/g, '/'); };\n            var normalizedPath = normalize(needle);\n            var stackPieces = stack.split(/\\n/);\n            for (var i = 0; i < stackPieces.length; i++) {\n                var m = stackPieces[i].match(/(.*):(\\d+):(\\d+)\\)?$/);\n                if (m) {\n                    var stackPath = m[1];\n                    var stackLine = m[2];\n                    var stackColumn = m[3];\n                    var trimPathOffset = Math.max(stackPath.lastIndexOf(' ') + 1, stackPath.lastIndexOf('(') + 1);\n                    stackPath = stackPath.substr(trimPathOffset);\n                    stackPath = normalize(stackPath);\n                    if (stackPath === normalizedPath) {\n                        var r = {\n                            line: parseInt(stackLine, 10),\n                            col: parseInt(stackColumn, 10)\n                        };\n                        if (r.line === 1) {\n                            r.col -= '(function (require, define, __filename, __dirname) { '.length;\n                        }\n                        return r;\n                    }\n                }\n            }\n            throw new Error('Could not correlate define call site for needle ' + needle);\n        };\n        ModuleManager.prototype.getBuildInfo = function () {\n            if (!this._config.isBuild()) {\n                return null;\n            }\n            var result = [], resultLen = 0;\n            for (var i = 0, len = this._modules2.length; i < len; i++) {\n                var m = this._modules2[i];\n                if (!m) {\n                    continue;\n                }\n                var location_1 = this._buildInfoPath[m.id] || null;\n                var defineStack = this._buildInfoDefineStack[m.id] || null;\n                var dependencies = this._buildInfoDependencies[m.id];\n                result[resultLen++] = {\n                    id: m.strId,\n                    path: location_1,\n                    defineLocation: (location_1 && defineStack ? ModuleManager._findRelevantLocationInStack(location_1, defineStack) : null),\n                    dependencies: dependencies,\n                    shim: null,\n                    exports: m.exports\n                };\n            }\n            return result;\n        };\n        ModuleManager.prototype.getRecorder = function () {\n            if (!this._recorder) {\n                if (this._config.shouldRecordStats()) {\n                    this._recorder = new AMDLoader.LoaderEventRecorder(this._loaderAvailableTimestamp);\n                }\n                else {\n                    this._recorder = AMDLoader.NullLoaderEventRecorder.INSTANCE;\n                }\n            }\n            return this._recorder;\n        };\n        ModuleManager.prototype.getLoaderEvents = function () {\n            return this.getRecorder().getEvents();\n        };\n        /**\n         * Defines an anonymous module (without an id). Its name will be resolved as we receive a callback from the scriptLoader.\n         * @param dependencies @see defineModule\n         * @param callback @see defineModule\n         */\n        ModuleManager.prototype.enqueueDefineAnonymousModule = function (dependencies, callback) {\n            if (this._currentAnonymousDefineCall !== null) {\n                throw new Error('Can only have one anonymous define call per script file');\n            }\n            var stack = null;\n            if (this._config.isBuild()) {\n                stack = new Error('StackLocation').stack || null;\n            }\n            this._currentAnonymousDefineCall = {\n                stack: stack,\n                dependencies: dependencies,\n                callback: callback\n            };\n        };\n        /**\n         * Creates a module and stores it in _modules. The manager will immediately begin resolving its dependencies.\n         * @param strModuleId An unique and absolute id of the module. This must not collide with another module's id\n         * @param dependencies An array with the dependencies of the module. Special keys are: \"require\", \"exports\" and \"module\"\n         * @param callback if callback is a function, it will be called with the resolved dependencies. if callback is an object, it will be considered as the exports of the module.\n         */\n        ModuleManager.prototype.defineModule = function (strModuleId, dependencies, callback, errorback, stack, moduleIdResolver) {\n            var _this = this;\n            if (moduleIdResolver === void 0) { moduleIdResolver = new ModuleIdResolver(strModuleId); }\n            var moduleId = this._moduleIdProvider.getModuleId(strModuleId);\n            if (this._modules2[moduleId]) {\n                if (!this._config.isDuplicateMessageIgnoredFor(strModuleId)) {\n                    console.warn('Duplicate definition of module \\'' + strModuleId + '\\'');\n                }\n                // Super important! Completely ignore duplicate module definition\n                return;\n            }\n            var m = new Module(moduleId, strModuleId, this._normalizeDependencies(dependencies, moduleIdResolver), callback, errorback, moduleIdResolver);\n            this._modules2[moduleId] = m;\n            if (this._config.isBuild()) {\n                this._buildInfoDefineStack[moduleId] = stack;\n                this._buildInfoDependencies[moduleId] = (m.dependencies || []).map(function (dep) { return _this._moduleIdProvider.getStrModuleId(dep.id); });\n            }\n            // Resolving of dependencies is immediate (not in a timeout). If there's a need to support a packer that concatenates in an\n            // unordered manner, in order to finish processing the file, execute the following method in a timeout\n            this._resolve(m);\n        };\n        ModuleManager.prototype._normalizeDependency = function (dependency, moduleIdResolver) {\n            if (dependency === 'exports') {\n                return RegularDependency.EXPORTS;\n            }\n            if (dependency === 'module') {\n                return RegularDependency.MODULE;\n            }\n            if (dependency === 'require') {\n                return RegularDependency.REQUIRE;\n            }\n            // Normalize dependency and then request it from the manager\n            var bangIndex = dependency.indexOf('!');\n            if (bangIndex >= 0) {\n                var strPluginId = moduleIdResolver.resolveModule(dependency.substr(0, bangIndex));\n                var pluginParam = moduleIdResolver.resolveModule(dependency.substr(bangIndex + 1));\n                var dependencyId = this._moduleIdProvider.getModuleId(strPluginId + '!' + pluginParam);\n                var pluginId = this._moduleIdProvider.getModuleId(strPluginId);\n                return new PluginDependency(dependencyId, pluginId, pluginParam);\n            }\n            return new RegularDependency(this._moduleIdProvider.getModuleId(moduleIdResolver.resolveModule(dependency)));\n        };\n        ModuleManager.prototype._normalizeDependencies = function (dependencies, moduleIdResolver) {\n            var result = [], resultLen = 0;\n            for (var i = 0, len = dependencies.length; i < len; i++) {\n                result[resultLen++] = this._normalizeDependency(dependencies[i], moduleIdResolver);\n            }\n            return result;\n        };\n        ModuleManager.prototype._relativeRequire = function (moduleIdResolver, dependencies, callback, errorback) {\n            if (typeof dependencies === 'string') {\n                return this.synchronousRequire(dependencies, moduleIdResolver);\n            }\n            this.defineModule(AMDLoader.Utilities.generateAnonymousModule(), dependencies, callback, errorback, null, moduleIdResolver);\n        };\n        /**\n         * Require synchronously a module by its absolute id. If the module is not loaded, an exception will be thrown.\n         * @param id The unique and absolute id of the required module\n         * @return The exports of module 'id'\n         */\n        ModuleManager.prototype.synchronousRequire = function (_strModuleId, moduleIdResolver) {\n            if (moduleIdResolver === void 0) { moduleIdResolver = new ModuleIdResolver(_strModuleId); }\n            var dependency = this._normalizeDependency(_strModuleId, moduleIdResolver);\n            var m = this._modules2[dependency.id];\n            if (!m) {\n                throw new Error('Check dependency list! Synchronous require cannot resolve module \\'' + _strModuleId + '\\'. This is the first mention of this module!');\n            }\n            if (!m.isComplete()) {\n                throw new Error('Check dependency list! Synchronous require cannot resolve module \\'' + _strModuleId + '\\'. This module has not been resolved completely yet.');\n            }\n            if (m.error) {\n                throw m.error;\n            }\n            return m.exports;\n        };\n        ModuleManager.prototype.configure = function (params, shouldOverwrite) {\n            var oldShouldRecordStats = this._config.shouldRecordStats();\n            if (shouldOverwrite) {\n                this._config = new AMDLoader.Configuration(this._env, params);\n            }\n            else {\n                this._config = this._config.cloneAndMerge(params);\n            }\n            if (this._config.shouldRecordStats() && !oldShouldRecordStats) {\n                this._recorder = null;\n            }\n        };\n        ModuleManager.prototype.getConfig = function () {\n            return this._config;\n        };\n        /**\n         * Callback from the scriptLoader when a module has been loaded.\n         * This means its code is available and has been executed.\n         */\n        ModuleManager.prototype._onLoad = function (moduleId) {\n            if (this._currentAnonymousDefineCall !== null) {\n                var defineCall = this._currentAnonymousDefineCall;\n                this._currentAnonymousDefineCall = null;\n                // Hit an anonymous define call\n                this.defineModule(this._moduleIdProvider.getStrModuleId(moduleId), defineCall.dependencies, defineCall.callback, null, defineCall.stack);\n            }\n        };\n        ModuleManager.prototype._createLoadError = function (moduleId, _err) {\n            var _this = this;\n            var strModuleId = this._moduleIdProvider.getStrModuleId(moduleId);\n            var neededBy = (this._inverseDependencies2[moduleId] || []).map(function (intModuleId) { return _this._moduleIdProvider.getStrModuleId(intModuleId); });\n            var err = AMDLoader.ensureError(_err);\n            err.phase = 'loading';\n            err.moduleId = strModuleId;\n            err.neededBy = neededBy;\n            return err;\n        };\n        /**\n         * Callback from the scriptLoader when a module hasn't been loaded.\n         * This means that the script was not found (e.g. 404) or there was an error in the script.\n         */\n        ModuleManager.prototype._onLoadError = function (moduleId, err) {\n            var error = this._createLoadError(moduleId, err);\n            if (!this._modules2[moduleId]) {\n                this._modules2[moduleId] = new Module(moduleId, this._moduleIdProvider.getStrModuleId(moduleId), [], function () { }, null, null);\n            }\n            // Find any 'local' error handlers, walk the entire chain of inverse dependencies if necessary.\n            var seenModuleId = [];\n            for (var i = 0, len = this._moduleIdProvider.getMaxModuleId(); i < len; i++) {\n                seenModuleId[i] = false;\n            }\n            var someoneNotified = false;\n            var queue = [];\n            queue.push(moduleId);\n            seenModuleId[moduleId] = true;\n            while (queue.length > 0) {\n                var queueElement = queue.shift();\n                var m = this._modules2[queueElement];\n                if (m) {\n                    someoneNotified = m.onDependencyError(error) || someoneNotified;\n                }\n                var inverseDeps = this._inverseDependencies2[queueElement];\n                if (inverseDeps) {\n                    for (var i = 0, len = inverseDeps.length; i < len; i++) {\n                        var inverseDep = inverseDeps[i];\n                        if (!seenModuleId[inverseDep]) {\n                            queue.push(inverseDep);\n                            seenModuleId[inverseDep] = true;\n                        }\n                    }\n                }\n            }\n            if (!someoneNotified) {\n                this._config.onError(error);\n            }\n        };\n        /**\n         * Walks (recursively) the dependencies of 'from' in search of 'to'.\n         * Returns true if there is such a path or false otherwise.\n         * @param from Module id to start at\n         * @param to Module id to look for\n         */\n        ModuleManager.prototype._hasDependencyPath = function (fromId, toId) {\n            var from = this._modules2[fromId];\n            if (!from) {\n                return false;\n            }\n            var inQueue = [];\n            for (var i = 0, len = this._moduleIdProvider.getMaxModuleId(); i < len; i++) {\n                inQueue[i] = false;\n            }\n            var queue = [];\n            // Insert 'from' in queue\n            queue.push(from);\n            inQueue[fromId] = true;\n            while (queue.length > 0) {\n                // Pop first inserted element of queue\n                var element = queue.shift();\n                var dependencies = element.dependencies;\n                if (dependencies) {\n                    // Walk the element's dependencies\n                    for (var i = 0, len = dependencies.length; i < len; i++) {\n                        var dependency = dependencies[i];\n                        if (dependency.id === toId) {\n                            // There is a path to 'to'\n                            return true;\n                        }\n                        var dependencyModule = this._modules2[dependency.id];\n                        if (dependencyModule && !inQueue[dependency.id]) {\n                            // Insert 'dependency' in queue\n                            inQueue[dependency.id] = true;\n                            queue.push(dependencyModule);\n                        }\n                    }\n                }\n            }\n            // There is no path to 'to'\n            return false;\n        };\n        /**\n         * Walks (recursively) the dependencies of 'from' in search of 'to'.\n         * Returns cycle as array.\n         * @param from Module id to start at\n         * @param to Module id to look for\n         */\n        ModuleManager.prototype._findCyclePath = function (fromId, toId, depth) {\n            if (fromId === toId || depth === 50) {\n                return [fromId];\n            }\n            var from = this._modules2[fromId];\n            if (!from) {\n                return null;\n            }\n            // Walk the element's dependencies\n            var dependencies = from.dependencies;\n            if (dependencies) {\n                for (var i = 0, len = dependencies.length; i < len; i++) {\n                    var path = this._findCyclePath(dependencies[i].id, toId, depth + 1);\n                    if (path !== null) {\n                        path.push(fromId);\n                        return path;\n                    }\n                }\n            }\n            return null;\n        };\n        /**\n         * Create the local 'require' that is passed into modules\n         */\n        ModuleManager.prototype._createRequire = function (moduleIdResolver) {\n            var _this = this;\n            var result = (function (dependencies, callback, errorback) {\n                return _this._relativeRequire(moduleIdResolver, dependencies, callback, errorback);\n            });\n            result.toUrl = function (id) {\n                return _this._config.requireToUrl(moduleIdResolver.resolveModule(id));\n            };\n            result.getStats = function () {\n                return _this.getLoaderEvents();\n            };\n            result.hasDependencyCycle = function () {\n                return _this._hasDependencyCycle;\n            };\n            result.config = function (params, shouldOverwrite) {\n                if (shouldOverwrite === void 0) { shouldOverwrite = false; }\n                _this.configure(params, shouldOverwrite);\n            };\n            result.__$__nodeRequire = AMDLoader.global.nodeRequire;\n            return result;\n        };\n        ModuleManager.prototype._loadModule = function (moduleId) {\n            var _this = this;\n            if (this._modules2[moduleId] || this._knownModules2[moduleId]) {\n                // known module\n                return;\n            }\n            this._knownModules2[moduleId] = true;\n            var strModuleId = this._moduleIdProvider.getStrModuleId(moduleId);\n            var paths = this._config.moduleIdToPaths(strModuleId);\n            var scopedPackageRegex = /^@[^\\/]+\\/[^\\/]+$/; // matches @scope/package-name\n            if (this._env.isNode && (strModuleId.indexOf('/') === -1 || scopedPackageRegex.test(strModuleId))) {\n                paths.push('node|' + strModuleId);\n            }\n            var lastPathIndex = -1;\n            var loadNextPath = function (err) {\n                lastPathIndex++;\n                if (lastPathIndex >= paths.length) {\n                    // No more paths to try\n                    _this._onLoadError(moduleId, err);\n                }\n                else {\n                    var currentPath_1 = paths[lastPathIndex];\n                    var recorder_1 = _this.getRecorder();\n                    if (_this._config.isBuild() && currentPath_1 === 'empty:') {\n                        _this._buildInfoPath[moduleId] = currentPath_1;\n                        _this.defineModule(_this._moduleIdProvider.getStrModuleId(moduleId), [], null, null, null);\n                        _this._onLoad(moduleId);\n                        return;\n                    }\n                    recorder_1.record(10 /* BeginLoadingScript */, currentPath_1);\n                    _this._scriptLoader.load(_this, currentPath_1, function () {\n                        if (_this._config.isBuild()) {\n                            _this._buildInfoPath[moduleId] = currentPath_1;\n                        }\n                        recorder_1.record(11 /* EndLoadingScriptOK */, currentPath_1);\n                        _this._onLoad(moduleId);\n                    }, function (err) {\n                        recorder_1.record(12 /* EndLoadingScriptError */, currentPath_1);\n                        loadNextPath(err);\n                    });\n                }\n            };\n            loadNextPath(null);\n        };\n        /**\n         * Resolve a plugin dependency with the plugin loaded & complete\n         * @param module The module that has this dependency\n         * @param pluginDependency The semi-normalized dependency that appears in the module. e.g. 'vs/css!./mycssfile'. Only the plugin part (before !) is normalized\n         * @param plugin The plugin (what the plugin exports)\n         */\n        ModuleManager.prototype._loadPluginDependency = function (plugin, pluginDependency) {\n            var _this = this;\n            if (this._modules2[pluginDependency.id] || this._knownModules2[pluginDependency.id]) {\n                // known module\n                return;\n            }\n            this._knownModules2[pluginDependency.id] = true;\n            // Delegate the loading of the resource to the plugin\n            var load = (function (value) {\n                _this.defineModule(_this._moduleIdProvider.getStrModuleId(pluginDependency.id), [], value, null, null);\n            });\n            load.error = function (err) {\n                _this._config.onError(_this._createLoadError(pluginDependency.id, err));\n            };\n            plugin.load(pluginDependency.pluginParam, this._createRequire(ModuleIdResolver.ROOT), load, this._config.getOptionsLiteral());\n        };\n        /**\n         * Examine the dependencies of module 'module' and resolve them as needed.\n         */\n        ModuleManager.prototype._resolve = function (module) {\n            var _this = this;\n            var dependencies = module.dependencies;\n            if (dependencies) {\n                for (var i = 0, len = dependencies.length; i < len; i++) {\n                    var dependency = dependencies[i];\n                    if (dependency === RegularDependency.EXPORTS) {\n                        module.exportsPassedIn = true;\n                        module.unresolvedDependenciesCount--;\n                        continue;\n                    }\n                    if (dependency === RegularDependency.MODULE) {\n                        module.unresolvedDependenciesCount--;\n                        continue;\n                    }\n                    if (dependency === RegularDependency.REQUIRE) {\n                        module.unresolvedDependenciesCount--;\n                        continue;\n                    }\n                    var dependencyModule = this._modules2[dependency.id];\n                    if (dependencyModule && dependencyModule.isComplete()) {\n                        if (dependencyModule.error) {\n                            module.onDependencyError(dependencyModule.error);\n                            return;\n                        }\n                        module.unresolvedDependenciesCount--;\n                        continue;\n                    }\n                    if (this._hasDependencyPath(dependency.id, module.id)) {\n                        this._hasDependencyCycle = true;\n                        console.warn('There is a dependency cycle between \\'' + this._moduleIdProvider.getStrModuleId(dependency.id) + '\\' and \\'' + this._moduleIdProvider.getStrModuleId(module.id) + '\\'. The cyclic path follows:');\n                        var cyclePath = this._findCyclePath(dependency.id, module.id, 0) || [];\n                        cyclePath.reverse();\n                        cyclePath.push(dependency.id);\n                        console.warn(cyclePath.map(function (id) { return _this._moduleIdProvider.getStrModuleId(id); }).join(' => \\n'));\n                        // Break the cycle\n                        module.unresolvedDependenciesCount--;\n                        continue;\n                    }\n                    // record inverse dependency\n                    this._inverseDependencies2[dependency.id] = this._inverseDependencies2[dependency.id] || [];\n                    this._inverseDependencies2[dependency.id].push(module.id);\n                    if (dependency instanceof PluginDependency) {\n                        var plugin = this._modules2[dependency.pluginId];\n                        if (plugin && plugin.isComplete()) {\n                            this._loadPluginDependency(plugin.exports, dependency);\n                            continue;\n                        }\n                        // Record dependency for when the plugin gets loaded\n                        var inversePluginDeps = this._inversePluginDependencies2.get(dependency.pluginId);\n                        if (!inversePluginDeps) {\n                            inversePluginDeps = [];\n                            this._inversePluginDependencies2.set(dependency.pluginId, inversePluginDeps);\n                        }\n                        inversePluginDeps.push(dependency);\n                        this._loadModule(dependency.pluginId);\n                        continue;\n                    }\n                    this._loadModule(dependency.id);\n                }\n            }\n            if (module.unresolvedDependenciesCount === 0) {\n                this._onModuleComplete(module);\n            }\n        };\n        ModuleManager.prototype._onModuleComplete = function (module) {\n            var _this = this;\n            var recorder = this.getRecorder();\n            if (module.isComplete()) {\n                // already done\n                return;\n            }\n            var dependencies = module.dependencies;\n            var dependenciesValues = [];\n            if (dependencies) {\n                for (var i = 0, len = dependencies.length; i < len; i++) {\n                    var dependency = dependencies[i];\n                    if (dependency === RegularDependency.EXPORTS) {\n                        dependenciesValues[i] = module.exports;\n                        continue;\n                    }\n                    if (dependency === RegularDependency.MODULE) {\n                        dependenciesValues[i] = {\n                            id: module.strId,\n                            config: function () {\n                                return _this._config.getConfigForModule(module.strId);\n                            }\n                        };\n                        continue;\n                    }\n                    if (dependency === RegularDependency.REQUIRE) {\n                        dependenciesValues[i] = this._createRequire(module.moduleIdResolver);\n                        continue;\n                    }\n                    var dependencyModule = this._modules2[dependency.id];\n                    if (dependencyModule) {\n                        dependenciesValues[i] = dependencyModule.exports;\n                        continue;\n                    }\n                    dependenciesValues[i] = null;\n                }\n            }\n            var inversedependenciesProvider = function (moduleId) {\n                return (_this._inverseDependencies2[moduleId] || []).map(function (intModuleId) { return _this._moduleIdProvider.getStrModuleId(intModuleId); });\n            };\n            module.complete(recorder, this._config, dependenciesValues, inversedependenciesProvider);\n            // Fetch and clear inverse dependencies\n            var inverseDeps = this._inverseDependencies2[module.id];\n            this._inverseDependencies2[module.id] = null;\n            if (inverseDeps) {\n                // Resolve one inverse dependency at a time, always\n                // on the lookout for a completed module.\n                for (var i = 0, len = inverseDeps.length; i < len; i++) {\n                    var inverseDependencyId = inverseDeps[i];\n                    var inverseDependency = this._modules2[inverseDependencyId];\n                    inverseDependency.unresolvedDependenciesCount--;\n                    if (inverseDependency.unresolvedDependenciesCount === 0) {\n                        this._onModuleComplete(inverseDependency);\n                    }\n                }\n            }\n            var inversePluginDeps = this._inversePluginDependencies2.get(module.id);\n            if (inversePluginDeps) {\n                // This module is used as a plugin at least once\n                // Fetch and clear these inverse plugin dependencies\n                this._inversePluginDependencies2.delete(module.id);\n                // Resolve plugin dependencies one at a time\n                for (var i = 0, len = inversePluginDeps.length; i < len; i++) {\n                    this._loadPluginDependency(module.exports, inversePluginDeps[i]);\n                }\n            }\n        };\n        return ModuleManager;\n    }());\n    AMDLoader.ModuleManager = ModuleManager;\n})(AMDLoader || (AMDLoader = {}));\nvar define;\nvar AMDLoader;\n(function (AMDLoader) {\n    var env = new AMDLoader.Environment();\n    var moduleManager = null;\n    var DefineFunc = function (id, dependencies, callback) {\n        if (typeof id !== 'string') {\n            callback = dependencies;\n            dependencies = id;\n            id = null;\n        }\n        if (typeof dependencies !== 'object' || !Array.isArray(dependencies)) {\n            callback = dependencies;\n            dependencies = null;\n        }\n        if (!dependencies) {\n            dependencies = ['require', 'exports', 'module'];\n        }\n        if (id) {\n            moduleManager.defineModule(id, dependencies, callback, null, null);\n        }\n        else {\n            moduleManager.enqueueDefineAnonymousModule(dependencies, callback);\n        }\n    };\n    DefineFunc.amd = {\n        jQuery: true\n    };\n    var _requireFunc_config = function (params, shouldOverwrite) {\n        if (shouldOverwrite === void 0) { shouldOverwrite = false; }\n        moduleManager.configure(params, shouldOverwrite);\n    };\n    var RequireFunc = function () {\n        if (arguments.length === 1) {\n            if ((arguments[0] instanceof Object) && !Array.isArray(arguments[0])) {\n                _requireFunc_config(arguments[0]);\n                return;\n            }\n            if (typeof arguments[0] === 'string') {\n                return moduleManager.synchronousRequire(arguments[0]);\n            }\n        }\n        if (arguments.length === 2 || arguments.length === 3) {\n            if (Array.isArray(arguments[0])) {\n                moduleManager.defineModule(AMDLoader.Utilities.generateAnonymousModule(), arguments[0], arguments[1], arguments[2], null);\n                return;\n            }\n        }\n        throw new Error('Unrecognized require call');\n    };\n    RequireFunc.config = _requireFunc_config;\n    RequireFunc.getConfig = function () {\n        return moduleManager.getConfig().getOptionsLiteral();\n    };\n    RequireFunc.reset = function () {\n        moduleManager = moduleManager.reset();\n    };\n    RequireFunc.getBuildInfo = function () {\n        return moduleManager.getBuildInfo();\n    };\n    RequireFunc.getStats = function () {\n        return moduleManager.getLoaderEvents();\n    };\n    RequireFunc.define = DefineFunc;\n    function init() {\n        if (typeof AMDLoader.global.require !== 'undefined' || typeof require !== 'undefined') {\n            var _nodeRequire = (AMDLoader.global.require || require);\n            if (typeof _nodeRequire === 'function' && typeof _nodeRequire.resolve === 'function') {\n                // re-expose node's require function\n                var nodeRequire = AMDLoader.ensureRecordedNodeRequire(moduleManager.getRecorder(), _nodeRequire);\n                AMDLoader.global.nodeRequire = nodeRequire;\n                RequireFunc.nodeRequire = nodeRequire;\n                RequireFunc.__$__nodeRequire = nodeRequire;\n            }\n        }\n        if (env.isNode && !env.isElectronRenderer && !env.isElectronNodeIntegrationWebWorker) {\n            module.exports = RequireFunc;\n            require = RequireFunc;\n        }\n        else {\n            if (!env.isElectronRenderer) {\n                AMDLoader.global.define = DefineFunc;\n            }\n            AMDLoader.global.require = RequireFunc;\n        }\n    }\n    AMDLoader.init = init;\n    if (typeof AMDLoader.global.define !== 'function' || !AMDLoader.global.define.amd) {\n        moduleManager = new AMDLoader.ModuleManager(env, AMDLoader.createScriptLoader(env), DefineFunc, RequireFunc, AMDLoader.Utilities.getHighPerformanceTimestamp());\n        // The global variable require can configure the loader\n        if (typeof AMDLoader.global.require !== 'undefined' && typeof AMDLoader.global.require !== 'function') {\n            RequireFunc.config(AMDLoader.global.require);\n        }\n        // This define is for the local closure defined in node in the case that the loader is concatenated\n        define = function () {\n            return DefineFunc.apply(null, arguments);\n        };\n        define.amd = DefineFunc.amd;\n        if (typeof doNotInitLoader === 'undefined') {\n            init();\n        }\n    }\n})(AMDLoader || (AMDLoader = {}));\n"],"mappings":"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","names":[],"file":"loader.js"}