{"version":3,"sources":["jsdelivr-header.js","/npm/@litert/loader@3.5.9/dist/loader.js"],"names":[],"mappings":"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","file":"/npm/@litert/loader@3.5.9/dist/loader.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@litert/loader@3.5.9/dist/loader.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n(function () {\n    const temp = document.querySelectorAll('script');\n    const scriptEle = temp[temp.length - 1];\n    let location = window.location.href;\n    const qio = location.indexOf('?');\n    if (qio > -1) {\n        location = location.slice(0, qio);\n    }\n    if (!location.endsWith('/')) {\n        const lio = location.lastIndexOf('/');\n        location = location.slice(0, lio + 1);\n    }\n    const loader = {\n        'isReady': false,\n        'readys': [],\n        'head': undefined,\n        'cdn': 'https://cdn.jsdelivr.net',\n        init: function () {\n            const srcSplit = scriptEle.src.indexOf('?');\n            const srcSearch = decodeURIComponent(scriptEle.src.slice(srcSplit));\n            let path = '';\n            if (srcSplit !== -1) {\n                let match = /[?&]path=([\\w./\"'@:{}\\-?=]+)/.exec(srcSearch);\n                if (match) {\n                    path = match[1];\n                    if (!path.endsWith('.js')) {\n                        path += '.js';\n                    }\n                }\n                match = /[?&]cdn=([\\w./\"'@:{}\\-?=]+)/.exec(srcSearch);\n                if (match) {\n                    this.cdn = this.urlResolve(window.location.href, match[1]);\n                }\n            }\n            const run = () => __awaiter(this, void 0, void 0, function* () {\n                this.head = document.getElementsByTagName('head')[0];\n                if (typeof fetch !== 'function') {\n                    yield this.loadScript(this.cdn + '/npm/whatwg-fetch@3.0.0/fetch.min.js');\n                }\n                this.isReady = true;\n                for (const func of this.readys) {\n                    const rtn = func();\n                    if (rtn instanceof Promise) {\n                        rtn.catch((e) => {\n                            throw e;\n                        });\n                    }\n                }\n                if (path) {\n                    const map = {};\n                    const files = {};\n                    let match = /[?&]npm=([\\w./\"'@:{}\\-?=, ]+)/.exec(srcSearch);\n                    if (match) {\n                        try {\n                            match[1] = match[1].replace(/'/g, '\"');\n                            const npms = JSON.parse(match[1]);\n                            yield this.sniffNpm(npms, {\n                                'files': files,\n                                'map': map\n                            });\n                        }\n                        catch (e) {\n                            console.log(e);\n                        }\n                    }\n                    match = /[?&]map=([\\w./\"'@:{}\\-?=]+)/.exec(srcSearch);\n                    if (match) {\n                        match[1] = match[1].replace(/'/g, '\"');\n                        try {\n                            const m = JSON.parse(match[1]);\n                            for (const name in m) {\n                                map[name] = m[name];\n                            }\n                        }\n                        catch (e) {\n                            console.log(e);\n                        }\n                    }\n                    match = /[?&]after=([\\w./\"'@:{}\\-?=]+)/.exec(srcSearch);\n                    let after = undefined;\n                    if (match) {\n                        after = match[1];\n                    }\n                    yield loader.sniffFiles([path], {\n                        'files': files,\n                        'map': map,\n                        'after': after\n                    });\n                    loader.require(path, files, {\n                        'map': map\n                    });\n                }\n            });\n            if (document.readyState === 'interactive' || document.readyState === 'complete') {\n                run().catch(function (e) {\n                    throw e;\n                });\n            }\n            else {\n                document.addEventListener('DOMContentLoaded', run);\n            }\n        },\n        ready: function (callback) {\n            if (this.isReady) {\n                const rtn = callback();\n                if (rtn instanceof Promise) {\n                    rtn.catch((e) => {\n                        throw e;\n                    });\n                }\n            }\n            else {\n                this.readys.push(callback);\n            }\n        },\n        require: function (paths, files, opt = {}) {\n            var _a, _b, _c;\n            if (typeof paths === 'string') {\n                paths = [paths];\n            }\n            (_a = opt.cache) !== null && _a !== void 0 ? _a : (opt.cache = {});\n            (_b = opt.dir) !== null && _b !== void 0 ? _b : (opt.dir = location);\n            (_c = opt.invoke) !== null && _c !== void 0 ? _c : (opt.invoke = {});\n            let styleElement = null;\n            if (opt.style) {\n                styleElement = document.querySelector('style[name=\"' + opt.style + '\"]');\n                if (!styleElement) {\n                    styleElement = document.createElement('style');\n                    styleElement.setAttribute('name', opt.style);\n                    const headElement = document.getElementsByTagName('head')[0];\n                    if (headElement) {\n                        headElement.append(styleElement);\n                    }\n                    else {\n                        document.append(styleElement);\n                    }\n                }\n            }\n            const output = [];\n            for (let path of paths) {\n                path = this.moduleNameResolve(path, opt.dir, opt.map);\n                if (!files[path] || typeof files[path] !== 'string') {\n                    output.push(null);\n                    continue;\n                }\n                if (opt.cache[path]) {\n                    output.push(opt.cache[path]);\n                    continue;\n                }\n                let code = files[path];\n                if (path.endsWith('.css')) {\n                    if (styleElement) {\n                        (() => __awaiter(this, void 0, void 0, function* () {\n                            const reg = /url\\([\"']{0,1}(.+?)[\"']{0,1}\\)/ig;\n                            let match = null;\n                            while ((match = reg.exec(code))) {\n                                const realPath = this.urlResolve(path, match[1]);\n                                const file = (files[realPath] && files[realPath] instanceof Blob)\n                                    ? files[realPath] : null;\n                                if (file) {\n                                    code = code.replace(match[0], `url('${yield this.blob2DataUrl(file)}')`);\n                                }\n                            }\n                            styleElement.append(code);\n                        }))().catch((e) => { throw e; });\n                    }\n                    output.push(code);\n                }\n                else if (code.startsWith('{') && code.endsWith('}')) {\n                    try {\n                        const data = JSON.parse(code);\n                        opt.cache[path] = data;\n                        output.push(data);\n                    }\n                    catch (_d) {\n                        output.push(null);\n                    }\n                }\n                else {\n                    const needExports = [];\n                    if (opt.preprocess) {\n                        code = opt.preprocess(code, path);\n                    }\n                    code = this.removeComment(code);\n                    let strict = '';\n                    if (code.includes('\"use strict\"')) {\n                        strict = '\"use strict\"\\n';\n                        code = code.replace(/\"use strict\"[\\n;]{0,2}/, '');\n                    }\n                    let dirname = '';\n                    const plio = path.lastIndexOf('/');\n                    if (plio !== -1) {\n                        dirname = path.slice(0, plio);\n                    }\n                    code = code.replace(/sourceMappingURL=([\\w/.\\-\"'`]+)/, `sourceMappingURL=${dirname}/$1`);\n                    code = code.replace(/import *\\* *as *(\\w+) +from *([\"'`])([\\w/.-]+)[\"'`]/g, 'const $1 = require($2$3$2)');\n                    code = code.replace(/import *(\\w+) *from *([\"'`])([\\w/.-]+)[\"'`]/g, 'const $1 = require($2$3$2).default');\n                    code = code.replace(/(import|export) *{(.+?)} *from *([\"'`])([\\w/.-]+)[\"'`]/g, function (t, t1, t2, t3, t4) {\n                        const tmpVar = `t${t4.replace(/[^a-zA-Z]/g, '')}_${Math.round(Math.random() * 10000)}`;\n                        let txt = `const ${tmpVar} = require(${t3}${t4}${t3});`;\n                        const list = t2.split(',');\n                        for (let i = 0; i < list.length; ++i) {\n                            list[i] = list[i].trim();\n                            txt += t1 === 'import' ? 'const ' : 'exports.';\n                            const reg = /^(.+) +as +(.+)$/.exec(list[i]);\n                            if (reg) {\n                                txt += `${reg[2]} = ${tmpVar}.${reg[1]};`;\n                            }\n                            else {\n                                txt += `${list[i]} = ${tmpVar}.${list[i]};`;\n                            }\n                        }\n                        return txt.slice(0, -1);\n                    });\n                    code = code.replace(/(^|[\\n; ])import *(['\"].+?['\"])/g, function (t, t1, t2) {\n                        return `${t1}require(${t2})`;\n                    });\n                    code = code.replace(/import\\((.+?)\\)/g, function (t, t1) {\n                        return `importOverride(${t1})`;\n                    });\n                    code = code.replace(/export *{(.+?)}/g, function (t, t1) {\n                        let txt = '';\n                        const list = t1.split(',');\n                        for (let i = 0; i < list.length; ++i) {\n                            list[i] = list[i].trim();\n                            txt += `exports.${list[i]} = ${list[i]};`;\n                        }\n                        return txt.slice(0, -1);\n                    });\n                    code = code.replace(/export *\\* *from *([\"'`])([\\w/.-]+)[\"'`]/g, function (t, t1, t2) {\n                        return `var lrTmpList=require(${t1}${t2}${t1});var lrTmpKey;for(lrTmpKey in lrTmpList){exports[lrTmpKey]=lrTmpList[lrTmpKey];}`;\n                    });\n                    while (true) {\n                        const match = /(export +)(class|function) +([\\w$]+)[\\s\\S]+$/.exec(code);\n                        if (!match) {\n                            break;\n                        }\n                        let overCode = '';\n                        let bigCount = -1;\n                        let smallCount = 0;\n                        let isString = '';\n                        let i = 0;\n                        for (i = 0; i < match[0].length; ++i) {\n                            const char = match[0][i];\n                            if (isString !== '') {\n                                if ((char === isString) && (match[0][i - 1] !== '\\\\')) {\n                                    isString = '';\n                                }\n                                overCode += char;\n                            }\n                            else {\n                                switch (char) {\n                                    case '\"':\n                                    case '`':\n                                    case '\\'': {\n                                        isString = char;\n                                        overCode += char;\n                                        break;\n                                    }\n                                    case '{': {\n                                        if (smallCount <= 0) {\n                                            if (smallCount === 0) {\n                                                smallCount = -1;\n                                            }\n                                            if (bigCount === -1) {\n                                                bigCount = 1;\n                                            }\n                                            else {\n                                                ++bigCount;\n                                            }\n                                        }\n                                        overCode += char;\n                                        break;\n                                    }\n                                    case '}': {\n                                        if (smallCount <= 0) {\n                                            --bigCount;\n                                        }\n                                        overCode += char;\n                                        break;\n                                    }\n                                    case '(': {\n                                        if (smallCount >= 0) {\n                                            ++smallCount;\n                                        }\n                                        overCode += char;\n                                        break;\n                                    }\n                                    case ')': {\n                                        if (smallCount >= 0) {\n                                            --smallCount;\n                                        }\n                                        overCode += char;\n                                        break;\n                                    }\n                                    case '/': {\n                                        for (let j = i - 1; j >= 0; --j) {\n                                            if (match[0][j] === ' ' || match[0][j] === '\\t') {\n                                                continue;\n                                            }\n                                            if (match[0][j] === ')') {\n                                                break;\n                                            }\n                                            if ((match[0][j] === '\\n') || (!/\\w/.test(match[0][j]))) {\n                                                isString = char;\n                                                break;\n                                            }\n                                            break;\n                                        }\n                                        overCode += char;\n                                        break;\n                                    }\n                                    default: {\n                                        overCode += char;\n                                    }\n                                }\n                            }\n                            if (bigCount === 0) {\n                                break;\n                            }\n                        }\n                        code = code.slice(0, match.index) + overCode.slice(match[1].length) +\n                            `exports.${match[3]} = ${match[3]};` + code.slice(match.index + i + 1);\n                    }\n                    code = code.replace(/export default ([\\w$]+)/g, 'exports.default = $1');\n                    code = code.replace(/export +(\\w+) *([{[])(.+?)([}\\]])/g, function (t, t1, t2, t3, t4) {\n                        const list = t3.split(',');\n                        for (let i = 0; i < list.length; ++i) {\n                            list[i] = list[i].trim();\n                            needExports.push('exports.' + list[i] + ' = ' + list[i] + ';');\n                        }\n                        return t1 + ' ' + t2 + t3 + t4;\n                    });\n                    code = code.replace(/export +(\\w+) +(\\w+)/g, function (t, t1, t2) {\n                        if (!['let', 'var', 'const'].includes(t1)) {\n                            return t;\n                        }\n                        needExports.push('exports.' + t2 + ' = ' + t2 + ';');\n                        return t1 + ' ' + t2;\n                    });\n                    for (const ikey in opt.invoke) {\n                        code = 'let ' + ikey + ' = __invoke.' + ikey + ';' + code;\n                    }\n                    code = `${strict}\nvar __dirname='${dirname}';var __filename='${path}';var module={exports:__cache['${path}']};var exports = module.exports;function importOverride(url){return loader.import(url,__files,{'cache':__cache,'map':__map,'dir':__filename,'style':${opt.style ? '\\'' + opt.style + '\\'' : 'undefined'},'invoke':__invoke,'preprocess':__preprocess});}function require(path){var m=loader.require(path,__files,{'cache':__cache,'map':__map,'dir':__filename,'style':${opt.style ? '\\'' + opt.style + '\\'' : 'undefined'},'invoke':__invoke,'preprocess':__preprocess});if(m[0]){return m[0];}else{throw 'Failed require \"'+path+'\" on \"'+__filename+'\" (Maybe file not found).';}}require.cache=__cache;\nrequire.resolve=function(name){return loader.moduleNameResolve(name,__dirname,__map);};\n${code}\n${needExports.join('')}\nreturn module.exports;`;\n                    opt.cache[path] = {};\n                    const rtn = (new Function('__files', '__cache', '__map', '__invoke', '__preprocess', code))(files, opt.cache, opt.map, opt.invoke, opt.preprocess);\n                    if (rtn !== opt.cache[path]) {\n                        opt.cache[path] = rtn;\n                    }\n                    output.push(opt.cache[path]);\n                }\n            }\n            return output;\n        },\n        fetch: function (url, init = {}) {\n            const initClone = {};\n            Object.assign(initClone, init);\n            if (init.credentials === undefined) {\n                if (url.slice(0, 4).toLowerCase() === 'http') {\n                    const m = /^(ht.+?\\/\\/.+?\\/)/.exec(window.location.href.toLowerCase());\n                    if (m && url.toLowerCase().startsWith(m[0])) {\n                        initClone.credentials = 'include';\n                    }\n                }\n                else {\n                    initClone.credentials = 'include';\n                }\n            }\n            return new Promise(function (resolve) {\n                fetch(url, init).then(function (res) {\n                    var _a, _b;\n                    if (res.status === 200 || res.status === 304) {\n                        if ((_a = res.headers.get('content-type')) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('image/')) {\n                            return res.blob();\n                        }\n                        const typeList = ['text/', 'javascript', 'json', 'css', 'xml', 'html'];\n                        for (const item of typeList) {\n                            if ((_b = res.headers.get('content-type')) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(item)) {\n                                return res.text();\n                            }\n                        }\n                        return res.blob();\n                    }\n                    else {\n                        resolve(null);\n                        return '';\n                    }\n                }).then(function (text) {\n                    resolve(text);\n                }).catch(function () {\n                    resolve(null);\n                });\n            });\n        },\n        get: function (url_1) {\n            return __awaiter(this, arguments, void 0, function* (url, opt = {}) {\n                var _a;\n                try {\n                    const headers = {};\n                    if (opt.headers) {\n                        Object.assign(headers, opt.headers);\n                    }\n                    const res = yield fetch(url, {\n                        'method': 'GET',\n                        'headers': headers,\n                        'credentials': (_a = opt.credentials) !== null && _a !== void 0 ? _a : 'include'\n                    });\n                    return res;\n                }\n                catch (_b) {\n                    return null;\n                }\n            });\n        },\n        post: function (url_1, data_1) {\n            return __awaiter(this, arguments, void 0, function* (url, data, opt = {}) {\n                var _a;\n                try {\n                    const headers = {};\n                    if (!(data instanceof FormData)) {\n                        headers['content-type'] = 'application/json';\n                    }\n                    if (opt.headers) {\n                        Object.assign(headers, opt.headers);\n                    }\n                    const res = yield fetch(url, {\n                        'method': 'POST',\n                        'headers': headers,\n                        'body': data instanceof FormData ? data : JSON.stringify(data),\n                        'credentials': (_a = opt.credentials) !== null && _a !== void 0 ? _a : 'include'\n                    });\n                    return res;\n                }\n                catch (_b) {\n                    return null;\n                }\n            });\n        },\n        getResponseJson: function (url_1) {\n            return __awaiter(this, arguments, void 0, function* (url, opt = {}) {\n                const res = yield this.get(url, opt);\n                if (!res) {\n                    return null;\n                }\n                try {\n                    return yield res.json();\n                }\n                catch (_a) {\n                    return null;\n                }\n            });\n        },\n        postResponseJson: function (url_1, data_1) {\n            return __awaiter(this, arguments, void 0, function* (url, data, opt = {}) {\n                const res = yield this.post(url, data, opt);\n                if (!res) {\n                    return null;\n                }\n                try {\n                    return yield res.json();\n                }\n                catch (_a) {\n                    return null;\n                }\n            });\n        },\n        fetchFiles: function (urls_1) {\n            return __awaiter(this, arguments, void 0, function* (urls, opt = {}) {\n                return new Promise((resolve) => {\n                    var _a, _b, _c, _d, _e, _f, _g;\n                    (_a = opt.init) !== null && _a !== void 0 ? _a : (opt.init = {});\n                    (_b = opt.dir) !== null && _b !== void 0 ? _b : (opt.dir = location);\n                    (_c = opt.before) !== null && _c !== void 0 ? _c : (opt.before = '');\n                    (_d = opt.after) !== null && _d !== void 0 ? _d : (opt.after = '');\n                    const list = {};\n                    let count = 0;\n                    for (let url of urls) {\n                        url = this.urlResolve(opt.dir, url);\n                        if ((_e = opt.files) === null || _e === void 0 ? void 0 : _e[url]) {\n                            ++count;\n                            if (count === urls.length) {\n                                resolve(list);\n                                return;\n                            }\n                            continue;\n                        }\n                        if (opt.load) {\n                            opt.load(url);\n                        }\n                        else {\n                            (_f = this.load) === null || _f === void 0 ? void 0 : _f.call(this, url);\n                        }\n                        let ourl = this.compressUrl(url);\n                        if (opt.before) {\n                            ourl = opt.before + ourl;\n                        }\n                        if (!((_g = opt.afterIgnore) === null || _g === void 0 ? void 0 : _g.test(url)) && !ourl.startsWith(this.cdn)) {\n                            ourl += opt.after;\n                        }\n                        const success = (res) => {\n                            var _a, _b;\n                            ++count;\n                            if (res) {\n                                list[url] = res;\n                                if (opt.loaded) {\n                                    opt.loaded(url, 1);\n                                }\n                                else {\n                                    (_a = this.loaded) === null || _a === void 0 ? void 0 : _a.call(this, url, 1);\n                                }\n                                if (opt.files) {\n                                    opt.files[url] = res;\n                                }\n                            }\n                            else {\n                                if (opt.loaded) {\n                                    opt.loaded(url, 0);\n                                }\n                                else {\n                                    (_b = this.loaded) === null || _b === void 0 ? void 0 : _b.call(this, url, 0);\n                                }\n                            }\n                            if (count === urls.length) {\n                                resolve(list);\n                            }\n                        };\n                        const fail = () => {\n                            var _a;\n                            ++count;\n                            if (opt.loaded) {\n                                opt.loaded(url, -1);\n                            }\n                            else {\n                                (_a = this.loaded) === null || _a === void 0 ? void 0 : _a.call(this, url, -1);\n                            }\n                            if (count === urls.length) {\n                                resolve(list);\n                            }\n                        };\n                        if (opt.adapter) {\n                            const r = opt.adapter(ourl);\n                            if (r instanceof Promise) {\n                                r.then((res) => {\n                                    success(res);\n                                }).catch(() => {\n                                    fail();\n                                });\n                            }\n                            else {\n                                success(r);\n                            }\n                        }\n                        else {\n                            this.fetch(opt.before + ourl, opt.init).then((res) => {\n                                success(res);\n                            }).catch(() => {\n                                fail();\n                            });\n                        }\n                    }\n                });\n            });\n        },\n        sniffNpm: function (npms_1) {\n            return __awaiter(this, arguments, void 0, function* (npms, opt = {}) {\n                var _a, _b;\n                (_a = opt.map) !== null && _a !== void 0 ? _a : (opt.map = {});\n                (_b = opt.files) !== null && _b !== void 0 ? _b : (opt.files = {});\n                const packages = [];\n                for (const name in npms) {\n                    packages.push(`${this.cdn}/npm/${name}@${npms[name]}/package.json`);\n                }\n                const npmFiles = yield this.fetchFiles(packages, {\n                    'init': opt.init,\n                    'load': opt.load,\n                    'loaded': opt.loaded,\n                    'dir': opt.dir,\n                    'files': opt.files,\n                    'before': opt.before,\n                    'after': opt.after,\n                    'afterIgnore': opt.afterIgnore,\n                    'adapter': opt.adapter\n                });\n                const sniffFiles = [];\n                for (const name in npms) {\n                    const file = npmFiles[`${this.cdn}/npm/${name}@${npms[name]}/package.json`];\n                    if (typeof file !== 'string') {\n                        continue;\n                    }\n                    try {\n                        const json = JSON.parse(file);\n                        const main = json.jsdelivr ? `${this.cdn}/npm/${name}@${npms[name]}/${json.jsdelivr}` : `${this.cdn}/npm/${name}@${npms[name]}/${json.main}`;\n                        sniffFiles.push(main);\n                        opt.map[name] = main;\n                    }\n                    catch (e) {\n                        console.log(e);\n                    }\n                }\n                yield this.sniffFiles(sniffFiles, {\n                    'init': opt.init,\n                    'load': opt.load,\n                    'loaded': opt.loaded,\n                    'dir': opt.dir,\n                    'files': opt.files,\n                    'before': opt.before,\n                    'after': opt.after,\n                    'afterIgnore': opt.afterIgnore,\n                    'adapter': opt.adapter\n                });\n                return opt.files;\n            });\n        },\n        sniffFiles: function (urls_1) {\n            return __awaiter(this, arguments, void 0, function* (urls, opt = {}) {\n                var _a, _b;\n                if (typeof urls === 'string') {\n                    urls = [urls];\n                }\n                (_a = opt.files) !== null && _a !== void 0 ? _a : (opt.files = {});\n                const list = yield this.fetchFiles(urls, {\n                    'init': opt.init,\n                    'load': opt.load,\n                    'loaded': opt.loaded,\n                    'dir': opt.dir,\n                    'files': opt.files,\n                    'before': opt.before,\n                    'after': opt.after,\n                    'afterIgnore': opt.afterIgnore,\n                    'adapter': opt.adapter\n                });\n                const nlayer = [];\n                for (const path in list) {\n                    const item = list[path];\n                    if (typeof item !== 'string') {\n                        continue;\n                    }\n                    let reg;\n                    let match;\n                    const tmp = [];\n                    if (path.endsWith('.css')) {\n                        reg = /url\\([\"']{0,1}(.+?)[\"']{0,1}\\)/ig;\n                        while ((match = reg.exec(item))) {\n                            if (match[1].startsWith('data:')) {\n                                continue;\n                            }\n                            tmp.push(match[1]);\n                        }\n                    }\n                    else {\n                        reg = /(^|[ *}\\n;])(from|import) *['\"`]([\\w/.-]+?)['\"`]/g;\n                        while ((match = reg.exec(item))) {\n                            tmp.push(match[3]);\n                        }\n                        reg = /(^|[ *}\\n;=(])require\\(['\"](.+?)['\"]\\)/g;\n                        while ((match = reg.exec(item))) {\n                            tmp.push(match[2]);\n                        }\n                    }\n                    for (const t of tmp) {\n                        if (/^[\\w-]+$/.test(t) && (!((_b = opt.map) === null || _b === void 0 ? void 0 : _b[t]))) {\n                            continue;\n                        }\n                        const mnr = this.moduleNameResolve(t, path, opt.map);\n                        if (!nlayer.includes(mnr)) {\n                            nlayer.push(mnr);\n                        }\n                    }\n                }\n                if (nlayer.length > 0) {\n                    Object.assign(list, yield this.sniffFiles(nlayer, opt));\n                }\n                return list;\n            });\n        },\n        loadScript: function (url, el, module = false) {\n            return new Promise((resolve) => {\n                if (!el) {\n                    if (this.head) {\n                        el = this.head;\n                    }\n                    else {\n                        el = document.getElementsByTagName('head')[0];\n                        this.head = el;\n                    }\n                }\n                const script = document.createElement('script');\n                if (module) {\n                    script.setAttribute('type', 'module');\n                }\n                script.addEventListener('load', function () {\n                    resolve(true);\n                });\n                script.addEventListener('error', function () {\n                    resolve(false);\n                });\n                script.src = this.compressUrl(url);\n                el.appendChild(script);\n            });\n        },\n        loadScripts: function (urls, opt = {}) {\n            return new Promise((resolve) => {\n                let count = 0;\n                for (const url of urls) {\n                    this.loadScript(url, opt.el, opt.module).then((res) => {\n                        var _a, _b;\n                        ++count;\n                        if (res) {\n                            if (opt.loaded) {\n                                opt.loaded(url, 1);\n                            }\n                            else {\n                                (_a = this.loaded) === null || _a === void 0 ? void 0 : _a.call(this, url, 1);\n                            }\n                        }\n                        else {\n                            if (opt.loaded) {\n                                opt.loaded(url, 0);\n                            }\n                            else {\n                                (_b = this.loaded) === null || _b === void 0 ? void 0 : _b.call(this, url, 0);\n                            }\n                        }\n                        if (count === urls.length) {\n                            resolve();\n                        }\n                    }).catch(() => {\n                        var _a;\n                        ++count;\n                        if (opt.loaded) {\n                            opt.loaded(url, -1);\n                        }\n                        else {\n                            (_a = this.loaded) === null || _a === void 0 ? void 0 : _a.call(this, url, -1);\n                        }\n                        if (count === urls.length) {\n                            resolve();\n                        }\n                    });\n                }\n            });\n        },\n        loadLink: function (url, el, pos = 'after') {\n            return new Promise((resolve) => {\n                if (!el) {\n                    if (this.head) {\n                        el = this.head;\n                    }\n                    else {\n                        el = document.getElementsByTagName('head')[0];\n                        this.head = el;\n                    }\n                }\n                const link = document.createElement('link');\n                link.addEventListener('load', function () {\n                    resolve(true);\n                });\n                link.addEventListener('error', function () {\n                    resolve(false);\n                });\n                link.href = this.compressUrl(url);\n                link.rel = 'stylesheet';\n                if (pos === 'after') {\n                    el.appendChild(link);\n                }\n                else {\n                    if (el.firstChild) {\n                        el.insertBefore(link, el.firstChild);\n                    }\n                    else {\n                        el.appendChild(link);\n                    }\n                }\n            });\n        },\n        loadLinks: function (urls, opt = {}) {\n            return new Promise((resolve) => {\n                let count = 0;\n                for (const url of urls) {\n                    this.loadLink(url, opt.el).then((res) => {\n                        var _a, _b;\n                        ++count;\n                        if (res) {\n                            if (opt.loaded) {\n                                opt.loaded(url, 1);\n                            }\n                            else {\n                                (_a = this.loaded) === null || _a === void 0 ? void 0 : _a.call(this, url, 1);\n                            }\n                        }\n                        else {\n                            if (opt.loaded) {\n                                opt.loaded(url, 0);\n                            }\n                            else {\n                                (_b = this.loaded) === null || _b === void 0 ? void 0 : _b.call(this, url, 0);\n                            }\n                        }\n                        if (count === urls.length) {\n                            resolve();\n                        }\n                    }).catch(() => {\n                        var _a;\n                        ++count;\n                        if (opt.loaded) {\n                            opt.loaded(url, -1);\n                        }\n                        else {\n                            (_a = this.loaded) === null || _a === void 0 ? void 0 : _a.call(this, url, -1);\n                        }\n                        if (count === urls.length) {\n                            resolve();\n                        }\n                    });\n                }\n            });\n        },\n        loadStyle: function (style, el) {\n            if (!el) {\n                if (this.head) {\n                    el = this.head;\n                }\n                else {\n                    el = document.getElementsByTagName('head')[0];\n                    this.head = el;\n                }\n            }\n            const sel = document.createElement('style');\n            sel.innerHTML = style;\n            el.appendChild(sel);\n        },\n        import: function (url_1, files_1) {\n            return __awaiter(this, arguments, void 0, function* (url, files, opt = {}) {\n                var _a;\n                (_a = opt.dir) !== null && _a !== void 0 ? _a : (opt.dir = location);\n                url = this.moduleNameResolve(url, opt.dir, opt.map);\n                if (files[url]) {\n                    return this.require(url, files, opt)[0];\n                }\n                else {\n                    yield this.sniffFiles(url, {\n                        'dir': opt.dir,\n                        'files': files\n                    });\n                    return this.require(url, files, opt)[0];\n                }\n            });\n        },\n        moduleNameResolve: function (path, dir, map = {}) {\n            for (const key in map) {\n                if (!path.startsWith(key)) {\n                    continue;\n                }\n                let val = map[key];\n                if (val.startsWith('.')) {\n                    val = location + val;\n                }\n                path = val + path.slice(key.length);\n            }\n            path = this.urlResolve(dir, path);\n            if (path.endsWith('/')) {\n                path += 'index';\n            }\n            let lio = path.lastIndexOf('/');\n            const fname = lio === -1 ? path : path.slice(lio + 1);\n            lio = fname.lastIndexOf('.');\n            const fext = lio === -1 ? '' : fname.slice(lio + 1);\n            if (!['js', 'json', 'css', 'ttf', 'png', 'gif', 'jpg', 'jpeg', 'svg'].includes(fext)) {\n                path += '.js';\n            }\n            return path;\n        },\n        parseUrl: function (url) {\n            const rtn = {\n                'protocol': null,\n                'auth': null,\n                'user': null,\n                'pass': null,\n                'host': null,\n                'hostname': null,\n                'port': null,\n                'pathname': '/',\n                'path': null,\n                'query': null,\n                'hash': null\n            };\n            const hash = url.indexOf('#');\n            if (hash > -1) {\n                rtn['hash'] = url.slice(hash + 1);\n                url = url.slice(0, hash);\n            }\n            const query = url.indexOf('?');\n            if (query > -1) {\n                rtn['query'] = url.slice(query + 1);\n                url = url.slice(0, query);\n            }\n            const protocol = url.indexOf(':');\n            if (protocol > -1) {\n                rtn['protocol'] = url.slice(0, protocol + 1).toLowerCase();\n                url = url.slice(protocol + 1);\n                if (url.startsWith('//')) {\n                    url = url.slice(2);\n                }\n                let path = url.indexOf('/');\n                if (path === -1) {\n                    path = url.indexOf('\\\\');\n                }\n                if (path > -1) {\n                    rtn['pathname'] = url.slice(path);\n                    url = url.slice(0, path);\n                }\n                const auth = url.indexOf('@');\n                if (auth > -1) {\n                    const authStr = url.slice(0, auth);\n                    const authSplit = authStr.indexOf(':');\n                    if (authSplit > -1) {\n                        rtn['user'] = authStr.slice(0, authSplit);\n                        rtn['pass'] = authStr.slice(authSplit + 1);\n                        rtn['auth'] = rtn['user'] + ':' + rtn['pass'];\n                    }\n                    else {\n                        rtn['user'] = authStr;\n                        rtn['auth'] = authStr;\n                    }\n                    url = url.slice(auth + 1);\n                }\n                if (url) {\n                    const port = url.indexOf(':');\n                    if (port > -1) {\n                        rtn['hostname'] = url.slice(0, port).toLowerCase();\n                        rtn['port'] = url.slice(port + 1);\n                        rtn['host'] = rtn['hostname'] + (rtn['port'] ? ':' + rtn['port'] : '');\n                    }\n                    else {\n                        rtn['hostname'] = url.toLowerCase();\n                        rtn['host'] = rtn['hostname'];\n                    }\n                }\n            }\n            else {\n                rtn['pathname'] = url;\n            }\n            rtn['path'] = rtn['pathname'] + (rtn['query'] ? '?' + rtn['query'] : '');\n            return rtn;\n        },\n        urlResolve: function (from, to) {\n            var _a;\n            from = from.replace(/\\\\/g, '/');\n            to = to.replace(/\\\\/g, '/');\n            if (to === '') {\n                return this.urlAtom(from);\n            }\n            const f = this.parseUrl(from);\n            if (to.startsWith('//')) {\n                return this.urlAtom(f.protocol ? f.protocol + to : to);\n            }\n            if (f.protocol) {\n                from = f.protocol + from.slice(f.protocol.length);\n            }\n            const t = this.parseUrl(to);\n            if (t.protocol) {\n                return this.urlAtom(t.protocol + to.slice(t.protocol.length));\n            }\n            if (to.startsWith('#') || to.startsWith('?')) {\n                const sp = from.indexOf(to[0]);\n                if (sp !== -1) {\n                    return this.urlAtom(from.slice(0, sp) + to);\n                }\n                else {\n                    return this.urlAtom(from + to);\n                }\n            }\n            let abs = (f.auth ? f.auth + '@' : '') + ((_a = f.host) !== null && _a !== void 0 ? _a : '');\n            if (to.startsWith('/')) {\n                abs += to;\n            }\n            else {\n                const path = f.pathname.replace(/\\/[^/]*$/g, '');\n                abs += path + '/' + to;\n            }\n            if (f.protocol && (f.protocol !== 'file:') && !f.host) {\n                return this.urlAtom(f.protocol + abs);\n            }\n            else {\n                return this.urlAtom((f.protocol ? f.protocol + '//' : '') + abs);\n            }\n        },\n        urlAtom: function (url) {\n            while (url.includes('/./')) {\n                url = url.replace(/\\/\\.\\//g, '/');\n            }\n            while (/\\/(?!\\.\\.)[^/]+\\/\\.\\.\\//.test(url)) {\n                url = url.replace(/\\/(?!\\.\\.)[^/]+\\/\\.\\.\\//g, '/');\n            }\n            url = url.replace(/\\.\\.\\//g, '');\n            return url;\n        },\n        isEscapeChar: function (index, code) {\n            let preChar = code[index - 1];\n            let count = 0;\n            while (preChar === '\\\\') {\n                preChar = code[index - (++count) - 1];\n            }\n            return count % 2 === 0 ? false : true;\n        },\n        removeComment: function (code) {\n            let isComment = false;\n            let isLineString = false;\n            code = code.replace(/^\\s+|\\s+$/g, '').replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n            code = code.replace(/.*(\\n|$)/g, (t) => {\n                if (isComment && !t.includes('*/')) {\n                    return '';\n                }\n                if (!isComment && !t.includes('/*') && !t.includes('//') && !t.includes('`')) {\n                    return t;\n                }\n                let overCode = '';\n                let isString = '';\n                let isReg = '';\n                for (let i = 0; i < t.length; ++i) {\n                    const char = t[i];\n                    if (isLineString) {\n                        if ((char === '`') && !this.isEscapeChar(i, t)) {\n                            isLineString = false;\n                        }\n                        overCode += char;\n                    }\n                    else if (isReg !== '') {\n                        if (char === '[') {\n                            if (!this.isEscapeChar(i, t)) {\n                                isReg = '[';\n                            }\n                        }\n                        else if (char === ']') {\n                            if (!this.isEscapeChar(i, t) && (isReg === '[')) {\n                                isReg = '/';\n                            }\n                        }\n                        else if (char === '/') {\n                            if (!this.isEscapeChar(i, t) && (isReg === '/')) {\n                                isReg = '';\n                            }\n                        }\n                        overCode += char;\n                    }\n                    else if (isString !== '') {\n                        if ((char === isString) && !this.isEscapeChar(i, t)) {\n                            isString = '';\n                        }\n                        overCode += char;\n                    }\n                    else if (isComment) {\n                        if (char === '/' && (t[i - 1] === '*')) {\n                            isComment = false;\n                        }\n                    }\n                    else {\n                        switch (char) {\n                            case '\"':\n                            case '\\'': {\n                                isString = char;\n                                overCode += char;\n                                break;\n                            }\n                            case '`': {\n                                isLineString = true;\n                                overCode += char;\n                                break;\n                            }\n                            case '/': {\n                                if (t[i + 1] === '/') {\n                                    return overCode + '\\n';\n                                }\n                                else if (t[i + 1] === '*') {\n                                    isComment = true;\n                                }\n                                else {\n                                    for (let j = i - 1; j >= 0; --j) {\n                                        if (t[j] === ' ' || t[j] === '\\t') {\n                                            continue;\n                                        }\n                                        if (t[j] === ')') {\n                                            break;\n                                        }\n                                        if ((t[j] === '\\n') || (!/[\\w$]/.test(t[j]))) {\n                                            isReg = char;\n                                            break;\n                                        }\n                                        break;\n                                    }\n                                    overCode += char;\n                                }\n                                break;\n                            }\n                            default: {\n                                overCode += char;\n                            }\n                        }\n                    }\n                }\n                return overCode;\n            });\n            return code;\n        },\n        blob2Text: function (blob) {\n            return new Promise(function (resove) {\n                const fr = new FileReader();\n                fr.addEventListener('load', function (e) {\n                    if (e.target) {\n                        resove(e.target.result);\n                    }\n                    else {\n                        resove('');\n                    }\n                });\n                fr.readAsText(blob);\n            });\n        },\n        blob2DataUrl: function (blob) {\n            return new Promise(function (resove) {\n                const fr = new FileReader();\n                fr.addEventListener('load', function (e) {\n                    if (e.target) {\n                        resove(e.target.result);\n                    }\n                    else {\n                        resove('');\n                    }\n                });\n                fr.readAsDataURL(blob);\n            });\n        },\n        arrayTest: function (arr, reg) {\n            for (const item of arr) {\n                if (reg.test(item)) {\n                    return item;\n                }\n            }\n            return null;\n        },\n        compressUrl: function (ourl) {\n            if (ourl.startsWith(this.cdn)) {\n                if (ourl.endsWith('.js') && !ourl.endsWith('.min.js')) {\n                    ourl = ourl.slice(0, -3) + '.min.js';\n                }\n                else if (ourl.endsWith('.css') && !ourl.endsWith('.min.css')) {\n                    ourl = ourl.slice(0, -4) + '.min.css';\n                }\n            }\n            return ourl;\n        }\n    };\n    window.loader = loader;\n    loader.init();\n})();\n"]}