{"version":3,"file":"brsweb.min.js","mappings":"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","sources":["webpack://brsweb/./src/index.ts","webpack://brsweb/./src/util.ts","webpack://brsweb/external var \"brs\"","webpack://brsweb/webpack/bootstrap","webpack://brsweb/webpack/startup"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toggleDiv = exports.loadZip = void 0;\n/*---------------------------------------------------------------------------------------------\n * BrightScript Simulation Engine Website (https://github.com/lvcabral/brs-website)\n *\n * Copyright (c) 2019-2024 Marcelo Lv Cabral. All Rights Reserved.\n *\n * Licensed under the MIT License. See LICENSE in the repository root for license information.\n *--------------------------------------------------------------------------------------------*/\nconst brs = __importStar(require(\"brs-engine\"));\nconst util_1 = require(\"./util\");\nconst fileButton = document.getElementById(\"fileButton\");\nconst channelInfo = document.getElementById(\"channelInfo\");\nconst libVersion = document.getElementById(\"libVersion\");\nconst display = document.getElementById(\"display\");\nconst stats = document.getElementById(\"stats\");\nconst startBrowser = document.getElementById(\"start-browser\");\nconst startFullScreen = document.getElementById(\"start-full\");\nconst startTouch = document.getElementById(\"start-touch\");\nconst passwordDialog = document.getElementById(\"passwordDialog\");\nconst passwordForm = document.getElementById(\"passwordForm\");\n// Channel status object\nlet currentApp = { id: \"\", running: false };\nlet homeApp = { id: \"brs-home.zip\", selected: \"\", running: false };\nlet debugMode = \"continue\";\n// Start the emulator\nfunction main() {\n libVersion.innerHTML = brs.getVersion();\n channelInfo.innerHTML = \"
\";\n // Custom Device Configuration (see /api/index.ts for all fields)\n const deviceInfo = {\n developerId: \"brs-website\",\n locale: \"en_US\",\n displayMode: \"720p\",\n defaultFont: \"Asap\",\n fontPath: \"../fonts/\",\n maxFps: 30, // Reduced to minimize issues with iOS/iPadOS\n };\n // Initialize Device Emulator and subscribe to events\n brs.subscribe(\"app\", (event, data) => {\n if (event === \"loaded\") {\n currentApp = data;\n if (!homeApp.running) {\n fileButton.style.visibility = \"hidden\";\n let infoHtml = data.title + \"
\";\n infoHtml += data.subtitle + \"
\";\n infoHtml += data.version;\n channelInfo.innerHTML = infoHtml;\n }\n startBrowser.style.visibility = \"hidden\";\n startFullScreen.style.visibility = \"hidden\";\n startTouch.style.visibility = \"hidden\";\n }\n else if (event === \"started\") {\n currentApp = data;\n stats.style.visibility = \"visible\";\n }\n else if (event === \"registry\") {\n if (homeApp.running) {\n homeApp.selected = data.get(`${deviceInfo.developerId}.${homeApp.id.replace(\".zip\", \"\")}.selectedApp`) ?? \"\";\n }\n }\n else if (event === \"closed\" || event === \"error\") {\n currentApp = { id: \"\", running: false };\n if (homeApp.running && homeApp.selected !== \"\") {\n loadZip(homeApp.selected);\n return;\n }\n display.style.opacity = \"0\";\n channelInfo.innerHTML = \"
\";\n fileButton.style.visibility = \"visible\";\n stats.style.visibility = \"hidden\";\n fileSelector.value = \"\";\n loadZip(homeApp.id);\n // Remove channel parameter from URL\n const urlParts = window.location.href.split(\"?\");\n if (urlParts.length > 1) {\n window.location.href = urlParts[0];\n }\n }\n else if (event === \"debug\") {\n if ([\"stop\", \"pause\", \"continue\"].includes(data.level)) {\n debugMode = data.level;\n }\n }\n else if (event === \"version\") {\n console.info(`Interpreter Library v${data}`);\n // Load app via URL parameter\n const pkg = getParameterByName(\"pkg\");\n if (pkg && pkg.trim().length > 0) {\n loadZip(pkg);\n }\n }\n });\n brs.initialize(deviceInfo, {\n debugToConsole: true,\n customKeys: util_1.homeKeys,\n customPadButtons: util_1.homeButtons,\n showStats: false,\n });\n}\n// File selector\nconst fileSelector = document.getElementById(\"file\");\nfileButton.onclick = function () {\n fileSelector.click();\n};\nfileSelector.onclick = function () {\n fileSelector.value = \"\";\n};\nfileSelector.onchange = function (event) {\n const target = event.target;\n if (target && target.files?.length) {\n const file = target.files[0];\n const fileExt = file.name.split(\".\").pop()?.toLowerCase();\n if (fileExt === \"zip\" || fileExt === \"bpk\" || fileExt === \"brs\") {\n if (fileExt === \"bpk\") {\n passwordDialog.showModal();\n }\n else {\n runFile(file);\n }\n }\n else {\n console.error(`File format not supported: ${fileExt}`);\n }\n }\n};\npasswordDialog.addEventListener(\"close\", (e) => {\n if (passwordDialog.returnValue === \"ok\" && fileSelector.files?.length) {\n runFile(fileSelector.files[0], passwordForm.password.value);\n }\n passwordForm.password.value = \"\";\n});\nfunction runFile(file, password = \"\") {\n const reader = new FileReader();\n homeApp.selected = \"\";\n homeApp.running = false;\n reader.onload = function (evt) {\n brs.setCustomKeys(util_1.customKeys);\n brs.setCustomPadButtons(util_1.customButtons);\n // file is loaded\n brs.execute(file.name, evt.target?.result, {\n clearDisplayOnExit: true,\n muteSound: false,\n execSource: \"auto-run-dev\",\n debugOnCrash: false,\n password: password,\n });\n };\n reader.onerror = function (evt) {\n console.error(`Error opening ${file.name}:${reader.error}`);\n };\n reader.readAsArrayBuffer(file);\n}\n// Download Zip\nfunction loadZip(pkg, startFull = false) {\n if (currentApp.running) {\n return;\n }\n homeApp.selected = \"\";\n homeApp.running = pkg === homeApp.id;\n brs.setCustomKeys(homeApp.running ? util_1.homeKeys : util_1.customKeys);\n brs.setCustomPadButtons(homeApp.running ? util_1.homeButtons : util_1.customButtons);\n display.style.opacity = \"0\";\n fileSelector.value = \"\";\n let key = \"\";\n if (pkg.endsWith(\"bpk\")) {\n key = brs.deviceData.clientId.replaceAll(\"-\", \"\");\n }\n const fileName = `apps/${pkg}`;\n fetch(fileName).then((response) => {\n if (response.status === 200 || response.status === 0) {\n return response.blob().then(function (zipBlob) {\n zipBlob.arrayBuffer().then(function (zipData) {\n brs.execute(fileName, zipData, {\n execSource: \"homescreen\",\n debugOnCrash: false,\n password: key\n });\n if (startFull) {\n display.requestFullscreen().catch((err) => {\n console.error(`Error attempting to start fullscreen mode: ${err.message} (${err.name})`);\n });\n }\n display.focus();\n });\n });\n }\n else {\n return Promise.reject(new Error(response.statusText));\n }\n }).catch((err) => {\n console.error(`Error attempting to load zip: ${err.message} (${err.name})`);\n loadZip(homeApp.id);\n });\n}\nexports.loadZip = loadZip;\n// Toggle the Project Information content visibility\nfunction toggleDiv(divId) {\n const objDiv = document.getElementById(divId);\n const butExpNew = document.getElementById(\"expand-new\");\n const butExp = document.getElementById(\"expand\");\n const butCol = document.getElementById(\"collapse\");\n if (objDiv && butExp && butExpNew && butCol) {\n if (objDiv.style.display == \"\") {\n objDiv.style.display = \"none\";\n butExp.style.display = \"\";\n butCol.style.display = \"none\";\n }\n else {\n objDiv.style.display = \"\";\n butExp.style.display = \"none\";\n butExpNew.style.display = \"none\";\n butCol.style.display = \"\";\n }\n }\n}\nexports.toggleDiv = toggleDiv;\n// Display Fullscreen control\ndisplay.addEventListener(\"dblclick\", function (event) {\n event.preventDefault();\n if (currentApp.running) {\n if (document.fullscreenElement) {\n document.exitFullscreen();\n }\n else {\n display.requestFullscreen();\n }\n }\n});\ndisplay.addEventListener(\"mousedown\", function (event) {\n if (event.detail === 2) {\n event.preventDefault();\n }\n});\n// URL Parameters\nfunction getParameterByName(name, url = window.location.href) {\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\n if (!results)\n return null;\n if (!results[2])\n return \"\";\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n}\ndocument.onfullscreenchange = function () {\n if (document.fullscreenElement) {\n brs.redraw(true);\n }\n else {\n brs.redraw(false, 854, 480);\n display.style.top = \"29px\";\n }\n};\nwindow.onfocus = function () {\n if (currentApp.running && debugMode === \"pause\") {\n brs.debug(\"cont\");\n }\n};\nwindow.onblur = function () {\n if (currentApp.running && debugMode === \"continue\") {\n brs.debug(\"pause\");\n }\n};\nwindow.addEventListener(\"load\", main, false);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O2dHQU1nRztBQUNoRyxnREFBa0M7QUFDbEMsaUNBQTBFO0FBRTFFLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFzQixDQUFDO0FBQzlFLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFvQixDQUFDO0FBQzlFLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFvQixDQUFDO0FBQzVFLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFzQixDQUFDO0FBQ3hFLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFtQixDQUFDO0FBQ2pFLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFxQixDQUFDO0FBQ2xGLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFxQixDQUFDO0FBQ2xGLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFxQixDQUFDO0FBQzlFLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQXNCLENBQUM7QUFDdEYsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQW9CLENBQUM7QUFFaEYsd0JBQXdCO0FBQ3hCLElBQUksVUFBVSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDNUMsSUFBSSxPQUFPLEdBQUcsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsT0FBTyxF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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.homeButtons = exports.customButtons = exports.homeKeys = exports.customKeys = exports.getOS = void 0;\nconst getOS = () => {\n const userAgent = window.navigator.userAgent;\n const platform = window.navigator.platform;\n let macosPlatforms = [\"Macintosh\", \"MacIntel\", \"MacPPC\", \"Mac68K\"];\n const windowsPlatforms = [\"Win32\", \"Win64\", \"Windows\", \"WinCE\"];\n const iosPlatforms = [\"iPhone\", \"iPad\", \"iPod\"];\n let os = null;\n if (macosPlatforms.indexOf(platform) !== -1) {\n os = \"MacOS\";\n }\n else if (iosPlatforms.indexOf(platform) !== -1) {\n os = \"iOS\";\n }\n else if (windowsPlatforms.indexOf(platform) !== -1) {\n os = \"Windows\";\n }\n else if (/Android/.test(userAgent)) {\n os = \"Android\";\n }\n else if (!os && /Linux/.test(platform)) {\n os = \"Linux\";\n }\n return os;\n};\nexports.getOS = getOS;\nexports.customKeys = new Map();\n// Website Keys Mapping\nexports.customKeys.set(\"Comma\", \"rev\");\nexports.customKeys.set(\"Period\", \"fwd\");\nexports.customKeys.set(\"Space\", \"play\");\nexports.customKeys.set(\"NumpadMultiply\", \"info\");\nexports.customKeys.set(\"Digit8\", \"info\");\nexports.customKeys.set(\"Backspace\", \"back\");\nexports.customKeys.set(\"Backslash\", \"instantreplay\");\nexports.customKeys.set(\"KeyA\", \"a\");\nexports.customKeys.set(\"KeyZ\", \"b\");\nexports.customKeys.set(\"Home\", \"home\");\nexports.customKeys.set(\"Shift+Escape\", \"home\");\nexports.customKeys.set(\"Control+Escape\", \"home\");\n// Support Games that use Shift+Arrows\nexports.customKeys.set(\"ShiftLeft\", \"playonly\");\nexports.customKeys.set(\"Shift+ArrowRight\", \"right\");\nexports.customKeys.set(\"Shift+ArrowLeft\", \"left\");\nexports.customKeys.set(\"Shift+ArrowUp\", \"up\");\nexports.customKeys.set(\"Shift+ArrowDown\", \"down\");\nexports.homeKeys = new Map(exports.customKeys);\nexports.homeKeys.set(\"Home\", \"ignore\");\nexports.homeKeys.set(\"Shift+Escape\", \"ignore\");\nexports.homeKeys.set(\"Control+Escape\", \"ignore\");\nexports.customButtons = new Map([\n [8, \"home\"],\n]);\nexports.homeButtons = new Map([\n [8, \"ignore\"],\n]);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFPLE1BQU0sS0FBSyxHQUFHLEdBQUcsRUFBRTtJQUN0QixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztJQUM3QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUMzQyxJQUFJLGNBQWMsR0FBRyxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRSxNQUFNLFlBQVksR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEQsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQ2QsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ3pDLEVBQUUsR0FBRyxPQUFPLENBQUM7S0FDaEI7U0FBTSxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDOUMsRUFBRSxHQUFHLEtBQUssQ0FBQztLQUNkO1NBQU0sSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDbEQsRUFBRSxHQUFHLFNBQVMsQ0FBQztLQUNsQjtTQUFNLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUNsQyxFQUFFLEdBQUcsU0FBUyxDQUFDO0tBQ2xCO1NBQU0sSUFBSSxDQUFDLEVBQUUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ3RDLEVBQUUsR0FBRyxPQUFPLENBQUM7S0FDaEI7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNkLENBQUMsQ0FBQztBQW5CVyxRQUFBLEtBQUssU0FtQmhCO0FBRVcsUUFBQSxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUNwQyx1QkFBdUI7QUFDdkIsa0JBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQy9CLGtCQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNoQyxrQkFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDaEMsa0JBQVUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDekMsa0JBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2pDLGtCQUFVLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwQyxrQkFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFDN0Msa0JBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLGtCQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztBQUM1QixrQkFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0Isa0JBQVUsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZDLGtCQUFVLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3pDLHNDQUFzQztBQUN0QyxrQkFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDeEMsa0JBQVUsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDNUMsa0JBQVUsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDMUMsa0JBQVUsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3RDLGtCQUFVLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRTdCLFFBQUEsUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLGtCQUFVLENBQUMsQ0FBQztBQUM1QyxnQkFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDL0IsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZDLGdCQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBRTVCLFFBQUEsYUFBYSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNkLENBQUMsQ0FBQztBQUVVLFFBQUEsV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDO0lBQy9CLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQztDQUNoQixDQUFDLENBQUMifQ==","module.exports = brs;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(156);\n"],"names":["__createBinding","this","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","mod","result","prototype","hasOwnProperty","call","exports","toggleDiv","loadZip","brs","util_1","fileButton","document","getElementById","channelInfo","libVersion","display","stats","startBrowser","startFullScreen","startTouch","passwordDialog","passwordForm","currentApp","id","running","homeApp","selected","debugMode","fileSelector","runFile","file","password","reader","FileReader","onload","evt","setCustomKeys","customKeys","setCustomPadButtons","customButtons","execute","name","target","clearDisplayOnExit","muteSound","execSource","debugOnCrash","onerror","console","error","readAsArrayBuffer","pkg","startFull","homeKeys","homeButtons","style","opacity","key","endsWith","deviceData","clientId","replaceAll","fileName","fetch","then","response","status","blob","zipBlob","arrayBuffer","zipData","requestFullscreen","catch","err","message","focus","Promise","reject","Error","statusText","onclick","click","onchange","event","files","length","fileExt","split","pop","toLowerCase","showModal","addEventListener","e","returnValue","divId","objDiv","butExpNew","butExp","butCol","preventDefault","fullscreenElement","exitFullscreen","detail","onfullscreenchange","redraw","top","window","onfocus","debug","onblur","innerHTML","getVersion","deviceInfo","developerId","locale","displayMode","defaultFont","fontPath","maxFps","subscribe","data","visibility","infoHtml","title","subtitle","version","replace","urlParts","location","href","includes","level","info","url","results","RegExp","exec","decodeURIComponent","getParameterByName","trim","initialize","debugToConsole","customPadButtons","showStats","getOS","userAgent","navigator","platform","os","indexOf","test","Map","set","module","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}